Wykres commitów

1247 Commity (master)

Autor SHA1 Wiadomość Data
Damien George 338b12d3c8 LICENSE,docs: Update copyright year range to include 2020.
Signed-off-by: Damien George <damien@micropython.org>
2020-08-29 13:58:20 +10:00
Andrew Leech a80a146858 extmod/bluetooth: Support active scanning in BLE.gap_scan().
This adds an additional optional parameter to gap_scan() to select active
scanning, where scan responses are returned as well as normal scan results.
This parameter is False by default which retains the existing behaviour.
2020-08-26 15:00:11 +10:00
Damien George 2acc087880 extmod/vfs_lfs: Add mtime support to littlefs files.
This commit adds support for modification time of files on littlefs v2
filesystems, using file attributes.  For some background see issue #6114.

Features/properties of this implementation:
- Only supported on littlefs2 (not littlefs1).
- Uses littlefs2's general file attributes to store the timestamp.
- The timestamp is 64-bits and stores nanoseconds since 1970/1/1 (if the
  range to the year 2554 is not enough then additional bits can be added to
  this timestamp by adding another file attribute).
- mtime is enabled by default but can be disabled in the constructor, eg:
  uos.mount(uos.VfsLfs2(bdev, mtime=False), '/flash')
- It's fully backwards compatible, existing littlefs2 filesystems will work
  without reformatting and timestamps will be added transparently to
  existing files (once they are opened for writing).
- Files without timestamps will open correctly, and stat will just return 0
  for their timestamp.
- mtime can be disabled or enabled each mount time and timestamps will only
  be updated if mtime is enabled (otherwise they will be untouched).

Signed-off-by: Damien George <damien@micropython.org>
2020-08-25 17:35:19 +10:00
Zenix27 e76c7466b6 docs: Change `\*` to `*` in argument lists.
Latest versions of Sphinx (at least 3.1.0) do not need the `*` escaped and
will render the `\` in the output if it is there, so remove it.

Fixes issue #6209.
2020-08-21 12:24:13 +10:00
Josh Lloyd fe7d47971f docs/esp32: Fix machine.Timer quickref to specify HW timers.
Also remove trailing spaces on other lines.
2020-07-25 00:50:06 +10:00
Howard Lovatt 47289f4bc9 docs/library: Update pyb.UART to correct pyboard UART availability.
On original pyboard UART 5 isn't available; added pyboard D availability.
2020-07-25 00:46:29 +10:00
Howard Lovatt 4a7c2731c5 docs/library: Update pyb.Timer to add missing args and defaults to init. 2020-07-25 00:34:48 +10:00
Howard Lovatt cf9be201d7 docs/library: Update pyb.SPI init method to add descr about "ti" arg. 2020-07-25 00:28:16 +10:00
Jonathan Hogg 5f0e9d1bac docs/library: Update documentation of esp32's RMT.
This explains how looping now works, and removes the warning about calling
wait_done().
2020-07-21 00:57:35 +10:00
Jim Mussared c7f7c0214c docs/library: For ubluetooth, add docs for _IRQ_GATTS_INDICATE_DONE. 2020-07-20 23:28:31 +10:00
Jim Mussared b7698841b2 docs/library: Add gatts_indicate() doc to ubluetooth.rst.
Also clarify behavior of `gatts_notify` and add some TODOs about adding an
event for indication acknowledgement.
2020-07-18 14:34:44 +10:00
spacemanspiff2007 b572aa5721 docs/esp32: Add info about PWM duty cycle range to esp32 quickref.
See related #4581.
2020-06-30 22:28:09 +10:00
victor cb9aafbf8f docs/library: Clarify that the arg to esp.deepsleep is in microseconds. 2020-06-30 22:01:44 +10:00
Jon Rob 1678f41744 esp32/esp32_rmt: Extend RMT to support carrier feature.
The ESP32 RMT peripheral has hardware support for a carrier frequency, and
this commit exposes it to Python with the keyword arguments carrier_freq
and carrier_duty_percent in the constructor.  Example usage:

    r = esp32.RMT(0, pin=Pin(2), clock_div=80, carrier_freq=38000, carrier_duty_percent=50)
2020-06-17 00:03:33 +10:00
Nick Crabtree 2934e41df0 docs/esp8266: Add quickref documentation for UART on esp8266.
This patch adds quickref documentation for the change in commit
afd0701bf7.  This commit added the ability to
disable the REPL and hence use UART0 for serial communication on the
esp8266, but was not previously documented anywhere.

The text is largely taken from the commit message, with generic information
on using the UART duplicated from the Wipy quickref document.
2020-06-10 22:46:09 +10:00
Damien George a4c96fb3b0 extmod/uasyncio: Add asyncio.wait_for_ms function.
Fixes issue #6107.
2020-06-10 22:29:44 +10:00
David Lechner 1e6d18c915 docs: Fix Sphinx 3.x warnings, and enable warnings-as-errors on build.
This enables warnings as errors and fixes all current errors, namely:

- reference to terms in the glossary must now be explicit (:term:)
- method overloads must not be declared as a separate method or must
  use :noindex:
- 2 cases where `` should have been used instead of `
2020-06-05 21:42:17 +10:00
Jim Mussared 1cad63c0bc extmod/modbluetooth: Ensure status=0 always on success.
This commit makes sure that all discovery complete and read/write status
events set the status to zero on success.

The status value will be implementation-dependent on non-success cases.
2020-06-05 14:11:04 +10:00
Jim Mussared 9708fe8788 docs/library: Update ubluetooth for new events and discover by uuid. 2020-06-05 14:10:13 +10:00
Andrew Leech e54626f4c1 docs/reference: Add note about multiple exceptions when heap is locked. 2020-06-02 15:56:34 +10:00
cccc 1662a0b06f esp32/machine_sdcard: Add "freq" keyword arg to SDCard constructor.
To allow high speed access.
2020-05-28 12:19:04 +10:00
Damien George cae77daf00 docs/develop: Fix module/source name in Makefile of native example. 2020-05-16 15:00:46 +10:00
Damien George 3b6c9119eb extmod/modbluetooth: Add support for changing the GAP device name.
This commit allows the user to set/get the GAP device name used by service
0x1800, characteristic 0x2a00.  The usage is:

    BLE.config(gap_name="myname")
    print(BLE.config("gap_name"))

As part of this change the compile-time setting
MICROPY_PY_BLUETOOTH_DEFAULT_NAME is renamed to
MICROPY_PY_BLUETOOTH_DEFAULT_GAP_NAME to emphasise its link to GAP and this
new "gap_name" config value.  And the default value of this for the NimBLE
bindings is changed from "PYBD" to "MPY NIMBLE" to be more generic.
2020-05-11 21:30:41 +10:00
Thorsten von Eicken 952ff8a8ea esp32: Improve support for OTA updates.
This commit adds several small items to improve the support for OTA
updates on an esp32:

- a partition table for 4MB flash modules that has two OTA partitions ready
  to go to do updates
- a GENERIC_OTA board that uses that partition table and that enables
  automatic roll-back in the bootloader
- a new esp32.Partition.mark_app_valid_cancel_rollback() class-method to
  signal that the boot is successful and should not be rolled back at the
  next reset
- an automated test for doing an OTA update
- documentation updates
2020-05-03 15:00:45 +10:00
Thorsten von Eicken 7d97d241e8 docs/library: Fix docs for machine.WDT to specify millisecond timeout. 2020-05-02 22:55:48 +10:00
Damien George 391927c126 docs/library: Note that machine.Pin.irq's hard arg may not be supported. 2020-04-30 23:50:53 +10:00
Jim Mussared 7563d58210 unix: Add support for modbluetooth and BLE using btstack.
This commit adds full support to the unix port for Bluetooth using the
common extmod/modbluetooth Python bindings.  This uses the libusb HCI
transport, which supports many common USB BT adaptors.
2020-04-29 16:45:46 +10:00
Thorsten von Eicken a177831c46 esp32/modesp32: Add idf_heap_info(capabilities) to esp32 module.
This commit adds an idf_heap_info(capabilities) method to the esp32 module
which returns info about the ESP-IDF heaps.  It's useful to get a bit of a
picture of what's going on when code fails because ESP-IDF can't allocate
memory anymore.  Includes documentation and a test.
2020-04-23 00:02:11 +10:00
Thomas Friebel 1b1ceb67b2 docs/library: Document that char_data/notify_data are also references. 2020-04-19 00:18:14 +10:00
Damien George db137e70dc extmod/uasyncio: Add Loop.new_event_loop method.
This commit adds Loop.new_event_loop() which is used to reset the singleton
event loop.  This functionality is put here instead of in Loop.close() to
make it possible to write code that is compatible with CPython.
2020-04-13 22:16:52 +10:00
Peter Hinch 7409467361 docs/library: Note that uasyncio.wait_for() can raise exception. 2020-04-09 22:11:13 +10:00
Damien George e0905e85a7 esp8266: Change from FAT to littlefs v2 as default filesystem.
This commit changes the esp8266 boards to use littlefs v2 as the
filesystem, rather than FAT.  Since the esp8266 doesn't expose the
filesystem to the PC over USB there's no strong reason to keep it as FAT.
Littlefs is smaller in code size, is more efficient in use of flash to
store data, is resilient over power failure, and using it saves about 4k of
heap RAM, which can now be used for other things.

