Commit Graph

831 Commits

Author SHA1 Message Date
Damien George
7aeafe2ae9 extmod/modbluetooth: Add optional 4th arg to gattc_write for write mode.
This allows the user to explicitly select the behaviour of the write to the
remote peripheral.  This is needed for peripherals that have
characteristics with WRITE_NO_RESPONSE set (instead of normal WRITE).  The
function's signature is now:

    BLE.gattc_write(conn_handle, value_handle, data, mode=0)

mode=0 means write without response, while mode=1 means write with
response.  The latter was the original behaviour so this commit is a change
in behaviour of this method, and one should specify 1 as the 4th argument
to get back the old behaviour.

In the future there could be more modes supported, such as long writes.
2019-12-04 23:23:07 +11:00
Jim Mussared
9a849cc7ca docs: Add littlefs docs and a filesystem tutorial. 2019-12-04 23:18:23 +11:00
Jim Mussared
f2650be844 docs/library: Add docs for pyb.Flash class. 2019-12-04 23:18:17 +11:00
Jim Mussared
d7dbd267e7 docs/reference: Add docs describing use of pyboard.py. 2019-12-04 23:18:03 +11:00
Damien George
90c524c114 docs: Remove spaces on lines that are empty. 2019-12-04 15:02:54 +11:00
Jim Mussared
e873d352ad extmod/modbluetooth: Simplify management of pre-allocated event data.
The address, adv payload and uuid fields of the event are pre-allocated by
modbluetooth, and reused in the IRQ handler.  Simplify this and move all
storage into the `mp_obj_bluetooth_ble_t` instance.

