From 4bcce47c90dde417771d5cff504d584530487b10 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Wed, 13 Sep 2023 13:51:26 +0200 Subject: [PATCH] Updated stats rendering --- Display.h | 83 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/Display.h b/Display.h index 96dcb92..3a6e506 100644 --- a/Display.h +++ b/Display.h @@ -363,36 +363,66 @@ void draw_disp_area() { } else { if (!disp_ext_fb or bt_ssp_pin != 0) { if (radio_online && display_diagnostics) { - disp_area.fillRect(0,8,disp_area.width(),37, SSD1306_BLACK); - disp_area.setFont(SMALL_FONT); - disp_area.setTextColor(SSD1306_WHITE); - disp_area.setTextWrap(false); + disp_area.fillRect(0,8,disp_area.width(),37, SSD1306_BLACK); disp_area.fillRect(0,37,disp_area.width(),27, SSD1306_WHITE); + disp_area.setFont(SMALL_FONT); disp_area.setTextWrap(false); disp_area.setTextColor(SSD1306_WHITE); - disp_area.setCursor(1, 14); + disp_area.setCursor(1, 13); disp_area.print("On"); - disp_area.setCursor(1+12, 14); + disp_area.setCursor(13, 13); disp_area.print("@"); - disp_area.setCursor(1+12+1+6, 14); + disp_area.setCursor(20, 13); disp_area.printf("%.1fKbps", (float)lora_bitrate/1000.0); - disp_area.setCursor(2, 23); - disp_area.print("Channel Load"); + //disp_area.setCursor(31, 23-1); + disp_area.setCursor(2, 23-1); + disp_area.print("Airtime:"); - disp_area.setCursor(11, 33); + disp_area.setCursor(11, 33-1); if (total_channel_util < 0.099) { + //disp_area.printf("%.1f%%", total_channel_util*100.0); + disp_area.printf("%.1f%%", airtime*100.0); + } else { + //disp_area.printf("%.0f%%", total_channel_util*100.0); + disp_area.printf("%.0f%%", airtime*100.0); + } + disp_area.drawBitmap(2, 26-1, bm_hg_low, 5, 9, SSD1306_WHITE, SSD1306_BLACK); + + disp_area.setCursor(32+11, 33-1); + if (longterm_channel_util < 0.099) { + //disp_area.printf("%.1f%%", longterm_channel_util*100.0); + disp_area.printf("%.1f%%", longterm_airtime*100.0); + } else { + //disp_area.printf("%.0f%%", longterm_channel_util*100.0); + disp_area.printf("%.0f%%", longterm_airtime*100.0); + } + disp_area.drawBitmap(32+2, 26-1, bm_hg_high, 5, 9, SSD1306_WHITE, SSD1306_BLACK); + + + disp_area.setTextColor(SSD1306_BLACK); + disp_area.setCursor(2, 46); + disp_area.print("Channel"); + disp_area.setCursor(38, 46); + disp_area.print("Load:"); + + disp_area.setCursor(11, 57); + if (total_channel_util < 0.099) { + //disp_area.printf("%.1f%%", airtime*100.0); disp_area.printf("%.1f%%", total_channel_util*100.0); } else { + //disp_area.printf("%.0f%%", airtime*100.0); disp_area.printf("%.0f%%", total_channel_util*100.0); } - disp_area.drawBitmap(2, 26, bm_hg_low, 5, 9, SSD1306_WHITE, SSD1306_BLACK); + disp_area.drawBitmap(2, 50, bm_hg_low, 5, 9, SSD1306_BLACK, SSD1306_WHITE); - disp_area.setCursor(32+11, 33); + disp_area.setCursor(32+11, 57); if (longterm_channel_util < 0.099) { + //disp_area.printf("%.1f%%", longterm_airtime*100.0); disp_area.printf("%.1f%%", longterm_channel_util*100.0); } else { + //disp_area.printf("%.0f%%", longterm_airtime*100.0); disp_area.printf("%.0f%%", longterm_channel_util*100.0); } - disp_area.drawBitmap(32+2, 26, bm_hg_high, 5, 9, SSD1306_WHITE, SSD1306_BLACK); + disp_area.drawBitmap(32+2, 50, bm_hg_high, 5, 9, SSD1306_BLACK, SSD1306_WHITE); } else { if (device_signatures_ok()) { @@ -431,32 +461,7 @@ void draw_disp_area() { } if (radio_online) { - if (display_diagnostics) { - disp_area.fillRect(0,37,disp_area.width(),27, SSD1306_WHITE); - disp_area.setFont(SMALL_FONT); - disp_area.setTextColor(SSD1306_BLACK); - disp_area.setTextWrap(false); - - disp_area.setCursor(1+20+10, 37+3+7-3+1+1); - disp_area.print("Airtime"); - - disp_area.setCursor(11, 37+13+10-4+1); - if (total_channel_util < 0.099) { - disp_area.printf("%.1f%%", airtime*100.0); - } else { - disp_area.printf("%.0f%%", airtime*100.0); - } - disp_area.drawBitmap(2, 37+6+10-4+1, bm_hg_low, 5, 9, SSD1306_BLACK, SSD1306_WHITE); - - disp_area.setCursor(32+11, 37+13+10-4+1); - if (longterm_channel_util < 0.099) { - disp_area.printf("%.1f%%", longterm_airtime*100.0); - } else { - disp_area.printf("%.0f%%", longterm_airtime*100.0); - } - disp_area.drawBitmap(32+2, 37+6+10-4+1, bm_hg_high, 5, 9, SSD1306_BLACK, SSD1306_WHITE); - - } else { + if (!display_diagnostics) { disp_area.drawBitmap(0, 37, bm_online, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK); } } else {