summaryrefslogtreecommitdiff
path: root/ports/esp32
AgeCommit message (Collapse)Author
2019-10-13remove ports/esp32Dan Halbert
2018-06-15esp32/modules: Include umqtt library in frozen modules.Damien George
2018-06-15esp32: Update to latest ESP IDF.Damien George
2018-06-13esp32/fatfs_port: Implement get_fattime so FAT files have a timestamp.Damien George
Fixes issue #3859.
2018-06-12esp32: Remove port-specific uhashlib implementation and use common one.Damien George
Now that the common module has mbedtls support for both SHA1 and SHA256 it can now be used on this port.
2018-06-12ports: Enable IOBase on unix, stm32, esp8266 and esp32.Damien George
It's a core feature, in particular required for user-streams with uasyncio.
2018-06-12ports: Call gc_sweep_all() when doing a soft reset.Damien George
This calls finalisers of things like files and sockets to cleanly close them.
2018-06-08esp32/modnetwork: Fix isconnected() when using static IP config.Glenn Moloney
Currently <WLAN>.isconnected() always returns True if a static IP is set, regardless of the state of the connection. This patch introduces a new flag 'wifi_sta_connected' which is set in event_handler() when GOT_IP event is received and reset when DISCONNECTED event is received (unless re-connect is successful). isconnected() now simply returns the status of this flag (for STA_IF). The pre-existing flag misleadingly named 'wifi_sta_connected" is also renamed to 'wifi_sta_connect_requested'. Fixes issue #3837
2018-06-08ports: Enable descriptors on stm32, esp8266, esp32 ports.Damien George
They are now efficient (in runtime performance) and provide a useful feature that's hard to obtain without them enabled. See issue #3644 and PR #3826 for background.
2018-06-06extmod/vfs_fat: Rename FileIO/TextIO types to mp_type_vfs_fat_XXX.Damien George
So they don't clash with other VFS implementations.
2018-06-05esp32: Add support for building with external SPI RAM.Damien George
This patch adds support for building the firmware with external SPI RAM enabled. It is disabled by default because it adds overhead (due to silicon workarounds) and reduces performance (because it's slower to have bytecode and objects stored in external RAM). To enable it, either use "make CONFIG_SPIRAM_SUPPORT=1", or add this line to you custom makefile/GNUmakefile (before "include Makefile"): CONFIG_SPIRAM_SUPPORT = 1 When this option is enabled the MicroPython heap is automatically allocated in external SPI RAM. Thanks to Angus Gratton for help with the compiler and linker settings.
2018-06-05esp32/Makefile: Extract common C & C++ flags for consistent compilation.Angus Gratton
2018-05-28esp32: Silence ESP-IDF log messages when in raw REPL mode.Nick Moore
This prevents clients such as ampy, mpy-utils, etc getting confused by extraneous data.
2018-05-23esp32/esp32.custom_common.ld: Put soc code in iram0.Damien George
This is what the IDF does, it must be done.
2018-05-22ports: Enable MICROPY_PY_BUILTINS_ROUND_INT on selected ports.Damien George
2018-05-21esp32/Makefile: Update to latest ESP IDF version.Damien George
2018-05-15esp32/modnetwork: Fix STA/AP activate/deactivate for new IDF API.Damien George
WIFI_MODE_NULL is no longer supported by the ESP IDF, instead one must use esp_wifi_start/esp_wifi_stop.
2018-05-14esp32: Update to latest ESP IDF version.Bas Wijnen
- Updated supported git hash to current IDF version. - Added missing targets and includes to Makefile. - Updated error codes for networking module. - Added required constant to sdkconfig configuration.
2018-05-03esp32/modsocket: Check for pending events during blocking socket calls.Damien George
2018-05-02esp32: Use mp_rom_map_elem_t and MP_ROM_xxx macros for const dicts.Damien George
2018-05-02esp32/modsocket: Correctly handle reading from a peer-closed socket.Damien George
If a socket is cleanly shut down by the peer then reads on this socket should continue to return zero bytes. The lwIP socket API does not have this behaviour (it only returns zero once, then blocks on subsequent calls) so this patch adds explicit checks and logic for peer closed sockets.
2018-05-02esp32/README: Add --init to submodule update command.Torwag
Add --init to the submodule update example, thus, all submodules get initialised including the nested (--recursive) ones. Without it there might not be a submodule init.
2018-05-01esp32/modnetwork: Allow to get ESSID of AP that STA is connected to.Damien George
Following the same addition to esp8266 port.
2018-05-01esp32: Add support for the esp32's ULP.Andreas Valder
The ULP is available as esp32.ULP(). See README.ulp.md for basic usage.
2018-04-27esp32/modules: Add support scripts for WebREPL.Damien George
WebREPL now works on the esp32 in the same way it does on esp8266.
2018-04-27esp32/mpconfigport: Enable webrepl module and socket events.Damien George
2018-04-27esp32/modsocket: Add support for registering socket event callbacks.Damien George
The esp8266 uses modlwip.c for its usocket implementation, which allows to easily support callbacks on socket events (like when a socket becomes ready for reading). This is not as easy to do for the esp32 which uses the ESP-IDF-provided lwIP POSIX socket API. Socket events are needed to get WebREPL working, and this patch provides a way for such events to work by explicitly polling registered sockets for readability, and then calling the associated callback if the socket is readable.
2018-04-27esp32: Add support for and enable uos.dupterm().Damien George
2018-04-27esp32/mphalport: Improve mp_hal_stdout_tx_XXX functions.Damien George
This makes way for enabling uos.dupterm().
2018-04-26esp32/mphalport: Improve mp_hal_delay_us so it handles pending events.Damien George
Thanks to @bboser for the initial idea and implementation.
2018-04-26esp32/mphalport: Use esp_timer_get_time instead of gettimeofday.Damien George
It's more efficient and improves accuracy.
2018-04-20esp32/README.md: Fix typo readme.Shanee Vanstone
2018-04-10esp32/machine_uart: Remove UART event queue object.Damien George
This event queue has UART events posted to it and they need to be drained for it to operate without error. The queue is not used by the uPy UART class so it should be removed to prevent the IDF emitting errors. Fixes #3704.
2018-04-10py/stream: Switch stream close operation from method to ioctl.Damien George
This patch moves the implementation of stream closure from a dedicated method to the ioctl of the stream protocol, for each type that implements closing. The benefits of this are: 1. Rounds out the stream ioctl function, which already includes flush, seek and poll (among other things). 2. Makes calling mp_stream_close() on an object slightly more efficient because it now no longer needs to lookup the close method and call it, rather it just delegates straight to the ioctl function (if it exists). 3. Reduces code size and allows future types that implement the stream protocol to be smaller because they don't need a dedicated close method. Code size reduction is around 200 bytes smaller for x86 archs and around 30 bytes smaller for the bare-metal archs.
2018-03-14esp32/machine_uart: Return None from UART read if no data is available.Damien George
This is instead of returning an empty bytes object, and matches how other ports handle non-blocking UART read behaviour.
2018-03-10drivers/bus: Pull out software SPI implementation to dedicated driver.Damien George
This patch takes the software SPI implementation from extmod/machine_spi.c and moves it to a dedicated file in drivers/bus/softspi.c. This allows the SPI driver to be used independently of the uPy runtime, making it a more general component.
2018-03-05esp32/modnetwork: Implement status('stations') to list STAs in AP mode.Lee Seong Per
The method returns a list of tuples representing the connected stations. The first element of the tuple is the MAC address of the station.
2018-03-05esp32: Revert "esp32/machine_touchpad: Swap pins 32 and 33."Damien George
This reverts commit 5a82ba8e073f847985595a46fb2f0c12f4389bbc. Touch sensor 8 and 9 have a mismatch in some of their registers and this is now fixed in software by the ESP IDF.
2018-02-21ports: Enable ucollections.deque on relevant ports.Damien George
These ports are all capable of running uasyncio.
2018-02-21esp32/modsocket: Allow getaddrinfo() to take up to 6 args.Damien George
Currently only the first 2 args are used, but this patch should at least make getaddrinfo() signature-compatible with CPython and other bare-metal ports that use the lwip bindings.
2018-02-21esp32/main: Allocate the uPy heap via malloc instead of on the bss.Damien George
This allows to get slightly more memory for the heap (currently around 110k vs previous 92k) because the ESP IDF frees up some RAM after booting up.
2018-02-21esp32: Update to the latest ESP IDF.Damien George
This update requires a new ESP32 toolchain: 1.22.0-80-g6c4433a-5.2.0.
2018-02-19esp32/modnetwork: Implement dhcp_hostname for WLAN.config().Damien George
2018-02-19esp32/machine_touchpad: Swap pins 32 and 33.Damien George
Based on testing, this is how the mapping should be.
2018-02-17esp32/machine_rtc: Move export declaration from .c to common .h file.Damien George
2018-02-17esp32/modesp32: Add new module "esp32" to support extra wake features.Eric Poulsen
The machine.Pin class is also updated to support these wake-on-pin features.
2018-02-17esp32/machine_rtc: Add RTC class to machine module with sleep impl.Eric Poulsen
The machine.RTC class is added and the machine module is updated with the implementation of sleep, deepsleep, reset_cause and wake_reason.
2018-01-31esp32/machine_uart: Fix check of UART id so it only allows valid UARTs.Damien George
2018-01-31esp8266/modules: Move dht.py driver to drivers/dht directory.Damien George
2017-12-22esp32/README: Update toolchain setup.Ayke van Laethem