Das funktioniert gut, ein Burst und alle Telegramme hintereinander. Also am ePaper.isWaiting() call direkt kann es dann nicht liegen.
Debugausgaben eingebaut:
Code: Alles auswählen
void isWaiting(bool w) {
waiting = w;
DPRINT("s"); DDECLN(waiting);
}
bool isWaiting() {
DPRINT("g"); DDECLN(waiting);
return waiting;
}
Code: Alles auswählen
#ifdef BATTERY_MODE
if (hal.battery.critical()) {
hal.activity.sleepForever(hal);
}
if (ePaper.isWaiting() == false) {
hal.activity.savePower<Sleep<>>(hal);
}
else {
hal.activity.savePower<Idle<>>(hal);
}
//hal.activity.savePower<Idle<>>(hal);
Problem wie oben, viele Bursts, Display macht kein update
Code: Alles auswählen
g0
g0
s1
-> 1A 0A B0 11 67118C AAAA01 80 0B 02 12 40 70 30 33 54 65 78 74 31 61 20 30 31 - 15656
<- 0E 0A 80 02 AAAA01 67118C 01 0B 00 00 77 - 15777
g1
..
ca. 1400 mal g1
..
s0
g0
s1
-> 1A 15 B0 11 67118C AAAA01 80 0B 02 0A 0A 0A 0A 0A 12 40 70 30 33 54 65 78 74 - 16578
<- 0E 15 80 02 AAAA01 67118C 01 0B 00 00 77 - 16703
g1
..
ca. 1400 mal g1
..
s0
g0
g0
g0