This now allows users to hold on to a reference to these instances without
crashes, although they may be overwritten by future events.  If they want
to hold onto the values longer term they need to copy them.
2019-11-25 17:32:10 +11:00
Damien George
d667bc642f docs/library/ubluetooth: Fix name and link to FLAG_xxx constants. 2019-11-12 15:15:12 +11:00
Jim Mussared
d30b75e8f2 docs/library/machine.SDCard.rst: Fix various typos. 2019-11-07 14:47:11 +11:00
Jim Mussared
59850c0b83 docs/templates/topindex.html: Replace usage of deprecated defindex.html.
defindex.html (used by topindex.html) is deprecated, but topindex.html was
already identical other than setting the title, so just inherit directly
from layout.html.
2019-11-07 14:45:55 +11:00
Jim Mussared
1295146a6f docs/conf.py: Fix path to favicon.ico. 2019-11-07 14:45:34 +11:00
Jim Mussared
ca3d4c84e4 docs/library/ubluetooth: Add docs for gatts_set_buffer. 2019-10-29 23:11:11 +11:00
Damien George
7a24b7f091 docs/library: Add documentation for extended block device protocol. 2019-10-29 14:17:29 +11:00
Mike Wadsten
f69ef97f24 docs: Move ubluetooth under "MicroPython-specific libraries".
CPython does not have a bluetooth module,
so it is not appropriate to call ubluetooth
a Python standard library or micro-library.
2019-10-23 11:43:01 -05:00
Jim Mussared
19e87742c4 docs/library/bluetooth: Rename to "ubluetooth". 2019-10-22 21:58:05 +11:00
Damien George
a2eea57b1d docs/library: Rename "array" module to "uarray". 2019-10-22 16:40:58 +11:00
Volodymyr Shymanskyy
615d6b3c66 docs/wipy/tutorial: Link Blynk examples to the official library. 2019-10-16 14:20:31 +11:00
Mike Causer
a2c4cb484d docs: Fix spelling in various parts of the docs. 2019-10-16 14:08:28 +11:00
Mike Causer
5a8f392f09 docs/esp8266: Add ntptime usage to esp8266 quickref. 2019-10-16 14:08:13 +11:00
Peter Hinch
c0b3419261 docs/library: Clarify relation between machine and port-specific mods. 2019-10-16 14:03:44 +11:00
Thiago Paes
5463ab6df6 docs/esp8266/tutorial: Make http_get sample function self contained. 2019-10-16 13:52:04 +11:00
Damien George
d1ed73ca8f docs/library/bluetooth.rst: Fix typo in HR/UART services example. 2019-10-16 11:23:54 +11:00
Jim Mussared
36502bdfdc extmod/modbluetooth: Make gap_disconnect not raise when disconnected.
Previously it raised OSError(MP_ENOTCONN) if the conn_handle was already
disconnected.  Now it returns True/False.
2019-10-15 17:22:53 +11:00
Jim Mussared
ea315d7d58 docs/library/bluetooth.rst: Explain how to increase char buffer size. 2019-10-15 17:22:45 +11:00
Jim Mussared
62e3a966fb docs/library/bluetooth.rst: Clarify gap_advertise adv_data behavior.
Make it clear that the previous adv_data will be reused if it's not set.
And some minor other improvements.
2019-10-15 17:21:32 +11:00
Jim Mussared
a93495b66d docs/reference/glossary.rst: Add new terms and reduce complexity of old. 2019-10-15 16:36:02 +11:00
Jim Mussared
dc82bee298 docs/library/bluetooth: Add initial BLE documentation. 2019-10-11 14:03:01 +11:00
Jim Mussared
4ddd46e6cf docs/develop/qstr.rst: Add documentation for string interning. 2019-10-04 17:13:13 +10:00
Damien George
78e0e76b4f docs/library/pyb.USB_VCP.rst: Add info about id and flow params. 2019-09-26 14:00:21 +10:00
Damien George
cb84e22ac6 docs/library/pyb.rst: Update pyb.usb_mode() to mention VCP+MSC+HID. 2019-09-11 15:17:38 +10:00
Damien George
50636e5296 docs/library/pyb.rst: Update docs for pyb.usb_mode() function. 2019-09-10 13:22:35 +10:00
Damien George
e509da22df docs/library: Specify new machine.ADC class.
This initial specification is only for the ADC constructor and read_u16()
method.
2019-09-04 15:35:09 +10:00
Damien George
8a237237a3 docs: Rename machine.ADC docs to machine.ADCWiPy.
To signify that this ADC documentation is specific to the WiPy, and to make
way for a standardised ADC documentation.
2019-09-04 15:05:03 +10:00
Jim Mussared
74fe841449 docs/library/pyb.DAC.rst: Correct frequency for triangle mode output.
Also correct comments in related code.
2019-09-03 23:25:45 +10:00
Paul m. p. P
afc8596c15 docs/reference/speed_python: Add missing self to var caching example. 2019-08-28 12:55:41 +10:00
Damien George
05eb897d06 esp32: Add esp32.Partition class to expose partition and OTA funcs.
Partitions are exposed as a standard MicroPython block device.
2019-08-20 16:49:18 +10:00
Peter Hinch
3a679eaf00 docs/reference/speed_python: Update that read-only buffers are accepted.
As allowed by recent cd35dd9d9a
2019-08-19 16:39:30 +10:00
Vicki Lowe
afd10a4531 docs/pyboard: Emphasize the instructions for making a USB mouse.
It wasn't clear why that element was `10` instead of `0`.  Also bumped the
`10` to `100` to make the mouse movement more obvious.
2019-08-15 18:21:10 +10:00
Tom McDermott
d5a7741606 docs/library: Document that sys.version_info returns a 3-tuple only.
See issue #4970.
2019-08-15 18:12:22 +10:00
Vicki Lowe
6592a30f4b docs/pyboard: Clarify initial files on pyboard and fix up formatting. 2019-08-15 18:01:28 +10:00
Vicki Lowe
57476a3c37 docs/pyboard: Update name of mounted volume to match code. 2019-08-15 17:50:06 +10:00
Damien George
ed9c0185d8 docs/library/sys: Add documentation for sys.atexit function. 2019-08-15 17:42:38 +10:00
Arsenijs
00e7fe8ab1 docs/library/framebuf: Add missing module reference in example code. 2019-07-31 23:45:24 +10:00
Damien George
a29334761d esp32: Add support for hardware I2C. 2019-07-19 16:31:25 +10:00
Jim Mussared
bc66fe9064 py/scheduler: Rename sched_stack to sched_queue.
Behaviour was changed from stack to queue in
8977c7eb58, and this updates variable names
to match.  Also updates other references (docs, error messages).
2019-07-17 16:09:32 +10:00
Nicko van Someren
1a51fc9ddf esp32/machine_sdcard: Fix bug in SPI slot number selection.
And fix minor typo in docs when referring to SDCard class.
2019-06-17 12:36:22 +10:00
Nicko van Someren
6077d17150 docs/machine: Add initial docs for new machine.SDCard class. 2019-06-03 00:42:24 +10:00
Damien George
6f75c4f3cd all: Bump version to 1.11. 2019-05-29 16:38:10 +10:00
Damien George
e5e472198c docs/pyboard/quickref: Refer to new machine.I2C instead of old pyb.I2C.
On stm32 boards, machine.I2C is now preferred over pyb.I2C.
2019-05-20 15:46:01 +10:00
Damien George
8bec0e869d docs/machine.I2C: Add writevto method to write a vector of byte bufs.
This allows to efficiently send to an I2C slave data that is made up of
more than one buffer.  Instead of needing to allocate temporary memory to
combine buffers together this new method allows to pass in a tuple or list
of buffers.  The name is based on the POSIX function writev() which has
similar intentions and signature.

