From bb1a24e7b3a7288e8bdf03e486e2ae8f13b008d3 Mon Sep 17 00:00:00 2001 From: Priec Date: Thu, 13 Nov 2025 23:45:37 +0100 Subject: [PATCH] getting better --- semestralka1/main.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/semestralka1/main.cpp b/semestralka1/main.cpp index dc11213..8fbdfde 100644 --- a/semestralka1/main.cpp +++ b/semestralka1/main.cpp @@ -70,6 +70,8 @@ int main(void) { const char *bg_file = "background_dark_inverted.txt"; + bool need_redraw = false; + while (true) { if (serial_port.readable()) { memset(rx_buffer, 0, sizeof(rx_buffer)); @@ -80,24 +82,33 @@ int main(void) { strncpy(message, rx_buffer, sizeof(message) - 1); message_active = true; msg_timer.reset(); + + need_redraw = true; } } if (message_active && msg_timer.elapsed_time() > 1s) { message_active = false; memset(message, 0, sizeof(message)); + + need_redraw = true; } // if (message_active && msg_timer.elapsed_time() > 100ms) { // shift = (shift + 1) % 8; // } - if (anim_timer.elapsed_time() >= 400ms) { + if (anim_timer.elapsed_time() >= 900ms) { shift++; anim_timer.reset(); - draw_mask(bg_file, shift, message_active ? message : nullptr); + need_redraw = true; } + if (need_redraw) { + draw_mask(bg_file, shift, message_active ? message : nullptr); + need_redraw = false; + ThisThread::sleep_for(150ms); + } ThisThread::sleep_for(20ms); } }