Merge pilot into master (stable) release Change log below IDE 1.2.5, VM 175 IDE - Remove support for installing firmware on M5StickC, M5StickC+, and M5Atom-Matrix (one can still build and install firmware on these boards using PlatformIO) Examples - Update examples to use latest Tone library - Tweak Online Clock example Translations - Update Catalan translation - Update Chinese translation (thanks, Wenjie!) IDE 1.2.4, VM 175 IDE - Make built-in Library folders translatable - Make "update firmware" recognize Clue boards with the latest uf2 bootloader (0.7.0) - Fix: Safari crashes MicroBlocks when you try to get help on a block and popups are blocked Boardie - Filter out user-prefs in file ops VM - Make digital write work even on pins that are doing PWM - Make primI2cWrite accept a string, as well as a list or byte array Libraries - Add touch screen lib to "Other" folder - Add start/stop tone blocks to Tone library to allow support applications like a touch-based piano - Tweak touch event mechanism in Touch (MPR121) library. - Tweaks to MakerBit and HyperDuino libraries - Rename library: MP3 Player (DFRobot, Octopus) -> MP3 Player - Rename library: 16x2 DFRobot LCD (1602 I2C) -> LCD Display - Move System folder into Other folder - Rename "Graphics" folder -> "Graphics and Displays" Translations - Update Catalan translation IDE 1.2.3, VM 174 IDE - Fix: Resave script to board when changing an operator from block menu (e.g.changing "+" to "-" - Fix: Slider position not updated when file dialog box is resized Boardie - Add - Allow Boardie to read temp files from a URL - Fix: In Safari, reset button made the canvas transparent, so use fillRect rather than clearRect. - Fix: Boardie reset button should clear virtual LED display - Fix: Restore code to remember boardie position in Safari (it somehow got dropped from the dev branch) - Fix: Make Boardie reset button do a startAll, like the reset button on a real board - Use base64url encoding in Boardie code URL's VM - Fix: Make Pico:ed digital read work on pins 0-3 - Allow pseudoterminal connection to Gnublocks via ssh - Switch to standard platformio board defs for BBCmicrobitV2 and adafruit_clue_nrf52840 - Clear the display before drawing huge pixels to clear any graphics drawn by the TFT library. - Add primitives for scaled 8-bit bitmap drawing (like the ones in Boardie) - Cap bitmap scale at [1,8] - Fix: Allow reading analog pin 10 on the micro:bit as either pin 10 (edge pin) or pin 6 (analog pin A6) Libraries - Add support for scaled 8-bit bitmap drawing - Make Encode Motor library to use active breaking for greater accuracy (not perfect, but much better)\ - Add mechanism to handle touch pin events to Touch (MPR121) library - Add wrapper functions to MakerBit library to use MakerBit touch pin numbers - Add "any" to MakerBit touch pin menu Translations - Updated Greek translations (thanks, Nikos!) IDE 1.2.2, VM 173 IDE - Ability to install Pico:ed firmware - Add get/put file support for Pico:ed Boardie - Tweak to support clear screen in Safari - Fix: Run highlight caused performance issue when clicking within bounds of running script - Ensure that the Boardie microsecond() clock wraps at 32-bits as it does on real boards - Make Boardie millisecond clock track the microsecond clock VM - Add support for Pico:ed board - Simulate micro:bit LED display on Pico:ed board - Auto-detect difference between Pico:ed v1 and v2 boards - Add platformio entry for Lolin S2 min (thanks, José and Victor) - Fix: A long-running primitive (e.g. connecting to WiFi) could cause waits and "when" hats to hang for 71 minutes Libraries - Fix: Ultrasonic distance sensor sometimes gives false zero readings on sequential reads (due to lingering echos) - Removed unused "enable display" block from TFT library - Add "gray %" block to TFT library - Add support for scrolling text on Pico:ed display to "LED Display" library - Add "Encoder Motor" library (works with Makeblock's blue optical encoder motors) Translations - Tweak Chinese translation (thanks, Wenjie!) IDE 1.2.1, VM 172 IDE - Fix: Using the menu to change the A/B/A+B button hat should re-save script to the board. Same for editing the label of a broadcast hat Fix: Mouse up events are sometimes missed when editing LED display block Boardie - Load board code from URL using hash instead of url param - Fix: restore board position glitch in Safari - Fix: clear screen issue in Safari VM - Tweaks to servo and analogWrite on ESP32 boards: - Use all 16 ledc channels - Use 50 Hz for both servos and analogWrite so they can share timers - Don't use timer0 for a servo and analogWrite channel since that is used by Tone - Don't uninstall RMT driver if not installed to suppress ESP32 warning message - Call WiFi.disconnect() in primStopWiFi - Don't call setNoDelay() on ESP32 (gives error due to bug in Espressif code) - Preliminary support for Elecfreaks pico:ed v1 board (work in progress) - Added ESP32 Pico-D4 as a community supported board (i.e. users can build/install the firmware from source) Libraries - Fix: NeoPixel glitch in PicoBricks library IDE 1.2.0, VM 171 Major new feature: Boardie, a virtual board (webapp only) IDE - Fix: Keys 3 and 5 on number pad do not work in webapp - Fix: Mouse-over hints for Add Library button and zoom buttons are not translated - Fix: Change library dependency instructions to single-line strings to enable translation VM - Add MQTT support for Pico-W Libraries - Specify drawing position of bitmap in BMP library Examples - Added Snake game for TFT boards - Renamed Worm to "Snake (microbit)" - Fixed Jumpy Ball graphics Translations - Tweaks to Chinese translations (thanks, Wenjie!) Commit: f2582318d48426727d0266b5db9601b5b5795330 [f258231] Parents: 8c28541dce Author: John Maloney Date: December 8, 2022 at 7:44:45 AM EST IDE 1.1.91 Web app only Allow translations of "Add Library" and zoom button hints Allow transltion of library dependency instructions Fix: 3 and 5 keys on number keypad do not work in stand-alone apps IDE 1.1.90 Web app only Allow the web app to load a project from a .ubp file URL (e.g. a .ubp file stored on Github).