Commit Graph

674 Commits

Author SHA1 Message Date
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
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
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 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 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 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 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
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
Paul Sokolovsky e2f1a8a7ee docs/uhashlib: Provide port-neutral description.
TODO: Remove WiPy-specific chunks.
2017-02-26 00:55:33 +03: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 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
Paul Sokolovsky 0ddeedfc73 docs/uio: Typo fixes/lexical improvements. 2017-01-29 16:18:33 +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 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
Scott Shawcroft dfb61f01db Merge tag 'v1.8.7'
Support for Xtensa emitter and assembler, and upgraded F4 and F7 STM HAL

This release adds support for the Xtensa architecture as a target for the
native emitter, as well as Xtensa inline assembler.  The int.from_bytes
and int.to_bytes methods now require a second argument (the byte order)
per CPython (only "little" is supported at this time).  The "readall"
method has been removed from all stream classes that used it; "read" with
no arguments should be used instead.  There is now support for importing
packages from compiled .mpy files.  Test coverage is increased to 96%.

The generic I2C driver has improvements: configurable clock stretching
timeout, "stop" argument added to readfrom/writeto methods, "nack"
argument added to readinto, and write[to] now returns num of ACKs
received.  The framebuf module now handles 16-bit depth (generic colour
format) and has hline, vline, rect, line methods.  A new utimeq module is
added for efficient queue ordering defined by modulo time (to be
compatible with time.ticks_xxx functions).  The pyboard.py script has been
modified so that the target board is not reset between scripts or commands
that are given on a single command line.

For the stmhal port the STM Cube HAL has been upgraded: Cube F4 HAL to
v1.13.1 (CMSIS 2.5.1, HAL v1.5.2) and Cube F7 HAL to v1.1.2.  There is a
more robust pyb.I2C implementation (DMA is now disabled by default, can be
enabled via an option), and there is an implementation of machine.I2C with
robust error handling and hardware acceleration on F4 MCUs.  It is now
recommended to use machine.I2C instead of pyb.I2C.  The UART class is now
more robust with better handling of errors/timeouts.  There is also more
accurate VBAT and VREFINT measurements for the ADC.  New boards that are
supported include: NUCLEO_F767ZI, STM32F769DISC and NUCLEO_L476RG.

For the esp8266 port select/poll is now supported for sockets using the
uselect module.  There is support for native and viper emitters, as well
as an inline assembler (with limited iRAM for storage of native functions,
or the option to store code to flash).  There is improved software I2C
with a slight API change: scl/sda pins can be specified as positional only
when "-1" is passed as the first argument to indicate the use of software
I2C.  It is recommended to use keyword arguments for scl/sda.  There is
very early support for over-the-air (OTA) updates using the yaota8266
project.

A detailed list of changes follows.

py core:
- emitnative: fix native import emitter when in viper mode
- remove readall() method, which is equivalent to read() w/o args
- objexcept: allow clearing traceback with 'exc.__traceback__ = None'
- runtime: mp_resume: handle exceptions in Python __next__()
- mkrules.mk: rework find command so it works on OSX
- *.mk: replace uses of 'sed' with $(SED)
- parse: move function to check for const parse node to parse.[ch]
- parse: make mp_parse_node_new_leaf an inline function
- parse: add code to fold logical constants in or/and/not operations
- factor persistent code load/save funcs into persistentcode.[ch]
- factor out persistent-code reader into separate files
- lexer: rewrite mp_lexer_new_from_str_len in terms of mp_reader_mem
- lexer: provide generic mp_lexer_new_from_file based on mp_reader
- lexer: rewrite mp_lexer_new_from_fd in terms of mp_reader
- lexer: make lexer use an mp_reader as its source
- objtype: implement __call__ handling for an instance w/o heap alloc
- factor out common code from assemblers into asmbase.[ch]
- stream: move ad-hoc ioctl constants to stream.h and rename them
- compile: simplify configuration of native emitter
- emit.h: remove long-obsolete declarations for cpython emitter
- move arch-specific assembler macros from emitnative to asmXXX.h
- asmbase: add MP_PLAT_COMMIT_EXEC option for handling exec code
- asmxtensa: add low-level Xtensa assembler
- integrate Xtensa assembler into native emitter
- allow inline-assembler emitter to be generic
- add inline Xtensa assembler
- emitinline: embed entire asm struct instead of a pointer to it
- emitinline: move inline-asm align and data methods to compiler
- emitinline: move common code for end of final pass to compiler
- asm: remove need for dummy_data when doing initial assembler passes
- objint: from_bytes, to_bytes: require byteorder arg, require "little"
- binary: do zero extension when storing a value larger than word size
- builtinimport: support importing packages from compiled .mpy files
- mpz: remove unreachable code in mpn_or_neg functions
- runtime: zero out fs_user_mount array in mp_init
- mpconfig.h: enable MICROPY_PY_SYS_EXIT by default
- add MICROPY_KBD_EXCEPTION config option to provide mp_kbd_exception
- compile: add an extra pass for Xtensa inline assembler
- modbuiltins: remove unreachable code
- objint: rename mp_obj_int_as_float to mp_obj_int_as_float_impl
- emitglue: refactor to remove assert(0), to improve coverage
- lexer: remove unreachable code in string tokeniser
- lexer: remove unnecessary check for EOF in lexer's next_char func
- lexer: permanently disable the mp_lexer_show_token function
- parsenum: simplify and generalise decoding of digit values
- mpz: fix assertion in mpz_set_from_str which checks value of base
- mpprint: add assertion for, and comment about, valid base values
- objint: simplify mp_int_format_size and remove unreachable code
- unicode: comment-out unused function unichar_isprint
- consistently update signatures of .make_new and .call methods
- mkrules.mk: add MPY_CROSS_FLAGS option to pass flags to mpy-cross
- builtinimport: fix bug when importing names from frozen packages

extmod:
- machine_i2c: make the clock stretching timeout configurable
- machine_i2c: raise an error when clock stretching times out
- machine_i2c: release SDA on bus error
- machine_i2c: add a C-level I2C-protocol, refactoring soft I2C
- machine_i2c: add argument to C funcs to control stop generation
- machine_i2c: rewrite i2c.scan in terms of C-level protocol
- machine_i2c: rewrite mem xfer funcs in terms of C-level protocol
- machine_i2c: remove unneeded i2c_write_mem/i2c_read_mem funcs
- machine_i2c: make C-level functions return -errno on I2C error
- machine_i2c: add 'nack' argument to i2c.readinto
- machine_i2c: make i2c.write[to] methods return num of ACKs recvd
- machine_i2c: add 'stop' argument to i2c readfrom/writeto meths
- machine_i2c: remove trivial function wrappers
- machine_i2c: expose soft I2C obj and readfrom/writeto funcs
- machine_i2c: add hook to constructor to call port-specific code
- modurandom: allow to build with float disabled
- modframebuf: make FrameBuffer handle 16bit depth
- modframebuf: add back legacy FrameBuffer1 "class"
- modframebuf: optimise fill and fill_rect methods
- vfs_fat: implement POSIX behaviour of rename, allow to overwrite
- moduselect: use stream helper function instead of ad-hoc code
- moduselect: use configurable EVENT_POLL_HOOK instead of WFI
- modlwip: add ioctl method to socket, with poll implementation
- vfs_fat_file: allow file obj to respond to ioctl flush request
- modbtree: add method to sync the database
- modbtree: rename "sync" method to "flush" for consistency
- modframebuf: add hline, vline, rect and line methods
- machine_spi: provide reusable software SPI class
- modframebuf: make framebuf implement the buffer protocol
- modframebuf: store underlying buffer object to prevent GC free
- modutimeq: copy of current moduheapq with timeq support for refactoring
- modutimeq: refactor into optimized class
- modutimeq: make time_less_than be actually "less than", not less/eq

