summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-09-20tests: Get cmdline verbose tests running again.Damien George
The showbc function now no longer uses the system printf so works correctly.
2016-09-20py/showbc: Make printf's go to the platform print stream.Damien George
The system printf is no longer used by the core uPy code. Instead, the platform print stream or DEBUG_printf is used. Using DEBUG_printf in the showbc functions would mean that the code can't be tested by the test suite, so use the normal output instead. This patch also fixes parsing of bytecode-line-number mappings.
2016-09-19tests/array1: Add tests for "l", "L" array types to improve coverage.Paul Sokolovsky
2016-09-19tests/struct1: Test "l" specifier to improve coverage.Paul Sokolovsky
2016-09-19py/qstr: Remove a comment.Damien George
qstrs are always null terminated so qstr_str will stay as part of the API.
2016-09-19stmhal/boards: For OLIMEX_E407, enable UART1 and fix I2C1 mapping.Damien George
UART1 can be used even if the switch is enabled. The schematics for this board make I2C1 available on PB8/PB9, even though it can also be mapped to PB6/PB7. See #2396 and #2427.
2016-09-19py/objnone: Use mp_generic_unary_op instead of custom one.Damien George
2016-09-19py/vstr: Remove vstr.had_error flag and inline basic vstr functions.Damien George
The vstr.had_error flag was a relic from the very early days which assumed that the malloc functions (eg m_new, m_renew) returned NULL if they failed to allocate. But that's no longer the case: these functions will raise an exception if they fail. Since it was impossible for had_error to be set, this patch introduces no change in behaviour. An alternative option would be to change the malloc calls to the _maybe variants, which return NULL instead of raising, but then a lot of code will need to explicitly check if the vstr had an error and raise if it did. The code-size savings for this patch are, in bytes: bare-arm:188, minimal:456, unix(NDEBUG,x86-64):368, stmhal:228, esp8266:360.
2016-09-19py: Combine 3 comprehension opcodes (list/dict/set) into 1.Damien George
With the previous patch combining 3 emit functions into 1, it now makes sense to also combine the corresponding VM opcodes, which is what this patch does. This eliminates 2 opcodes which simplifies the VM and reduces code size, in bytes: bare-arm:44, minimal:64, unix(NDEBUG,x86-64):272, stmhal:92, esp8266:200. Profiling (with a simple script that creates many list/dict/set comprehensions) shows no measurable change in performance.
2016-09-19py: Combine 3 comprehension emit functions (list/dict/set) into 1.Damien George
The 3 kinds of comprehensions are similar enough that merging their emit functions reduces code size. Decreases in code size in bytes are: bare-arm:24, minimal:96, unix(NDEBUG,x86-64):328, stmhal:80, esp8266:76.
2016-09-19esp8266/esp_mphal: Add tentative change to mp_hal_stdin_rx_chr() to wait IRQ.Paul Sokolovsky
Instead of busy-looping waiting for UART input. Not enabled by default, needs more testing.
2016-09-18esp8266/ets_alt_task: ets_post: Should return 0 on success, !0 - failure.Paul Sokolovsky
2016-09-18docs/library/pyb.SPI: init(): Describe "bits" argument.Paul Sokolovsky
Based on https://github.com/micropython/micropython/pull/2210 .
2016-09-18Small WiPy doc fixesjuhasch
2016-09-18unix/modjni: array(): Support creation of object arrays.Paul Sokolovsky
2016-09-17Updated FROZEN_DIR support as per f28efa19713977a61395b19fec1fe501aeee4c0eDave Hylands
2016-09-17py: Move frozen modules rules from esp8266 port for reuse across ports.Paul Sokolovsky
A port now just needs to define FROZEN_DIR var and add $(BUILD)/frozen.c to SRC_C to support frozen modules.
2016-09-17esp8266/Makefile: Rename SCRIPTDIR to FROZEN_DIR for consistency.Paul Sokolovsky
With FROZEN_MPY_DIR.
2016-09-17unix/modjni: Add array() top-level function to create Java array.Paul Sokolovsky
Takes element primitive type encoded as a char per standard JNI encoding, and array size. TODO: Support object arrays.
2016-09-16tests/extmod: Add test for machine.time_pulse_us().Damien George
2016-09-16tests/basics: Add errno1 test, to check basics of uerrno module.Damien George
2016-09-16tests/extmod/urandom: Add urandom tests for error cases.Damien George
2016-09-16py/objnone: Remove unnecessary handling of MP_UNARY_OP_BOOL.Damien George
bool(None) has a fast path in mp_obj_is_true so doesn't need to be handled in none_unary_op. The only caveat is that subclassing may bypass the mp_obj_is_true function, but actually you aren't allowed to subclass classes that have singleton instances like NoneType (see https://mail.python.org/pipermail/python-dev/2002-March/020822.html for reference on this point).
2016-09-16unix/modjni: Implement subscription for object arrays.Paul Sokolovsky
2016-09-14stmhal/boards: Add pllvalues.py script to compute PLL values for sysclk.Damien George
The algorithm here should mirror that in the machine.freq() function.
2016-09-12unix: Fix build for when MICROPY_PY_SOCKET=0.Renato Aguiar
2016-09-10travis: Abandon mingw32 in favour of mingw-w64stijn
This is actually long overdue: the README in the windows directory has been updated once to indicate mingw32 is abandoned and not ok to use with uPy, but we forgot travis builds were still using it. As a bonus the travis build will succeed again since moduerrno.c now compiles. (see https://github.com/micropython/micropython/pull/2399)
2016-09-10windows: Enable MICROPY_PY_UERRNOstijn
This also fixes the test failure for vfs_fat_ramdisk.py
2016-09-09py/makeqstrdefs.py: Use python 2.6 syntax for set creation.Chris Packham
py/makeqstrdefs.py declares that it works with python 2.6 however the syntax used to initialise of a set with values was only added in python 2.7. This leads to build failures when the host system doesn't have python 2.7 or newer. Instead of using the new syntax pass a list of initial values through set() to achieve the same result. This should work for python versions from at least 2.6 onwards. Helped-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Chris Packham <judge.packham@gmail.com>
2016-09-09tests/pyb: Update exp file for previously updated extint test.Damien George
2016-09-09tests/pyb: Add test for ExtInt when doing swint while disabled.Damien George
2016-09-09stmhal/extint: Force 0 to 1 transition on swint().Krzysztof Blazewicz
If a user tries to call `swint()` while interrupt is disabled the flag in SWIER is set but the interrupt is not triggered and therefore the SWIER bit is not cleared. When the interrupt is again enabled the next call to `swint()` won't trigger the IRQ because a 0 to 1 transition will not occur.
2016-09-09stmhal/{accel,lcd}: use GPIO_{set,clear}_pinKrzysztof Blazewicz
different HAL versions implement GPIO differently (BSRR vs BSRRH+BSRRL), this way both drivers are portable between different HAL's
2016-09-09stmhal/lcd: De-assert chip select after completing SPI transmission.Tom Soulanille
The LCD interface library fails to deassert the chip select of the LCD after an SPI transmission. Consequently using the SPI with other peripherals disturbs the state of the LCD. This patch changes lcd.lcd_out() to deassert CS after each transmission to the LCD.
2016-09-09py/asmthumb: Flush D-cache, and invalidate I-cache on STM32F7.Antonin ENFRUN
Tested on a STM32F7DISCO at 216MHz. All tests generating code (inlineasm, native, viper) now pass, except pybnative/while.py, but that's because there is no LED(2).
2016-09-09docs: Bump version to 1.8.4.v1.8.4Damien George
2016-09-08tests/run-tests: Disable thread/stress_recurse.py test on Travis.Damien George
It has reliability issues (cause unknown at this time).
2016-09-08stmhal,cc3200,esp8266: Consistently use PWRON_RESET constant.Damien George
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-07docs/reference/isr_rules.rst: Two minor additions to docs for using ISR.Peter Hinch
- Refers to the technique of instantiating an object for use in an ISR by specifying it as a default argument. - Footnote detailing the fact that interrupt handlers continue to be executed at the REPL.
2016-09-07esp8266/modmachine: Map PWR_ON_RESET to vendor's REASON_DEFAULT_RST.Paul Sokolovsky
When dealing with a board which controls chip reset with UART's DTR/RTS, we never see REASON_DEFAULT_RST (0), only REASON_EXT_SYS_RST (6). However, trying a "raw" module with with just TXD/RXD UART connection, on power up it has REASON_DEFAULT_RST as a reset reason.
2016-09-06esp8266/modnetwork: Fix wlan.scan() method so it returns all networks.Damien George
According to the Arduino ESP8266 implementation the first argument to the wifi scan callback is actually a bss_info pointer. This patch fixes the iteration over this data so the first 2 entries are no longer skipped. Fixes issue #2372.
2016-09-06docs/library/machine.WDT: Add that WDT is available on pyboard.Damien George
2016-09-06stmhal/modmachine: Implement machine.reset_cause() function, and consts.Damien George
2016-09-06stmhal/wdt: Implement keyword args to WDT constructor.Damien George
2016-09-06esp8266/espneopixel: Disable IRQs during eps.neopixel_write.Torsten Wagner
Interrupts during neopixel_write causes timing problems and therefore wrong light patterns. Switching off IRQs should help to keep the strict timing schedule.
2016-09-05travis: Build mpy-cross as part of the Travis process.Damien George
It's built first in case any ports need to use it.
2016-09-05mpy-cross: Don't use the internal printf functions.Damien George
They require mp_hal_stdout_tx_strn_cooked, which requires extra work to add to mpy-cross.
2016-09-05stmhal/dac: Fix DAC (re-)initialisation by resetting DMA.Peter Hinch
Fixes issue #2176.
2016-09-05unix,stmhal,esp8266: When find'ing frozen files follow symbolic links.Damien George
It's useful to be able to use symbolic links to add files and directories to the set of scripts to be frozen.
2016-09-05py: Add MICROPY_USE_INTERNAL_PRINTF option, defaults to enabled.Delio Brignoli
This new config option allows to control whether MicroPython uses its own internal printf or not (if not, an external one should be linked in). Accompanying this new option is the inclusion of lib/utils/printf.c in the core list of source files, so that ports no longer need to include it themselves.