summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
...
| * docs/btree: Use markup adhering to the latest conventions.Paul Sokolovsky2017-06-25
| |
| * CODECONVENTIONS: Start to describe docs conventions.Paul Sokolovsky2017-06-25
| |
| * docs/builtins: List builtin exceptions.Paul Sokolovsky2017-06-24
| | | | | | | | If for nothing else, then at least to cross-reference them.
| * esp8266/README: Make "Documentation" a top-level section.Paul Sokolovsky2017-06-24
| |
| * README: Mention support for bytecode and frozen bytecode.Paul Sokolovsky2017-06-24
| |
| * extmod/moduzlib: decompress: Remove stale "(void)n_args".Paul Sokolovsky2017-06-24
| | | | | | | | n_args is now actually used in this function.
| * docs/gc: Document gc.threshold() function.Paul Sokolovsky2017-06-24
| |
| * docs/gc: Mark mem_alloc()/mem_free() as uPy-specific.Paul Sokolovsky2017-06-24
| |
| * docs/conf.py: Include 3 levels of ToC in latexpdf output.Paul Sokolovsky2017-06-24
| | | | | | | | | | Instead of default 2. 3 are required to access description of individual library modules.
| * docs/esp8266/tutorial/intro: Sphinx requires blank lines around literal blocks.Paul Sokolovsky2017-06-23
| | | | | | | | At least, Sphinx 1.3.6.
| * docs/esp8266/tutorial/intro: Discourage use of 512kb firmwares.Paul Sokolovsky2017-06-23
| | | | | | | | This follows similar warnings in other parts of docs.
| * docs/license: Update copyright year.Paul Sokolovsky2017-06-23
| |
| * tests/connect_nonblock: Refactor towards real net_hosted test.Paul Sokolovsky2017-06-23
| | | | | | | | | | In the future, a special runner for such tests will import each test and call test() function with an address of test server to use.
| * tests/net_inet: Move tests which don't require full Internet to net_hosted.Paul Sokolovsky2017-06-23
| | | | | | | | | | | | | | | | | | | | The idea is that these tests can be run with just a test server running on a test host, with device under test connecting to it, instead of requiring Internet connection for testing. Such setup is however WIP, and some tests in net_hosted/ are so far written to connect to Internet, as there're not test server written yet. This is expected to evolve over time.
| * esp8266: Enable MICROPY_ENABLE_FINALISER.Paul Sokolovsky2017-06-23
| | | | | | | | | | | | GC finalization should be enabled for modlwip, or it may lead to GC problems with socket objects. This decreases usable heap size from 36288 to 35968 (-320) bytes.
| * esp8266: Move mp_hal_pin_open_drain from esp_mphal.c to machine_pin.c.Damien George2017-06-22
| | | | | | | | | | | | | | It belongs with the other pin config functions in machine_pin.c. Also, esp_mphal.c is put in iRAM so this change saves about 300 bytes of iRAM (and mp_hal_pin_open_drain is not a time critical function so doesn't need to be in iRAM).
| * stmhal/modules: Provide sym-link to onewire.py driver.Damien George2017-06-22
| |
| * esp8266: Reinstate 1-wire scripts by sym-linking to drivers/onewire/.Damien George2017-06-22
| | | | | | | | No changes have been made to the code, the files just moved.
| * drivers/onewire: Move onewire.py, ds18x20.py from esp8266 to drivers.Damien George2017-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These drivers can now be used by any port (so long as that port has the _onewire driver from extmod/modonewire.c). These drivers replace the existing 1-wire and DS18X20 drivers in the drivers/onewire directory. The existing ones were pyboard-specific and not very efficient nor minimal (although the 1-wire driver was written in pure Python it only worked at large enough CPU frequency). This commit brings backwards incompatible API changes to the existing 1-wire drivers. User code should be converted to use the new drivers, or check out the old version of the code and keep a local copy (it should continue to work unchanged).
| * stmhal: Make available the _onewire module, for low-level bus control.Damien George2017-06-22
| |
| * stmhal: Add "quiet timing" enter/exit functions.Damien George2017-06-22
| | | | | | | | | | They disable all interrupts except for SysTick and are useful for doing certain low-level timing operations.
| * extmmod/modonewire: Rename public module to mp_module_onewire.Damien George2017-06-22
| | | | | | | | This follows naming scheme of other modules in extmod.
| * extmod: Move modonewire.c from esp8266 to extmod directory.Damien George2017-06-22
| | | | | | | | It's now generic enough to be used by any port.
| * esp8266/modonewire: Make timings static and remove onewire.timings func.Damien George2017-06-22
| | | | | | | | | | | | The 1-wire bus is defined with fixed timings so there should be no need to change them dynamically at runtime. Making the timings fixed saves about 270 bytes of code and 20 bytes of RAM.
| * esp8266/modonewire: Move low-level 1-wire bus code to modonewire.c.Damien George2017-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason it was separated is so that the low-level code could be put in iRAM, for timing reasons. But: 1. Tests show that it's not necessary to have this code in iRAM for it to function correctly, and taking it out of iRAM reclaims some of that precious resource. Furthermore, even though these functions were in iRAM there were some functions that it called (eg pin get/set functions) which were not in iRAM, so partially defeated the purpose of putting the 1-wire code in iRAM. 2. It's easier to reuse this 1-wire code in other ports if it's in a single file. 3. If it turns out that certain code does need to be in iRAM then one can use the MP_FASTCODE macro to do that.
| * py/compile: Optimise emitter label indices to save a word of heap.Damien George2017-06-22
| | | | | | | | | | | | | | Previous to this patch, a label with value "0" was used to indicate an invalid label, but that meant a wasted word (at slot 0) in the array of label offsets. This patch adjusts the label indices so the first one starts at 0, and the maximum value indicates an invalid label.
| * tests/basics: Add tests for for-else statement.Damien George2017-06-22
| |
| * py/compile: Fix bug with break/continue in else of optimised for-range.Damien George2017-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a bug whereby the Python stack was not correctly reset if there was a break/continue statement in the else black of an optimised for-range loop. For example, in the following code the "j" variable from the inner for loop was not being popped off the Python stack: for i in range(4): for j in range(4): pass else: continue This is now fixed with this patch.
| * tests/net_inet: Add tests for accept and connect in nonblocking mode.Damien George2017-06-21
| | | | | | | | | | Some of these tests don't require an Internet connection, but here is a good place to put them for now.
| * tests/net_inet/test_tls_sites.py: Integration test for SSL connections.Paul Sokolovsky2017-06-21
| | | | | | | | | | | | | | | | | | | | | | This attempts to bootstrap network tests for MicroPython. This commits sets test/net_inet/ as place for tests which require access to wide Internet. They aren't intended to be run as part of the main testsuite, instead to be run manually on demand. test_tls_sites.py in particular check that it's possible to establish SSL/TLS connection to select sites on the Internet: few references ones, plus those for which problems were reported, and resolved.
| * esp8266: Make onewire module and support code usable by other ports.Damien George2017-06-20
| |
| * cc3200: Initialise variable to zero to prevent compiler warnings.Damien George2017-06-20
| |
| * cc3200: Make non-zero socket timeout work with connect/accept/send.Damien George2017-06-20
| | | | | | | | | | | | | | The CC3100 only allows to set a timeout for receiving data, not for accept, connect or send. But it can set non-blocking for all these operations and this patch uses that feature to implement socket timeout in terms of non- blocking behaviour combined with a loop.
| * esp8266/Makefile: Add LIB_SRC_C variable to qstr auto-extraction list.Damien George2017-06-20
| |
| * unix/mpconfigport.mk: Update descriptions of readline and TLS options.Paul Sokolovsky2017-06-17
| |
| * CODECONVENTIONS: Clarify MicroPython changes sign-off process.Paul Sokolovsky2017-06-16
| | | | | | | | In particular, require the real name and email address.
| * docs/select: Rename to uselect, to match the actual module name.Paul Sokolovsky2017-06-16
| | | | | | | | | | Also, add ipoll() documentation and markup changes to comply with CPython usage.
| * teensy/Makefile: Include relevant sources in list for qstr extraction.Damien George2017-06-15
| |
| * qemu-arm/Makefile: Include relevant sources in list for qstr extraction.Damien George2017-06-15
| |
| * stmhal: Move pybstdio.c to lib/utils/sys_stdio_mphal.c for common use.Damien George2017-06-15
| | | | | | | | | | It provides sys.stdin, sys.stdout, sys.stderr for bare-metal targets based on mp_hal functions.
| * esp8266/Makefile: Allow FROZEN_DIR,FROZEN_MPY_DIR to be overridden.Damien George2017-06-15
| |
| * teensy: Provide dummy implementation of extint_register_pin.Damien George2017-06-15
| |
| * stmhal: Add .value() method to Switch object, to mirror Pin and Signal.Damien George2017-06-15
| |
| * stmhal: Add initial implementation of Pin.irq() method.Damien George2017-06-15
| | | | | | | | | | | | This method follows the new HW API and allows to set a hard or soft IRQ callback when a Pin has a level change. It still remains to make this method return a IRQ object.
| * py/objint: In to_bytes(), allow length arg to be any int and check sign.Damien George2017-06-15
| |
| * py/objint: Support "big" byte-order in int.to_bytes().Damien George2017-06-15
| |
| * stmhal: Make error messages more consistent across peripherals.Damien George2017-06-15
| |
| * all: Make more use of mp_raise_{msg,TypeError,ValueError} helpers.Damien George2017-06-15
| |
| * py/compile: Raise SyntaxError if positional args are given after */**.Damien George2017-06-14
| | | | | | | | | | | | | | | | In CPython 3.4 this raises a SyntaxError. In CPython 3.5+ having a positional after * is allowed but uPy has the wrong semantics and passes the arguments in the incorrect order. To prevent incorrect use of a function going unnoticed it is important to raise the SyntaxError in uPy, until the behaviour is fixed to follow CPython 3.5+.
| * cc3200/modusocket: Simplify socket.makefile() function.Damien George2017-06-14
| | | | | | | | Following how extmod/modlwip.c does it.