August 26, 2021
This release of the Moddable SDK moves to ESP-IDF 4.3 from 4.2. Developers building for microcontrollers in the ESP32 family must update their ESP-IDF to use this release of the Moddable SDK. Details on how to update your ESP-IDF build are available for macOS, Windows, and Linux.
The ESP-IDF 4.3 has many changes. Here are some highlights for developers using the Moddable SDK:
- Latest stable release from Espressif
- Supports ESP32-S3 Beta SoC. This is supported in the Moddable SDK with the esp32s3 build target. (Let us know if you try this out on ESP32-S3 hardware!)
- FreeRTOS v10.2.0
- Over-The-Air updates no longer block for several seconds when starting (more information below)
If you have questions or comments about this update, the Moddable SDK in general, or using JavaScript for embedded development in general, please join us on our Discussions page on GitHub. Follow @moddabletech on Twitter to keep up with our latest releases and news.
- XS
- Metering support added for
TypedArray - Support for marshalling alien arrays across workers
- Metering support added for
- Modules
TextDecoderrejects overlong UTF-8 sequences- OTA module for ESP32 sets
OTA_WITH_SEQUENTIAL_WRITESto avoid erasing more blocks than required and blocking for several seconds when starting an update. (This uses an enhancement to the ESP-IDF contributed by Moddable) FileandPreferencemodules work in WebAssembly runtime (without persistence)- Wi-Fi module simulator implements access point mode (contributed by @wilberforce)
mDNSmodule adds debug logging ofadditionalsmDNSmodule performs case insensitive compares as required by the specification (fixes some failures)wificonnectionmodule supports alternate access points and ending connection attempts using newgetAPmessage- lwip
socketmodule on ESP32 joins multicast group on all active network interfaces - Remove unused
ca-subjectdata from TLS manifest #691 (fix by @gavrilyak)
- Examples
- New httpzip module and example shows how to serve static web site from a an embedded ZIP file, including compressed data and ETAG caching. Uses WebSocket for dynamic two-way communication. Based on an idea by @wilberforce, developed by @wilberforce with help from @phoddie.
- New Over-the-Air (OTA) Update example using OTA module for ESP32
- New continuous servo rotation example (contributed by @stc1988)
- New IR send and receive examples for ESP32 using RMT module (contributed by @stc1988)
- mDNS http server example publishes http service in addition to claiming name
- Digital monitor example fix to detect falling edges (fix by @Frida854)
- Documentation
- Update documentation on how
sdkconfigfiles are processed (contributed by @jparker324) - Removed unnecessary slashes in paths in ESP8266 documentation (fix by @danhellem)
- Update documentation on how
- TypeScript
- Declarations added for
RMTmodule (contributed by @stc1988) - Declarations added for
CRCmodule (contributed by @stc1988)
- Declarations added for