lib:
- utils/interrupt_char: use core-provided mp_kbd_exception if enabled

drivers:
- display/ssd1306.py: update to use FrameBuffer not FrameBuffer1
- onewire: enable pull up on data pin
- onewire/ds18x20: fix negative temperature calc for DS18B20

tools:
- tinytest-codegen: blacklist recently added uheapq_timeq test (qemu-arm)
- pyboard.py: refactor so target is not reset between scripts/cmd
- mpy-tool.py: add support for OPT_CACHE_MAP_LOOKUP_IN_BYTECODE

tests:
- micropython: add test for import from within viper function
- use read() instead of readall()
- basics: add test for logical constant folding
- micropython: add test for creating traceback without allocation
- micropython: move alloc-less traceback test to separate test file
- extmod: improve ujson coverage
- basics: improve user class coverage
- basics: add test for dict.fromkeys where arg is a generator
- basics: add tests for if-expressions
- basics: change dict_fromkeys test so it doesn't use generators
- basics: enable tests for list slice getting with 3rd arg
- extmod/vfs_fat_fileio: add test for constructor of FileIO type
- extmod/btree1: exercise btree.flush()
- extmod/framebuf1: add basics tests for hline, vline, rect, line
- update for required byteorder arg for int.from_bytes()/to_bytes()
- extmod: improve moductypes test coverage
- extmod: improve modframebuf test coverage
- micropython: get heapalloc_traceback test running on baremetal
- struct*: make skippable
- basics: improve mpz test coverage
- float/builtin_float_round: test round() with second arg
- basics/builtin_dir: add test for dir() of a type
- basics: add test for builtin locals()
- basics/set_pop: improve coverage of set functions
- run-tests: for REPL tests make sure the REPL is exited at the end
- basics: improve test coverage for generators
- import: add a test which uses ... in from-import statement
- add tests to improve coverage of runtime.c
- add tests to improve coverage of objarray.c
- extmod: add test for utimeq module
- basics/lexer: add a test for newline-escaping within a string
- add a coverage test for printing the parse-tree
- utimeq_stable: test for partial stability of utimeq queuing
- heapalloc_inst_call: test for no alloc for simple object calls
- basics: add tests for parsing of ints with base 36
- basics: add tests to improve coverage of binary.c
- micropython: add test for micropython.stack_use() function
- extmod: improve ubinascii.c test coverage
- thread: improve modthread.c test coverage
- cmdline: improve repl.c autocomplete test coverage
- unix: improve runtime_utils.c test coverage
- pyb/uart: update test to match recent change to UART timeout_char
- run-tests: allow to skip set tests
- improve warning.c test coverage
- float: improve formatfloat.c test coverage using Python
- unix: improve formatfloat.c test coverage using C
- unix/extra_coverage: add basic tests to import frozen str and mpy
- types1: split out set type test to set_types
- array: allow to skip test if "array" is unavailable
- unix/extra_coverage: add tests for importing frozen packages

unix port:
- rename define for unix moduselect to MICROPY_PY_USELECT_POSIX
- Makefile: update freedos target for change of USELECT config name
- enable utimeq module
- main: allow to print the parse tree in coverage build
- Makefile: make "coverage_test" target mirror Travis test actions
- moduselect: if file object passed to .register(), return it in .poll()
- Makefile: split long line for coverage target, easier to modify
- enable and add basic frozen str and frozen mpy in coverage build
- Makefile: allow cache-map-lookup optimisation with frozen bytecode

windows port:
- enable READER_POSIX to get access to lexer_new_from_file

stmhal port:
- dma: de-init the DMA peripheral properly before initialising
- i2c: add option to I2C to enable/disable use of DMA transfers
- i2c: reset the I2C peripheral if there was an error on the bus
- rename mp_hal_pin_set_af to _config_alt, to simplify alt config
- upgrade to STM32CubeF4 v1.13.0 - CMSIS/Device 2.5.1
- upgrade to STM32CubeF4 v1.13.0 - HAL v1.5.1
- apply STM32CubeF4 v1.13.1 patch - upgrade HAL driver to v1.5.2
- hal/i2c: reapply HAL commit ea040a4 for f4
- hal/sd: reapply HAL commit 1d7fb82 for f4
- hal: reapply HAL commit 9db719b for f4
- hal/rcc: reapply HAL commit c568a2b for f4
- hal/sd: reapply HAL commit 09de030 for f4
- boards: configure all F4 boards to work with new HAL
- make-stmconst.py: fix regex's to work with current CMSIS
- i2c: handle I2C IRQs
- dma: precalculate register base and bitshift on handle init
- dma: mark DMA sate as READY even if HAL_DMA_Init is skipped
- can: clear FIFO flags in IRQ handler
- i2c: provide custom IRQ handlers
- hal: do not include <stdio.h> in HAL headers
- mphalport.h: use single GPIOx->BSRR register
- make-stmconst.py: add support for files with invalid utf8 bytes
- update HALCOMMITS due to change to hal
- make-stmconst.py: restore Python 2 compatibility
- update HALCOMMITS due to change to hal
- moduselect: move to extmod/ for reuse by other ports
- i2c: use the HAL's I2C IRQ handler for F7 and L4 MCUs
- updates to get F411 MCUs compiling with latest ST HAL
- i2c: remove use of legacy I2C_NOSTRETCH_DISABLED option
- add beginnings of port-specific machine.I2C implementation
- i2c: add support for I2C4 hardware block on F7 MCUs
- i2c: expose the pyb_i2c_obj_t struct and some relevant functions
- machine_i2c: provide HW implementation of I2C peripherals for F4
- add support for flash storage on STM32F415
- add back GPIO_BSRRL and GPIO_BSRRH constants to stm module
- add OpenOCD configuration for STM32L4
- add address parameters to openocd config files
- adc: add "mask" selection parameter to pyb.ADCAll constructor
- adc: provide more accurate measure of VBAT and VREFINT
- adc: make ADCAll.read_core_temp return accurate float value
- adc: add ADCAll.read_vref method, returning "3.3v" value
- adc: add support for F767 MCU
- adc: make channel "16" always map to the temperature sensor
- sdcard: clean/invalidate cache before DMA transfers with SD card
- moduos: implement POSIX behaviour of rename, allow to overwrite
- adc: use constants from new HAL version
- refactor UART configuration to use pin objects
- uart: add support for UART7 and UART8 on F7 MCUs
- uart: add check that UART id is valid for the given board
- cmsis: update STM32F7 CMSIS device include files to V1.1.2
- hal: update ST32CubeF7 HAL files to V1.1.2
- port of f4 hal commit c568a2b to updated f7 hal
- port of f4 hal commit 09de030 to updated f7 hal
- port of f4 hal commit 1d7fb82 to updated f7 hal
- declare and initialise PrescTables for F7 MCUs
- boards/STM32F7DISC: define LSE_STARTUP_TIMEOUT
- hal: update HALCOMMITS due to change in f7 hal files
- refactor to use extmod implementation of software SPI class
- cmsis: add CMSIS file stm32f767xx.h, V1.1.2
- add NUCLEO_F767ZI board, with openocd config for stm32f7
- cmsis: add CMSIS file stm32f769xx.h, V1.1.2
- add STM32F769DISC board files
- move PY_SYS_PLATFORM config from board to general config file
- mpconfigport: add weak-module links for io, collections, random
- rename mp_const_vcp_interrupt to mp_kbd_exception
- usb: always use the mp_kbd_exception object for VCP interrupt
- use core-provided keyboard exception object
- led: properly initialise timer handle to zero before using it
- mphalport.h: explicitly use HAL's GPIO constants for pull modes
- usrsw: use mp_hal_pin_config function instead of HAL_GPIO_Init
- led: use mp_hal_pin_config function instead of HAL_GPIO_Init
- sdcard: use mp_hal_pin_config function instead of HAL_GPIO_Init
- add support for STM32 Nucleo64 L476RG
- uart: provide a custom function to transmit over UART
- uart: increase inter-character timeout by 1ms
- enable utimeq module

