summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
* qemu-arm: Enable software floating point support, and float tests.Damien George2016-11-03
| | | | | | | | | This helps to test floating point code on Cortex-M hardware. As part of this patch the link-time-optimisation was disabled because it wasn't compatible with software FP support. In particular, the linker could not find the __aeabi_f2d, __aeabi_d2f etc functions even though they were provided by lib/libm/math.c.
* lib/libm: Move Thumb-specific sqrtf function to separate file.Damien George2016-11-03
| | | | | This allows it to be used only when the hardware supports VFP instructions, preventing compile errors.
* py: Change config default so m_malloc0 uses memset if GC not enabled.Colin Hogben2016-11-03
| | | | | With MICROPY_ENABLE_GC set to false the alternate memory manager may not clear all memory that is allocated, so it must be cleared in m_malloc0.
* tests/extmod/framebuf1: Test framebuffer pixel clear, and text function.Alex March2016-11-03
|
* py: Fix wrong assumption that m_renew will not move if shrinkingColin Hogben2016-11-02
| | | | | | | | | | | | | | | | In both parse.c and qstr.c, an internal chunking allocator tidies up by calling m_renew to shrink an allocated chunk to the size used, and assumes that the chunk will not move. However, when MICROPY_ENABLE_GC is false, m_renew calls the system realloc, which does not guarantee this behaviour. Environments where realloc may return a different pointer include: (1) mbed-os with MBED_HEAP_STATS_ENABLED (which adds a wrapper around malloc & friends; this is where I was hit by the bug); (2) valgrind on linux (how I diagnosed it). The fix is to call m_renew_maybe with allow_move=false.
* esp8266/modules: Fix negative temperature in ds18x20 driver.ernitron2016-11-02
|
* extmod/utime_mphal: ticks_diff(): Optimize to avoid if conditions.Paul Sokolovsky2016-11-02
|
* esp8266/etshal.h: Adjust size of MD5_CTX structure.Paul Sokolovsky2016-11-02
| | | | | | Size 64 was incorrect and will lead to stack corruption. Size 88 was verified empirically. Also, allow to skip defining it if MD5_CTX preprocessor macro is already defined (to avoid header conflict).
* esp8266/etshal.h: Add prototypes for SPIRead/SPIWrite/SPIEraseSector.Paul Sokolovsky2016-11-02
|
* unix: fix symbol references for x86 MacJan Pochyla2016-11-02
|
* esp8266/main: Bump heap size to 36K.Paul Sokolovsky2016-11-02
| | | | | | | ESP8266 SDK2.0 fixes (at least, I can't reproduce it) an infamous bug with crash during scan. 36K seams to be a safe value based on a download test (test_dl.py), over 1GB was downloaded. More testing is needed, but let's have other people participate by committing it now.
* esp8266/modnetwork.c: Allows AP reconnection without WiFi credentialspuuu2016-11-01
| | | | | | | | | There is no automatic reconnect after wlan.active(False); wlan.active(True). This commit provide the possibility to run wlan.connect() without parameter, to reconnect to the previously connected AP. resolve #2493
* esp8266/scripts/port_diag: Add descriptions for esf_buf types.Paul Sokolovsky2016-11-01
|
* docs/utime: Add docs for ticks_add(), improvements for other ticks_*().Paul Sokolovsky2016-11-01
|
* docs/utime: Remove only:: for ticks_diff().Paul Sokolovsky2016-11-01
| | | | | | 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.
* py: remove asserts that are always true in emitbc.cPavol Rusnak2016-10-31
|
* py: fix null pointer dereference in mpz.c, fix missing va_end in warning.cPavol Rusnak2016-10-31
|
* esp8266/modnetwork: config(): Fix copy-paste error in setting "mac".Paul Sokolovsky2016-10-31
|
* docs/utime: Describe new semantics of ticks_diff() (signed ring arithmetics).Paul Sokolovsky2016-10-31
|
* docs/utime: Document ticks_cpu() in more detail.Paul Sokolovsky2016-10-30
| | | | Also, drop ::only directive.
* docs/library/index: Update TOCs so builtins sorted before modules.Paul Sokolovsky2016-10-30
|
* tools/tinytest-codegen: Exclude ticks_diff test for qemu-arm port.Paul Sokolovsky2016-10-30
|
* tests/extmod/ticks_diff: Test for new semantics of ticks_diff().Paul Sokolovsky2016-10-30
|
* py/sequence: Fix reverse slicing of lists.Fabio Utzig2016-10-30
|
* extmod/utime_mphal: Fix implementation of new semantics of ticks_diff().Paul Sokolovsky2016-10-30
| | | | | | | | | | | | | | | Now the function properly uses ring arithmetic to return signed value in range (inclusive): [-MICROPY_PY_UTIME_TICKS_PERIOD/2, MICROPY_PY_UTIME_TICKS_PERIOD/2-1]. That means that function can properly process 2 time values away from each other within MICROPY_PY_UTIME_TICKS_PERIOD/2 ticks, but away in both directions. For example, if tick value 'a' predates tick value 'b', ticks_diff(a, b) will return negative value, and positive value otherwise. But at positive value of MICROPY_PY_UTIME_TICKS_PERIOD/2-1, the result of the function will wrap around to negative -MICROPY_PY_UTIME_TICKS_PERIOD/2, in other words, if a follows b in more than MICROPY_PY_UTIME_TICKS_PERIOD/2 - 1 ticks, the function will "consider" a to actually predate b.
* extmod/utime_mphal: Allow ticks functions period be configurable by a port.Paul Sokolovsky2016-10-30
| | | | Using MICROPY_PY_UTIME_TICKS_PERIOD config var.
* tests/btree1: Fix out of memory error running on esp8266.Paul Sokolovsky2016-10-29
|
* esp8266/modutime: Consistently convert to MP_ROM_QSTR/MP_ROM_PTR.Paul Sokolovsky2016-10-29
|
* stmhal/modutime: Consistently convert to MP_ROM_QSTR/MP_ROM_PTR.Paul Sokolovsky2016-10-29
|
* extmod/utime_mphal: Implement ticks_add(), add to all maintained ports.Paul Sokolovsky2016-10-29
|
* unix/mphalport.h: Add dummy definition of mp_hal_ticks_cpu().Paul Sokolovsky2016-10-29
| | | | To fix coverage build.
* windows: Enable utime_mphal following unix, define mp_hal_ticks_*.Paul Sokolovsky2016-10-29
| | | | | mp_hal_ticks_ms, mp_hal_ticks_us taken from unix port, mp_hal_ticks_cpu dummy.
* unix/modtime: Switch ticks/sleep_ms/us() to utime_mphal.Paul Sokolovsky2016-10-29
|
* extmod/utime_mphal: Add MP_THREAD_GIL_EXIT/ENTER warppers for sleep functions.Paul Sokolovsky2016-10-29
| | | | Ported from unix port.
* unix/mphalport.h: Add warning of mp_hal_delay_ms() implementation.Paul Sokolovsky2016-10-29
| | | | | | It's implemented in terms of usleep(), and POSIX doesn't guarantee that usleep() can sleep for more than a second. This restriction unlikely applies to any real-world system, but...
* extmod/utime_mphal: ticks_diff(): switch arg order, return signed value.Paul Sokolovsky2016-10-29
| | | | | | | | | | | | | | | | | | | Based on the earlier discussed RFC. Practice showed that the most natural order for arguments corresponds to mathematical subtraction: ticks_diff(x, y) <=> x - y Also, practice showed that in real life, it's hard to order events by time of occurance a priori, events tend to miss deadlines, etc. and the expected order breaks. And then there's a need to detect such cases. And ticks_diff can be used exactly for this purpose, if it returns a signed, instead of unsigned, value. E.g. if x is scheduled time for event, and y is the current time, then if ticks_diff(x, y) < 0 then event has missed a deadline (and e.g. needs to executed ASAP or skipped). Returning in this case a large unsigned number (like ticks_diff behaved previously) doesn't make sense, and such "large unsigned number" can't be reliably detected per our definition of ticks_* function (we don't expose to user level maximum value, it can be anything, relatively small or relatively large).
* unix/modtime: Use ticks_diff() implementation from extmod/utime_mphal.c.Paul Sokolovsky2016-10-29
|
* zephyr/README: Update for the current featureset, add more info.Paul Sokolovsky2016-10-28
|
* zephyr: Support time -> utime module "weaklink".Paul Sokolovsky2016-10-28
| | | | So, now it's possible to just do normal Python's "import time".
* tests/extmod/uhashlib_sha256: Rename sha256.py test.Alex March2016-10-28
|
* tests/extmod/uhashlib_sha1: Coverage for SHA1 algorithm.Alex March2016-10-28
|
* zephyr/zephyr_getchar: Update for recent Zephyr refactor of console hooks.Paul Sokolovsky2016-10-28
| | | | | uart_irq_input_hook_set() was renamed to uart_console_in_debug_hook_install() and accepts different params.
* docs/library/network: Typo fixes, consistent acronym capitalization.Paul Sokolovsky2016-10-28
|
* docs/library/network: Reword intro paragraph.Paul Sokolovsky2016-10-28
|
* tests/basics/gc1: Garbage collector threshold() coverage.Alex March2016-10-27
|
* py/stream: Typo fix in comment.Paul Sokolovsky2016-10-27
|
* qemu-arm: Exclude new vfs_fat tests.Alex March2016-10-27
|
* tests/extmod/vfs_fat_oldproto: Test old block device protocol.Alex March2016-10-27
|
* tests/extmod/vfs_fat_fsusermount: Improve fsusermount test coverage.Alex March2016-10-27
|
* zephyr: Initial implementation of machine.Pin.Daniel Thompson2016-10-27
| | | | | | | | | | | | | | | | | | | | | | The integration with Zephyr is fairly clean but as MicroPython Hardware API requires pin ID to be a single value, but Zephyr operates GPIO in terms of ports and pins, not just pins, a "hierarchical" ID is required, using tuple of (port, pin). Port is a string, effectively a device name of a GPIO port, per Zephyr conventions these are "GPIO_0", "GPIO_1", etc.; pin is integer number of pin with the port (supposed to be in range 0-31). Example of pin initialization: pin = Pin(("GPIO_1", 21), Pin.OUT) (an LED on FRDM-K64F's Port B, Pin 21). There is support for in/out pins and pull up/pull down but currently there is no interrupt support. Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org> Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>