IDE 2.5.8 VM 417 CHANGE LOG VM - Add dsp primitives: FFT, pitch detection and tone levels (thanks, Sam!) - Add I2S primitives to read from I2S microphones and output to I2S speakers (preliminary) - Change board name from "ESP32 STEAMakers AI" to "STEAMakers S3" - Fix: Allow SD card and TFT display to be used at the same time on Steamaker-S3 (thanks, Josep!) - Change name of STEAMakers S3 -> STEAMakers AI everywhere (including compiler flag and VM name) - Support for testing direct drawing to the Nezha TFT - Fix: Drop the leading slash from file names file/directory listing primitive (thanks, Sam!) - Fix: Make GC9A01 display show inverted colors when flag in library block set to true (thanks, Simon!) - Pin electron version in package.json and use that one in pack.sh - A few tweaks to STEAMakersAI board (default NeoPixel pin, etc.) - Fix: Allow WiFi to work when BLE is disabled (it was being disrupted by power saving feature) IDE - Fix: Make "update firmware" menu work for STEAMakers S3 - Fix: Make script copy-paste between browser tabs work again Libraries - Add Signal Processing library (thanks, Sam!) - Add I2S library - Allow Touch library to discover a second MPR121 at I2C address 91 or 92 (thanks, José!) - External WiFi: join on older AT firmware, hotspot DHCP, rx-first pins, recover from Stop (thanks, Sam!) - External WiFi: cover WiFi's primitive blocks and report the MAC in uppercase (thanks, Sam!) - External WiFi, External HTTP client: implement WiFi and HTTP client (thanks, Sam!) - External WiFi: send a static address only when all three fields are filled (thanks, Sam!) - External WiFi: stop forcing the module's transmit power to the minimum (thanks, Sam!) Examples - Add Signal Processing example - Add Vibration Spectrum example