cc3200 port:
- tools/smoke.py: change readall() to read()
- pybspi: remove static mode=SPI.MASTER parameter for latest HW API
- mods/pybspi: remove SPI.MASTER constant, it's no longer needed
- update for moduselect moved to extmod/
- re-add support for UART REPL (MICROPY_STDIO_UART setting)
- enable UART REPL by default
- README: (re)add information about accessing REPL on serial
- make: rename "deploy" target to "deploy-ota"
- add targets to erase flash, deploy firmware using cc3200tool
- README: reorganize and update to the current state of affairs
- modwlan: add network.WLAN.print_ver() diagnostic function

esp8266 port:
- enable uselect module
- move websocket_helper.py from scripts to modules for frozen BC
- refactor to use extmod implementation of software SPI class
- mpconfigport_512k: disable framebuf module for 512k build
- enable native emitter for Xtensa arch
- enable inline Xtensa assembler
- add "ota" target to produce firmware binary for use with yaota8266
- use core-provided keyboard exception object
- add "erase" target to Makefile, to erase entire flash
- when doing GC be sure to trace the memory holding native code
- modesp: flash_user_start(): support configuration with yaota8266
- force relinking OTA firmware image if built after normal one
- scripts/inisetup: dump FS starting sector/size on error
- Makefile: produce OTA firmware as firmware-ota.bin
- modesp: make check_fw() work with OTA firmware
- enable utimeq module
- Makefile: put firmware-ota.bin in build/, for consistency
- modules/flashbdev: add RESERVED_SECS before the filesystem
- modules/flashbdev: remove code to patch bootloader flash size
- modules/flashbdev: remove now-unused function set_bl_flash_size
- modules/flashbdev: change RESERVED_SECS to 0

zephyr port:
- add .gitignore to ignore Zephyr's "outdir" directory
- zephyr_getchar: update to Zephyr 1.6 unified kernel API
- switch to Zephyr 1.6 unified kernel API
- support raw REPL
- implement soft reset feature
- main: initialize sys.path and sys.argv
- use core-provided keyboard exception object
- uart_core: access console UART directly instead of printk() hack
- enable slice subscription

docs:
- remove references to readall() and update stream read() docs
- library/index: elaborate on u-modules
- library/machine.I2C: refine definitions of I2C methods
- library/pyb.Accel: add hardware note about pins used by accel
- library/pyb.UART: added clarification about timeouts
- library/pyb.UART: moved writechar doc to sit with other writes
- esp8266/tutorial: update intro to add Getting the firmware section
- library/machine.I2C: fix I2C constructor docs to match impl
- esp8266/tutorial: close socket after reading page content
- esp8266/general: add "Scarcity of runtime resources" section
- library/esp: document esp.set_native_code_location() function
- library/esp: remove para and add further warning about flash
- usocket: clarify that socket timeout raises OSError exception

travis:
- build STM32 F7 and L4 boards under Travis CI
- include persistent bytecode with floats in coverage tests

