summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/lcd-16bit.c8
-rw-r--r--firmware/drivers/lcd-h100-remote.c8
-rw-r--r--firmware/drivers/lcd-h100.c8
-rw-r--r--firmware/drivers/lcd-recorder.c8
4 files changed, 20 insertions, 12 deletions
diff --git a/firmware/drivers/lcd-16bit.c b/firmware/drivers/lcd-16bit.c
index a4ae6cd..4ec9ddb 100644
--- a/firmware/drivers/lcd-16bit.c
+++ b/firmware/drivers/lcd-16bit.c
@@ -765,9 +765,11 @@ static void scroll_thread(void)
}
}
else {
- /* scroll forward the whole time */
- if (s->offset >= s->width)
- s->offset %= s->width;
+ /* pause at beginning of line */
+ if (s->offset >= s->width) {
+ s->offset = 0;
+ s->start_tick = current_tick + scroll_delay * 2;
+ }
}
lastmode = drawmode;
diff --git a/firmware/drivers/lcd-h100-remote.c b/firmware/drivers/lcd-h100-remote.c
index 33a8b37..98da427 100644
--- a/firmware/drivers/lcd-h100-remote.c
+++ b/firmware/drivers/lcd-h100-remote.c
@@ -1323,9 +1323,11 @@ static void scroll_thread(void)
}
}
else {
- /* scroll forward the whole time */
- if (s->offset >= s->width)
- s->offset %= s->width;
+ /* pause at beginning of line */
+ if (s->offset >= s->width) {
+ s->offset = 0;
+ s->start_tick = current_tick + scroll_delay * 2;
+ }
}
lastmode = drawmode;
diff --git a/firmware/drivers/lcd-h100.c b/firmware/drivers/lcd-h100.c
index ba959d2..739e4b2 100644
--- a/firmware/drivers/lcd-h100.c
+++ b/firmware/drivers/lcd-h100.c
@@ -1236,9 +1236,11 @@ static void scroll_thread(void)
}
}
else {
- /* scroll forward the whole time */
- if (s->offset >= s->width)
- s->offset %= s->width;
+ /* pause at beginning of line */
+ if (s->offset >= s->width) {
+ s->offset = 0;
+ s->start_tick = current_tick + scroll_delay * 2;
+ }
}
lastmode = drawmode;
diff --git a/firmware/drivers/lcd-recorder.c b/firmware/drivers/lcd-recorder.c
index 7e064b8..a292573 100644
--- a/firmware/drivers/lcd-recorder.c
+++ b/firmware/drivers/lcd-recorder.c
@@ -1065,9 +1065,11 @@ static void scroll_thread(void)
}
}
else {
- /* scroll forward the whole time */
- if (s->offset >= s->width)
- s->offset %= s->width;
+ /* pause at beginning of line */
+ if (s->offset >= s->width) {
+ s->offset = 0;
+ s->start_tick = current_tick + scroll_delay * 2;
+ }
}
lastmode = drawmode;