From f0261ac07dada88c46bc6bb74a55324425cfba9c Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 20 Jan 2016 13:20:49 +0100 Subject: reset display after receiving data --- src/display.cc | 8 ++++++++ src/display.h | 1 + src/system.cc | 1 + 3 files changed, 10 insertions(+) diff --git a/src/display.cc b/src/display.cc index 4b4c22d..0a64c18 100644 --- a/src/display.cc +++ b/src/display.cc @@ -86,6 +86,14 @@ void Display::multiplex() } } +void Display::reset() +{ + for (int i = 0; i < 8; i++) + disp_buf[i] = 0xff; + str_pos = 0; + char_pos = -1; +} + /* * Draws a single display column. This function should be called at least once * per millisecond. diff --git a/src/display.h b/src/display.h index 655ffa1..3eab2a8 100644 --- a/src/display.h +++ b/src/display.h @@ -15,6 +15,7 @@ class Display { void enable(void); void disable(void); void multiplex(void); + void reset(void); char string[128]; }; diff --git a/src/system.cc b/src/system.cc index 340615d..6c44a30 100644 --- a/src/system.cc +++ b/src/system.cc @@ -75,6 +75,7 @@ void System::loop() i = 0; } else if (modem_char == 0) { i = 0; + display.reset(); } } } -- cgit v1.2.3