examples:
- hwapi: button_led: Add GPIO pin read example
- hwapi: add soft_pwm example converted to uasyncio
- http_client: use read() instead of readall()
- hwapi: add uasyncio example of fading 2 LEDs in parallel
- hwapi: add example for machine.time_pulse_us()
- hwapi: add hwconfig for console tracing of LED operations
- accellog.py: change 1: to /sd/, and update comment about FS
- hwapi/hwconfig_console: don't alloc memory in value()
2017-01-10 09:56:09 -08: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
Scott Shawcroft 00a507c875 Update more docs to say CircuitPython and clarify driver support. 2017-01-05 16:32:33 -08:00
Damien George c3f70c603e docs/library/esp: Document esp.set_native_code_location() function. 2017-01-04 23:48:19 +11:00
Damien George d377c83794 docs/library/machine.I2C: Fix I2C constructor docs to match impl. 2016-12-30 15:25:48 +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 3e5e4f95b2 docs/library/machine.Pin: Update Pin docs to align with new HW API. 2016-11-09 11:08:01 +11: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
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
Damien George eeb9d99333 docs/library/machine: Update description of disable/enable IRQ funcs. 2016-09-23 13:15:58 +10:00
Paul Sokolovsky 4ab3eef8d7 docs/library/pyb.SPI: init(): Describe "bits" argument.
Based on https://github.com/micropython/micropython/pull/2210 .
2016-09-18 21:41:21 +03:00
Damien George f3b5480be7 stmhal,cc3200,esp8266: Consistently use PWRON_RESET constant.
machine.POWER_ON is renamed to machine.PWRON_RESET to match other
reset-cause constants that all end in _RESET.  The cc3200 port keeps a
legacy definition of POWER_ON for backwards compatibility.
2016-09-08 12:50:38 +10:00
Damien George 4a9542c0c0 docs/library/machine.WDT: Add that WDT is available on pyboard. 2016-09-06 14:20:52 +10:00
Philip Potter 0f8b1ba8a2 docs/library: Add reference for pyb.usb_mode and pyb.USB_HID. 2016-08-29 15:17:20 +10:00
Damien George 64c5a9435c docs/library/machine.WDT: Add note that WDT is only available on WiPy. 2016-08-17 14:22:39 +10:00
Paul Sokolovsky 5c73de0337 docs/uio: Mention seek()/flush() support for io.BytesIO. 2016-08-09 01:52:56 +03:00
Paul Sokolovsky fdb411a8c5 docs/library/index: Include array module in ToC. 2016-08-07 00:16:41 +03:00
Paul Sokolovsky 8a0b6f561c docs/array: Document array module. 2016-08-07 00:13:48 +03:00
Mike Causer ce166e6b68 docs: Spelling mistakes 2016-08-02 11:17:46 +03:00
Martin Müller 047ac2044d docs/library: Fix typo in docs for usocket.listen(). 2016-06-26 12:38:20 +01:00
Paul Sokolovsky 2b6dcdd3e4 docs/sys: print_exception: Fixes/clarifications. 2016-06-18 19:06:53 +03:00
Paul Sokolovsky 617e033e2f docs/select: Add an article. 2016-06-18 19:06:42 +03:00
Paul Sokolovsky 9de5eb278d docs/sys: Detailed description of print_exception() diff from traceback module. 2016-06-10 23:06:56 +03:00
Paul Sokolovsky 343b5c1081 docs/uctypes: Improve documentation.
Seealso and Limitations sectiosn added, better formatting and grammar.
2016-06-09 05:02:55 +03:00
Paul Sokolovsky 79b40d1127 docs/machine*: Remove explicit targets and "machine." prefixes on classes.
With currentmodule:: set properly, none are needed. Extra "machine." prefix
produces wrong indexing data.
2016-06-09 03:03:53 +03:00
Paul Sokolovsky a0c296f6d5 docs/machine.Pin: Disambiguate object call method. 2016-06-09 02:58:15 +03:00
Paul Sokolovsky 1d3b903eb5 docs/library/index: Add builtins.rst. 2016-06-09 00:26:44 +03:00
Paul Sokolovsky 0cec4e9bb8 docs/builtins: Enumerate all builtin functions implemented.
Based on unix version. No descriptions so far.
2016-06-09 00:24:52 +03:00
Paul Sokolovsky f1eb672d88 docs/pyb.Pin: Sort .af() and .af_list() methods together. 2016-06-08 16:36:22 +03:00
Paul Sokolovsky a384a53130 docs/pyb.*: Use proper class case in method headers.
Class designator will be used as is in indexes, so must match actual class
name.
2016-06-08 16:21:28 +03:00
Paul Sokolovsky 585aafc27e docs/pyb.ExtInt,pyb.Pin: Mark up class methods as such. 2016-06-08 16:00:12 +03:00
Paul Sokolovsky 0d8c22b122 docs/pyb.Pin: af_list() is a normal method, not a class method. 2016-06-08 15:57:46 +03:00
Paul Sokolovsky 8171995ee9 docs/pyb.CAN: Mark CAN.initfilterbanks() as classmethod explicitly. 2016-06-08 15:49:30 +03:00
Paul Sokolovsky bba77a2d01 docs/machine.Pin: Add class designator to all constants.
This makes rendered docs to not provide incorrect information and
consistent with how it's down for other machine classes.
2016-06-08 01:37:03 +03:00
Paul Sokolovsky 7d7243f44c docs/machine.*: Use proper class case in method headers.
Class designator will be used as is in indexes, so must match actual class
name.
2016-06-08 01:33:49 +03:00
Paul Sokolovsky 93968bd6fb docs/machine.UART: Cleanup pyboard section. 2016-06-08 01:32:16 +03:00
Paul Sokolovsky 0a4361ca67 docs/machine.Pin: Remove explicit target.
With currentmodule:: support, all targets should be generated properly by
Sphinx.
2016-06-08 01:13:59 +03:00
Paul Sokolovsky 0a4cc24b2e docs/pyb.*: Add "currentmodule:: pyb" directive.
Makes sure that classes described in these separate files are properly
designated as belonging to "pyb" module in indexes.
2016-06-08 00:57:41 +03:00
Paul Sokolovsky c8b7628094 docs/machine.*: Add "currentmodule:: machine" directive.
Makes sure that classes described in these separate files are properly
designated as belonging to "machine" module in indexes.
2016-06-08 00:46:27 +03:00
Paul Sokolovsky 2c5fc681c8 docs/library/machine.Pin: Mention GPIO and cross-link .value() function. 2016-06-07 17:49:00 +03:00
Paul Sokolovsky 6e2fa5237d docs/usocket: There must be empty line after .only:: . 2016-06-07 17:41:21 +03:00
Paul Sokolovsky 9b18811951 docs/ure: Typo fix. 2016-06-07 08:53:54 +03:00
Paul Sokolovsky 753a965363 docs/esp.socket: Remove unused file. 2016-06-07 02:40:05 +03:00
Paul Sokolovsky 9487b80666 docs/library/network: wipy: Fix literal block indentation. 2016-06-07 02:07:08 +03:00
Damien George ed4e5d2583 docs/library/index: Fix grammar and spelling in intro paragraph. 2016-06-02 11:05:13 +01:00
Paul Sokolovsky 09f764dc04 docs/library/index: Add intro paragraph regarding availability of modules.
This introductions makes explicit the fact that whenever possible,
the documentation describes full MicroPython functionality, and arbitrary
functions/classes/modules may be missing in a paricular port or build.
2016-06-02 00:08:07 +03:00
Paul Sokolovsky c4ab8895e8 docs: math, cmath: Add port availability information. 2016-06-01 22:12:39 +03:00
Paul Sokolovsky 1a05a59116 docs/math: Typo fix. 2016-06-01 22:09:51 +03:00
Damien George 93a9c2e840 docs/library/machine: Add documentation for machine.time_pulse_us. 2016-05-31 14:06:33 +01:00
Peter Hinch 641300dccb stmhal/dac: DAC deinit() method added. 2016-05-31 13:10:35 +03:00
Damien George a3dc2c6031 docs/machine: Make disable_irq and enable_irq docs available for all. 2016-05-26 15:47:47 +01:00
Paul Sokolovsky 3e33aeb0db docs: esp8266: Include ussl module in the docs. 2016-05-22 23:57:26 +03:00
Paul Sokolovsky bca4c9e465 docs/ussl: Add basic description of axTLS-based modussl.
In particular, disclose the fact that server certificates are not
validated.
2016-05-22 23:56:22 +03:00
Paul Sokolovsky ca63c77073 docs/ustruct: Describe supported type codes. 2016-05-14 20:48:43 +03:00
Radomir Dopieralski 0c86a9471a docs/machine.UART: Filter out unimplemented UART methods from esp8266 docs. 2016-05-07 20:20:04 +03:00
Damien George 5036b6ad18 docs/library/machine.Pin: Update pin docs to reflect ESP8266 support. 2016-05-03 13:55:37 +01:00
Paul Sokolovsky 81a99eb388 docs/machine: idle() description generalization. 2016-05-03 12:53:57 +03:00
Paul Sokolovsky bb6458bf43 docs/machine: More generic description of sleep's, WiPy details to its genref. 2016-05-03 12:48:20 +03:00
Paul Sokolovsky db99ae00a2 docs/machine: Move WiPy-specific hardware details to its general reference. 2016-05-03 12:26:55 +03:00
Paul Sokolovsky 06ec96b47b docs/machine: Generalize docs from just WiPy to other ports. 2016-05-03 12:15:29 +03:00
Paul Sokolovsky a6cf45864f docs/network: esp8266: MAC address is set via .config() method. 2016-05-03 01:04:40 +03:00
Paul Sokolovsky ae845f13de docs: Use getaddrinfo() result in easy way.
Instead of extracting 4th element, extact last. Much easier to remember!
2016-05-03 00:48:04 +03:00
Damien George c816b89353 docs/library/machine.I2C: Update to reflect ESP8266 implementation.
This machine.I2C documentation is now closer to a more port-neutral
description, although there are still differences between WiPy and
ESP8266.
2016-05-02 12:31:17 +01:00
Paul Sokolovsky 621c644205 docs: _io and _collections were renamed to have standard "u" prefix. 2016-05-02 14:02:54 +03:00
Damien George 70ff7350e7 stmhal, cc3200: Change i2c.scan() method to scan addresses 0x08-0x77.
A standard I2C address is 7 bits but addresses 0b0000xxx and 0b1111xxx
are reserved.  The scan() method is changed to reflect this, along with
the docs.
2016-05-02 11:15:36 +01:00
Paul Sokolovsky 8ebdbcfb27 docs: Add _io module reference. 2016-05-02 00:39:36 +03:00
Paul Sokolovsky 348caaf940 docs: Add _collections module reference. 2016-05-02 00:36:58 +03:00
Paul Sokolovsky fd283eba64 docs/sys: Describe sys.platform is port-neutral manner. 2016-05-01 14:39:38 +03:00
Paul Sokolovsky e9b7610748 docs/sys: Describe sys.maxsize. 2016-05-01 14:31:08 +03:00
Paul Sokolovsky 59603a2e89 docs/sys: Describe sys.implementation. 2016-05-01 13:59:34 +03:00
Paul Sokolovsky 4fb9452bff docs/sys: Clean up print_exception() description. 2016-05-01 13:44:06 +03:00
Paul Sokolovsky ad2889c141 docs/sys: Clarify description of sys.exit(). 2016-05-01 13:42:36 +03:00
Paul Sokolovsky 8ad1659f68 docs/sys: Make module variable descriptions proper sentences. 2016-05-01 13:38:45 +03:00
Paul Sokolovsky 7781caf8d3 docs/sys: Remove port-specific details from description of stdin/out/err. 2016-05-01 13:37:28 +03:00
Paul Sokolovsky c468fe65c5 docs/ustruct: Fix argument formatting.
Per current CPython docs conventions, arguments are in italics. Follow
that.
2016-05-01 13:34:16 +03:00
Paul Sokolovsky a9ed42b3b4 docs/sys: Document sys.modules. 2016-05-01 13:32:15 +03:00
Paul Sokolovsky 6b6acc5b5d docs/ustruct: Document pack_into(), unpack_from(). 2016-05-01 13:17:07 +03:00
Paul Sokolovsky 83e99f88cb docs/utime: Clarify module purpose. 2016-05-01 01:48:30 +03:00
Paul Sokolovsky 613fd0a1ca docs/library/utime: Elaborate on epochs and calendar time maintenance. 2016-05-01 00:16:47 +03:00
Paul Sokolovsky 6d8156ae28 docs/network: esp8266: Describe wlan.config() method. 2016-04-28 00:11:55 +03:00
Paul Sokolovsky 06deec9d35 docs/network: esp8266: Add wlan.ifconfig() method. 2016-04-28 00:10:29 +03:00
Paul Sokolovsky 1b45670c69 docs/ubinascii: Clean up grammar. 2016-04-27 15:47:33 +03:00
Paul Sokolovsky df4e1d1279 docs/library: Consistently use admonitions for CPython differences. 2016-04-27 15:43:48 +03:00
Paul Sokolovsky 31300b5144 docs/utime: Describe sleep() peculiarities in MicroPython.
Not all ports accept floating-point value.
2016-04-27 15:28:46 +03:00
Paul Sokolovsky c564169c8f docs/utime: Describe time() peculiarities in MicroPython. 2016-04-27 15:23:11 +03:00
Damien George 556e5dfd35 docs/library/utime: Add more time functions for unix and esp8266 ports. 2016-04-27 12:30:59 +01:00
Damien George e0f7e001e8 docs: Fix uos and utime heading underlines to be the correct length.
Otherwise Sphinx gives a warning.
2016-04-27 12:11:27 +01:00
Paul Sokolovsky 351ec6d4ab docs/library: "os" module is actually "uos". 2016-04-27 01:55:06 +03:00
Paul Sokolovsky 0df2ee0126 docs/library/index: Order sections from the most to least standard modules. 2016-04-27 01:38:59 +03:00
Paul Sokolovsky 492bf12499 docs/library/index: Make single section for "micro-ified" modules.
Even the modules whose names don't start with "u" prefix are micro-ified
anyway, i.e. provide only subset of CPython's functionality (and sometimes
extensions to it). So, it doesn't make much sense to devide them by
criteria of having/not having "u" prefix.
2016-04-27 01:38:59 +03:00
Paul Sokolovsky 678f3a1e05 docs: Module "time" is actually "utime". 2016-04-27 01:38:59 +03:00
Paul Sokolovsky a119983328 docs/library/index: esp8266 has the same set of stdlibs as pyboard/unix. 2016-04-27 01:17:28 +03:00
Paul Sokolovsky 88ed518390 docs/library/index: Move WiPy "micro-libraries" under corresponding heading. 2016-04-27 01:14:16 +03:00
Paul Sokolovsky 8b8c32c09b docs/library: Group MicroPython-specific modules under separate heading. 2016-04-27 01:11:24 +03:00
Paul Sokolovsky 650df97c06 docs/network: esp8266: scan(): Add note that bssid is bytes object. 2016-04-26 01:09:11 +03:00
Paul Sokolovsky 0d10e5310a docs/usocket: Describe address format once at the beginning.
Different ports may have different formats.
2016-04-23 00:31:05 +03:00
Paul Sokolovsky 92497bff94 docs/usocket: socket.IPPROTO_SEC is WiPy-specific. 2016-04-23 00:17:34 +03:00
Paul Sokolovsky 955b8526f4 docs/usocket: Socket-specific exceptions are for WiPy only. 2016-04-23 00:17:09 +03:00
Paul Sokolovsky 71c6f93016 docs/library/usocket: Add link to CPython's socket module. 2016-04-23 00:08:43 +03:00
Paul Sokolovsky bbe5245028 docs: esp8266: Include usocket module reference. 2016-04-23 00:08:11 +03:00
Paul Sokolovsky 3bc9b571bb docs/ustruct: There's no complete "struct" module, only "ustruct" subset.
"ustruct" is good example of micro-ified module, so rather should belong
to the corresponding list.
2016-04-22 22:37:14 +03:00
Paul Sokolovsky 67ece47121 docs/machine: reset_cause() has been implemented for esp8266. 2016-04-17 17:40:08 +03:00
Paul Sokolovsky f474e956d7 docs/machine: Start to update for esp8266 port. 2016-04-15 17:06:11 +03:00
Paul Sokolovsky b122ed0732 docs/esp: Enumerate flash access functions. 2016-04-15 14:01:22 +03:00
Peter Hinch 22cbcd55f0 stmhal: Properly handle RTS/CTS flow control for buf/unbuf transfers.
Fixes issues #1912 and #1913.  UART documentation is also updated.
2016-04-13 08:42:32 +01:00
Paul Sokolovsky 9c04299da1 docs: esp8266: Enable "machine" module docs.
The docs are still heavily biased towards WiPy, so will need a lot of
exclusions.
2016-04-07 16:44:10 +03:00
Paul Sokolovsky 5e7fa7c80c docs/ubinascii: Document non-standard "sep" argument to hexlify(). 2016-04-07 12:39:00 +03:00
Paul Sokolovsky f81ea6307c docs/ubinascii: Document a2b_base64(), b2a_base64(). 2016-04-05 14:00:12 +03:00
Paul Sokolovsky 28d4b94dce docs/machine: Change wording to be a bit more port-neutral. 2016-04-03 20:49:29 +03:00
Paul Sokolovsky 69b702276b docs/os: Change wording to be a bit more port-neutral. 2016-04-03 20:49:25 +03:00
Paul Sokolovsky e24674d44e docs: esp8266: esp.socket is deprecated, remove from docs. 2016-04-03 20:19:39 +03:00
Paul Sokolovsky f50d9477c1 docs: network: esp8266: .scan() is now synchronous and returns result list. 2016-03-30 11:56:20 +03:00
Paul Sokolovsky d7019d0628 docs: network: esp8266: status is WLAN object method. 2016-03-30 11:53:45 +03:00
danicampora 193795398d docs: Correct pin interrupt example code for the WiPy. 2016-03-28 13:12:58 +02:00
Paul Sokolovsky 87c783b454 docs/esp8266: esp.mac() replaced with network.WLAN.mac(). 2016-03-27 06:59:39 +03:00
Paul Sokolovsky 679fe0abae docs/esp8266: esp.wifi_mode() replaced with network.WLAN.active(). 2016-03-27 06:59:00 +03:00
Paul Sokolovsky eda8746324 docs/esp8266: phy_mode() moved to network module. 2016-03-27 06:58:06 +03:00
Paul Sokolovsky e589cddcd4 docs/esp: Remove getaddrinfo(), now in socket module as expected. 2016-03-25 16:39:18 +02:00
Paul Sokolovsky 6e6488530e docs: More standard modules for esp8266. 2016-03-25 16:33:05 +02:00
Paul Sokolovsky 4b5606bc09 docs/network: esp8266: Update docs on WLAN constructor. 2016-03-25 16:30:06 +02:00
Paul Sokolovsky ee6fcc6f91 docs: Add standard modules list for esp8266. 2016-03-25 15:17:55 +02:00
Peter Hinch 2b302dad51 docs: Update pyb.UART.any() to mention that it returns character count. 2016-03-17 20:19:36 +00:00
Peter Hinch 6d5a549067 docs: Mention that pyb.SPI constructor accepts "X" and "Y" arguments. 2016-03-17 20:19:08 +00:00
Peter Hinch b8133c4c0f docs: Update pyb.I2C constructor to reflect changes in Pyboard Lite. 2016-03-17 20:18:36 +00:00
Peter Hinch 85d3b6165a docs: Update details on using ADCAll object for vref/vbat channels. 2016-03-11 16:33:09 +00:00
Noah Rosamilia 6bb9d3ea3e docs/uctypes.rst: Fix typo (steamlined -> streamlined). 2016-03-02 00:25:10 +02:00
danicampora 57b96a7be2 docs: Correct machine.Timer code examples related to duty cycle. 2016-02-23 20:22:26 +01:00
danicampora 8e1fdf2eb3 docs: Add note on machine.Timer class regarding PWM output pins. 2016-02-23 19:53:59 +01:00
danicampora add930c4b5 cc3200: Rename 'server' class to 'Server' for consistency. 2016-02-22 22:54:34 +01:00
danicampora 12547ce737 docs: Minor change to improve clarity in machine.Timer docs. 2016-02-22 19:16:30 +01:00
danicampora 0d210a0be8 docs: Correct WiPy Timer docs. 2016-02-21 21:53:20 +01:00
danicampora 73c9f85b4c cc3200: Simplify the Timer API and correct the documents.
Make the PWM duty cycle configurable from 0.00 to 100.00 by
accepting values from 0 to 10000.
Add automatic Pin assignment when operating in PWM mode.
2016-02-21 21:53:16 +01:00
Damien George 0f87a010e3 docs: Update to say that Timer(3) is free, and detail LED intensity. 2016-01-29 23:06:13 +00:00
Peter Hinch c13b2f2d00 docs: Several minor changes: network, pyb, ADCAll and inline asm. 2016-01-13 21:53:26 +00:00
Henrik Sölver 67f40fb237 docs: Include extra functions in time documentation for pyboard. 2016-01-04 22:57:21 +00:00
danicampora 67a5bfc6d8 docs/library: Add network server example. 2015-12-16 22:35:14 +01:00
Noah 00960133c2 docs: Update docs for WiPy wlan.connect().
- The link establishment timeout is infinite by default
- Fix typo in notes about the auth kwarg
2015-11-18 19:47:40 +01:00
Paul Sokolovsky 549c79d11e docs/select: Document POLLIN/OUT/ERR/HUP. 2015-11-09 22:10:32 +02:00
Paul Sokolovsky 43efb46328 docs/library/index.rst: Minimally adapt for unix port. 2015-10-31 01:15:25 +03:00
Paul Sokolovsky 98b6d35c4f docs: select: Describe poll.poll() return value in detail. 2015-10-29 22:08:10 +03:00
Paul Sokolovsky b7ab70c71c docs: USB_VCP: Always in non-blocking mode, clarify stream method returns.
They return None if no data available.
2015-10-25 13:24:29 +03:00
Paul Sokolovsky cf6daa0966 docs: Explicitly specify behavior of UART stream protocol methods on timeout. 2015-10-25 08:25:34 +03:00
danicampora ee7bebc94f docs: Correct machine.RTC examples. 2015-10-22 20:23:28 +02:00
danicampora 4efed58df1 docs: Fix typos on wipy docs. 2015-10-22 16:35:04 +02:00
danicampora e954604ae0 docs: Add remark about ssl sockets and standard sockets. 2015-10-21 22:52:36 +02:00
danicampora ee0058d174 docs: Remove remaining references to 'af', which is now 'alt'. 2015-10-21 15:30:57 +02:00
danicampora ceb169008d docs: Several corrections to the classes in the machine module. 2015-10-21 15:30:56 +02:00
danicampora 04db848dc7 docs: Add usocket and ussl modules' documentation. 2015-10-21 15:30:56 +02:00
danicampora 9c72c71c05 cc3200: WLAN class can retrieve the existing instance. 2015-10-19 21:17:15 +02:00
danicampora 8faf2dc75b docs/wipy: Add wipy tutorials section. 2015-10-19 21:17:15 +02:00
danicampora 36ae417c9f docs: Add wipy and network.server documentation. 2015-10-19 21:17:15 +02:00
danicampora 4542643025 docs: Update all WiPy docs to reflect the new API. 2015-10-17 23:29:04 +02:00
Damien George d6442407f5 docs: Fix formatting of DAC code examples. 2015-10-13 14:44:00 +01:00
Damien George b5c43be135 stmhal: Allow to set bits resolution for DAC; 8 is default, can have 12.
This patch allows to configure the DAC resolution in the constructor and
in the init function, eg:

