- Jan 30, 2019
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
Use of "waiti 0" reduces power consumption by about 3mA compared to a time.sleep_ms call.
-
Damien George authored
While keeping machine.sleep as an alias for machine.lightsleep for backwards compatibility.
-
Damien George authored
-
Damien George authored
While keeping machine.sleep as an alias for machine.lightsleep for backwards compatibility.
-
Damien George authored
Fixes issue #4441.
-
- Jan 28, 2019
-
-
Damien George authored
-
Damien George authored
This way the UART REPL does not need the MicroPython heap and exists outside the MicroPython runtime, allowing characters to still be received during a soft reset.
-
Damien George authored
Auto-detection of the crystal frequency is convenient and allows for a single binary for many different boards. But it can be unreliable in certain situations so in production, for a given board, it's recommended to configure the correct fixed frequency.
-
Damien George authored
-
Damien George authored
Otherwise they will keep triggering the callback and access invalid data on the heap.
-
Damien George authored
Configuration for the build is now specified using sdkconfig rather than sdkconfig.h, which allows for much easier configuration with defaults from the ESP IDF automatically applied. sdkconfig.h is generated using the new ESP IDF kconfig_new tool written in Python. Custom configuration for a particular ESP32 board can be specified via the make variable SDKCONFIG. The esp32.common.ld file is also now generated using the standard ESP IDF ldgen.py tool.
-
Damien George authored
When the ESP IDF builds a project it puts all separate components into separate .a library archives. And then the esp32.common.ld linker script references these .a libraries by explicit name to put certain object files in iRAM. This patch does a similar thing for the custom build system used here, putting all IDF .o's into their respective .a. So a custom linker script is no longer needed.
-
- Jan 27, 2019
-
-
Damien George authored
ISR's no longer need to be in iRAM, and the ESP IDF provides an option to specify that they are in iRAM if an application needs lower latency when handling them. But we don't use this feature for user interrupts: both timer and gpio ISR routines are registered without the ESP_INTR_FLAG_IRAM option, and so the scheduling code no longer needs to be in iRAM.
-
Damien George authored
To make the try-finally block self contained.
-
Damien George authored
The new compile-time option is MICROPY_HW_USB_MAX_POWER_MA. Set this in the board configuration file to the maximum current in mA that the board will draw over USB. The default is 500mA.
-
Damien George authored
The new compile-time option is MICROPY_HW_USB_SELF_POWERED. Set this option to 1 in the board configuration file to indicate that the USB device is self powered. This option is disabled by default (previous behaviour).
-
Damien George authored
It can be that LSEON and LSERDY are set yet the RTC is not enabled (this can happen for example when coming out of the ST DFU mode on an F405 with the RTC not previously initialised). In such a case the RTC is never started because the code thinks it's already running. This patch fixes this case by always checking if RTCEN is set when booting up (and also testing for a valid RTCSEL value in the case of using an LSE).
-
stijn authored
Configurable via MICROPY_PY_BUILTINS_NEXT2, disabled by default.
-
Reagan Sanders authored
Commit a0d97fe4 changed the argument index of ca_certs but missed updating one of the references to the new index.
-
Mikhail Zakharov authored
One can't use pthread calls in a signal handler because they are not async-signal-safe (see man signal-safety). Instead, sem_post can be used to post from within a signal handler and this should be more efficient than using a busy wait loop, waiting on a volatile variable.
-
Mikhail Zakharov authored
-
Mikhail Zakharov authored
Free unused memory for threads and cancel any outstanding threads on interpreter exit to avoid possible segmentaiton fault.
-
Paul Sokolovsky authored
This header is deprecated as of mbedtls 2.8.0, as shipped with Ubuntu 18.04. Leads to #warning which is promoted to error with uPy compile options. Note that the current version of mbedtls is 2.14 at the time of writing.
-
Damien George authored
-
Damien George authored
The machine.sleep() function can be misleading because it clashes with time.sleep() which has quite different semantics. So change it to machine.lightsleep() which shows that it is closer in behaviour to machine.deepsleep(). Also, add an optional argument to these two sleep functions to specify a maximum time to sleep for. This is a common operation and underlying hardware usually has a special way of performing this operation. The existing machine.sleep() function will remain for backwards compatibility purposes, and it can simply be an alias for machine.lightsleep() without arguments. The behaviour will be the same.
-
Sean Burton authored
If MICROPY_PERSISTENT_CODE_LOAD or MICROPY_ENABLE_COMPILER are enabled then code gets enabled that calls file reading functions which may be disabled if no readers have been implemented. To fix this, introduce a MICROPY_HAS_FILE_READER variable, which is automatically set if MICROPY_READER_POSIX or MICROPY_READER_VFS is set but can also be manually set if a custom reader is being implemented. Then disable the file reading calls if this is not set.
-
- Jan 26, 2019
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Major changes include robust parsing of erroneous compressed streams and updated API.
-
- Jan 25, 2019
-
-
Damien George authored
-
Damien George authored
Otherwise MICROPY_VERSION_STRING includes these parentheses in the string.
-
Damien George authored
This port has been verified to work with these latest changes.
-
Damien George authored
For architectures where size_t is less than 32 bits (eg 16 bits) the args must be casted to uint32_t so the left shift will work. For architectures where size_t is greater than 32 bits (eg 64 bits) this new casting will not lose any bits because the end result must anyway fit in a uint32_t.
-
Damien George authored
-
Matt Trentini authored
With contributions from Oliver Robson (@HowManyOliversAreThere), Sean Lanigan (@seanlano) and @rprr.
-
- Jan 24, 2019
-
-
Damien George authored
-
- Jan 23, 2019
-
-
Damien George authored
This aligns more closely with the hardware, that there are two, fixed HW SPI peripherals. And it allows to recreate the HW SPI objects without error, as well as create them again after a soft reset. Fixes issue #4103.
-
Damien George authored
Otherwise only one of HSPI or VSPI can be used at a time. Fixes issue #4068.
-
Matt Trentini authored
In order to suit the more common 800KHz by default (instead of 400KHz), and also have the same behaviour as the esp8266 port. Resolves #4396. Note! This is a breaking change. Anyone that has previously used the NeoPixel class on an ESP32 board may be affected.
-