Commit Graph

824 Commits

Author SHA1 Message Date
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
Christopher Hiller b31c2ea748 fix markdown-styled link in design_guide.rst 2017-12-02 22:43:48 -08: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
Dan Halbert 065a319100 Update info about erasing CIRCUITPY to include flash erasers for non-… (#427)
Update info about erasing CIRCUITPY to include flash erasers for non-Express boards.
2017-11-14 07:58:26 -08: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
Scott Shawcroft 7b393bc406 Merge tag 'v1.9.3'
Introduction of ports subdirectory where all ports are moved to

The main change in this release is the introduction of a "ports/"
subdirectory at the top-level of the repository, and all of the ports are
moved here.  In the process the "stmhal" port is renamed to "stm32" to
better reflect the MCU that it targets.  In addition, the STM32 CMSIS and
HAL sources are moved to a new submodule called "stm32lib".

The bytecode has changed in this release, compared to the previous release,
and as a consequence the .mpy version number has increased to version 3.
This means that scripts compiled with the previous mpy-cross must be
recompiled to work with this new version.

There have also been various enhancements and optimisations, such as:
check for valid UTF-8 when creating str objects, support for reverse
special binary operations like __radd__, full domain checking in the math
module, support for floor-division and modulo in the viper emitter,
and addition of stack overflow checking when executing a regex.

The stm32 port sees improved support for F7 MCUs, addition of a new board
B_L475E_IOT01A based on the STM32L475, and support for the Wiznet W5500
chipset along with improved socket behaviour.

A detailed list of changes follows.

py core:
- objstr: startswith, endswith: check arg to be a string
- nlrx86,x64: replace #define of defined() with portable macro usage
- objtype: handle NotImplemented return from binary special methods
- objtype: mp_obj_class_lookup: improve debug logging
- map: remove unused new/free functions
- make m_malloc_fail() have void return type, since it doesn't return
- modstruct: in struct.pack, stop converting if there are no args left
- modstruct: check and prevent buffer-read overflow in struct unpacking
- modstruct: check and prevent buffer-write overflow in struct packing
- nlrthumb: get working again on standard Thumb arch (ie not Thumb2)
- objfloat: fix binary ops with incompatible objects
- obj: fix comparison of float/complex NaN with itself
- objtype: implement fallback for instance inplace special methods
- objtuple: properly implement comparison with incompatible types
- objstr: add check for valid UTF-8 when making a str from bytes
- objlist: properly implement comparison with incompatible types
- runtime0.h: move relational ops to the beginning of mp_binary_op_t
- runtime0.h: move MP_BINARY_OP_DIVMOD to the end of mp_binary_op_t
- objtype: make sure mp_binary_op_method_name has full size again
- runtime0.h: put inplace arith ops in front of normal operations
- builtinhelp: simplify code slightly by extracting object type
- runtime: implement dispatch for "reverse op" special methods
- nlrx86: fix building for Android/x86
- builtinhelp: change signature of help text var from pointer to array
- runtime.h: change empty mp_warning macro so var-args are non empty
- modbuiltins: implement abs() by dispatching to MP_UNARY_OP_ABS
- {objfloat,objcomplex}: optimise MP_UNARY_OP_ABS by reusing variables
- mpconfig.h: add note that using computed gotos in VM is not C99
- objstr: strip: don't strip "\0" by default
- objexcept: prevent infinite recursion when allocating exceptions
- stream: remove unnecessary checks for NULL return from vstr_add_len
- vstr: raise a RuntimeError if fixed vstr buffer overflows
- vm: use lowercase letter at start of exception message
- persistentcode: define mp_raw_code_save_file() for any unix target
- add config option to print warnings/errors to stderr
- objfloat: support raising a negative number to a fractional power
- objset: simplify set and frozenset by separating their locals dicts
- objset: check that RHS of a binary op is a set/frozenset
- objset: include the failed key in a KeyError raised from set.remove
- objtype: change type of enum-to-qstr table to uint16_t to save space
- objstr: make empty bytes object have a null-terminating byte
- mpprint: only check for null string printing when NDEBUG not defined
- objtype: clean up unary- and binary-op enum-to-qstr mapping tables
- persistentcode: bump .mpy version number to version 3
- bc: update opcode_format_table to match the bytecode
- modmath: add full checks for math domain errors
- modmath: convert log2 macro into a function
- formatfloat: don't print the negative sign of a NaN value
- formatfloat: use standard isinf, isnan funcs instead of custom ones
- modbuiltins: use existing utf8_get_char helper in builtin ord func
- emitnative: implement floor-division and modulo for viper emitter
- objtype: use CPython compatible method name for sizeof
- objtype: fit qstrs for special methods in byte type
- objtype: define all special methods if requested
- objtype: introduce MICROPY_PY_ALL_INPLACE_SPECIAL_METHODS

extmod:
- modubinascii: only include uzlib/tinf.h when it's really needed
- modussl_mbedtls: allow to compile with MBEDTLS_DEBUG_C disabled
- machine_pinbase: put PinBase singleton in ROM
- re1.5: upgrade to v0.8.2, adds hook for stack overflow checking
- modure: add stack overflow checking when executing a regex
- uos_dupterm: update uos.dupterm() and helper funcs to have index
- uos_dupterm: swallow any errors from dupterm closing the stream
- vfs: replace VLA in proxy func with small, static sized array
- modussl: add finaliser support for ussl objects
- modussl_mbedtls: allow to compile with unix coverage build

lib:
- add new submodule, stm32lib containing STM32 CMSIS and HAL source
- embed/abort_: use mp_raise_msg helper function
- libm: fix tanhf so that it correctly handles +/- infinity args
- libm: remove implementation of log2f, use MP_NEED_LOG2 instead
- axtls: update, support for SSL_EAGAIN return code
- berkeley-db-1.xx: update, allow to override MINCACHE, DEFPSIZE

drivers:
- memory/spiflash: change from hard-coded soft SPI to generic SPI
- display/ssd1306.py: improve performance of graphics methods
- nrf24l01: make nRF24L01 test script more portable
- display/ssd1306: implement SSD1306_I2C poweron method
- display/ssd1306: make poweron() work the same with SSD1306_SPI
- wiznet5k: improve the performance of socket ops with threading
- wiznet5k: get low-level W5500 driver working

tools:
- upip: upgrade to 1.2.2
- pyboard: use repr() when quoting data in error messages
- pyboard: update docstring for additional device support

tests:
- object_new: better messages, check user __new__() method
- class_new: add checks for __init__ being called and other improvements
- class_new: add another testcase for __new__/__init__ interaction
- class_inplace_op: test for inplace op fallback to normal one
- run-bench-tests: update locations of executables, now in ports/
- class_reverse_op: test for reverse arith ops special methods
- run-tests: skip class_inplace_op for minimal profile
- run-tests: fix copy-paste mistake in var name
- cpydiff: add cases for locals() discrepancies
- extmod: add test for ure regexes leading to infinite recursion
- extmod: add test for '-' in character class in regex
- run-tests: close device under test using "finally"
- net_inet: update tls test to work with CPython and incl new site

unix port:
- rename modsocket.c to modusocket.c
- modusocket: remove #if MICROPY_SOCKET_EXTRA code blocks
- enable MICROPY_PY_REVERSE_SPECIAL_METHODS

stm32 port:
- modmachine: make machine.bootloader() work when MPU is enabled
- modmachine: improve support for sleep/deepsleep on F7 MCUs
- compute PLL freq table during build instead of at run time
- modmachine: for F7 MCU, save power by reducing internal volt reg
- boards/pllvalues.py: make script work with both Python 2 and 3
- Makefile: use lib/stm32lib instead of local cmsis and hal files
- remove cmsis and hal files, they are now a submodule
- Makefile: automatically fetch stm32lib submodule if needed
- update to new STM Cube HAL library
- fix clock initialisation of L4 MCUs
- rename stmhal port directory to stm32
- remove unused usbd_msc.c file
- boards: change remaining stm32f4xx_hal_conf.h to unix line ending
- boards: change linker scripts to use "K" instead of hex byte size
- boards: fix I2C1 pin mapping on NUCLEO_F401RE/F411RE boards
- i2c: when scanning for I2C devices only do 1 probe per address
- modnwwiznet5k: release the GIL on blocking network operations
- boards: add new board B_L475E_IOT01A based on STM32L475
- make-stmconst.py: make sure mpz const data lives in ROM
- timer: make pyb.Timer() instances persistent
- mpconfigport.h: add configuration for max periphs on L4 series
- usbdev: make the USBD callback struct const so it can go in ROM
- usbdev: change static function variable to non-static
- usbdev: put all CDC state in a struct
- usbdev: put all HID state in a struct
- usbdev: simplify CDC tx/rx buffer passing
- usbdev: simplify HID tx/rx buffer passing
- usbdev/core: add state parameter to all callback functions
- usbdev: put all state for the USB device driver in a struct
- usbdev: simplify pointers to MSC state and block dev operations
- usbdev: merge all global USB device state into a single struct
- usbdev: make device descriptor callbacks take a state pointer
- usbdev: move all the USB device descriptor state into its struct
- timer: enable ARPE so that timer freq can be changed smoothly
- modnwwiznet5k: get the IP address of an established socket
- boards: fix typos in stm32f767_af.csv table
- usbd_cdc_interface: don't reset CDC output buf on initialisation
- modnwwiznet5k: implement WIZNET5K.isconnected() method
- modusocket: make getaddrinfo() work when passed an IP address
- modusocket: return OSError(-2) if getaddrinfo fails
- mpconfigport.h: add MICROPY_THREAD_YIELD() macro
- modnwwiznet5k: add support for W5500 Ethernet chip
- modnwwiznet5k: increase SPI bus speed to 42MHz
- modnwwiznet5k: implement stream ioctl for the Wiznet driver
- mphalport: improve efficiency of mp_hal_stdout_tx_strn_cooked
- make uos.dupterm() conform to specs by using extmod version

cc3200 port:
- enable micropython.kbd_intr() method
- use standard implementation of keyboard interrupt

esp8266 port:
- rename axtls_helpers.c to posix_helpers.c
- posix_helpers: set ENOMEM on memory alloc failure
- set DEFPSIZE=1024, MINCACHE=3 for "btree" module
- esp_mphal: send data in chunks to mp_uos_dupterm_tx_strn
- modnetwork: add "bssid" keyword arg to WLAN.connect() method
- modules/webrepl_setup: add info about allowed password length

zephyr port:
- Makefile: revamp "test" target after ports were moved to ports/
- use CONFIG_NET_APP_SETTINGS to setup initial network addresses
- switch to interrupt-driven pull-style console

pic16bit port:
- add definition of SEEK_SET to unistd.h

docs:
- pyboard/tutorial: add "timeout=0" to UART in pass-through example
- more xrefs to "MicroPython port" in glossary
- library/network: fix ref to "socket" module (should be "usocket")
- machine.Signal: improve style/grammar and add usage example
- library: add description of "index" parameter to uos.dupterm()
- library/micropython: fix typo in RST formatting
- library/framebuf.rst: generalise constructor to all colour formats
- btree: describe page caching policy of the underlying implementation
- esp8266/tutorial: update neopixel with example of using 4 bbp
- library/network: clarify usage of "bssid" arg in connect() method
- pyboard/quickref: add info for Switch, RTC, CAN, Accel classes
- pyboard/tutorial: update now that yellow LED also supports PWM
- esp8266/quickref: add quickref info for RTC class
- library: add missing cross-ref links for classes in pyb module
- library/network: update docs to state that W5500 is supported
- uselect: document one-shot polling mode
- usocket: elaborate descriptions
- usocket: document inet_ntop(), inet_pton()
- library/network: add dhcp_hostname parameter
- reference/isr_rules: minor typo correction
- ussl: fix module name refs and use "MicroPython port" term
- esp8266/general: add section on TLS limitations
- usocket: document that settimeout() isn't supported by all ports
- ure: add "|" (alternative) to the list of supported operators
- reference/isr_rules.rst: add tutorial on use of micropython.schedule()

travis:
- use --upgrade when pip is installing cpp-coveralls
- update build command now that stm32 Wiznet config has changed

examples:
- hwconfig_console: add .on()/.off() methods

all:
- convert mp_uint_t to mp_unary_op_t/mp_binary_op_t where appropriate
- convert remaining "mp_uint_t n_args" to "size_t n_args"
- make new ports/ sub-directory and move all ports there
- update Makefiles and others to build with new ports/ dir layout
- remove inclusion of internal py header files
- use NULL instead of "" when calling mp_raise exception helpers

README:
- update "Dependencies" section
- add explicit section on contributing
- add gcc and arm-none-eabi-newlib to list of required components

.gitattributes:
- remove obsolete entries for stmhal/hal, stmhal/cmsis
- add entries for files that will move to ports/ dir
2017-11-02 12:41:50 -07: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
Carter Nelson db918da5f0 updated I2C example (#371) 2017-10-25 17:32:00 -07:00
Dan Halbert ca1a9b9a10 Merge pull request #369 from tannewt/nrf2_merge
Nrf52 merge
2017-10-25 20:16:50 -04:00
Paul Sokolovsky 328c1e78be docs/uselect: Document one-shot polling mode. 2017-10-26 00:30:07 +03:00
Limor "Ladyada" Fried c966976591 update light/lux and eCO2 + TVOC 2017-10-25 12:32:39 -04:00
Scott Shawcroft 73c15dcf8b Merge commit 'f869d6b2e339c04469c6c9ea3fb2fabd7bbb2d8c' into nrf2_merge
This is prep for merging in the NRF5 pull request.
2017-10-24 22:31:16 -07: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
Alex Vasylenko 9a9584aee0 Update pwm.rst
replace reference to non-existent `time.sleep_ms()`
2017-10-08 10:53:25 -06:00
Gabe 9e0cdb22f1 docs/esp8266/tutorial: Update neopixel with example of using 4 bbp. 2017-10-04 10:35:22 +11:00
Scott Shawcroft 6839fff313 Move to ASF4 and introduce SAMD51 support. (#258)
* atmel-samd: Remove ASF3. This will break builds.

* atmel-samd: Add ASF4 for the SAMD21 and SAMD51.

* Introduce the supervisor concept to facilitate porting.

The supervisor is the code which runs individual MicroPython VMs. By
splitting it out we make it more consistent and easier to find.

This also adds very basic SAMD21 and SAMD51 support using the
supervisor. Only the REPL currently works.

This begins the work for #178.
2017-09-22 21:05:51 -04: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
mrmcwethy dd72fe6945 updated the http reference for max7219 to use the readthedocs from the adafruit cirtcuitpython area instead of the micropython area 2017-09-07 22:07:45 -07:00
KurticusMaximus ca1f3e5fb7 Added DotStar to line 72 2017-09-06 14:53:31 -07: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
Carol Willing 1f71851d3a Add a micropython section and edit drivers doc 2017-09-05 16:57:53 -07:00
Scott Shawcroft 7932df02ab Style tweaks based on @willingc's feedback. 2017-09-01 13:54:29 -07:00
Scott Shawcroft 544f5c3fa4 docs: Add beginnings of troubleshooting doc.
Fixes #172. Related to #214.
2017-09-01 13:54:29 -07: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
Dan Halbert ef61b5ecb5 Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in development) master.
cpx build compiles and loads and works in repl; test suite not run yet
esp8266 not tested yet
2017-08-25 22:17:07 -04: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
Tony DiCola c281b44cbd Update docs README to mention requirement for recommonmark dependency. 2017-08-16 15:23:42 -07:00
Javier Candeira c127ace28a docs/library/machine.RTC.rst: Fix typo. 2017-08-14 15:42:25 +10:00
Scott Shawcroft 37c72adc0f docs: Add link to SD card driver. 2017-08-07 17:55:39 -07:00
Scott Shawcroft 9f6b828924 Update favicon to blinka. 2017-07-28 16:33:07 -07:00
Scott Shawcroft 6446fcd500 docs: Add links to NeoPixel and SimpleIO docs. 2017-07-28 16:32:52 -07: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
Scott Shawcroft bd4a975530 docs: Minor updates before 1.0.0 2017-07-19 15:13:23 -04:00
Alexander Steffen c9a48eb464 docs,teensy: Use the name MicroPython consistently in documentation 2017-07-15 11:44:32 +02:00
Scott Shawcroft af823e64c4 docs: tweak css so a horizontal scroll bar shows up on the wide pinout tables. Fixes #166 2017-07-14 11:28:39 -07: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
Scott Shawcroft 265d5dab05 docs: Typos and rename to CircuitPython. 2017-06-27 17:37:03 -07:00
Scott Shawcroft 778e975936 Split uos module into os and storage.
os is a subset of CPython's os. storage contains additional
file system mounting functionality based on UNIX's mount
management.

Fixes #140
2017-06-27 15:17:30 -07: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
Scott Shawcroft 30ee7019ca Merge tag 'v1.9.1'
Fixes for stmhal USB mass storage, lwIP bindings and VFS regressions

This release provides an important fix for the USB mass storage device in
the stmhal port by implementing the SCSI SYNCHRONIZE_CACHE command, which
is now require by some Operating Systems.  There are also fixes for the
lwIP bindings to improve non-blocking sockets and error codes.  The VFS has
some regressions fixed including the ability to statvfs the root.

All changes are listed below.

py core:
- modbuiltins: add core-provided version of input() function
- objstr: catch case of negative "maxsplit" arg to str.rsplit()
- persistentcode: allow to compile with complex numbers disabled
- objstr: allow to compile with obj-repr D, and unicode disabled
- modsys: allow to compile with obj-repr D and PY_ATTRTUPLE disabled
- provide mp_decode_uint_skip() to help reduce stack usage
- makeqstrdefs.py: make script run correctly with Python 2.6
- objstringio: if created from immutable object, follow copy on write policy

extmod:
- modlwip: connect: for non-blocking mode, return EINPROGRESS
- modlwip: fix error codes for duplicate calls to connect()
- modlwip: accept: fix error code for non-blocking mode
- vfs: allow to statvfs the root directory
- vfs: allow "buffering" and "encoding" args to VFS's open()
- modframebuf: fix signed/unsigned comparison pendantic warning

lib:
- libm: use isfinite instead of finitef, for C99 compatibility
- utils/interrupt_char: remove support for KBD_EXCEPTION disabled

tests:
- basics/string_rsplit: add tests for negative "maxsplit" argument
- float: convert "sys.exit()" to "raise SystemExit"
- float/builtin_float_minmax: PEP8 fixes
- basics: convert "sys.exit()" to "raise SystemExit"
- convert remaining "sys.exit()" to "raise SystemExit"

unix port:
- convert to use core-provided version of built-in import()
- Makefile: replace references to make with $(MAKE)

windows port:
- convert to use core-provided version of built-in import()

qemu-arm port:
- Makefile: adjust object-file lists to get correct dependencies
- enable micropython.mem_*() functions to allow more tests

stmhal port:
- boards: enable DAC for NUCLEO_F767ZI board
- add support for NUCLEO_F446RE board
- pass USB handler as parameter to allow more than one USB handler
- usb: use local USB handler variable in Start-of-Frame handler
- usb: make state for USB device private to top-level USB driver
- usbdev: for MSC implement SCSI SYNCHRONIZE_CACHE command
- convert from using stmhal's input() to core provided version

cc3200 port:
- convert from using stmhal's input() to core provided version

teensy port:
- convert from using stmhal's input() to core provided version

esp8266 port:
- Makefile: replace references to make with $(MAKE)
- Makefile: add clean-modules target
- convert from using stmhal's input() to core provided version

zephyr port:
- modusocket: getaddrinfo: Fix mp_obj_len() usage
- define MICROPY_PY_SYS_PLATFORM (to "zephyr")
- machine_pin: use native Zephyr types for Zephyr API calls

docs:
- machine.Pin: remove out_value() method
- machine.Pin: add on() and off() methods
- esp8266: consistently replace Pin.high/low methods with .on/off
- esp8266/quickref: polish Pin.on()/off() examples
- network: move confusingly-named cc3200 Server class to its reference
- uos: deconditionalize, remove minor port-specific details
- uos: move cc3200 port legacy VFS mounting functions to its ref doc
- machine: sort machine classes in logical order, not alphabetically
- network: first step to describe standard network class interface

examples:
- embedding: use core-provided KeyboardInterrupt object
2017-06-20 10:56:05 -07:00
Scott Shawcroft 97fcdfbd08 docs: Update design guide for new DigitalInOut API. 2017-06-19 09:06:46 -07: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
Scott Shawcroft 9345562cc8 docs: Add note about composition to the design guide. 2017-06-07 14:57:55 -07:00
Scott Shawcroft 714521a4c7 shared-bindings: Update docs to remove with statements from examples but add more detail to the design guide about their use. 2017-06-07 14:39:12 -07: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
Scott Shawcroft 1280e9122b Doc tweaks to clarify external libraries, new boards and add HID library. 2017-05-24 11:44:23 -07: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
Scott Shawcroft f28f8ba568 Split up nativeio.
This was done to allow greatly granularity when deciding what functionality
is built into each board's build. For example, this way pulseio can be
omitted to allow for something else such as touchio.
2017-04-10 13:32:19 -07: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