- Sep 19, 2016
-
-
Damien George authored
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.
-
Damien George authored
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.
-
Damien George authored
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.
-
- Sep 18, 2016
-
-
Paul Sokolovsky authored
Instead of busy-looping waiting for UART input. Not enabled by default, needs more testing.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Based on https://github.com/micropython/micropython/pull/2210 .
-
juhasch authored
-
Paul Sokolovsky authored
-
- Sep 17, 2016
-
-
Dave Hylands authored
-
Paul Sokolovsky authored
A port now just needs to define FROZEN_DIR var and add $(BUILD)/frozen.c to SRC_C to support frozen modules.
-
Paul Sokolovsky authored
With FROZEN_MPY_DIR.
-
Paul Sokolovsky authored
Takes element primitive type encoded as a char per standard JNI encoding, and array size. TODO: Support object arrays.
-
- Sep 16, 2016
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
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).
-
- Sep 15, 2016
-
-
Paul Sokolovsky authored
-
- Sep 14, 2016
-
-
Damien George authored
The algorithm here should mirror that in the machine.freq() function.
-
- Sep 12, 2016
-
-
Renato Aguiar authored
-
- Sep 10, 2016
-
-
stijn authored
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)
-
stijn authored
This also fixes the test failure for vfs_fat_ramdisk.py
-
- Sep 09, 2016
-
-
Chris Packham authored
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>
-
Damien George authored
-
Damien George authored
-
Krzysztof Blazewicz authored
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.
-
Krzysztof Blazewicz authored
different HAL versions implement GPIO differently (BSRR vs BSRRH+BSRRL), this way both drivers are portable between different HAL's
-
Tom Soulanille authored
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.
-
Antonin ENFRUN authored
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).
-
Damien George authored
-
- Sep 08, 2016
-
-
Damien George authored
It has reliability issues (cause unknown at this time).
-
Damien George authored
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.
-
- Sep 07, 2016
-
-
Peter Hinch authored
- 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.
-
- Sep 06, 2016
-
-
Paul Sokolovsky authored
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.
-
Damien George authored
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.
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Torsten Wagner authored
Interrupts during neopixel_write causes timing problems and therefore wrong light patterns. Switching off IRQs should help to keep the strict timing schedule.
-
- Sep 05, 2016
-
-
Damien George authored
It's built first in case any ports need to use it.
-
Damien George authored
They require mp_hal_stdout_tx_strn_cooked, which requires extra work to add to mpy-cross.
-