The reasons for taking this approach (compared to having an interface with
separate start/write/stop methods) are:
- It's a backwards compatible extension.
- It's convenient for the user.
- It's efficient because there is only one Python call, then the C code can
  do everything in one go.
- It's efficient on the I2C bus because the implementation can do
  everything in one go without pauses between blocks of bytes.
- It should be possible to implement this extension in all ports, for
  hardware and software I2C.

Further discussion is found in issue #3482, PR #4020 and PR #4763.
2019-05-20 14:51:56 +10:00
Nicko van Someren
f812394c33 docs/esp32: Correct quickref for ESP32 hardware SPI with non-default IO. 2019-05-10 15:56:13 +10:00
Damien George
34942d0a72 stm32/machine_uart: Change default UART timeout to 0, for non blocking.
It's more common to need non-blocking behaviour when reading from a UART,
rather than having a large timeout like 1000ms (the original behaviour).
With a large timeout it's 1) likely that the function will read forever if
characters keep trickling it; or 2) the function will unnecessarily wait
when characters come sporadically, eg at a REPL prompt.
2019-05-07 13:56:42 +10:00
Mike Causer
6323cbda4f docs/esp8266: Add tutorial for APA102 LEDs. 2019-05-07 11:45:10 +10:00
Yonatan Goldschmidt
ef9843653b extmod/moducryptolib: Add AES-CTR support.
Selectable at compile time via MICROPY_PY_UCRYPTOLIB_CTR.  Disabled by
default.
2019-05-06 18:09:48 +10:00
Daniel O'Connor
d4e182039f docs/cmodules: Note the various ways MODULE_EXAMPLE_ENABLED can be set. 2019-04-18 11:59:43 +10:00
Daniel O'Connor
fd58136d6b docs/cmodules: Fix example to globally define MODULE_EXAMPLE_ENABLED.
MODULE_EXAMPLE_ENABLED must be globally defined for the module to be seen
and referenced by all parts of the code.
2019-04-15 11:56:22 +10:00
Damien George
0fb15fc3f4 docs/develop: Remove paragraph that was copied in error from other doc. 2019-03-29 11:50:39 +11:00
spacemanspiff2007
95b6330403 docs/esp32: Add example for pin isolation in combination with deepsleep. 2019-03-28 15:25:41 +11:00
Damien George
28c2873d99 docs/esp32: Add a note to quickref about use of Pin.PULL_HOLD. 2019-03-14 07:38:50 +11:00
Damien George
6fa830bfd8 docs/library/machine.Pin: Add PULL_HOLD constant to possible pin pulls.
As already mentioned in the docs, not all constants may be available on all
ports, so this is optional to implement.
2019-03-14 07:29:04 +11:00
Martin Fischer
912e957512 docs/develop: Fix typos in C-module example for example_add_ints. 2019-03-13 12:54:01 +11:00
johnthagen
ea95bdc1ca docs/pyboard: Make pyboard v1.1 pinout the default shown in quickref. 2019-03-13 12:37:35 +11:00
johnthagen
d390ad9053 docs/pyboard: Add link to pyboard v1.1 schematic and layout PDF. 2019-03-13 12:33:02 +11:00
Andrew Leech
89ff506513 py: Update and rework build system for including external C modules.
How to use this feature is documented in docs/develop/cmodules.rst.
2019-03-08 22:58:42 +11:00
Ayke van Laethem
2e516074da py: Implement a module system for external, user C modules.
This system makes it a lot easier to include external libraries as static,
native modules in MicroPython.  Simply pass USER_C_MODULES (like
FROZEN_MPY_DIR) as a make parameter.
2019-03-08 22:49:00 +11:00
Yonatan Goldschmidt
9521399044 docs/uos: Document extra requirements on stream objs passed to dupterm.
This is only correct for the extmod/uos_dupterm.c implementation however,
as e.g cc3200 implementation does the mp_load_method() itself, and anyway
requires `read` instead of `readinto`.
2019-02-26 01:12:37 +11:00
Mike Causer
812969d615 all: Change PYB message prefix to MPY.
Replaces "PYB: soft reboot" with "MPY: soft reboot", etc.

