Skip to content

v2.0-preview

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 22 Aug 07:43
· 58 commits to main since this release
bb9e24a

What's changed:

Version 2.0 has significantly overhauled the structure of MicroHydra to enable multiplatform support, and added a few enhancements.
Here is an incomplete list of changes made:

  • Moved the contents of MicroHydra/ to src/
  • Added device definitions to devices/
  • Added tools/parse_files.py to help with writing device-specific code in src/
    • Replace 'magic' constants with device-specific values
    • Use conditional statements to include/exclude code by matching device name or features
    • Copying device-specific drivers from devices/
  • Added tools for automatically compiling .mpy and .bin files for each device
  • Rewrote st7789fbuf into display.st7789, which is now faster, and can also support a smaller memory framebuffer when needed
  • Partially rewrote the launcher (again) to use the new display driver, support multiple devices, and use more sensible raw bitmap icons
  • Rewrote keyboard.py and smartkeyboard.py into userinput, with device-agnostic keymaps, touchscreen support, and function-key locking.
  • Added battlevel.py
  • Added sdcard.py
  • Added hydra.color.py
  • Reworked mhconfig (now hydra.config)
  • Turned many classes into singletons to save memory and ease communication between them
  • Moved M5Sound.py to i2ssound.py
  • Added audio module for device-agnostic audio control
  • Added display module for device-agnostic display control
  • Added device module to allow multiplatform apps to access device configurations
  • Completely rewrote mhoverlay into hydra.popup with extended features and a simpler API
  • Added github actions for building firmware automatically

v2.x is also, unfortunately, less stable (currently, at least) than v1.x when run uncompiled with no psram. Using the .mpy version of the program (at least for the ram-hungry modules) fixes all these issues though, so this is not a big deal in my opinion.

Full Changelog: v1.1...v2.0-preview