| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Fixes issue #3859.
|
|
Now that the common module has mbedtls support for both SHA1 and SHA256 it
can now be used on this port.
|
|
It's a core feature, in particular required for user-streams with uasyncio.
|
|
This calls finalisers of things like files and sockets to cleanly close
them.
|
|
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
|
|
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.
|
|
So they don't clash with other VFS implementations.
|
|
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.
|
|
|
|
This prevents clients such as ampy, mpy-utils, etc getting confused by
extraneous data.
|
|
This is what the IDF does, it must be done.
|
|
|
|
|
|
WIFI_MODE_NULL is no longer supported by the ESP IDF, instead one must use
esp_wifi_start/esp_wifi_stop.
|
|
- 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.
|
|
|
|
|
|
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.
|
|
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.
|
|
Following the same addition to esp8266 port.
|
|
The ULP is available as esp32.ULP(). See README.ulp.md for basic usage.
|
|
WebREPL now works on the esp32 in the same way it does on esp8266.
|
|
|
|
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.
|
|
|
|
This makes way for enabling uos.dupterm().
|
|
Thanks to @bboser for the initial idea and implementation.
|
|
It's more efficient and improves accuracy.
|
|
|
|
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.
|
|
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.
|
|
This is instead of returning an empty bytes object, and matches how other
ports handle non-blocking UART read behaviour.
|
|
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.
|
|
The method returns a list of tuples representing the connected stations.
The first element of the tuple is the MAC address of the station.
|
|
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.
|
|
These ports are all capable of running uasyncio.
|
|
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.
|
|
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.
|
|
This update requires a new ESP32 toolchain: 1.22.0-80-g6c4433a-5.2.0.
|
|
|
|
Based on testing, this is how the mapping should be.
|
|
|
|
The machine.Pin class is also updated to support these wake-on-pin
features.
|
|
The machine.RTC class is added and the machine module is updated with the
implementation of sleep, deepsleep, reset_cause and wake_reason.
|
|
|
|
|
|
|