Skip to content

Releases: echo-lalia/MicroHydra

v2.3

Version 2.2: Terminal overhaul and other enhancements

02 Oct 02:23
2bbf706
Compare
Choose a tag to compare

Enhancements:

  • Terminal has been overhauled

    • Separated some logic into separate modules/classes
    • Added partial ANSI color/style code support (Bold, underline, and basic colors are supported)
    • Colorized existing commands
    • Added some new commands (and made it easier to add more in the future)
    • Tweaked script running functionality
    • Added REPL functionality
  • 'getapps' built-in app has been improved

    • Added usage hint when catalog loads
    • Added unset WiFi settings warning (that also takes you to the settings app)
    • Apps are now in alphabetical order, and you can 'jump' to a letter using the keyboard, just like in the launcher.
  • Created DisplayCore module/class

    • Separated ST7789-specific, and general graphics methods into separate modules. Hopefully future display drivers can re-use these same graphics methods.
  • Added hydra.loader module, for easily passing information to MicroHydra's main.py

    • (Also modified main.py to use this module, for simplicity and consistency).
  • Modified UTF8 font making scripts - filled in missing UTF8 characters.

  • Added backlight/brightness controls to Display class.

  • Added brightness setting to config.json

  • Added global shortcut for changing display brightness. Improved existing volume and quit shortcuts.

  • Added bitmap conversion scripts.

  • Tweaked the icons for the built-in apps.


BREAKING CHANGES:

  • Some methods in the Display module have had their arguments made into keyword-only arguments




Full Changelog: v2.1...v2.2

v2.1

23 Sep 08:15
03e511e
Compare
Choose a tag to compare

BREAKING CHANGES:

  • Bin size has increased from 2mb to 3mb; you will need to erase/create a new file system to update from v2.0 to v2.1
  • Some library functions/methods that previously allowed keyword args to be given as positional args, will now only work as keyword args. (As far as I know, this isn't breaking any published MH apps, but could break some private apps.)

Major improvements:

  • Internationalization!
  • Full multilingual UTF8 font built in!
  • Some major improvements have been made to the code (a pyproject.toml has been added, and all builtin modules have been linted.)
  • Updated to MicroPython v1.23
  • Conditionals that are proccessed by parse_files.py are now commented out, rather than deleted.
  • Some small bugs have been fixed.

What's Changed

Full Changelog: v2.0...v2.1

v2.1-preview

03 Sep 23:38
e9d406a
Compare
Choose a tag to compare
v2.1-preview Pre-release
Pre-release

What's Changed

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

v2.0

27 Aug 02:05
d3bafbc
Compare
Choose a tag to compare

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

v2.0-preview

22 Aug 07:43
bb9e24a
Compare
Choose a tag to compare
v2.0-preview Pre-release
Pre-release

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

V1.1 - General enhancements

18 Aug 04:10
ab43be0
Compare
Choose a tag to compare

What's Changed

This should be the final release before merging the overhauled changes from the experimental-multiplatform branch, which is going to cause some stuff to break. Use this version if you need compatibility with MHv1 :)

New Contributors

Full Changelog: v1.0...v1.1

v1.0 - Launcher overhaul, enhancements, and bugfixes

15 Apr 06:38
4ee220a
Compare
Choose a tag to compare

Version 1.0 is here! 🎉
I've incremented to version 1.0 as I think it is unlikely for the core systems to undergo more major overhauls at this point. It had to hit version 1 some day :)

Overhaul launcher.py! (FINALLY)

  • overhauled scrolling graphics to use a framebuffer, now the statusbar and scrollbar don't blink out on scroll
  • broke code up into smaller functions to save memory (and make it easier to read!)
  • added quite a few constants to improve readability (and save ram!)
  • added custom 'st7789hybrid.py' for launcher-specific use
  • replaced bitmap icons with vector icons to save memory
  • added support for app icons

Added log output on launch failure to main.py
Improved copy/paste in Files app
Added 'smartkeyboard' to lib (which is now used by some built-in apps)
General bugfixes for HyDE

More:

New Contributors

Full Changelog: v0.10...v1.0

v0.10 - new settings, HydraMenu, MPv1.23

28 Mar 19:34
8b1ef87
Compare
Choose a tag to compare

WARNING: This release was made for MicroPython v1.23 (preview). Please update MicroPython if you encounter any issues.

What's Changed

  • added apptemplate
  • Create HydraMenu.py by @Gabriel-F-Sousa in #28
  • merge downstream updates to M5Sound by @Lana-chan in #29
  • Settings Overhaul
  • Improved indentation support for HyDE
  • Updated everything for MicroPython v1.23

v0.9 - file browser and text editor

15 Mar 01:09
8883b46
Compare
Choose a tag to compare

Created files.py and HyDE.py, modified main.py to allow multiple paths.

Also added new methods to mhoverlay which are used by the new text editor, and file browser.