Moddable SDK 3.6.0
This release contains changes to the Moddable SDK made between December 1, 2022 and January 2, 2023
Highlights of this release include:
- Git repositories may now be included directly in project manifests – no more manually cloning repositories
- View debug traces in your development terminal instead of xsbug – great for headless development
- New development boards – M5Atom S3 and Adafruit ESP32-S3 TFT Feather
- New sensors – APDS9301 (ambient light), VL6180 (proximity and ambient light), HC-SR04 (proximity)
- ECMA-419 TLS client
- Server Sent Events support using standard Web
EventSource
API
If you have questions or suggestions about anything here, drop by our Gitter to chat, start a new Discussion on our GitHub repository, or contact us on Twitter at @moddabletech.
Preview of New Tool to Manage Moddable SDK Set-up
We've been working with the xs-dev project to make it easier to install and update the Moddable SDK. xs-dev automates the install and update of the Moddable SDK and embedded toolchains, so you don't have to follow the instructions yourself. It saves a lot of time and eliminates potential mistakes.
We hope to soon recommend xs-dev as the best way to manage your Moddable SDK set-up. Before we do that, we'd like some more developers to give it a try. We're interested in hearing about what worked, what could be easier to understand, and anything that went wrong. If you have a few minutes, take a look and give it a try. We're particularly interested in set-up on machines that have never had the Moddable SDK installed before. Thank you!
- ECMA-419
- New APDS9301 Ambient Light sensor driver and examples for use with interrupt and polling.
- New VL6180 time-of-flight Proximity and Ambient Light sensor driver and example. (Requested by @mshioji who provided initial testing and debugging help. Thank you.)
- New HC-SR04 ultrasonic Proximity sensor driver and example
- TLS client socket implementation
- HTTPS client socket implementation (combines TLS and HTTP clients)
fetch
API implementation supports HTTPS- Experimental new Pulse Width input I/O class. Implemented on ESP32 for use by HC-SR04 ultrasonic range sensor
- Implementation of Web EventSource API to receive Server Sent Events using ECMA-419 HTTP & HTTPS
- FT6206 constructor uses
sensor
instead ofi2c
to match all other sensors
- Tools
- Project manifests may now include remote Git repositories. The repository is automatically cloned by
mcconfig
andmcrun
when building. Details and examples in the Manifest documentation. - Option to redirect debug console output to the terminal rather than to xsbug. See documentation on
-l
option for set-up instructions. Supported on builds for simulator and ESP32 builds on all platforms. - ESP8266 build on Windows build supports
-x
option (@ralphwetzel) - First run of xsbug on Linux doesn't throw on missing preferences file #981 (reported by @tve)
- Don't filter in xsbug's "find lost file" dialog on Linux #988 (reported by @tve)
- Output more version information on ESP32 build for diagnostics (#996)
- Linux build sets the shell to
/bin/dash
to avoid issues with echo newline interpretation in other shells #979 (reported by @tve) - Check for ESP-IDF install by looking for
idf.py
instead of an environment variable (more reliable). (Reported by @ralphwetzel)
- Project manifests may now include remote Git repositories. The repository is automatically cloned by
- Devices
- Support for Adafruit ESP32-S3 TFT Feather
- Support for M5Atom S3 with new atoms3-imu example (contributed by @kitazaki)
- ESP32 port updated to use latest ESP-IDF defines for watchdog
- Modules
AudioOut
andMixer
classes provide properties to getsamplerate
,streams
,bitPerSample
andnumChannels
AudioOut
on ESP32 clears output on stop to avoid glitch on restart- Optimize BLE client GATT dispatch and look-up; reduce GC impact
- Fix OneWire build on ESP32-C3 (#996)
- Correct st127x driver name to sx127x #990 (reported by @tve)
- Allow version 13 in sx127x driver #990 (reported by @tve)
- XS
- Fixes for issues found with fuzzing (thank you @Agoric)
- xst optimizations to improve fuzzing performance
- Simplify memory management
JSON.parse
andJSON.stringify
for easier clean-up on exception
- Examples
- Audio Streaming example now streams SBC compressed audio in addition to WAVE
- New audio playback example from resource, using Audio Streaming API. (contributed by @meganetaaan)
- CLI example updates for ESP32
- Dueling light sensors example, to compare readings from two different light sensors
- Documentation
- Add list of supported ESP32-S3 development boards (contributed by @stc1988)
- Table of all sensors and drivers, with links to data sheets. (contributed by @Sineos)
- Correct errors in tools examples #997 (reported by @nickthiru)
- Update URLs for tools download to use GitHub links to support xs-dev