Skip to content

v2.0

Compare
Choose a tag to compare
@github-actions github-actions released this 27 Aug 02:05
· 41 commits to main since this release
d3bafbc

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
  • Added fancydisplay module for extending graphics functionality
  • Created "getapps.py" for getting apps from the apps repo

RealClearwave also added kanji character support, and a terminal for running CLI programs.

And, previously, (in v1.1), h-david-a improved the files.py copy/paste functionality, and added 24h clock support to the launcher.

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.0...v2.0