Having a consistent prefix across ports reduces the difference between
ports, which is a general goal.  And this change won't break pyboard.py
because that tool only looks for "soft reboot".
2019-02-12 15:18:33 +11:00
Yonatan Goldschmidt
a0d60c574a docs/ure: Fix match.group signature to indicate index param is required. 2019-02-08 17:06:19 +11:00
Damien George
4dfcc255d5 docs: Convert all cases of machine.sleep to machine.lightsleep. 2019-01-30 14:15:51 +11:00
Damien George
b16146d189 docs/machine: Change sleep to lightsleep and add timeout arguments.
The machine.sleep() function can be misleading because it clashes with
time.sleep() which has quite different semantics.  So change it to
machine.lightsleep() which shows that it is closer in behaviour to
machine.deepsleep().

Also, add an optional argument to these two sleep functions to specify a
maximum time to sleep for.  This is a common operation and underlying
hardware usually has a special way of performing this operation.

The existing machine.sleep() function will remain for backwards
compatibility purposes, and it can simply be an alias for
machine.lightsleep() without arguments.  The behaviour will be the same.
2019-01-27 11:12:16 +11:00
Damien George
3e25d611ef all: Bump version to 1.10. 2019-01-26 00:56:48 +11:00
Damien George
acd647100b docs/library: Add documentation for esp32 module. 2019-01-25 12:18:34 +11:00
Matt Trentini
69e72954ad docs: Add initial docs for esp32 port, including quick-ref and general.
With contributions from Oliver Robson (@HowManyOliversAreThere), Sean
Lanigan (@seanlano) and @rprr.
2019-01-25 12:18:34 +11:00
stijn
5064df2074 docs/differences: Clarify the differences are against Python 3.4. 2019-01-11 12:11:02 +11:00
Paul Sokolovsky
169b152f29 docs/ure: Fully describe supported syntax subset, add example. 2018-12-13 01:16:30 +11:00
Damien George
beeeec292b docs/README: Remove references to MICROPY_PORT when building docs.
The docs are now built as one for all ports.
2018-12-11 02:55:22 +11:00
Paul Sokolovsky
42d0a28117 docs/conf.py: Use https for intersphinx link to docs.python.org.
To get rid of warning when building the docs saying there's a redirect from
http: to https:.
2018-10-23 11:47:35 +11:00
Paul Sokolovsky
dd76c8dc0f docs/library/uctypes: Add examples and make general updates.
Examples are added to the beginning of the module docs, similarly to docs
for many other modules.

Improvements to grammar, style, and clarity. Some paragraphs are updated
with better suggestions. A warning added of the effect incorrect usage of
the module may have. Describe the fact that offset range used in one
defined structure is limited.
2018-10-23 11:42:30 +11:00
Dave Hylands
b031b6f4dd docs/pyb.Pin: Minor typo fix to specify Pin in pyb.Pin.cpu. 2018-10-19 17:31:59 +11:00
Paul Sokolovsky
5f7088f84d docs/uio: Document StringIO/BytesIO(alloc_size) constructors. 2018-10-18 12:39:25 +11:00
Peter Hinch
759853f2a1 docs/machine.Pin: Document "hard" argument of Pin.irq method. 2018-10-15 00:17:54 +11:00
Peter Hinch
7de9211b80 docs/machine.Pin: Add note regarding irq handler argument. 2018-10-13 16:25:42 +11:00
Damien George
f5d46a88aa lib/utils/pyexec: Forcefully unlock the heap if locked and REPL active.
Otherwise there is really nothing that can be done, it can't be unlocked by
the user because there is no way to allocate memory to execute the unlock.

