Trying to figure this out, I got so tired of zzz's remaining on the screen from previous print calls, I just did this:
I'd be much obliged if someone could shorten this code up a bit!
void Hibernate(){
/*
Sleep mode, shows sleeping zzz's, rising and falling across the screen
waits for keypress to awaken
*/
srlcd.clear(); //clear screen and set cursor at home
while(key == NO_KEY){
srlcd.clear();
srlcd.print("Z");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("ZZ");
key = keypad.getKey();
delay(100);
srlcd.clear();
srlcd.print("Z");
key = keypad.getKey();
delay(100);
delay(2000); //breathe pause
}
Restart_Standby(); //reset display message for hibernate exit
}