This is a backwards incompatible change because all existing esp8266 boards
will need to update their filesystem after installing new firmware (eg
backup old files, install firmware, restore files to new filesystem).

As part of this commit the memory layout of the default board (GENERIC) has
changed.  It now allocates all 1M of memory-mapped flash to the firmware,
so the filesystem area starts at the 2M point.  This is done to allow more
frozen bytecode to be stored in the 1M of memory-mapped flash.  This
requires an esp8266 module with 2M or more of flash to work, so a new board
called GENERIC_1M is added which has the old memory-mapping (but still
changed to use littlefs for the filesystem).

In summary there are now 3 esp8266 board definitions:
- GENERIC_512K: for 512k modules, doesn't have a filesystem.
- GENERIC_1M: for 1M modules, 572k for firmware+frozen code, 396k for
  filesystem (littlefs).
- GENERIC: for 2M (or greater) modules, 968k for firmware+frozen code,
  1M+ for filesystem (littlefs), FAT driver also included in firmware for
  use on, eg, external SD cards.
2020-04-04 16:30:36 +11:00
Damien George df156b18e5 docs,tests: Add docs and test for uasyncio custom exc handler methods. 2020-04-04 10:47:48 +11:00
Damien George f97b5395ed extmod/uasyncio: Add StreamReader/StreamWriter as aliases of Stream cls.
To be compatible with CPython.  Fixes issue #5847.
2020-04-02 00:51:00 +11:00
Damien George b389bc0afa extmod/uasyncio: Implement Loop.stop() to stop the event loop. 2020-04-02 00:14:18 +11:00
Lars Kellogg-Stedman 3a0f64fc7a tools/pyboard.py: Add -d as an alias for --device. 2020-03-30 11:37:32 +11:00
Lars Kellogg-Stedman 1cf994c48b tools/pyboard.py: Support setting device/baudrate from shell env vars.
Allow defaults for --device and --baudrate to be set in the environment
using PYBOARD_DEVICE and PYBOARD_BAUDRATE.
2020-03-30 11:37:32 +11:00
Damien George c99322f8d8 docs/library: Add initial docs for uasyncio module. 2020-03-26 01:25:45 +11:00
Andrew Leech 86bfabec11 py/modmicropython: Add heap_locked function to test state of heap.
This commit adds micropython.heap_locked() which returns the current
lock-depth of the heap, and can be used by Python code to check if the heap
is locked or not.  This new function is configured via
MICROPY_PY_MICROPYTHON_HEAP_LOCKED and is disabled by default.

This commit also changes the return value of micropython.heap_unlock() so
it returns the current lock-depth as well.
2020-03-11 16:54:16 +11:00
Damien George dd0bc26e65 extmod/modbluetooth: Change scan result's "connectable" to "adv_type".
This commit changes the BLE _IRQ_SCAN_RESULT data from:

    addr_type, addr, connectable, rssi, adv_data

to:

    addr_type, addr, adv_type, rssi, adv_data

This allows _IRQ_SCAN_RESULT to handle all scan result types (not just
connectable and non-connectable passive scans), and to distinguish between
them using adv_type which is an integer taking values 0x00-0x04 per the BT
specification.

This is a breaking change to the API, albeit a very minor one: the existing
connectable value was a boolean and True now becomes 0x00, False becomes
0x02.

Documentation is updated and a test added.

Fixes #5738.
2020-03-11 14:00:44 +11:00
Thomas Friebel f4726735cf extmod/modbluetooth: Implement config getter for BLE rxbuf size.
Knowing the buffer size can be important, to ensure that valid data will be
received.
2020-02-18 13:37:50 +11:00
Thorsten von Eicken be92aacba3 docs/develop: Detail how to add symbols to mp_fun_table for native mods. 2020-02-16 00:04:25 +11:00
stijn 5f91933e54 windows: Improve default search path.
The default value for MICROPYPATH used in unix/main.c is
"~/.micropython/lib:/usr/lib/micropython" which has 2 problems when used in
the Windows port:
- it has a ':' as path separator but the port uses ';' so the entire string
  is effectively discarded since it gets interpreted as a single path which
  doesn't exist
- /usr/lib/micropython is not a valid path in a standard Windows
  environment

Override the value with a suitable default.
2020-02-11 13:34:35 +11:00
Peter Hinch 88cbfd791a docs/library: Fix framebuf monochrome 1-bit modes, swapping HLSB/HMSB.
This fix can be demonstrated by the following:

    b = bytearray(32)
    f = framebuf.FrameBuffer(b, 32, 8, framebuf.MONO_HLSB)
    f.pixel(0, 0, 1)
    print('MONO_HLSB', hex(b[0]))

    b = bytearray(32)
    f = framebuf.FrameBuffer(b, 32, 8, framebuf.MONO_HMSB)
    f.pixel(0, 0, 1)
    print('MONO_HMSB', hex(b[0]))

Outcome:

    MONO_HLSB 0x80
    MONO_HMSB 0x1
2020-02-10 23:04:15 +11:00
David Lechner 83439e38fc unix/main: Add command-line -h option for printing help text.
This adds a -h option to print the usage help text and adds a new, shorter
error message that is printed when invalid arguments are given.  This
behaviour follows CPython (and other tools) more closely.
2020-02-04 17:54:31 +11:00
David Lechner c8d2f7838f docs/unix: Add a new new quickref page for the UNIX port.
This adds a new quickstart page for the UNIX port that documents the
command line options and environment variables.
2020-02-04 17:53:06 +11:00
Jesse Andrews c4ea4c1810 docs/esp8266: In TCP tutorial, add HTTP response code and content-type.
Show how to send an HTTP response code and content-type.  Without the
response code Safari/iOS will fail.  Without the content-type Lynx/Links
will fail.
2020-02-03 23:50:09 +11:00
adzierzanowski a55c17dc69 esp32/modnetwork: Add max_clients kw-arg to WLAN.config for AP setting.
This allows the user to configure the maximum number of clients that are
connected to the access point.  Resolves #5125.
2020-01-22 16:43:25 +11:00
Peter Hinch 59746ac14a docs/library/uos.rst: Improve block devices section, and ioctl ret vals. 2020-01-22 16:37:31 +11:00
Jason Neal 7ef2f65114 docs/library: Add / to indicate positional-only args in library docs.
Removes the confusion of positional-only arguments which have defaults that
look like keyword arguments.
2020-01-12 13:44:59 +11:00
Thorsten von Eicken 1caede927a docs/library/machine: Document machine.soft_reset() function. 2020-01-12 13:38:27 +11:00
Thorsten von Eicken bc5c993adf docs/README: Add short paragraph about using readthedocs.
This adds a short paragraph on how to hook readthedocs.org up.  The main
goal is to make people aware of the option, to help with contributing to
the documentation.
2020-01-12 11:45:55 +11:00
Jason Neal 5ef3b6b2d9 docs/library/machine.UART.rst: Detail timeout behaviour of read methods.
Also document existence of "invert" argument to constructor.
2020-01-06 22:50:58 +11:00
Jason Neal 99ed431d28 docs/library/machine.I2C.rst: Use positional-only arguments syntax.
Addresses issue #5196.
2020-01-06 22:25:35 +11:00
Jason Neal aec88ddf03 docs: More consistent capitalization and use of articles in headings.
See issue #3188.
2020-01-06 22:17:29 +11:00
Damien George 1f37194730 all: Bump version to 1.12. 2019-12-20 16:58:17 +11:00
Matt Trentini 7f235cbee9 docs/esp32: Add quickref and full docs for esp32.RMT class. 2019-12-20 12:25:38 +11:00
Damien George 8449e41818 docs/develop: Add documentation on how to build native .mpy modules. 2019-12-19 17:07:53 +11:00
Damien George e58c7ce3d6 docs/reference: Add documentation describing use of .mpy files.
Including information about .mpy versioning and how to debug failed imports
of .mpy files.
2019-12-19 17:06:27 +11:00
ketograph 04e7aa0563 docs/esp8266/quickref: Add note that machine.RTC is not fully supported.
See issues #3220 and #3710.
2019-12-17 12:19:27 +11:00
Jim Mussared f3f7eb48da docs/library/uos.rst: Clarify why the extended interface exists. 2019-12-16 12:45:15 +11:00
Damien George b310930dba docs/library/uos: Add notes and links about littlefs failures. 2019-12-10 16:58:53 +11:00
Damien George 159388f850 docs/library/ubluetooth: Add note about API being under development. 2019-12-10 16:58:27 +11:00
Damien George 381be9a745 docs/reference/filesystem: Add note and example about using filesystem. 2019-12-09 14:21:22 +11:00
Daniel Mizyrycki 50dc5f10a6 docs/reference/filesystem: Fix typo in block device code example. 2019-12-09 14:13:09 +11:00
Damien George 84958a8fe1 extmod/modbluetooth: Allow setting ringbuf size via BLE.config(rxbuf=).
The size of the event ringbuf was previously fixed to compile-time config
value, but it's necessary to sometimes increase this for applications that
have large characteristic buffers to read, or many events at once.

With this commit the size can be set via BLE.config(rxbuf=512), for
example.  This also resizes the internal event data buffer which sets the
maximum size of incoming data passed to the event handler.
2019-12-05 11:30:35 +11:00
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
Damien George 4cc65e22d4 docs/library/machine.UART: Remove conditional docs for wipy port.
The UART.init() method is now included unconditionally and its wording
adjusted to better describe ports other than the cc3200.

