Reset settings via button

Hold button (config defaults to gpio 0) for 5 seconds to reset settings
This commit is contained in:
Spacehuhn 2021-01-10 23:22:29 +01:00
parent a559457dd9
commit 57e50ea65f
2 changed files with 18 additions and 4 deletions

View File

@ -46,6 +46,8 @@ Attack attack;
CLI cli;
DisplayUI displayUI;
simplebutton::Button* resetButton;
#include "wifi.h"
uint32_t autosaveTime = 0;
@ -151,6 +153,9 @@ void setup() {
// setup LED
led::setup();
// setup reset button
resetButton = new ButtonPullup(RESET_BUTTON);
}
void loop() {
@ -180,4 +185,13 @@ void loop() {
displayUI.setupLED();
#endif // ifdef HIGHLIGHT_LED
}
resetButton->update();
if (resetButton->holding(5000)) {
led::setMode(LED_MODE::SCAN);
settings::reset();
settings::save(true);
delay(1000);
led::setMode(LED_MODE::IDLE);
}
}

View File

@ -86,22 +86,22 @@ namespace led {
void setup() {
analogWriteRange(0xff);
#if defined(LED_DIGITAL) || defined(LED_RGB)
#if defined(LED_DIGITAL) || defined(LED_RGB)
if (LED_PIN_R < 255) pinMode(LED_PIN_R, OUTPUT);
if (LED_PIN_G < 255) pinMode(LED_PIN_G, OUTPUT);
if (LED_PIN_B < 255) pinMode(LED_PIN_B, OUTPUT);
#elif defined(LED_NEOPIXEL) || defined(LED_APA)
#elif defined(LED_NEOPIXEL) || defined(LED_APA)
strip.begin();
strip.setBrightness(LED_MODE_BRIGHTNESS);
strip.show();
#elif defined(LED_MY9291)
#elif defined(LED_MY9291)
myled.setChannel(LED_MY92_CH_R, 0);
myled.setChannel(LED_MY92_CH_G, 0);
myled.setChannel(LED_MY92_CH_B, 0);
myled.setChannel(LED_MY92_CH_BRIGHTNESS, LED_MODE_BRIGHTNESS);
myled.setState(true);
myled.update();
#endif // if defined(LED_DIGITAL) || defined(LED_RGB)
#endif // if defined(LED_DIGITAL) || defined(LED_RGB)
}
void update() {