commit
6a3ef2a2e4
@ -1,20 +1,17 @@
|
|||||||
# Auto Save
|
# Auto Save
|
||||||
|
|
||||||
v2 Usermod to automatically save settings
|
v2 Usermod to automatically save settings
|
||||||
to preset number AUTOSAVE_PRESET_NUM after a change to any of
|
to preset number AUTOSAVE_PRESET_NUM after a change to any of:
|
||||||
|
|
||||||
* brightness
|
* brightness
|
||||||
* effect speed
|
* effect speed
|
||||||
* effect intensity
|
* effect intensity
|
||||||
* mode (effect)
|
* mode (effect)
|
||||||
* palette
|
* palette
|
||||||
|
|
||||||
but it will wait for AUTOSAVE_SETTLE_MS milliseconds, a "settle"
|
but it will wait for AUTOSAVE_AFTER_SEC seconds,
|
||||||
period in case there are other changes (any change will
|
a "settle" period in case there are other changes (any change will extend the "settle" window).
|
||||||
extend the "settle" window).
|
|
||||||
|
|
||||||
It will additionally load preset AUTOSAVE_PRESET_NUM at startup.
|
It will additionally load preset AUTOSAVE_PRESET_NUM at startup during the first `loop()`.
|
||||||
during the first `loop()`. Reasoning below.
|
|
||||||
|
|
||||||
AutoSaveUsermod is standalone, but if FourLineDisplayUsermod is installed, it will notify the user of the saved changes.
|
AutoSaveUsermod is standalone, but if FourLineDisplayUsermod is installed, it will notify the user of the saved changes.
|
||||||
|
|
||||||
@ -29,9 +26,20 @@ This file should be placed in the same directory as `platformio.ini`.
|
|||||||
### Define Your Options
|
### Define Your Options
|
||||||
|
|
||||||
* `USERMOD_AUTO_SAVE` - define this to have this the Auto Save usermod included wled00\usermods_list.cpp
|
* `USERMOD_AUTO_SAVE` - define this to have this the Auto Save usermod included wled00\usermods_list.cpp
|
||||||
* `USERMOD_FOUR_LINE_DISPLAY` - 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_AFTER_SEC` - define the delay time after the settings auto-saving routine should be executed
|
||||||
|
* `AUTOSAVE_PRESET_NUM` - define the preset number used by autosave usermod
|
||||||
|
* `USERMOD_AUTO_SAVE_ON_BOOT` - define if autosave should be enabled on boot
|
||||||
|
* `USERMOD_FOUR_LINE_DISPLAY` - 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)
|
||||||
|
|
||||||
You can configure auto-save parameters using Usermods settings page.
|
Example to add in platformio_override:
|
||||||
|
-D USERMOD_AUTO_SAVE
|
||||||
|
-D AUTOSAVE_AFTER_SEC=10
|
||||||
|
-D AUTOSAVE_PRESET_NUM=100
|
||||||
|
-D USERMOD_AUTO_SAVE_ON_BOOT=true
|
||||||
|
|
||||||
|
You can also configure auto-save parameters using Usermods settings page.
|
||||||
|
|
||||||
### PlatformIO requirements
|
### PlatformIO requirements
|
||||||
|
|
||||||
|
@ -33,9 +33,23 @@ class AutoSaveUsermod : public Usermod {
|
|||||||
bool enabled = true;
|
bool enabled = true;
|
||||||
|
|
||||||
// configurable parameters
|
// configurable parameters
|
||||||
|
#ifdef AUTOSAVE_AFTER_SEC
|
||||||
|
uint16_t autoSaveAfterSec = AUTOSAVE_AFTER_SEC;
|
||||||
|
#else
|
||||||
uint16_t autoSaveAfterSec = 15; // 15s by default
|
uint16_t autoSaveAfterSec = 15; // 15s by default
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef AUTOSAVE_PRESET_NUM
|
||||||
|
uint8_t autoSavePreset = AUTOSAVE_PRESET_NUM;
|
||||||
|
#else
|
||||||
uint8_t autoSavePreset = 250; // last possible preset
|
uint8_t autoSavePreset = 250; // last possible preset
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USERMOD_AUTO_SAVE_ON_BOOT
|
||||||
|
bool applyAutoSaveOnBoot = USERMOD_AUTO_SAVE_ON_BOOT;
|
||||||
|
#else
|
||||||
bool applyAutoSaveOnBoot = false; // do we load auto-saved preset on boot?
|
bool applyAutoSaveOnBoot = false; // do we load auto-saved preset on boot?
|
||||||
|
#endif
|
||||||
|
|
||||||
// If we've detected the need to auto save, this will be non zero.
|
// If we've detected the need to auto save, this will be non zero.
|
||||||
unsigned long autoSaveAfter = 0;
|
unsigned long autoSaveAfter = 0;
|
||||||
|
@ -16,10 +16,16 @@ This file should be placed in the same directory as `platformio.ini`.
|
|||||||
### Define Your Options
|
### Define Your Options
|
||||||
|
|
||||||
* `USERMOD_ROTARY_ENCODER_UI` - define this to have this user mod included wled00\usermods_list.cpp
|
* `USERMOD_ROTARY_ENCODER_UI` - define this to have this user mod included wled00\usermods_list.cpp
|
||||||
* `USERMOD_FOUR_LINE_DISPLAY` - 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)
|
* `USERMOD_ROTARY_ENCODER_GPIO` - define the GPIO function (INPUT, INPUT_PULLUP, etc...)
|
||||||
|
* `USERMOD_FOUR_LINE_DISPLAY` - 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)
|
||||||
* `ENCODER_DT_PIN` - The encoders DT pin, defaults to 12
|
* `ENCODER_DT_PIN` - The encoders DT pin, defaults to 12
|
||||||
* `ENCODER_CLK_PIN` - The encoders CLK pin, defaults to 14
|
* `ENCODER_CLK_PIN` - The encoders CLK pin, defaults to 14
|
||||||
* `ENCODER_SW_PIN` - The encoders SW pin, defaults to 13
|
* `ENCODER_SW_PIN` - The encoders SW pin, defaults to 13
|
||||||
|
* `USERMOD_ROTARY_ENCODER_GPIO` - The GPIO functionality:
|
||||||
|
`INPUT_PULLUP` to use internal pull-up
|
||||||
|
`INPUT` to use pull-up on the PCB
|
||||||
|
|
||||||
### PlatformIO requirements
|
### PlatformIO requirements
|
||||||
|
|
||||||
|
@ -110,9 +110,13 @@ public:
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
pinMode(pinA, INPUT_PULLUP);
|
#ifndef USERMOD_ROTARY_ENCODER_GPIO
|
||||||
pinMode(pinB, INPUT_PULLUP);
|
#define USERMOD_ROTARY_ENCODER_GPIO INPUT_PULLUP
|
||||||
pinMode(pinC, INPUT_PULLUP);
|
#endif
|
||||||
|
pinMode(pinA, USERMOD_ROTARY_ENCODER_GPIO);
|
||||||
|
pinMode(pinB, USERMOD_ROTARY_ENCODER_GPIO);
|
||||||
|
pinMode(pinC, USERMOD_ROTARY_ENCODER_GPIO);
|
||||||
|
|
||||||
currentTime = millis();
|
currentTime = millis();
|
||||||
loopTime = currentTime;
|
loopTime = currentTime;
|
||||||
|
|
||||||
|
@ -278,9 +278,13 @@ public:
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
pinMode(pinA, INPUT_PULLUP);
|
#ifndef USERMOD_ROTARY_ENCODER_GPIO
|
||||||
pinMode(pinB, INPUT_PULLUP);
|
#define USERMOD_ROTARY_ENCODER_GPIO INPUT_PULLUP
|
||||||
pinMode(pinC, INPUT_PULLUP);
|
#endif
|
||||||
|
pinMode(pinA, USERMOD_ROTARY_ENCODER_GPIO);
|
||||||
|
pinMode(pinB, USERMOD_ROTARY_ENCODER_GPIO);
|
||||||
|
pinMode(pinC, USERMOD_ROTARY_ENCODER_GPIO);
|
||||||
|
|
||||||
loopTime = millis();
|
loopTime = millis();
|
||||||
|
|
||||||
currentCCT = (approximateKelvinFromRGB(RGBW32(col[0], col[1], col[2], col[3])) - 1900) >> 5;
|
currentCCT = (approximateKelvinFromRGB(RGBW32(col[0], col[1], col[2], col[3])) - 1900) >> 5;
|
||||||
|
@ -314,11 +314,13 @@
|
|||||||
#define E131_MAX_UNIVERSE_COUNT 12
|
#define E131_MAX_UNIVERSE_COUNT 12
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#define ABL_MILLIAMPS_DEFAULT 200
|
||||||
#ifndef ABL_MILLIAMPS_DEFAULT
|
#ifndef ABL_MILLIAMPS_DEFAULT
|
||||||
#define ABL_MILLIAMPS_DEFAULT 850 // auto lower brightness to stay close to milliampere limit
|
#define ABL_MILLIAMPS_DEFAULT 850 // auto lower brightness to stay close to milliampere limit
|
||||||
#else
|
#else
|
||||||
#if ABL_MILLIAMPS_DEFAULT < 250 // make sure value is at least 250
|
#if ABL_MILLIAMPS_DEFAULT == 0 // disable ABL
|
||||||
|
#elif ABL_MILLIAMPS_DEFAULT < 250 // make sure value is at least 250
|
||||||
|
#warning "make sure value is at least 250"
|
||||||
#define ABL_MILLIAMPS_DEFAULT 250
|
#define ABL_MILLIAMPS_DEFAULT 250
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
//#define WLED_DISABLE_ALEXA // saves 11kb
|
//#define WLED_DISABLE_ALEXA // saves 11kb
|
||||||
//#define WLED_DISABLE_BLYNK // saves 6kb
|
//#define WLED_DISABLE_BLYNK // saves 6kb
|
||||||
//#define WLED_DISABLE_HUESYNC // saves 4kb
|
//#define WLED_DISABLE_HUESYNC // saves 4kb
|
||||||
//#define WLED_DISABLE_INFRARED // saves 12kb
|
//#define WLED_DISABLE_INFRARED // saves 12kb, there is no pin left for this on ESP8266-01
|
||||||
#ifndef WLED_DISABLE_MQTT
|
#ifndef WLED_DISABLE_MQTT
|
||||||
#define WLED_ENABLE_MQTT // saves 12kb
|
#define WLED_ENABLE_MQTT // saves 12kb
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user