UART.irq() is also included unconditionally, but this is currently only
available on the WiPy target.
2018-07-18 16:20:53 +10:00
Damien George 164377f806 docs/library/pyb.DAC: Fix typo in markup to balance quotes. 2018-07-18 15:52:48 +10:00
Damien George 805fd0cfe6 docs/library: Remove "only" directive from all pyb module docs.
By virtue of its name, the pyb module would only be available on a pyboard
and so does not need to have conditional "only" directives throughout its
documentation.

These conditionals were added mostly in
cfcf47c064 in the initial development of the
cc3200 port, which had the pyb module before it switched to the machine
module.  And wipy only conditionals were removed from the pyb module
documentation in 4542643025, so there's no
need to retain any more conditionals.
2018-07-18 15:47:44 +10:00
Damien George 2cff340357 docs/pyboard: For latex build, use smaller quickref jpg, and no gifs.
The latexpdf target needs images that fit on the page, and does not support
gifs.
2018-07-10 12:45:52 +10:00
Damien George 41226e9a18 docs/ure: Document some more supported regex operators. 2018-07-02 14:55:05 +10:00
Damien George 4727bd1db8 docs/ure: Document sub(), groups(), span(), start() and end(). 2018-07-02 14:55:05 +10:00
Damien George ab02abe96d docs/uos: Make it clear that block device block_num param is an index. 2018-06-28 13:25:10 +10:00
Yonatan Goldschmidt 473fe45da2 extmod/moducryptolib: Optionally export MODE_* constants to Python.
Allow including crypto consts based on compilation settings.  Disabled by
default to reduce code size; if one wants extra code readability, can
enable them.
2018-06-27 16:29:26 +10:00
Damien George 11a7a70a6f docs/usocket: Minor fixes to grammar of getaddrinfo. 2018-06-27 15:18:46 +10:00
Paul Sokolovsky 2e3468a68c docs/usocket: getaddrinfo: Describe af/type/proto optional params.
These can be optionally specified, but all ports are expected to be able to
accept them, at the very least ignore, though handling of "type" param
(SOCK_STREAM vs SOCK_DGRAM) is recommended.
2018-06-27 14:57:19 +10:00
Paul Sokolovsky 12fde67a25 docs/ucryptolib: Add docs for new ucryptolib module. 2018-06-27 14:57:11 +10:00
Damien George b9ec6037ed docs/library: Add documentation for ucollections.deque. 2018-06-26 14:29:22 +10:00
jcea 5731e535dd docs/esp8266: Fix minor typo in "certificates". 2018-06-25 17:36:28 +10:00
Damien George 6c955932f3 stm32/rtc: Don't try to set SubSeconds value on RTC.
The hardware doesn't allow it, instead the value is reset to 255 upon
setting the other calendar/time values.
2018-05-21 14:08:37 +10:00
Damien George 421b84af99 docs: Bump version to 1.9.4. 2018-05-11 16:39:59 +10:00
Damien George c7818032b1 docs/library: Add ussl module to library index for unix port. 2018-04-26 17:14:51 +10:00
Damien George c24b0a7f2b docs/library/pyb.ADC: Fix typo of "prarmeter". 2018-04-20 15:54:09 +10:00
Peter Hinch 0600645944 docs/library/pyb.ADC: Remove outdated ADCAll code example. 2018-04-20 15:52:28 +10:00
Damien George b30e0d2f26 stm32/dac: Add buffering argument to constructor and init() method.
This can be used to select the output buffer behaviour of the DAC.  The
default values are chosen to retain backwards compatibility with existing
behaviour.

Thanks to @peterhinch for the initial idea to add this feature.
2018-04-11 14:22:21 +10:00
Damien George aebd9701a7 stm32/adc: Optimise read_timed_multi() by caching buffer pointers. 2018-04-11 14:09:09 +10:00
Peter Hinch 4f40fa5cf4 stm32/adc: Add read_timed_multi() static method, with docs and tests. 2018-04-11 13:36:17 +10:00
T S 8f11d0b532 docs/library/pyb.ADC.rst: Document new features for ADCAll. 2018-04-10 13:06:26 +10:00
Damien George 0abbafd424 stm32/can: Add "list" param to CAN.recv() to receive data inplace.
This API matches (as close as possible) how other pyb classes allow inplace
operations, such as pyb.SPI.recv(buf).
2018-03-19 15:12:24 +11:00
Damien George b7d576d69a docs/library/pyb.CAN: Clean up documentation of data constants. 2018-03-16 18:29:43 +11:00
Damien George a25e6c6b65 stm32/can: Add CAN.info() method to retrieve error and tx/rx buf info. 2018-03-16 18:28:35 +11:00
Damien George d7e67fb1b4 stm32/can: Add CAN.state() method to get the state of the controller.
This is useful for monitoring errors on the bus and knowing when a restart
is needed.
2018-03-16 17:10:41 +11:00
Damien George 1272c3c65d stm32/can: Add CAN.restart() method so controller can leave bus-off. 2018-03-15 17:29:30 +11:00
Damien George 823ca03008 stm32/can: Add "auto_restart" option to constructor and init() method. 2018-03-15 17:17:33 +11:00
Damien George d91a1989f5 docs/library/pyb.CAN: Update markup to use latest doc conventions. 2018-03-15 16:30:05 +11:00
Damien George 0db49c37a4 docs: Fix some references and RST markup to eliminate Sphinx warnings. 2018-03-15 15:50:51 +11:00
Tom Collins 4d3a92c67c extmod/vfs_fat: Add file size as 4th element of uos.ilistdir tuple. 2018-03-12 12:26:36 +11:00
Damien George 9cef2b03a7 docs/reference/repl.rst: Fix some minor errors in the REPL tutorial. 2018-03-09 16:14:58 +11:00
Damien George 8359210e71 docs/library/uos: Document mount, umount, VfsFat and block devices. 2018-03-07 14:50:38 +11:00
Damien George 63b003d523 docs/library/uos: Create sections for distinct parts and document uname. 2018-03-07 14:49:25 +11:00
Damien George a5fb699d87 docs/library/micropython: Describe optimisation levels for opt_level(). 2018-03-05 19:10:45 +11:00
Damien George 6e09320b4c docs/library/usocket: Make xref to uerrno explicitly a module reference. 2018-03-05 19:07:39 +11:00
Damien George c5fe610ba1 esp8266/modnetwork: Implement WLAN.status('rssi') for STA interface.
This will return the RSSI of the AP that the STA is connected to.
2018-02-26 16:41:13 +11:00
Damien George e05fca4ef3 docs/library/ujson: Document dump() and load() functions. 2018-02-15 11:37:48 +11:00
Damien George 9e8b7b1b63 docs/library/ujson: Update to conform with docs conventions.
The formatting of exception objects is done as per CPython conventions, eg:

    :exc:`TypeError`
2018-02-15 11:31:34 +11:00
Olivier Ortigues 298b325f3e docs/esp8266: Add a note concerning GPIO16 pull capabilities. 2018-02-15 11:15:12 +11:00
Olivier Ortigues d072573226 docs/esp8266: Update PWM doc regarding clipping of min/max values. 2018-02-15 11:14:34 +11:00
Damien George e708e87139 docs/library/pyb.rst: Add note about availability of USB MSC-only mode. 2018-02-01 15:52:49 +11:00
Paul Sokolovsky 5de064fbd0 docs/library/index: Elaborate uPy libraries intro. 2017-12-23 21:21:08 +02:00
Paul Sokolovsky e37ccfe59b docs/packages: Explicitly recommend usage of setuptools instead of distutils. 2017-12-16 10:42:30 +02:00
Paul Sokolovsky 9251f1395e docs/packages: Use "install_dir/" in examples. 2017-12-16 10:37:36 +02:00
Paul Sokolovsky 02d2a0fb3a docs/conf: Reference CPython 3.5 docs.
CPython 3.6 contains some backward incompatible changes, and further
version(s) are expected to have more. As we anyway implemente 3.4 with
some features of 3.5, refer to 3.5 docs to avoid confusion.

Examples of 3.6 backward incompatibilities:

https://docs.python.org/3.6/library/json.html#json.dump
https://docs.python.org/3.6/library/json.html#json.load

> Changed in version 3.6: All optional parameters are now keyword-only.

https://docs.python.org/3.6/library/functions.html#type

> Changed in version 3.6: Subclasses of type which don’t override
> type.__new__ may no longer use the one-argument form to get the
> type of an object.

https://docs.python.org/3.6/library/collections.html#collections.namedtuple

