Tags: genielabs/homegenie-mini
Tags
feat(color-light): introduce compiled script engine and advanced 1D/2… …D effects Introduce a brand-new compiled bytecode scripting architecture and a suite of highly optimized, audio-reactive 1D/2D visual effects. New Features (Scripting & Compiler): - Implemented an on-the-fly, two-pass compiled binary bytecode script engine. - Drastically reduced runtime vector memory overhead (by over 70%) using the C++ Swap Trick to bypass the '-fno-exceptions' shrink_to_fit() no-op constraint. - Added advanced script syntax: abbreviated timestamps, 'ALL' wildcard, 2D coordinates (row:col), region offsets (+length / +width:height), and 'DEFAULT'/'CURRENT' commands supporting custom brightness scaling. - Added control-flow commands (#N, #REPEAT, #LOOP) and implemented a real-time safety guard to prevent freeze-inducing "catch-up loops" when resuming scripts. - Implemented automatic bounds swapping in the LED range renderer to support serpentine and flipped hardware layouts dynamically. New Features (Matrix Effects): - Added a suite of advanced, high-performance visual effects (matrix_rain, 3d_tunnel, fire, vortex, polar_lights, sun_radiation, waverly). - Enabled full master HSV adaptability across all effects, featuring custom color-swapping logic designed specifically for audio-reactive music modes. - Added procedural equalizers (geq, center_geq) that map master-extracted frequency amplitudes into vertical and radial particle explosions. Refactors & Bug Fixes: - Modularized the codebase by splitting all visual patterns into separate header files under a newly created 'fx/' directory. - Fixed a double-decoding bug in the HTTP web server handler by escaping '%' and '+' symbols inside raw POST payloads to prevent string corruption.
build: upgrade espressif32 platform to v7.0.1 and bump to v1.2.64 - Upgrade official espressif32 platform from 6.12.0 to 7.0.1 (Arduino Core 2.0.17) - Remove unused and commented-out custom_component_remove directives in platformio.ini - Update documentation comments regarding Pioarduino (Core 3.x) heap overhead (36-42K) - Bump version patch to 64 in version.h
**core**: - Upgraded to *espressif32 v6.12.0* **color-light firmware**: - Added `leds-mod` configuration option. If set to *true* a module for each LED pixel will be created to allow direct control of each LED pixel. - Fixed bug in the *Control.Toggle* command. - Fixed *AudioLight* flag persistency.
v1.2.59 - **Core UI**: Simplified `Activity` class structure; the rendering task is now managed by the `Dashboard`. - **Utilities**: Improved the `Utility::isNumeric` check for better accuracy and safety. - **Memory Management**: Replaced raw pointers for `QueuedMessage` objects with modern C++ smart pointers (`std::shared_ptr` and `std::make_shared`). This change fixes critical memory corruption bugs and significantly improves system stability.
v1.2.58 - Added support for ST7796 (320x480) display. - Added experimental *AutodetectDisplay* driver. - Implemented HTTP Basic Authentication in `NetHelper` (scripting) and the `CameraDisplay` activity. - Introduced `NetHelper.withCredentials(user, pass)` API for authentication. - Implemented response callback for API commands issued via terminal.
v1.2.57 - **New:** Dashboard activities are now configurable, allowing users to define the sequence and parameters of displayed activities via terminal settings. - **New:** Added system settings for screen saver timeout and display brightness, configurable via HomeGenie Panel and terminal. - **Fixed:** Resolved an issue in `AnalogClockActivity` for improved stability/accuracy. - **Fixed:** `CameraDisplayActivity` now correctly processes and displays custom HTTP JPEG image feed URLs.
PreviousNext