See issue #4205 and #4209.
2018-10-13 16:21:08 +11:00
Paul Sokolovsky
d251f26688 docs/uselect: Describe more aspects of poll.register/modify behavior.
E.g., register() can be called again for the same object, while modify()
will raise exception if object was not register()ed before.
2018-10-05 16:57:58 +10:00
Damien George
86819a52fe docs/wipy: Fix links to network.Server, and markup for boot.py. 2018-10-01 14:08:02 +10:00
Damien George
d1adfee251 docs: Remove sphinx_selective_exclude, it's no longer used. 2018-10-01 13:54:32 +10:00
Damien George
b3e013f60e docs: Unify all the ports into one set of documentation.
With this commit there is now only one entry point into the whole
documentation, which describes the general MicroPython language, and then
from there there are links to information about specific platforms/ports.

This commit doesn't change content (almost, it does fix a few internal
links), it just reorganises things.
2018-10-01 13:53:53 +10:00
Damien George
8a84e08dc8 docs/library/network: Make AbstractNIC methods layout correctly. 2018-09-27 17:24:41 +10:00
Damien George
217566b764 docs/library/network: Move specific network classes to their own file.
All concrete network classes are now moved to their own file (eg
network.WLAN.rst) and deconditionalised (remove ..only:: directives).  This
makes the network documentation the same for all ports.  After this change
there are no more "..only::" directives for different ports, and the only
difference among ports is the very front page of the docs.
2018-09-27 17:23:42 +10:00
Peter Hinch
09c5c58a1f docs/library/machine.SPI: Add note about baudrate imprecision. 2018-09-26 15:21:10 +10:00
Damien George
ad4fb62f13 docs/pyboard: Fix to use Sphinx style for internal/external links. 2018-09-20 17:14:13 +10:00
Peter Hinch
927a5d1dfd docs/library/pyb: Add deprecation warning for mount and old block proto.
pyb.mount(None, mountpoint) functionality is also removed and replaced by
uos.umount.
2018-09-20 16:31:36 +10:00
Damien George
b18fa1e606 docs/library/machine.UART.rst: Specify optional txbuf and rxbuf args.
If a port would like to expose the configuration of transmit and/or receive
buffers then it can use these arguments.
2018-08-14 15:21:54 +10:00
Peter Hinch
163bacd1e8 docs/library/machine.I2C.rst: Clarify availability of primitive I2C ops. 2018-08-04 15:53:12 +10:00
Damien George
d8e0320485 docs: Move WiPy specific Timer class to separate doc file.
The WiPy machine.Timer class is very different to the esp8266 and esp32
implementations which are better candidates for a general Timer class.  By
moving the WiPy Timer docs to a completely separate file, under a new name
machine.TimerWiPy, it gives a clean slate to define and write the docs for
a better, general machine.Timer class.  This is with the aim of eventually
providing documentation that does not have conditional parts to it,
conditional on the port.

While the new docs are being defined it makes sense to keep the WiPy docs,
since they describe its behaviour.  Once the new Timer behaviour is defined
the WiPy code can be changed to match it, and then the TimerWiPy docs would
be removed.
2018-07-31 23:40:06 +10:00
Damien George
81e320aecc docs/library/machine: Remove conditionals in machine class index.
The machine module should be standard across all ports so should have the
same set of classes in the docs.  A special warning is added to the top of
the machine.SD class because it is not standardised and only available on
the cc3200 port.
2018-07-20 15:58:18 +10:00
Damien George
0ab8428995 docs/reference/index: Remove conditional for inline asm docs.
The heading of this section makes it clear it is for Thumb-2 architectures
only.
2018-07-20 15:51:06 +10:00
Damien George
5b1ca66668 docs/library/index: Add hint about using help('modules') for discovery. 2018-07-20 15:47:42 +10:00
Damien George
84d5dd46fe docs/library/index: Remove all conditionals from library index.
It's fair to just provide a link to all available modules, regardless of
the port.  Most of the existing ports (unix, stm32, esp8266, esp32) share
most of the same set of modules anyway, so no need to maintain separate
lists for them.  And there's a big discussion at the start of this index
about modules not being available on a given port.

For port-specific modules, they can also be listed unconditionally because
they have headings that explicitly state they are only available on certain
ports.
2018-07-20 15:34:22 +10:00
Damien George
3e0d587a49 docs/library/machine: Remove conditional docs for rng function.
And instead list its availability explicitly.
2018-07-18 16:28:30 +10:00
Damien George
163cc66a0b docs/library/machine: Remove conditional docs for wake_reason function.
And instead list its availability explicitly.
2018-07-18 16:23:34 +10:00