Skip to content

Picoware - v2.0.0

Latest

Choose a tag to compare

@jblanked jblanked released this 10 Jul 19:32
b9c995b

This is an update to the MicroPython version that adds USB video streaming to your computer with a desktop viewer, an embedded JavaScript engine with JS modules (draw, wifi, http, and more) runnable within Picoware (Library -> Scripts), a ~27% FPS boost on PicoCalc from southbridge and LCD optimizations, and an mp3player app!

Changelog:

  • Added mjs C module with
    • draw, storage, time, log, pin, http, system, input, wifi, settings, uart, and math JS modules
    • a JS MicroPython class (picoware.system.js) with run and exec methods to execute a string or load a script from storage
    • a menu option in the Library section called Scripts that lists .js files in picoware/scripts/* and executes them on-click (with the result logged)
  • Added usb_video C module that sends frames over USB when connected:
    • USBVideoStream class (picoware.system.usb)
    • USB Stream toggle in settings (Library -> Settings)
    • Python GUI to view the stream (python tools/usb_video_viewer.py)
  • Increased system FPS on PicoCalc by about 27% (from 23.82 to 30.30 on the Pico2W in our tests):
    • increased southbridge baudrate from 10 to 100
    • doubled LCD chunk size
  • Updated audio driver to expose AudioInfo class (picoware.system.audio.AudioInfo) and correct mp3 seeking
  • Added load_module method to AppLoader class for testing in ThonnyIDE
  • Updated engine driver with the latest Pico Game Engine updates
  • Fixed the updating functionality to correctly skip installation if back button is pressed
  • Added content_length and download_speed properties to HTTP class and updated the Loading class to draw those details if an HTTP instance is passed to Loading.animate
  • Updated the Python Editor to save apps in the correct folder (picoware/apps/). This ensures that after apps are created they are available in Library -> Applications
  • Updated Simulator (@Slasher006):
    • latest libraries (http, websocket, mp3)
    • copy __init__.py files when copying apps
    • update audio handoff
  • Added Floating Orbs screensaver
  • Added VibesMP app (@Slasher006)
  • Updated LVGL initialization to set the MCU frequency to the default if active
  • Updated all C modules to check if the instance is NULL in finalisers
  • Fixed slow directory creation (PicoCalc) by detecting uninitialized directory sectors and adding bulk FAT-sector scanning