dac = DAC(1, bits=12).

The default resolution is 8 bits for backwards compatibility.  The bits
sets the maximum value accepted by write and write_timed methods, being
2**bits - 1.

When using write_timed with 12-bit resolution, the input buffer is
treated as an unsigned half-word array, typecode 'H'.

See PR #1130 for discussion.
2015-10-13 14:33:04 +01:00
Damien George 845b5a2a58 docs: Describe properly how MCU can be woken from pyb.standby() state. 2015-10-10 00:03:14 +01:00
Radomir Dopieralski 37ab061f4d docs: Update esp8266 documentation to match the code.
* Move the esp.status() to network module.
* Describe the wifi.isconnected() method.
* Describe esp.mac(), esp.wifi_mode(), esp.phy_mode(), esp.sleep_type(),
  esp.deepsleep(), and esp.flash_id() functions.
2015-10-06 23:25:35 +01:00
Daniel Campora 861fad5819 docs: Adapt WiPy's ADC doc and quickref to the new API. 2015-09-16 10:10:40 +02:00
Daniel Campora aba75e1233 cc3200: New SPI API. 2015-09-16 10:10:33 +02:00
Daniel Campora 624cdeacc4 docs/wipy: Add pins to the I2C constructor. 2015-09-16 10:10:31 +02:00
Daniel Campora 41f6948545 cc3200: New WDT API. 2015-09-16 10:10:29 +02:00
Daniel Campora 8332044f75 cc3200: Add UART.ODD and UART.EVEN to select parity. 2015-09-16 10:10:26 +02:00
Daniel Campora d5ec336eef cc3200: Replace Pin.PULL_NONE with None. 2015-09-16 10:10:24 +02:00
Daniel Campora f38d16483a docs: Update I2C and UART docs to match the new API. 2015-09-16 10:10:22 +02:00
Daniel Campora f91f212d9f cc3200: New UART API plus related test. 2015-09-10 07:59:47 +02:00
Daniel Campora 36821d095a cc3200: Add alternate functions list to Pin object.
Also remove pin.high() and pin.low() methods.
2015-09-10 07:59:41 +02:00
Daniel Campora d5e256486e cc3200: Re-work Pin class according to the new API.
Also add relevant test.
2015-09-10 07:59:35 +02:00
Daniel Campora 11d21081b4 cc3200: Rework SD API. Increase heap to avoid malloc failures. 2015-08-16 20:17:58 +02:00
Daniel Campora 34c290b678 cc3200: Rename SPI nss param to cs.
The nss param in the pyboard has a different meaning that doesn't
apply to the WiPy.
2015-08-16 20:17:55 +02:00
Daniel Campora ea5061e409 cc3200: Improve callback API.
Rename "wakes" param to "wake_from" and make "value" an object
instead of an integer.
2015-08-16 20:17:52 +02:00
Daniel Campora 7027fd5343 cc3200: Make ADC API compatible with the pyboard. 2015-08-10 23:42:05 +02:00
Daniel Campora e54a4f1f48 cc3200: Improve support for WEP security.
Key is always entered as a string, but if security is WEP, the key
is converted automatically to hex before connecting or configuring
the device as an AP.
2015-08-09 19:22:16 +02:00
Daniel Campora d43019163d docs: Add i2c keywork arguments only indication. 2015-08-09 19:22:14 +02:00
Daniel Campora 00c4d6562e cc3200: Add nic.iwconfig() to set/get WLAN configuration.
Changes are based on this post:
https://github.com/micropython/micropython/issues/876#issuecomment-115255551

