diff --git a/main.cpp b/main.cpp index 7569ee0..26d3e12 100644 --- a/main.cpp +++ b/main.cpp @@ -192,6 +192,7 @@ inline static void printHelp(Serial* serial) "resume : resume sensor output.\n" "dump : Dump epprom.\n" "free : Show free ram.\n" + "display [on/off] : blank or unblank the display\n" "beep : Test buzzer.\n" "list : List sensors.\n")); } @@ -240,7 +241,10 @@ void serialDispatch(Serial* serial, SVector* sensors) display.setString("SET "); _delay_ms(1000); } - else serial->write_p(PSTR("usage: set [yyyy] [mm] [dd] [hh] [mm] [ss]\n")); + else + { + serial->write_p(PSTR("usage: set [yyyy] [mm] [dd] [hh] [mm] [ss]\n")); + } } else if(strcmp(token, "pause") == 0) { @@ -281,6 +285,38 @@ void serialDispatch(Serial* serial, SVector* sensors) serial->write(freeRAM()); serial->write_p(PSTR(" Bytes.\n")); } + else if(strcmp(token, "display") == 0) + { + char* on = strtok(NULL, " \n"); + if(on && strcmp(on, "on") == 0) + { + if(display.getBlank()) + { + serial->write_p(PSTR("Display unblanked\n")); + display.setBlank(false); + } + else + { + serial->write_p(PSTR("Display already unblanked\n")); + } + } + else if(on && strcmp(on, "off") == 0) + { + if(!display.getBlank()) + { + serial->write_p(PSTR("Display blanked\n")); + display.setBlank(true); + } + else + { + serial->write_p(PSTR("Display already blanked\n")); + } + } + else + { + serial->write_p(PSTR("usage: display [on/off]\n")); + } + } else if(strcmp(token, "beep") == 0) { serial->write_p(PSTR("Beeping\n"));