From 5b4b8cf2f6610d254682112dcb807765a5f60685 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Fri, 13 Feb 2026 02:04:55 +0100 Subject: [PATCH] Blink arrow on RX (issue #146) --- App/bitmaps.c | 11 +++++++++++ App/bitmaps.h | 1 + App/ui/main.c | 24 ++++++++++++------------ 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/App/bitmaps.c b/App/bitmaps.c index fe860021..517e1b75 100644 --- a/App/bitmaps.c +++ b/App/bitmaps.c @@ -199,6 +199,17 @@ const uint8_t BITMAP_VFO_NotDefault[7] = 0b00001000 }; +const uint8_t BITMAP_VFO_Empty[7] = +{ + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000, + 0b00000000 +}; + const uint8_t BITMAP_compand[6] = { 0b00000000, diff --git a/App/bitmaps.h b/App/bitmaps.h index be10a970..9ddc6b18 100644 --- a/App/bitmaps.h +++ b/App/bitmaps.h @@ -38,6 +38,7 @@ extern const uint8_t BITMAP_NotReady[7]; extern const uint8_t BITMAP_Antenna[5]; extern const uint8_t BITMAP_VFO_Default[7]; extern const uint8_t BITMAP_VFO_NotDefault[7]; +extern const uint8_t BITMAP_VFO_Empty[7]; extern const uint8_t BITMAP_VFO_Lock[7]; extern const uint8_t BITMAP_PowerUser[3]; extern const uint8_t BITMAP_compand[6]; diff --git a/App/ui/main.c b/App/ui/main.c index 4c222927..631ff34a 100644 --- a/App/ui/main.c +++ b/App/ui/main.c @@ -273,24 +273,23 @@ void DisplayRSSIBar(const bool now) //sprintf(String, "%d", RxBlink); //UI_PrintStringSmallBold(String, 80, 0, RxLine); - /* if(RxLine >= 0 && center_line != CENTER_LINE_IN_USE) { - if (RxBlink == 0 || RxBlink == 1) { - UI_PrintStringSmallBold("RX", 8, 0, RxLine); - //GUI_DisplaySmallest("RX", 10, (RxLine * 8) + 1, false, true); + static bool clean = false; + uint8_t *p_line0 = gFrameBuffer[RxLine + 0]; - if (RxBlink == 1) RxBlink = 2; + clean = !clean; + + if(clean) { + for(uint8_t i = 0; i < sizeof(BITMAP_VFO_Default); i++) + p_line0[i] = (p_line0[i] & 0x80) | BITMAP_VFO_Default[i]; } else { - for (uint8_t i = 8; i < 24; i++) - { - gFrameBuffer[RxLine][i] = 0x00; - } - RxBlink = 1; + for(uint8_t i = 0; i < sizeof(BITMAP_VFO_Empty); i++) + p_line0[i] = (p_line0[i] & 0x80) | BITMAP_VFO_Empty[i]; } + ST7565_BlitLine(RxLine); } - */ #else const unsigned int line = 3; #endif @@ -809,8 +808,9 @@ void UI_DisplayMain(void) { if(RxOnVfofrequency == frequency && !isMainOnly()) { - UI_PrintStringSmallNormal(">>", 8, 0, line); + //UI_PrintStringSmallNormal(">>", 8, 0, line); //memcpy(p_line0 + 14, BITMAP_VFO_Default, sizeof(BITMAP_VFO_Default)); + GUI_DisplaySmallest(">>", 8, RxLine == 0 ? 1 : 33, false, true); } if(RxBlinkLed == 1)