Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | cc3200: Fix thread mutex's so threading works with interrupts. | Damien George | 2016-10-19 |
| | | | | | | | | | | | | | | | | Running Python code on a hard interrupt is incompatible with having a GIL, because most of the time the GIL will be held by the user thread when the interrupt arrives. Hard interrupts mean that we should process them right away and hence can't wait until the GIL is released. The problem with the current code is that a hard interrupt will try to exit/enter the GIL while it is still held by the user thread, hence leading to a deadlock. This patch works around such a problem by just making GIL exit/enter a no-op when in an interrupt context, or when interrupts are disabled. See issue #2406. | ||
* | esp8266/main: Mark nlr_jump_fail() as MP_FASTCODE. | Paul Sokolovsky | 2016-10-19 |
| | | | | | It's probably not strictly needed so far, but serves as an example of MP_FASTCODE use and may be helpful in the future. | ||
* | esp8266: Add MP_FASTCODE modifier to put a function to iRAM. | Paul Sokolovsky | 2016-10-19 |
| | | | | | | It can be used in the following manner: void MP_FASTCODE(foo)(int arg) { ... } | ||
* | esp8266/esp8266.ld: Move main.o to iROM. | Paul Sokolovsky | 2016-10-19 |
| | |||
* | esp8266/esp8266.ld: Move modmachine.o to iROM. | Paul Sokolovsky | 2016-10-19 |
| | |||
* | esp8266/esp8266.ld: Move help.o to iROM. | Paul Sokolovsky | 2016-10-19 |
| | |||
* | esp8266/esp_init_data: Auto-initialize system params with vendor SDK 2.0.0. | Paul Sokolovsky | 2016-10-18 |
| | | | | | | | SDK 2.0.0 goes into boot loop if a firmware is programmed over erased flash, causing problems with user experience. This change implements behavior similar to older SDKs': if clean flash is detected, default system parameters are used. | ||
* | teensy: Update to provide new mp_hal_pin_XXX functions following stmhal. | Damien George | 2016-10-18 |
| | |||
* | stmhal/led: Refactor LED to use mp_hal_pin_output() init function. | Damien George | 2016-10-18 |
| | | | | | As part of this patch the MICROPY_HW_LED_OTYPE setting is removed because it is now unused (all boards anyway had this as OUTPUT_PP). | ||
* | stmhal: Refactor pin usage to use mp_hal_pin API. | Damien George | 2016-10-18 |
| | |||
* | stmhal/modutime: Refactor to use extmod's version of ticks_cpu. | Damien George | 2016-10-18 |
| | |||
* | cc3200: Enable loading of precompiled .mpy files. | Damien George | 2016-10-18 |
| | | | | Adds 1072 bytes to the code size. | ||
* | cc3200/mods/pybspi: Allow "write" arg of read/readinto to be positional. | Damien George | 2016-10-18 |
| | | | | To conform with Hardware API. | ||
* | docs/machine.SPI: Improve descriptions of xfer methods. | Damien George | 2016-10-18 |
| | | | | | In particular remove the "*" because not all ports support keyword arguments. | ||
* | cc3200: Use mp_raise_XXX helper functions to reduce code size. | Damien George | 2016-10-18 |
| | | | | Reduces code size by 632 bytes. | ||
* | esp8266/Makefile: Use latest esptool.py flash size auto-detection. | Paul Sokolovsky | 2016-10-18 |
| | |||
* | docs/machine.SPI: Bring up to date with Hardware API, make vendor-neutral. | Paul Sokolovsky | 2016-10-17 |
| | |||
* | docs: Bump version to 1.8.5.v1.8.5 | Damien George | 2016-10-17 |
| | |||
* | tests/run-tests: Enable extmod/machine1.py on pyboard. | Damien George | 2016-10-17 |
| | | | | It now works. | ||
* | stmhal: Enable str.center(), str.[r]partition() and builtin compile(). | Damien George | 2016-10-17 |
| | | | | | Also adds "machine" to the list of modules that the parser can search for constants. | ||
* | stmhal: Implement machine.soft_reset(). | Damien George | 2016-10-17 |
| | |||
* | lib/utils/pyexec: Allow behaviour of SystemExit to be configurable. | Damien George | 2016-10-17 |
| | | | | | Setting the pyexec_system_exit variable to PYEXEC_FORCED_EXT allows SystemExit exceptions to terminate the pyexec functions. | ||
* | py: Use mp_raise_msg helper function where appropriate. | Damien George | 2016-10-17 |
| | | | | | Saves the following number of bytes of code space: 176 for bare-arm, 352 for minimal, 272 for unix x86-64, 140 for stmhal, 120 for esp8266. | ||
* | tests: Add test to print full KeyError exc from failed dict lookup. | Damien George | 2016-10-17 |
| | |||
* | py/objdict: Actually provide the key that failed in KeyError exception. | Damien George | 2016-10-17 |
| | | | | The failed key is available as exc.args[0], as per CPython. | ||
* | py/objdict: Fix optimisation for allocating result in fromkeys. | Damien George | 2016-10-17 |
| | | | | | Iterables don't respond to __len__, so call __len__ on the original argument. | ||
* | tests: Improve coverage of array, range, dict, slice, exc, unicode. | Damien George | 2016-10-17 |
| | |||
* | tests/cmdline: Improve coverage test for printing bytecode. | Damien George | 2016-10-17 |
| | |||
* | esp8266, stmhal, unix: MAKE_FROZEN is consistently defined in mkenv.mk. | Paul Sokolovsky | 2016-10-16 |
| | |||
* | extmod/modussl_mbedtls: Add dummy setblocking() method. | Paul Sokolovsky | 2016-10-15 |
| | | | | Accepts only value of True. | ||
* | extmod/utime_mphal: sleep_us/ms(): Don't wait on negative argument. | Paul Sokolovsky | 2016-10-14 |
| | |||
* | stmhal/modutime: Refactor to use extmod/utime_mphal.c. | Paul Sokolovsky | 2016-10-14 |
| | | | | | This includes making sure that utime_mphal's sleep_ms() and sleep_us() don't sleep on negative arguments. | ||
* | extmod/utime_mphal: Factor out implementations in terms of mp_hal_* for reuse. | Paul Sokolovsky | 2016-10-14 |
| | | | | | | As long as a port implement mp_hal_sleep_ms(), mp_hal_ticks_ms(), etc. functions, it can just use standard implementations of utime.sleel_ms(), utime.ticks_ms(), etc. Python-level functions. | ||
* | py/vstr: Combine vstr_new_size with vstr_new since they are rarely used. | Damien George | 2016-10-14 |
| | | | | | | | Now there is just one function to allocate a new vstr, namely vstr_new (in addition to vstr_init etc). The caller of this function should know what initial size to allocate for the buffer, or at least have some policy or config option, instead of leaving it to a default (as it was before). | ||
* | esp8266: Enable micropython.alloc_emergency_exception_buf(). | Damien George | 2016-10-14 |
| | |||
* | tests/micropython: Add tests for heap_lock, and emergency exceptions. | Damien George | 2016-10-14 |
| | |||
* | qemu-arm: Remove SRC_TEST_C from SRC_QSTR list, it's not needed. | Damien George | 2016-10-14 |
| | | | | And it gives problems with header dependencies for auto-qstr generation. | ||
* | qemu-arm: Enable lots of extmods and enable tests for them. | Damien George | 2016-10-14 |
| | | | | | The qemu-arm port is used for testing of ARM Thumb architecture on a desktop so should have many features enabled. | ||
* | stmhal/pybstdio: Use size_t instead of mp_uint_t. | Damien George | 2016-10-14 |
| | |||
* | tests/extmod/vfs_fat: Replace asserts with prints and expected outputs. | Alex March | 2016-10-13 |
| | |||
* | extmod/modujson: Fix nanbox build. | Damien George | 2016-10-13 |
| | |||
* | tests/extmod: Add test for ujson.load(). | Damien George | 2016-10-13 |
| | |||
* | extmod/modujson: Implement ujson.load() to load JSON from a stream. | Damien George | 2016-10-13 |
| | | | | | | | This refactors ujson.loads(s) to behave as ujson.load(StringIO(s)). Increase in code size is: 366 bytes for unix x86-64, 180 bytes for stmhal, 84 bytes for esp8266. | ||
* | zephyr: Add copyright blurbs. | Paul Sokolovsky | 2016-10-12 |
| | |||
* | zephyr/mpconfigport.h: Fix rebasing artifacts. | Paul Sokolovsky | 2016-10-12 |
| | |||
* | zephyr: Implement the help() function. | Daniel Thompson | 2016-10-12 |
| | | | | | | | | The boot issue text mentions a help() function and encourages the user to run it. It is very disconcerting to find that the function does not exist... Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> | ||
* | zephyr/Makefile: Be sure to extra qstr's from port sources. | Paul Sokolovsky | 2016-10-12 |
| | |||
* | README: Mention _thread module availability in select ports. | Paul Sokolovsky | 2016-10-12 |
| | |||
* | tools: Upgrade upip to 1.1.3. | Paul Sokolovsky | 2016-10-12 |
| | | | | | Initial support for running on a baremetal, low-heap systems (like esp8266), using Python module interface. | ||
* | lib/utils/pyexec: Don't treat SystemExit as "forced exit". | Paul Sokolovsky | 2016-10-12 |
| | | | | | | "Forced exit" is treated as soft-reboot (Ctrl+D). But expected effect of calling sys.exit() is termination of the current script, not any further and more serious actions like mentioned soft reboot. |