> Changed in version 3.6: The verbose and rename parameters became
> keyword-only arguments.
2017-12-16 01:22:46 +02:00
Paul Sokolovsky 448d93a04a docs/glossary: micropython-lib: Clarify wording. 2017-12-15 00:11:02 +02:00
Paul Sokolovsky bf73ee114f docs/packages: mpy_bin2res no longer required to create resources.
Everything happens automagically with overridden "sdist" from
sdist_upip.py.
2017-12-14 18:28:10 +02:00
Damien George 46b35356e1 extmod/modframebuf: Add 8-bit greyscale format (GS8). 2017-12-14 17:36:13 +11:00
Petr Viktorin 34247465c3 extmod/modframebuf: Add 2-bit color format (GS2_HMSB).
This format is used in 2-color LED matrices and in e-ink displays like
SSD1606.
2017-12-14 17:13:02 +11:00
Ryan Finnie 1e2b78111b docs/esp8266/tutorial: Fix typo, change -> changed. 2017-12-13 17:30:02 +11:00
Paul Sokolovsky 54cd6e3e4b docs/packages: Add quick "Creating distribution packages" section.
Needs more details.
2017-12-13 00:12:37 +02:00
Paul Sokolovsky c60fc670ea docs/reference/packages: Add chapter on distribution packages and deployment.
A long overdue overview of preparing packages, installing them with upip,
freezing, dealing with resources. Initial version, more iterations required.
2017-12-11 00:08:41 +02:00
Paul Sokolovsky ca8034d6b8 docs/glossary: Clarify wording for "baremetal". 2017-12-06 00:08:24 +02:00
Paul Sokolovsky 3ff7040c8a docs/library: Add xrefs to "stream" dictionary entry for many modules. 2017-12-04 18:36:20 +02:00
Paul Sokolovsky 155ec21e49 docs/glossary: Describe string interning. 2017-12-04 01:01:03 +02:00
Paul Sokolovsky 8175f1608e docs/glossary: Describe "stream" term. 2017-12-03 18:56:18 +02:00
Paul Sokolovsky 140acc9a32 docs/uerrno: Fix xref-vs-code markup. 2017-12-03 15:50:37 +02:00
Paul Sokolovsky 4fee35a32c docs/glossary: Describe the callee-owned tuple concept. 2017-12-03 15:08:39 +02:00
Paul Sokolovsky cb9da2279b docs/uselect: ipoll: Fix grammar/wording of one-shot flag description. 2017-11-30 20:32:49 +02:00
Paul Carver 7d25a19220 docs/library/utime: Fix incorrect example with ticks_diff args order.
The parameter order in the example for ticks_diff was incorrect.  If it's
"too early" that means that scheduled time is greater than current time and
if it's "running late" then scheduled time would be less than current time.
2017-11-30 14:56:08 +11:00
Paul Sokolovsky f59c6b48ae docs/uselect: Describe POLLHUP/POLLERR semantics in more details.
Per POSIX, http://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html
these flags aren't valid in the input eventmask. Instead, they can be
returned in unsolicited manner in the output eventmask at any time.
2017-11-26 09:58:19 +02:00
Paul Sokolovsky 50cffcfe2c docs/uctypes: Tweak descriptor reference to hopefully be easier to follow.
Put offset first in OR expressions, and use "offset" var instead of
hardcoded numbers. Hopefully, this will make it more self-describing
and show patterns better.
2017-11-25 09:02:08 +02:00
Paul Sokolovsky c23cc4cc81 docs/uctypes: Typo/article fixes. 2017-11-25 09:01:11 +02:00
Paul Sokolovsky 067bf849d2 docs/uselect: poll: Explicitly specify that no-timeout value is -1. 2017-11-23 18:03:32 +02:00
Peter Hinch ec1e9a10a7 docs: Add notes on heap allocation caused by bound method refs. 2017-11-23 11:35:58 +11:00
Damien George 31550a52e4 docs/library/network: Enhance AbstractNIC.status to take an argument.
The argument is optional and if given should be a string naming the
status variable to query.
2017-11-16 14:48:04 +11:00
Paul Sokolovsky 579b86451d docs/_thread: Add a placeholder docs for _thread module.
Doesn't list specific API calls yet, the purpose is to let user know that
the module exists.
2017-11-10 00:09:43 +02:00
Paul Sokolovsky 5b1b80a8db docs/ure: Emphasize not supported features more.
Plus, additional descriptions/formatting.
2017-11-08 00:24:39 +02:00
Paul Sokolovsky ad5a6f5917 docs/ure: Add flags arg to ure.compile(), mention that ure.DEBUG is optional. 2017-11-04 00:26:31 +02:00
Paul Sokolovsky 1742ab2653 docs/esp8266/general: Minor grammar fixes. 2017-11-02 00:38:58 +02:00
Paul Sokolovsky 58c785632f docs/esp8266/general: TLS limitations: Mention also "ussl" module limitations. 2017-11-01 08:59:42 +02:00
Damien George fe45d78b1e docs: Bump version to 1.9.3. 2017-11-01 11:19:56 +11:00
Paul Sokolovsky 80e3f07e7f docs/ure: Add "|" (alternative) to the list of supported operators. 2017-10-31 14:46:08 +02:00
Paul Sokolovsky b81fbf938f docs/usocket: Document that settimeout() isn't supported by all ports.
And describe an alternative of using uselect.poll().
2017-10-31 00:28:28 +02:00
Paul Sokolovsky 4dd523adbb docs/esp8266/general: Add section on TLS limitations. 2017-10-30 19:50:57 +02:00
Paul Sokolovsky 6fb093282b docs/ussl: Fix module name refs and use "MicroPython port" term. 2017-10-30 18:03:54 +02:00
Yuval Langer 05a2bb888f docs/reference/isr_rules: Minor typo correction. 2017-10-30 13:29:00 +11:00
Joar Wandborg b9923262db docs/library/network: Add dhcp_hostname parameter
I have not actually tested this, going by information available in https://forum.micropython.org/viewtopic.php?t=2584
2017-10-27 11:04:52 +03:00
Paul Sokolovsky a33fca99a1 docs/usocket: Document inet_ntop(), inet_pton(). 2017-10-27 00:27:27 +03:00
Paul Sokolovsky d1cd533134 docs/usocket: Elaborate descriptions.
Use the "usocket" module name everywhere. Use "MicroPython port"
terminology. Suggest to avoid using IPPROTO_* constants in socket()
call.
2017-10-26 14:20:37 +03:00
Paul Sokolovsky 328c1e78be docs/uselect: Document one-shot polling mode. 2017-10-26 00:30:07 +03:00
Damien George d90ade5e3e docs/library/network: Update docs to state that W5500 is supported. 2017-10-16 15:51:56 +11:00
Damien George 65ba481cb0 stm32/modnwwiznet5k: Implement WIZNET5K.isconnected() method. 2017-10-16 13:16:00 +11:00
Mike Causer b1457db002 docs/library: Add missing cross-ref links for classes in pyb module. 2017-10-11 11:30:16 +11:00
Mike Causer f599a38059 docs/esp8266/quickref: Add quickref info for RTC class. 2017-10-10 15:22:23 +11:00
Mike Causer dc92f1c4ee docs/pyboard/tutorial: Update now that yellow LED also supports PWM. 2017-10-10 15:22:11 +11:00
Mike Causer d236d0c415 docs/pyboard/quickref: Add info for Switch, RTC, CAN, Accel classes. 2017-10-10 15:22:11 +11:00
Damien George add933feaf docs/library/network: Clarify usage of "bssid" arg in connect() method. 2017-10-09 23:11:25 +11:00
Gabe 9e0cdb22f1 docs/esp8266/tutorial: Update neopixel with example of using 4 bbp. 2017-10-04 10:35:22 +11:00
Paul Sokolovsky 72491b3e40 docs/btree: Describe page caching policy of the underlying implementation. 2017-09-17 21:35:33 +03:00
Peter Hinch d42b89bc3a docs/library/framebuf.rst: Generalise constructor to all colour formats. 2017-09-13 16:36:57 +10:00
Peter Hinch da1c80d850 docs/reference/isr_rules.rst Add tutorial on use of micropython.schedule(). 2017-09-09 16:05:24 +03:00
Damien George 4a93801c12 all: Update Makefiles and others to build with new ports/ dir layout.
Also renames "stmhal" to "stm32" in documentation and everywhere else.
2017-09-06 14:09:13 +10:00
Damien George fe6f0354f6 docs/library/micropython: Fix typo in RST formatting. 2017-08-29 16:53:30 +10:00
Damien George e30ba2f1c7 docs/library: Add description of "index" parameter to uos.dupterm(). 2017-08-29 16:50:28 +10:00
Paul Sokolovsky d5336ba136 docs/machine.Signal: Improve style/grammar and add usage example. 2017-08-29 00:08:40 +03:00
Paul Sokolovsky c5c095690f docs/library/network: Fix ref to "socket" module (should be "usocket"). 2017-08-28 14:00:16 +03:00
Paul Sokolovsky 358a7ba014 docs: More xrefs to "MicroPython port" in glossary. 2017-08-28 13:51:05 +03:00
Damien George b84268d49c docs/pyboard/tutorial: Add "timeout=0" to UART in pass-through example.
Without this the pass-through will pause for 1 second at each character.
2017-08-23 17:01:43 +10:00
Damien George 1f78e7a431 docs: Bump version to 1.9.2. 2017-08-23 11:46:35 +10:00
Paul Sokolovsky 64a3c52f66 docs: Consistently link to micropython-lib in glossary. 2017-08-22 09:33:31 +03:00
Paul Sokolovsky 387a8d26f9 docs/glossary: Fix typos in micropython-lib paragraph. 2017-08-20 10:44:02 +03:00
Paul Sokolovsky 46583e9057 docs/glossary: Elaborate on possible MicroPython port differences.
State that this doc describes generic, "core" MicroPython functionality,
any particular port may diverge in both directions, by both omitting
some functionality, and adding more, both cases described outside the
generic documentation.
2017-08-20 10:11:44 +03:00
Paul Sokolovsky 3f91570483 docs/library/usocket: Describe complete information on address formats.
Describe that the only portable way to deal with addresses is by using
getaddrinfo(). Describe that some ports may support tuple addresses using
"socket" module (vs "usocket" of native MicroPython).
2017-08-20 09:49:12 +03:00
Paul Sokolovsky ccaad53270 docs/library/usocket: Move socket.error to its own section.
It's too minor a point to start the module description with it.
2017-08-20 09:04:48 +03:00
Alex Robbins 0aa1d3f447 docs/library/ubinascii: Update base64 docs.
This clarifies return values and the handling of invalid (e.g. newline)
characters.