The constructor can optionally take the same params of iwconfig in
order to configure WiFi when creating the object. Params are
keyworkd only. The WiPy accepts:

- mode (int -> WLAN.AP or WLAN.STA)
- ssdi (string)
- security (int -> WLAN.OPEN, WLAN.WEP, WLAN.WPA, WLAN.WPA2)
- key (string)
- channel (int (1-11))
- antenna (int -> WLAN.INTERNAL, WLAN.EXTERNAL)
2015-08-09 19:22:12 +02:00
Daniel Campora c6926c374d cc3200: Make I2C and SPI API the same as in stmhal. 2015-08-02 20:22:15 +02:00
Daniel Campora 007878781c cc3200: Rename pins from GPIO to just GP.
This is how the names will be printed on the sticker that goes on top
of the EMI shield. The shorter names also help saving a few bytes of
RAM and ROM.
2015-07-30 00:43:08 +02:00
Damien George 7693ef3bd6 stmhal: Allow ADC.read_timed to take Timer object in place of freq.
This allows a user-specified Timer for the triggering of the ADC read,
mirroring the new behaviour of DAC.write_timed.

Addresses issue #1129.
2015-07-22 19:41:13 +01:00
Damien George abc24c1876 stmhal: Allow DAC.write_timed to take Timer object in place of freq.
This allows the DAC to use a user-specified Timer for the triggering
(instead of the default Timer(6)), while still supporting original
behaviour.

