display sensor values only once when button is clicked (physical or mqtt)
This commit is contained in:
parent
2a0dfd9fc3
commit
dfcbe7e081
@ -14,6 +14,7 @@
|
|||||||
#define BRIGHTNESS_NIGHT BRIGHTNESS_MIN
|
#define BRIGHTNESS_NIGHT BRIGHTNESS_MIN
|
||||||
#define BRIGHTNESS_DAY 11
|
#define BRIGHTNESS_DAY 11
|
||||||
#define SECONDS(value) value*1000
|
#define SECONDS(value) value*1000
|
||||||
|
#define DISPLAY_SENSOR_ITERATIONS 2
|
||||||
|
|
||||||
namespace Display {
|
namespace Display {
|
||||||
|
|
||||||
@ -28,10 +29,11 @@ namespace Display {
|
|||||||
}, []() {
|
}, []() {
|
||||||
drawColon(false);
|
drawColon(false);
|
||||||
});
|
});
|
||||||
Task tDisplaySensor(5*TASK_SECOND, 4, displayTemp, &ts, false, []() {
|
Task tDisplaySensor(5*TASK_SECOND, DISPLAY_SENSOR_ITERATIONS, displayTemp, &ts, false, []() {
|
||||||
tDisplayTime.disable();
|
tDisplayTime.disable();
|
||||||
return true;
|
return true;
|
||||||
}, []() {
|
}, []() {
|
||||||
|
tDisplaySensor.setIterations(DISPLAY_SENSOR_ITERATIONS);
|
||||||
tDisplayTime.enableDelayed(tDisplaySensor.getInterval());
|
tDisplayTime.enableDelayed(tDisplaySensor.getInterval());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -37,6 +37,7 @@ Task tReadBme(TASK_MINUTE, TASK_FOREVER, []() {
|
|||||||
Mqtt::publishBme280();
|
Mqtt::publishBme280();
|
||||||
if (abs(lastTemp - Bme::data.temp) > 0.2) {
|
if (abs(lastTemp - Bme::data.temp) > 0.2) {
|
||||||
lastTemp = Bme::data.temp;
|
lastTemp = Bme::data.temp;
|
||||||
|
Display::tDisplaySensor.setIterations(DISPLAY_SENSOR_ITERATIONS*2);
|
||||||
Display::tDisplaySensor.restart();
|
Display::tDisplaySensor.restart();
|
||||||
}
|
}
|
||||||
}, &ts);
|
}, &ts);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user