Encoding conforms to RFC 3548, but decoding does not, as it ignores invalid
characters in base64 input. Instead, it conforms to MIME handling of base64
(RFC 2045).

Note that CPython doesn't document handling of invalid characters in
a2b_base64() docs:
https://docs.python.org/3/library/binascii.html#binascii.a2b_base64 , so
we specify it more explicitly than it, based on CPython's actual behavior
(with which MicroPython now compliant).
2017-08-17 09:25:51 +03:00
Javier Candeira c127ace28a docs/library/machine.RTC.rst: Fix typo. 2017-08-14 15:42:25 +10:00
Matthew Brener d003daee06 docs/esp8266/tutorial: Fix typo, "its" to "it's" in powerctrl.rst. 2017-07-24 10:33:03 +10:00
Paul Sokolovsky 205c368fa1 eps8266/general: Fix typo in recent example. 2017-07-21 12:08:18 +03:00
Peter Hinch 6ede921731 eps8266/general: Add known issue of WiFi RX buffers overflow. 2017-07-21 10:19:17 +03:00
Piotr Maliński 8c9e22c127 docs/pyboard/tutorial/amp_skin: Add example for playing large WAV files. 2017-07-21 16:52:16 +10:00
Alexander Steffen c9a48eb464 docs,teensy: Use the name MicroPython consistently in documentation 2017-07-15 11:44:32 +02:00
Paul Sokolovsky 503cf3d097 docs/uzlib: Update description of decompress() and mention DecompIO. 2017-07-04 02:32:42 +03:00
Damien George 3c62577ee9 docs/pyboard: Move info about using Windows from topindex to general. 2017-07-03 15:31:41 +10:00
Patrick O'Leary 45b127e7ac docs/esp8266/general.rst: Fix name of NTP module.
The simple NTP client module is named "ntptime.py".
2017-07-02 20:02:19 -05:00
Paul Sokolovsky ffb13cc633 docs/uerrno: Document "uerrno" module. 2017-07-03 00:55:09 +03:00
Paul Sokolovsky 4f23c5d587 docs/pyboard: Move hardware info into General Info chapter.
This makes top-level ToC of the pyboard docs consistent with other ports
(consisting of 3 chapters: QuickRef, General Info, and Tutorial).