Addresses issues #1129 and #1388.
2015-07-21 23:39:49 +01:00
Damien George 7463442e58 docs: Update pyb.Accel doc to reflect changes and explain filtered_xyz. 2015-07-08 11:10:51 +01:00
Daniel Campora 5161239c9f cc3200: time.sleep() now receives seconds, like CPython. 2015-07-02 17:23:22 +02:00
Daniel Campora 813b581127 cc3200: Add `Pin.name()` method. 2015-06-28 14:14:22 +02:00
Damien George fa1cdb09fc docs: Fix duplicate label error for network.WLAN. 2015-06-27 13:42:00 +01:00
Bill Owens 7c61249ae6 esp8266: Updated documentation for scan() and moved to network 2015-06-17 23:16:28 +03:00
Daniel Campora ea2cc2b907 docs: Add more documentation for the CC3200 in the pyb module. 2015-06-16 15:45:24 +02:00
Radomir Dopieralski 05c6fbcae6 esp8266: Fix the documentation for esp.connect() and esp.disconnect()
Since the commit that moved those two functions failed to update
the documentation, this is a fix for that.
2015-06-13 23:03:06 +03:00
Daniel Campora cfcf47c064 docs: Add initial draft documentation for the WiPy.
This makes all common files "port-aware" using the .. only directive.
2015-06-10 23:37:56 +02:00
Paul Sokolovsky 06e85ecfa6 docs/uctype: Update for constructor argument order changes.
Also, other small cleanups/improvements.
2015-06-06 22:58:04 +03:00
Damien George 3eece29807 docs: Change "Micro Python" to "MicroPython" in all places in docs. 2015-06-04 23:53:26 +01:00
Paul Sokolovsky 32ce72cb9e docs/uctypes: Typo fix. 2015-06-02 10:35:06 +03:00
Paul Sokolovsky f8bce131c0 docs/uctypes: Fix API description errors.
"Structure class" is its descriptor, encoded as a dictionary. Then,
uctypes.struct() instantiates an actual object, and thus requires memory
address.
2015-06-02 10:30:01 +03:00
Radomir Dopieralski 78ccb44a90 docs: Document esp module for ESP8266.
I document as much as I could guess from experiments and reading the
code for the ``esp`` module for the ESP8266 port of Micropython.

For now the tag has to be set manually with -t option when building,
when we have properly split documentation, there will be a separate
config file for esp8266 with that the tag "port_esp8266" set.

To build use:

