@@ 227,7 227,7 @@ void setup() {
printf("Attach timers\r\n");
splashscreen = true;
- splashscreen_timer.attach(callback(&end_splashscreen), 2ms);
+ splashscreen_timer.attach(callback(&end_splashscreen), 5s);
rst.fall(&reset_irq);
printf("SETUP DONE\r\n");
@@ 238,6 238,8 @@ void end_splashscreen(void)
// print is forbidden here because we are in an ISR context here
//printf("End of splash screen CB\r\n");
splashscreen = false;
+ dsp->cls();
+ dsp->power_off();
}
void reset_irq_tmr(void)
@@ 256,6 258,7 @@ void reset(void)
printf("Reset connection to the main unit\n");
if (DigitalIn(HP_RST).read() == 0) {
byescreen_timer.detach(); // cancel a "poweroff", if any
+ splashscreen = false; // in case it still on
if (hp == NULL) {
printf("setup HP communication handler\r\n");
@@ 428,7 431,7 @@ void mainloop()
// shutdown
dsp->show_byescreen();
byescreen_timer.attach(callback(&shutdown), 2s);
- } else {
+ } else {
// display related commands
dsp->show(cmd.cmd, cmd.value, cmd.size);
}