WLED/usermods/usermod_v2_auto_save
Kevin Dorff 8e71c3ae17
Rotary Encoder, Four Line Display, and Auto Save Usermods (#1722)
* Ability to lookup Usermod by id so Usermods can use other Usermods.

* Rotary Encoder UI using two Usermods

* Updates. More to come, probably.

* Updated rotary usermod to honor USE_FOUR_LINE_DISPLAY if you want to use four line display. It should be truly optional, now.

* minor logic improvement to showing the current time in clock mode.

* improved 24 hour display foratting and ability to use the FourLineDisplayUsermod without the RotaryEncoderUIUsermod (option disable sleep and clock modes).

* Improved ordering of defines in the FourLineDisplayUsermod to put options people might need to change together toward the top.

* relocate plugins. add mention of the Wire requirement.

* usermod filenames changed, updating comment in const.h

* fix usermod locations.

* fix usermods_list to include changed folder.

* Improved for both usermods: install, config, and docs. Included sample platform_override.ini.

* Updated name of SDA and SCL defines for config of display

* update docs.

* Wrong year. Fixed.

* Fix youtube link, improve config of sleep/clock when the rotary usermod isn't installed.

* Minor fixes to four line display. Addition of Auto Save v2 usermod.

* Allow config for auto-save to set the preset number to use. Load preset at startup (so brightness is set correctly).

* Updated docs for Auto Save.

* Updated docs for Auto Save.

Co-authored-by: Kevin Dorff <kevin@macbookpro-kevin-wifi.local>
2021-02-09 17:15:43 +01:00
..
readme.md Rotary Encoder, Four Line Display, and Auto Save Usermods (#1722) 2021-02-09 17:15:43 +01:00
usermod_v2_auto_save.h Rotary Encoder, Four Line Display, and Auto Save Usermods (#1722) 2021-02-09 17:15:43 +01:00

Auto Save

v2 Usermod to automatically save settings to preset number AUTOSAVE_PRESET_NUM after a change to any of

  • brightness
  • effect speed
  • effect intensity
  • mode (effect)
  • palette

but it will wait for AUTOSAVE_SETTLE_MS milliseconds, a "settle" period in case there are other changes (any change will extend the "settle" window).

It will additionally load preset AUTOSAVE_PRESET_NUM at startup. during the first loop(). Reasoning below.

AutoSaveUsermod is standalone, but if FourLineDisplayUsermod is installed, it will notify the user of the saved changes.

Note: I don't love that WLED doesn't respect the brightness of the preset being auto loaded, so the AutoSaveUsermod will set the AUTOSAVE_PRESET_NUM preset in the first loop, so brightness IS honored. This means WLED will effectively ignore Default brightness and Apply N preset at boot when the AutoSaveUsermod is installed.

Installation

Copy and update the example platformio_override.ini.sample from the Rotary Encoder UI usermode folder to the root directory of your particular build. This file should be placed in the same directory as platformio.ini.

Define Your Options

  • USERMOD_AUTO_SAVE - define this to have this the Auto Save usermod included wled00\usermods_list.cpp
  • USERMOD_FOUR_LINE_DISLAY - define this to have this the Four Line Display mod included wled00\usermods_list.cpp - also tells this usermod that the display is available (see the Four Line Display usermod readme.md for more details)
  • AUTOSAVE_SETTLE_MS - Minimum time to wave before auto saving, defaults to 10000 (10s)
  • AUTOSAVE_PRESET_NUM - Preset number to auto-save to, auto-load at startup from, defaults to 99

PlatformIO requirements

No special requirements.

Note: the Four Line Display usermod requires the libraries U8g2 and Wire.

Change Log

2021-02

  • First public release