make SPHINXOPTS="-t port_esp8266" html
2015-05-30 12:49:58 +01:00
Dave Hylands 3ad94d6072 extmod: Add ubinascii.unhexlify
This also pulls out hex_digit from py/lexer.c and makes unichar_hex_digit
2015-05-20 09:29:22 +01:00
Damien George 0bfc57022d docs: Document USB_VCP file-like methods. 2015-05-13 20:42:12 +01:00
Steve Zatz c7df9c6c47 stmhal: Add os.rename function. 2015-05-12 23:43:11 +01:00
blmorris 5df81de7af sthmal/rtc.c: Add calibration() method to get/set RTC fine-tuning value. 2015-05-11 23:48:39 +01:00
Damien George dea853d3a3 docs: Document pyb.stop, pyb.standby and pyb.RTC.wakeup. 2015-04-21 22:35:17 +01:00
Henrik e3cd154317 stmhal: Add support for sending and receiving CAN RTR messages. 2015-04-18 14:53:00 +01:00
Damien George 7d5e34287c stmhal: Allow sending CAN messages with timeout=0.
Thanks to Henrik Sölver for this patch.
2015-04-16 23:52:43 +01:00
Damien George e97dddcdca docs: Document pyb.main function to set main script. 2015-04-09 10:08:25 +01:00
Paul Sokolovsky 344057ac50 docs: uctypes: Bullet list formatting fixes. 2015-03-31 01:29:07 +03:00
Paul Sokolovsky 9d2c0c231c docs: uctypes: Describe how to instantiate struct objects. 2015-03-31 01:16:14 +03:00
Ivan Pejić e178ef2520 docs: Add additional example/note for Timer's callback usage.
Add example: using named function for the Timer's callback.
Add note: improving traceback inside interrupt timers.
2015-03-30 00:43:04 +01:00
Damien George 47098efbda docs: Provide initial documentation for micropython module. 2015-03-30 00:32:29 +01:00
Paul Sokolovsky c260836beb docs: uctypes: Describe bytes_at(), bytearray_at(). 2015-03-27 00:19:23 +02:00
Paul Sokolovsky ec1b1cf834 docs: uctypes: Describe couple more functions. 2015-03-24 22:42:54 +02:00
Dave Hylands b4c9a25eab stmhal: Add support for quadrature encoder mode to pyb.TimerChannel. 2015-03-09 13:23:14 +00:00
Peter Hinch b57b56f293 docs: Update pyb.Timer.rst to fix pulse widths that exceed the period. 2015-03-09 12:14:32 +00:00
Damien George 4fddbe5ab6 docs: Correct the documentation for math.frexp. 2015-02-23 22:15:11 +00:00
Paul Sokolovsky 3527085587 pyb.UART.rst: Clean up note about stream protocol support. 2015-02-22 13:36:35 +02:00
Damien George 77fc276c08 stmhal: For UART, check that baudrate is within 5% of desired value.
Also includes documentation about minimum baudrate.

Addresses issue #1090.
2015-02-22 00:26:49 +00:00
Henrik Sölver f80f1a7077 stmhal: Add support for CAN rx callbacks. 2015-02-15 03:10:53 +00:00
Damien George baafb290ad stmhal: Add uart.sendbreak() method, to send a break condition. 2015-02-13 19:04:24 +00:00
Damien George d39c7aa517 stmhal: Add Python-configurable USB HID mode.
Different HID modes can be configured in Python.  You can either use
predefined mouse or keyboard, or write your own report descriptor.
2015-02-13 14:02:51 +00:00
Damien George 73533247cb docs: Fix frequency info for DAC.triangle. 2015-01-20 23:56:10 +00:00
Damien George 3990dcfcd7 docs: Add note about maximum frequency of busses. 2015-01-08 22:54:26 +00:00
Paul Sokolovsky 7a0636e80a docs: Add initial "uctypes" modules docs. WIP. 2015-01-08 00:17:10 +02:00
Damien George ddbcc79550 docs: Add quickref info about Servo; improve Servo docs. 2015-01-01 18:00:45 +00:00
Damien George 7690b13953 stmhal: Add ability to mount custom block device. 2014-12-27 20:20:51 +00:00
Damien George a37656c132 docs: Make admonition for CPy-difference use "attention" class.
This renders it in yellow/orange box on RTD server.
2014-12-22 13:42:30 +00:00
Damien George 6d3ae569cf docs: Add CPy diff note for print_exception; embellish sys.platform. 2014-12-19 22:10:38 +00:00
Damien George 9642846d71 docs: Define more clearly the behaviour of LED methods.
Addresses issue #1006.
2014-12-16 11:55:46 +00:00
Paul Sokolovsky 6c3fc74656 docs: Add sys.print_exception(). 2014-12-10 20:31:38 +02:00
Damien George b66a31c42c stmhal: Allow SPI.init to specify prescaler directly; improve SPI docs. 2014-12-08 21:34:07 +00:00
Damien George 008251180d stmhal: Enhance pyb.freq to configure bus (AHB, APB1, APB2) freqs.
This is useful if you need precise control over the speed of
peripherals (eg SPI clock).
2014-12-08 21:32:55 +00:00
Paul Sokolovsky 41c07d5b80 docs: uzlib: Typo fix. 2014-12-05 02:08:30 +02:00
Paul Sokolovsky adf4c4cea8 docs: Add quick docs for uzlib. 2014-12-05 00:40:35 +02:00
Damien George c0b3d4540b docs: Update network docs to reflect changes to code. 2014-12-04 19:43:56 +00:00
Paul Sokolovsky 3a5352b483 docs: Add skeleton docs for ure module. 2014-12-04 00:07:00 +02:00
Paul Sokolovsky d8fd3103fa docs: Add quick docs for ubinascii. 2014-12-02 01:51:56 +02:00
Paul Sokolovsky d96a916405 docs: Add quick docs for uhashlib. 2014-12-02 00:53:19 +02:00
Paul Sokolovsky 7f0699eedf docs: Sort "micro-library" module list alphabetically. 2014-12-01 20:42:38 +02:00
Henrik Sölver d8c2b2a1c4 Update documentation for the CAN class 2014-11-30 01:04:56 +00:00
Damien George 19fb1b4dd7 stmhal: Add USB_VCP.setinterrupt method, to disable CTRL-C. 2014-11-29 15:23:21 +00:00
inaugurator 9aae41121b Update uheapq.rst
Erratum in froh.
2014-11-28 17:32:29 +00:00
Damien George d1b42d7b51 stmhal: Improve CAN init so that it can take sjw, bs1, bs2 args.
Also update docs to explain how CAN baudrate is determined.
2014-11-15 21:28:14 +00:00
Matthias ca0b0cb83f Document parameter "data" of i2c.mem_read() more clear
Hi,

i would like to add a little clarification to the parameter "data" of i2c.mem_read(): I misunderstood 

        ``data`` can be an integer or a buffer to read into

as "i can give a integer variable to read a integer into" .  This pull-request adds the following clarification:

         ``data`` can be an integer (number of bytes to read) or a buffer to read into

Thanks for your great work!

Best wishes,
Matthias
2014-11-15 18:31:37 +00:00
Paul Sokolovsky d8474d3617 docs: select: Describe extra details. 2014-11-09 01:48:05 +02:00
Damien George 8e701604d5 docs: Add links from quickref to pyb classes. 2014-11-04 18:25:20 +00:00
Damien George bc0bc764fc docs: Add debounce tutorial; order Pin methods; add pull resistor info. 2014-11-04 18:07:06 +00:00
Damien George 6e6dfdc56b docs: Make custom index page; add more docs. 2014-11-02 23:37:02 +00:00
Damien George 38bd762121 stmhal: Improve pyb.freq to allow 8 and 16MHz (not usable with USB).
Also restrict higher frequencies to have a VCO_OUT frequency below
432MHz, as specified in the datasheet.

Docs improved to list allowed frequencies, and explain about USB
stability.
2014-11-02 15:10:15 +00:00
Damien George a58713a899 docs: Cleanup and update some docs. 2014-10-31 22:21:37 +00:00
Damien George 109c1de015 py: Make gc.enable/disable just control auto-GC; alloc is still allowed.
gc.enable/disable are now the same as CPython: they just control whether
automatic garbage collection is enabled or not.  If disabled, you can
still allocate heap memory, and initiate a manual collection.
2014-10-31 21:30:46 +00:00
Damien George 4029f51842 stmhal: Fix UART so bits counts number of data bits, not incl parity.
Addresses issue #950.
2014-10-31 20:28:10 +00:00
Damien George 88d3054ac0 docs: Import documentation from source-code inline comments.
The inline docs (prefixed with /// in .c files) have been converted to
RST format and put in the docs subdirectory.
2014-10-31 01:37:19 +00:00