display config write delay
This commit is contained in:
parent
8fb4304ae7
commit
c005764a0d
@ -1,5 +1,8 @@
|
|||||||
#include <EEPROM.h>
|
#include <EEPROM.h>
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "display.h"
|
||||||
|
|
||||||
|
#define WRITE_DELAY_MS (30 * 1000)
|
||||||
|
|
||||||
uint32_t calculateChecksum(Config *ptr);
|
uint32_t calculateChecksum(Config *ptr);
|
||||||
|
|
||||||
@ -11,6 +14,8 @@ Config config;
|
|||||||
|
|
||||||
bool dirty = false;
|
bool dirty = false;
|
||||||
|
|
||||||
|
bool notify = false;
|
||||||
|
|
||||||
unsigned long lastDirtyMillis = 0;
|
unsigned long lastDirtyMillis = 0;
|
||||||
|
|
||||||
void config_setup() {
|
void config_setup() {
|
||||||
@ -25,13 +30,20 @@ void config_set_dirty() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void config_loop() {
|
void config_loop() {
|
||||||
|
if (notify && millis() - lastDirtyMillis <= WRITE_DELAY_MS + 1000) {
|
||||||
|
notify = false;
|
||||||
|
display.set(0, 0, 255, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
if (!dirty) {
|
if (!dirty) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (millis() - lastDirtyMillis <= 30000) {
|
if (millis() - lastDirtyMillis <= 30000) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
dirty = false;
|
dirty = false;
|
||||||
|
notify = true;
|
||||||
|
|
||||||
uint32_t checksum = calculateChecksum(&config);
|
uint32_t checksum = calculateChecksum(&config);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user