Also, some other minor tweaks applied, like local ToC for General Info and
headings mentioning pyboard.
2017-07-02 19:23:23 +03:00
Paul Sokolovsky e467949a4a docs/*_index: Drop "Indices and tables" pseudo-section.
This pseudo-section causes artifacts with latexpdf generation (almost
empty page with list containing literal "genindex", "modeindex", "search"
items). For HTML docs, these sections can be accessed from "home" page.
2017-07-02 19:18:51 +03:00
Paul Sokolovsky 90c1d54464 docs/conf.py: Set "version" and "release" to the same value.
We don't use alpha/beta/RC, so for us version and release should be the
same, or it leads to confusion (for example, current, 1.9.1 docs are
marked as 1.9 at places).
2017-07-02 15:50:22 +03:00
Paul Sokolovsky a6af1a1d9c docs/replace.inc: Add |see_cpython|, to xref individual symbols from CPython.
The idea is to use it for each symbol in builtins.rst.
2017-07-02 15:43:12 +03:00
Paul Sokolovsky 465d84b7e7 docs/library: Add CPython docs xref to each pertinent module.
Cross-reference text/link is implemented as RST substitution, so easy to
consistently.
2017-07-02 15:37:31 +03:00
Paul Sokolovsky ebce7984c6 docs/conf.py: Add file for global replacements definition.
The idea is to allow to define a kind of "macros" for repeatitive text,
so all occurrances can be updated in one place. Unfortunately, RST doesn't
support replacements with arguments, which limits usefulness of them and
should be taken into account.
2017-07-02 15:15:31 +03:00
Paul Sokolovsky 5f0c56bcf1 docs/conf.py: Switch to "new" format of intersphinx_mapping.
As described at
http://www.sphinx-doc.org/en/stable/ext/intersphinx.html#confval-intersphinx_mapping

This will allow to explicitly refer to CPython docs for cross-references.
2017-07-02 14:35:52 +03:00
Damien George 7e14f99c26 docs/topindex.html: Fix typo in "Glossary" heading. 2017-07-02 21:29:06 +10:00
Paul Sokolovsky d0797fbc18 docs: Add glossary.
We have enough terms or references throughout the docs which may be not
immediately clear or have some important nuances. Referencing terms in
gloassary is the best way to deal with that.
2017-07-02 13:47:35 +03:00
Paul Sokolovsky d80ecad03f docs/ure: Elaborate doc, update markup to the latest conventions. 2017-07-02 02:01:47 +03:00
Paul Sokolovsky d42bb58c33 docs/builtins: Add AssertionError, SyntaxError, ZeroDivisionError.
Also, update heading of 1st sections to "Functions and types".
2017-07-01 22:20:49 +03:00
Paul Sokolovsky 8b7d311595 reference/index: Rewrite introduction paragraph to avoid confusion.
The old intro talked about "differences", but there were hardly any
sections describing differences, mostly MicroPython specific features.
On the other hand, we now have real "differences" chapter, though it's
mostly concerned with stdlib differences.

So, try to avoid confusion by changing wording and linking to the other
chapters and contrasting them with what is described in "MicroPython
language".
2017-07-01 22:09:40 +03:00
Paul Sokolovsky 50eea26145 docs/differences/index_template: Use consistent heading casing.
And in our case, "consistent" is where each word in the heading is *not*
capitalized.
2017-07-01 21:15:43 +03:00
Damien George f585526c80 docs: Move topindex.html to templates/ subdir.
Later versions of jinja2 need it to be in this subdir, and earlier versions
work with it here as well.
2017-07-01 20:30:35 +03:00
Paul Sokolovsky ef47dee4bf docs/conf.py: Add .venv dir to exclude_patterns.
It's useful to try different Sphinx versions using virtualenv/venv, so
exclude a common venv dir name from Sphinx processing.
2017-07-01 20:01:05 +03:00
Paul Sokolovsky e334b6b6d2 docs/constrained: Use markup adhering to the latest docs conventions. 2017-07-01 19:28:55 +03:00
Paul Sokolovsky 871a45dd0c docs/{uselect,ussl,ustruct}: Use markup adhering to latest docs conventions. 2017-06-30 14:50:52 +03:00
Damien George f2babeaeda docs/topindex.html: Remove link to wipy.io, it's no longer available. 2017-06-30 18:57:26 +10:00
Paul Sokolovsky 1942f0ceef docs/{framebuf,usocket}: Use markup adhering to the latest docs conventions. 2017-06-29 02:22:14 +03:00
Paul Sokolovsky f8ac28964d docs/{micropython,sys,uos}: Use markup adhering to the latest docs conventions. 2017-06-28 00:37:47 +03:00
Paul Sokolovsky fbd252b77c docs/{esp,pyb,ubinascii}: Use markup adhering to the latest docs conventions. 2017-06-27 00:38:05 +03:00
Paul Sokolovsky 748f493f33 docs: Move all ports docs to the single ToC.
Previously, only "selected chapters" were shown in left-pane ToC (of
Read The Docs theme). These chapters were selected out of order. The
rest of chapters were hidden beyond "Documentation Contents" pseudo-
chapter. This arguably led only to confusion, as many people probably
never tried to open that pseudo-chapter, and those who did, were
confused. Such organization is even worse for PDF output, causing
chapters go in mix-mashed order.

So, instead move to single clean ToC. This will allow readers of HTML
to have access to any doc content at their fingertips (and straight
before their eyes), and will allow to finally have clean PDF docs.
2017-06-27 00:34:27 +03:00
Damien George 7a4694fc4e docs/library/gc: Fix grammar and improve readability of gc.threshold(). 2017-06-26 15:25:51 +10:00
Damien George 0a54b6dce9 docs/esp8266/tutorial/intro: Fix some grammatical typos. 2017-06-26 15:12:48 +10:00
Paul Sokolovsky a926119099 docs/ref/speed_python: Update and make more hardware-neutral.
Move hardware-specific optimizations to the very end of document, and
add visible note that it gives an example for Pyboard. Remove references
to specific hardware technologies, so the doc can be more naturally
used across ports. Various markup updates to adhere to the latest
docs conventions.
2017-06-26 01:11:17 +03:00
Paul Sokolovsky dd16e21562 docs/network: Use markup adhering to the latest docs conventions. 2017-06-26 00:37:30 +03:00
Paul Sokolovsky 7c0e1f1a08 docs/machine*: Use markup adhering to the latest docs conventions. 2017-06-25 13:30:29 +03:00
Paul Sokolovsky cfce7d784e docs/lcd160cr: Group related constants together. Use full sentences.
Per the latest docs conventions.
2017-06-25 13:28:23 +03:00
Paul Sokolovsky ba33c544bb docs/conf.py: Set default_role = 'any'.
This causes `symbol` syntax to be equivalent to :any:`symbol`, which is
in turn the easiest way to cross-reference an arbitrary symbol in the
docs:

http://www.sphinx-doc.org/en/stable/markup/inline.html#role-any

:any: requires at least Sphinx 1.3 (for reference, Ubuntu 16.03 ships
with 1.3.6, the latest 1.6.3).

Any many of our docs, `symbol` is misused to specify arguments to
functions, etc. Refactoring that is in progress. (CODECONVENTIONS
already specify proper syntax for both arguments and xrefs, based
on CPython conventions).
2017-06-25 00:57:44 +03:00
Paul Sokolovsky 6f87b03e3c docs/utime: Use markup adhering to the latest conventions. 2017-06-25 00:54:38 +03:00
Paul Sokolovsky 1e31d4bdf6 docs/lcd160cr: Use markup adhering to the latest conventions. 2017-06-25 00:46:07 +03:00
Paul Sokolovsky 7f2bc83dbc docs/btree: Use markup adhering to the latest conventions. 2017-06-25 00:17:18 +03:00
Paul Sokolovsky bc790b5145 docs/builtins: List builtin exceptions.
If for nothing else, then at least to cross-reference them.
2017-06-24 23:45:38 +03:00
Paul Sokolovsky c4e3a03fa5 docs/gc: Document gc.threshold() function. 2017-06-24 13:35:41 +03:00
Paul Sokolovsky 4cdddfed8e docs/gc: Mark mem_alloc()/mem_free() as uPy-specific. 2017-06-24 13:12:09 +03:00
Paul Sokolovsky b50659e137 docs/conf.py: Include 3 levels of ToC in latexpdf output.
Instead of default 2. 3 are required to access description of individual
library modules.
2017-06-24 00:25:29 +03:00
Paul Sokolovsky beb94b6efc docs/esp8266/tutorial/intro: Sphinx requires blank lines around literal blocks.
At least, Sphinx 1.3.6.
2017-06-23 22:04:33 +03:00
Paul Sokolovsky 51668dffaa docs/esp8266/tutorial/intro: Discourage use of 512kb firmwares.
This follows similar warnings in other parts of docs.
2017-06-23 22:00:40 +03:00
Paul Sokolovsky 6201e84812 docs/license: Update copyright year. 2017-06-23 21:48:27 +03:00
Paul Sokolovsky 94696973a0 docs/select: Rename to uselect, to match the actual module name.
Also, add ipoll() documentation and markup changes to comply with CPython
usage.
2017-06-16 11:28:06 +03:00
Damien George fd860dc552 stmhal: Add .value() method to Switch object, to mirror Pin and Signal. 2017-06-15 17:34:51 +10:00
Paul Sokolovsky 08c73d9734 docs/btree: Typo/wording fixes. 2017-06-11 18:23:13 +03:00
Paul Sokolovsky 6ca086a89a docs/btree: Add hints about opening db file and need to flush db. 2017-06-11 17:44:11 +03:00
Damien George 869cdcfdfc docs: Bump version to 1.9.1. 2017-06-11 23:04:00 +10:00
Paul Sokolovsky cd64b3082e docs/network: First step to describe standard network class interface.
This adds description of implied AbstractNIC base class, which should be
"subclasses" and implemented by a particular network device class.

This is just an initial step in that direction, the API and description
will be elabotated further.
2017-06-04 21:25:23 +03:00
Paul Sokolovsky f245f5d7cc docs/machine: Sort machine classes in logical order, not alphabetically.
The list starts with the simplest functionality - GPIO, proceeds to
communication interfaces (UART, SPI, I2C), the to time(r) related
things, then everything else.
2017-06-03 14:50:54 +03:00
Paul Sokolovsky e91b1cdae3 docs/uos: Move cc3200 port legacy VFS mounting functions to its ref doc.
This patch also unconditionalizes uos.dupterm(), though exact interface
and semantics is yet to be defined.
2017-06-03 14:19:53 +03:00
Paul Sokolovsky 1ce44f3046 docs/uos: Deconditionalize, remove minor port-specific details.
For a couple of ports, there was information which directory is set
as current after boot. This information doesn't belong to "uos" module,
and is moved to boards' references (which actually already contained
information on which directory is chosen for boot, even if without
explicit mentioning that it becomes current directory, which is now
done).
2017-06-03 13:51:13 +03:00
Paul Sokolovsky 92206a78ae docs/network: Move confusingly-named cc3200 Server class to its reference.
cc3200 port has network.Server class to control behavior of builtin
Telnet/FTP server of that port.
2017-06-03 13:34:28 +03:00
Paul Sokolovsky 22ca5390f7 docs/esp8266/quickref: Polish Pin.on()/off() examples. 2017-06-02 21:08:23 +03:00
Paul Sokolovsky 272a5d95e0 docs/esp8266: Consistently replace Pin.high/low methods with .on/off. 2017-05-30 07:36:25 +03:00
Paul Sokolovsky d5b8825d5f docs/machine.Pin: Add on() and off() methods. 2017-05-29 20:56:13 +03:00
Paul Sokolovsky 3496d9e4bd docs/machine.Pin: Remove out_value() method.
This method isn't implemented in any port. It seemed to have originated
in cc3200 port, but actually never was implemented there either. In
general case, it's impossible to implement this method (for example, for
a perfect GPO, which has only output latch without any feedback look
into a CPU).
2017-05-29 20:51:30 +03:00
Ville Skyttä ca16c38210 various: Spelling fixes 2017-05-29 11:36:05 +03:00
Damien George 825460a093 docs: Bump version to 1.9. 2017-05-26 19:07:37 +10:00
Paul Sokolovsky 3ebd67fc09 library/machine.Pin: Remove .id() method and .board class attr.
Both aren't part of generic Hardware API: It's impossible to implement
.id() method in a generic case (e.g., when Pin is instantiated by the
underlying OS/RTOS). .board attribute is an obvious space hog which
instead can be implemented on Python level if needed.
2017-05-21 15:50:16 +03:00
Damien George 436d97b3f9 docs/library/machine.UART: Update and improve uart.any() docs. 2017-05-19 15:48:22 +10:00
Damien George d007351b33 docs/library/micropython: Document the newer micropython functions. 2017-05-18 00:25:09 +10:00
Damien George f351c6db5e drivers/display/lcd160cr: Fix get_line method and enhance screen_dump.
The docs are updated and describe the new behaviour of these methods.
2017-05-17 19:53:13 +10:00
Damien George e4a53570d0 docs: Change single occurrence of "Micropython" to "MicroPython". 2017-05-17 12:38:33 +10:00
Paul Sokolovsky d5713c8618 docs/library/index: Add important summary of the intro section as warning.
To make them harder to miss.
2017-05-15 00:26:44 +03:00
Paul Sokolovsky 0ba136fbe9 docs/machine.Signal: Add initial draft description of Signal class. 2017-05-14 23:12:06 +03:00
Paul Sokolovsky c19f07bd52 docs/machine.Pin: There's no toggle() method in MicroPython hardware API.
May be a port-specific method, not portable, not part of the official
specification.
2017-05-14 22:52:16 +03:00
Damien George 6d221fe284 docs/library/uos: Add description of uos.ilistdir() function. 2017-05-10 12:44:21 +10:00
Damien George 29b26f3922 docs/library/machine.SPI: Fix formatting of bullet list to stop warning. 2017-04-18 15:40:04 +10:00
Damien George 850f79e552 docs/library/machine.I2C: Remove WiPy-specific return values.
cc3200 has been updated to conform to the API and now returns None.
2017-04-18 15:39:27 +10:00
Damien George daa5ba5629 docs/esp8266/quickref: Add links from quickref page to machine classes. 2017-04-18 15:28:18 +10:00
Damien George d4675e7674 docs/library/machine.*: Add cross-reference label to individual classes. 2017-04-18 15:27:37 +10:00
Damien George 1f1a03d0c3 docs/library/machine.I2C: Deconditionalise all methods.
The cc3200 port is now similar enough to the standard machine.I2C API so
that all conditionals can be removed.
2017-04-18 15:04:51 +10:00
Damien George c49b265389 docs/wipy/general: Add section about specifics of I2C implementation. 2017-04-18 15:04:30 +10:00
Damien George 27f0862550 docs/wipy/quickref: Update reference for change to I2C API. 2017-04-18 13:20:07 +10:00
Damien George fabaa61437 docs/library/machine.UART: Remove pyboard-specific section.
stmhal doesn't have a machine.UART class so this section is not needed.
2017-04-18 12:13:51 +10:00
Paul Sokolovsky a78703f188 docs/library/machine: Typo fix in machine_callbacks section. 2017-04-16 10:14:05 +03:00
Paul Sokolovsky 9ef6bb5480 docs/machine: Move machine.main() misnomer to wipy's known issues. 2017-04-16 10:12:01 +03:00
Paul Sokolovsky a8ece0358f docs/machine.UART: Deconditionalize normal methods. 2017-04-16 09:54:55 +03:00
Paul Sokolovsky ac8843ceec docs/library/ussl: Deconditionalize, wipy notes moved to its documentation. 2017-04-16 09:41:32 +03:00
Paul Sokolovsky a0fb360f1b docs/library/uos: urandom: Generalize description.
Don't give a guarantee of HW RNG, only a possibility of its usage.
2017-04-16 09:22:47 +03:00
Paul Sokolovsky ae831ec0a8 docs/library/micropython: Deconditionalize. 2017-04-16 09:18:47 +03:00
Paul Sokolovsky a1c39ffb69 docs/esp8266/tutorial/intro: Reword section on flash size requirement.
Give a clearly dissuading tone on end users trying 512KB version
- it has to many end-usery features lacking.
2017-04-14 01:12:04 +03:00
Paul Sokolovsky b87432b8fb docs/uhashlib: Deconditionalize.
Notes on WiPy incompatibilities with the standard module API are
moved under "Known issues" to its documentation.
2017-04-09 00:57:54 +03:00
Paul Sokolovsky 2e58474580 docs/usocket: Deconditionalize.
Notes on WiPy incompatibilities with the standard socket module API are
moved under "Known issues" to its documentation.
2017-04-09 00:48:28 +03:00
Paul Sokolovsky 3acace588a docs/utime: Deconditionalize description of sleep(). 2017-04-09 00:42:32 +03:00
Paul Sokolovsky 1d74559b6b docs/library/machine.UART: Remove some conditionals. 2017-04-09 00:25:27 +03:00
Paul Sokolovsky bcf3c8bf17 docs/library/builtins: int: Add notice on byteorder param for to/from_bytes. 2017-04-09 00:06:54 +03:00
Paul Sokolovsky e5278b98fe docs/esp8266/general: Start explicit "Known Issues", mentioned RTC inaccuracy. 2017-04-07 10:52:50 +03:00
Paul Sokolovsky 390d5a3bf1 docs/machine.Pin: Move wipy-specific methods to its docs. 2017-04-05 13:05:04 +03:00
Paul Sokolovsky d46899626e docs/machine.Pin: Move wipy-specific details to its own docs. 2017-04-05 12:09:36 +03:00
Paul Sokolovsky 9a38b7afe0 cc3200/modmachine: Return frequency value directly, like other ports. 2017-04-05 11:58:17 +03:00
Paul Sokolovsky 4333b2fb53 docs/machine.SPI: Remove outdated wipy chunk. 2017-04-05 11:47:15 +03:00
Paul Sokolovsky 906d58f6f2 docs/uos: De-conditionalize statvfs() description.
It's a standard function, and it's already described (in the library
intro) that for any given port, any function may be missing.
2017-04-05 11:44:10 +03:00
Paul Sokolovsky 0a861db91c docs/utime: De-conditionalize description of sleep_ms() and friends.
These are basic MicroPython API, and all ports should implement them.
2017-04-05 11:40:47 +03:00
Peter Hinch 468c6f9da1 extmod/modframebuf: Make monochrome bitmap formats start with MONO_.
MONO_xxx is much easier to read if you're not familiar with the code.
MVLSB is deprecated but kept for backwards compatibility, for the time
being.

This patch also updates the associated docs and tests.
2017-04-04 17:38:33 +10:00
Paul Sokolovsky bb296482c3 docs/library/btree: Add btree module docs. 2017-04-04 00:29:23 +03:00
transistortim fb981107eb docs/library/machine.I2C: Fix scan() doc to match implementation.
Since eaef6b5324 writes are used instead of
reads.
2017-03-20 15:30:41 +11:00
Christopher Arndt 9b80a1e3e9 utime module documentation fixes and cleanup:
* Fix mis-spelling of `ticks_add` in code examples.
* Be consistent about parentheses after function names.
* Be consistent about formatting of function, variable and constant names.
* Be consistent about spaces and punctuation.
* Fix some language errors (missing or wrong words, wrong word order).
* Keep line length under 90 chars.

Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
2017-03-17 20:45:08 +03:00
Damien George fcab435607 docs/library/framebuf: Fix typo in bit-width for MVLSB description. 2017-03-15 21:54:56 +11:00
James Ouyang e73a0b944f docs/esp8266/tutorial: Update since esptool 1.3 added Python 3 support.
esptool 1.3 now supports both Python 2.7 and 3.4+.
Updated github link to now-official espressif repo.
2017-03-07 18:23:24 +11:00
Rami Ali 2646b9e022 docs/library/lcd160cr: Add link to framebuf page. 2017-03-07 18:17:40 +11:00
Rami Ali f9d18d96b7 docs/library: Add framebuf documentation. 2017-03-07 18:16:46 +11:00
Peter Hinch 1f549a3496 docs/library/lcd160cr: Add note about supported JPEG format/encodings. 2017-02-28 17:45:24 +11:00
Paul Sokolovsky ed81574fe9 docs/machine: Fix formatting of Constants section.
Render related constants grouped together, with common description.
2017-02-28 00:38:15 +03:00
Krzysztof Blazewicz ae116c2430 docs/Makefile: define and use PYTHON as the interpreter for CPYDIFF
User can override PYTHON executable before running script,
gen-cpydiff.py works only with Python3 and most systems register
its executable as 'python3'.
2017-02-27 15:39:55 +11:00
Paul Sokolovsky e2f1a8a7ee docs/uhashlib: Provide port-neutral description.
TODO: Remove WiPy-specific chunks.
2017-02-26 00:55:33 +03:00
Rami Ali 3218ccd70d docs: Modify Makefile and indexes to generate cPy-differences pages. 2017-02-20 17:14:35 +11:00
Rami Ali b7fa63c7ce tools: Add gen-cpydiff.py to generate docs differences.
This patch introduces the a small framework to track differences between
uPy and CPython.  The framework consists of:

- A set of "tests" which test for an individual feature that differs between
  uPy and CPy.  Each test is like a normal uPy test in the test suite, but
  has a special comment at the start with some meta-data: a category (eg
  syntax, core language), a human-readable description of the difference, a
  cause, and a workaround.  Following the meta-data there is a short code
  snippet which demonstrates the difference.  See tests/cpydiff directory
  for the initial set of tests.

- A program (this patch) which runs all the tests (on uPy and CPy) and
  generates nicely-formated .rst documenting the differences.

- Integration into the docs build so that everything is automatic, and the
  differences appear in a way that is easy for users to read/reference (see
  latter commits).

The idea with using this new framework is:

- When a new difference is found it's easy to write a short test for it,
  along with a description, and add it to the existing ones.  It's also easy
  for contributors to submit tests for differences they find.

- When something is no longer different the tool will give an error and
  difference can be removed (or promoted to a proper feature test).
2017-02-20 17:14:34 +11:00
Damien George d80df91ef2 docs/library/lcd160cr: Mention the valid values for set_power() method. 2017-02-17 16:57:22 +11:00
Paul Sokolovsky ee3615d800 docs/uos: Remove mention of uos.sep.
MicroPython guarantees '/' to be a path separator, so extra constant taking
precious ROM space are not needed. MicroPython never had such constant, only
one vendor port had it (now unmaintained).
2017-02-14 13:14:46 +03:00
Damien George 0c821f7def docs/library/machine: Make separate TOC for WiPy vs non-WiPy.
WiPy is the only port with ADC and SD, so they shouldn't be included in
other ports' documentation.
2017-02-13 13:06:51 +11:00
Dave Hylands 2f76c3ca0a docs/library/pyb.Pin: Minor typo fix, B6 should be A0.
On the PYBv1.0, X1 maps to A0, not B6.
2017-02-13 11:52:44 +11:00
Damien George 21f08524ba docs: Add M-logo as favicon. 2017-02-07 20:04:40 +11:00
Damien George 3217bbe491 docs/esp8266/tutorial: Specify the baudrate in picocom example command. 2017-02-07 16:58:43 +11:00
Damien George 9779c99317 stmhal: Add ability to skip booting from SD card via /flash/SKIPSD file. 2017-02-07 12:35:39 +11:00
Damien George 27c149efe0 stmhal: Add pyb.fault_debug() function, to control hard-fault behaviour.
This new function controls what happens on a hard-fault:
- debugging disabled: board will do a reset
- debugging enabled: board will print registers and stack and flash LEDs

The default is disabled, ie to do a reset.  This is different to previous
behaviour which flashed the LEDs and waited indefinitely.
2017-02-06 13:22:17 +11:00
Paul Sokolovsky d5e9ab6e61 extmod/machine_pulse: Make time_pulse_us() not throw exceptions.
machine.time_pulse_us() is intended to provide very fine timing, including
while working with signal bursts, where each transition is tracked in row.
Throwing and handling an exception may take too much time and "signal loss".
So instead, in case of a timeout, just return negative value. Cases of
timeout while waiting for initial signal stabilization, and during actual
timing, are recognized.

The documentation is updated accordingly, and rewritten somewhat to clarify
the function behavior.
2017-02-05 14:20:17 +03:00
Damien George 50a9dd59f5 docs: For LCD160CR driver and tutorial, add link to positioning image. 2017-02-03 12:48:54 +11:00
Damien George 5ec5bfb0d3 docs/pyboard/tutorial/lcd160cr_skin: Fix typo, get_touched->get_touch. 2017-01-30 18:19:29 +11:00
Paul Sokolovsky 0ddeedfc73 docs/uio: Typo fixes/lexical improvements. 2017-01-29 16:18:33 +03:00
Paul Sokolovsky bdb0d22fe2 docs/conf.py: Add myself as a copyright holder on the docs.
Based on the following statistics:

$ git log docs |grep Author | sort | uniq -c | sort -n -r
    175 Author: Paul Sokolovsky
    135 Author: Damien George
     31 Author: Daniel Campora
     26 Author: danicampora
     14 Author: Peter Hinch

git blame stats script from http://stackoverflow.com/a/13687302/496009:

$ sh git-authors docs
   9977 author Damien George
   2679 author Paul Sokolovsky
   1699 author Daniel Campora
   1580 author danicampora
   1286 author Peter Hinch
    282 author Shuning Bian
    249 author Dave Hylands

Total lines per this script: 18417, my contribution is 14.5%.
2017-01-29 16:12:07 +03:00
Paul Sokolovsky ef6fb66d23 docs/uio: Describe differences between uPy an CPy stream hierarchy. 2017-01-28 16:35:40 +03:00
Paul Sokolovsky 6947a7f6a9 docs/usocket: Dedent Methods section.
This was apparently of an ::only directive which was later removed.
2017-01-28 15:49:54 +03:00
Paul Sokolovsky f23c47fea7 docs/usocket: Clarify description of various methods. 2017-01-28 15:39:18 +03:00
Paul Sokolovsky 74fcb122f0 docs/usocket: Elaborate "Constants" section. 2017-01-28 14:46:58 +03:00
Paul Sokolovsky 59540dccf1 docs/usocket: Clarify exceptions used. 2017-01-28 13:55:51 +03:00
Paul Sokolovsky 0aa83142a4 docs/machine: Add explicit note on machine module level and scope.
It's very low, hardware level, with associated constraints on operations
and callbacks.
2017-01-28 12:08:25 +03:00
Paul Sokolovsky 56e7ebf07a docs/machine.Timer: Move WiPy adhoc parts to its documentation. 2017-01-28 12:08:00 +03:00
Damien George c707668d9e docs/library/lcd160cr: Fix set_brightness range, should be 0..31. 2017-01-24 00:17:39 +11:00
Damien George 7d08bc27e2 docs/pyboard/tutorial: Add tutorial for LCD160CR. 2017-01-23 15:50:37 +11:00
Damien George e72e343908 docs: Add documentation for lcd160cr module. 2017-01-23 14:37:10 +11:00
Mike Causer a79f6676c3 docs: Fix some minor spelling mistakes.
paramter -> parameter
send a receive -> send and receive
repsonse -> response
particualr -> particular
constructore -> constructor
2017-01-18 15:30:31 +11:00
Damien George 5653e3c72f docs: Bump version to 1.8.7. 2017-01-08 23:53:08 +11:00
Paul Sokolovsky a1a8f01799 docs/usocket: Clarify that socket timeout raises OSError exception. 2017-01-07 14:23:33 +03:00
Damien George 36ec5c8f27 docs/library/esp: Remove para and add further warning about flash.
There is no longer space reserved by default for native code.
2017-01-06 18:32:49 +11:00
Damien George c3f70c603e docs/library/esp: Document esp.set_native_code_location() function. 2017-01-04 23:48:19 +11:00
Paul Sokolovsky 52c19875a4 esp8266/general: Add "Scarcity of runtime resources" section.
With warnings of need to close files, sockets, etc.
2017-01-04 10:33:48 +03:00
Max e1f495a4bd docs/esp8266/tutorial: Close socket after reading page content. 2017-01-04 11:15:02 +11:00
Damien George d377c83794 docs/library/machine.I2C: Fix I2C constructor docs to match impl. 2016-12-30 15:25:48 +11:00
Andrew Mulholland 71ff0b549d docs/esp8266/tutorial: Update intro to add Getting the firmware section.
Add a "Getting the firmware" section to better describe how to get hold of
the MicroPython firmware, especially if you have a 512kb module.
2016-12-30 14:27:02 +11:00
Lorenz Schmid a5b3c7e7f9 docs/library/pyb.UART: Moved writechar doc to sit with other writes. 2016-12-15 09:59:45 +11:00
Lorenz Schmid 0caac94b98 docs/library/pyb.UART: Added clarification about timeouts. 2016-12-15 09:59:32 +11:00
Peter Hinch 46e59c52af docs/library/pyb.Accel: Add hardware note about pins used by accel. 2016-12-02 17:39:13 +11:00
Damien George 63a5df3cb4 docs/library/machine.I2C: Refine definitions of I2C methods. 2016-11-23 17:05:02 +11:00
Paul Sokolovsky 64db4080ce docs/library/index: Elaborate on u-modules.
Also, remove an "only" directive in u-modules description.
2016-11-16 01:18:19 +03:00
Damien George a392b3aa75 docs: Remove references to readall() and update stream read() docs. 2016-11-14 23:31:40 +11:00
Damien George c4e58eaa98 stmhal/i2c: Add option to I2C to enable/disable use of DMA transfers.
New keyword option in constructor and init() method is "dma=<bool>".
DMA is now disabled by default for I2C transfers because it currently does
not handle I2C bus errors very well (eg if slave device doesn't ACK or
NACK correctly during a transfer).
2016-11-11 17:36:19 +11:00
Damien George 5a1d63fc14 docs: Bump version to 1.8.6. 2016-11-10 21:24:53 +11:00
Damien George 3e5e4f95b2 docs/library/machine.Pin: Update Pin docs to align with new HW API. 2016-11-09 11:08:01 +11:00
Paul Sokolovsky 5630778f0f esp8266: Update docs for esptool 1.2.1/SDK 2.0 (--flash_size=detect). 2016-11-08 04:52:07 +03:00
puuu 933198c55f docs/*/quickref.rst: Use new semantics of ticks_diff() 2016-11-08 02:01:05 +03:00
Paul Sokolovsky 5c3d75c937 docs/esp8266: Update for new WebREPL setup procedure. 2016-11-06 10:02:33 +03:00
Paul Sokolovsky 805f7ea2f2 docs/utime: Add docs for ticks_add(), improvements for other ticks_*(). 2016-11-01 00:14:12 +03:00
Paul Sokolovsky 8679d9e6a6 docs/utime: Remove only:: for ticks_diff().
It's mandatory function which should be present in every port. Even if
it's not, in the stdlib intro we waarn users that a particular port can
lack anything of described in the docs.
2016-11-01 00:03:40 +03:00
Paul Sokolovsky d60ad5cf53 docs/utime: Describe new semantics of ticks_diff() (signed ring arithmetics). 2016-10-31 00:17:56 +03:00
Paul Sokolovsky 153665f159 docs/utime: Document ticks_cpu() in more detail.
Also, drop ::only directive.
2016-10-30 23:15:28 +03:00
Paul Sokolovsky 7219a18d17 docs/library/index: Update TOCs so builtins sorted before modules. 2016-10-30 23:13:52 +03:00
Paul Sokolovsky c28f9df63a docs/library/network: Typo fixes, consistent acronym capitalization. 2016-10-28 12:03:35 +03:00
Paul Sokolovsky b9a88683a4 docs/library/network: Reword intro paragraph. 2016-10-28 04:42:27 +03:00
Paul Sokolovsky 67c91df7e8 docs/machine.SPI.rst: Fix typos and formatting, clarify.
Clarify the class implements master side of the protocol, also put adhoc
WiPy paramter after the generic, described in the current Hardware API
version.
2016-10-25 17:03:35 +03:00
Damien George f1b2b1b600 docs/library/builtins: Add docs for delattr and slice. 2016-10-25 11:02:47 +11:00
Damien George 266e4acdc2 docs/library/machine.SPI: Remove spurious "of". 2016-10-24 14:41:21 +11:00
Damien George f12047f66d docs/machine.SPI: Improve descriptions of xfer methods.
In particular remove the "*" because not all ports support keyword
arguments.
2016-10-18 10:14:26 +11:00
Paul Sokolovsky a0b2f48c2f docs/machine.SPI: Bring up to date with Hardware API, make vendor-neutral. 2016-10-17 18:05:16 +03:00
Damien George c8d31585a0 docs: Bump version to 1.8.5. 2016-10-17 15:32:43 +11:00
Peter Hinch 9e1dec1818 docs/reference: Add constrained.rst doc.
It contains detailed information about writing scripts to run efficiently
on microcontrollers (and other constrained systems).
2016-10-11 15:27:20 +11:00
daniel a181340ad8 docs/wipy: Correct deep sleep current figure. 2016-10-10 14:22:39 +02:00
Alex March 00c1fc6d77 docs/uos: Add uos.statvfs() documentation. 2016-10-07 13:16:54 +11:00
Philip Potter eb239b8398 stmhal/usb: Add support to receive USB HID messages from host. 2016-10-04 15:38:01 +11:00
Radomir Dopieralski 219245e10f extmod/machine_i2c: Add support for the addrsize parameter in mem xfers.
The memory read/write I2C functions now take an optional keyword-only
parameter that specifies the number of bits in the memory address.
Only mem-addrs that are a multiple of 8-bits are supported (otherwise
the behaviour is undefined).

Due to the integer type used for the address, for values larger than 32
bits, only 32 bits of address will be sent, and the rest will be padded
with 0s. Right now no exception is raised when that happens. For values
smaller than 8, no address is sent. Also no exception then.

Tested with a VL6180 sensor, which has 16-bit register addresses.

Due to code refactoring, this patch reduces stmhal and esp8266 builds
by about 50 bytes.
2016-09-28 14:45:29 +10:00