summaryrefslogtreecommitdiff
path: root/src/system.cc
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2016-01-19 19:59:51 +0100
committerDaniel Friesel <derf@finalrewind.org>2016-01-19 19:59:51 +0100
commitabf69bd53f86300d263d3abeeae81a9e1c3cd5c0 (patch)
tree7936114f76c040ac3203a59641c3056b7e65e195 /src/system.cc
parentcd52b9a6b0272466f414ce4802ce50a0ec38dd29 (diff)
support scrolling arbitrary strings.
Diffstat (limited to 'src/system.cc')
-rw-r--r--src/system.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/system.cc b/src/system.cc
index 09c0f53..340615d 100644
--- a/src/system.cc
+++ b/src/system.cc
@@ -12,11 +12,10 @@
System rocket;
-extern volatile uint8_t disp[8];
-
void System::loop()
{
static uint8_t i = 0;
+ char modem_char;
// both buttons are pressed
if ((PINC & (_BV(PC3) | _BV(PC7))) == 0) {
// naptime!
@@ -70,9 +69,13 @@ void System::loop()
}
while (modem.buffer_available()) {
- disp[i++] = modem.buffer_get();
- if (i == 8)
+ modem_char = modem.buffer_get();
+ display.string[i++] = modem_char;
+ if (i == 127) {
+ i = 0;
+ } else if (modem_char == 0) {
i = 0;
+ }
}
}