From bbc76f884e9993f9e438929e16dbc5fa5e6d5bab Mon Sep 17 00:00:00 2001 From: Thomas Herrmann Date: Thu, 22 Feb 2024 23:41:14 +0100 Subject: [PATCH] add UI frame to display PaxCounter module data --- src/modules/esp32/PaxcounterModule.cpp | 21 +++++++++++++++++++++ src/modules/esp32/PaxcounterModule.h | 2 ++ 2 files changed, 23 insertions(+) diff --git a/src/modules/esp32/PaxcounterModule.cpp b/src/modules/esp32/PaxcounterModule.cpp index f3df7ffdf..98c5d7b38 100644 --- a/src/modules/esp32/PaxcounterModule.cpp +++ b/src/modules/esp32/PaxcounterModule.cpp @@ -87,4 +87,25 @@ int32_t PaxcounterModule::runOnce() } } +// TODO: Probably we could get this from Screen or other central class +#define FONT_SMALL ArialMT_Plain_10 +#define FONT_MEDIUM ArialMT_Plain_16 +#define FONT_LARGE ArialMT_Plain_24 + +void PaxcounterModule::drawFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y) +{ + char buffer[50]; + display->setTextAlignment(TEXT_ALIGN_LEFT); + display->setFont(FONT_SMALL); + display->drawString(x + 0, y + 0, "PAX"); + + libpax_counter_count(&count_from_libpax); + + display->setTextAlignment(TEXT_ALIGN_CENTER); + display->setFont(FONT_SMALL); + display->drawStringf(display->getWidth() / 2 + x, 0 + y + 12, + buffer, "WiFi: %d\nBLE: %d\nuptime: %ds", + count_from_libpax.wifi_count, count_from_libpax.ble_count, millis() / 1000); +} + #endif \ No newline at end of file diff --git a/src/modules/esp32/PaxcounterModule.h b/src/modules/esp32/PaxcounterModule.h index 0aa9be68d..7f741430b 100644 --- a/src/modules/esp32/PaxcounterModule.h +++ b/src/modules/esp32/PaxcounterModule.h @@ -23,6 +23,8 @@ class PaxcounterModule : private concurrency::OSThread, public ProtobufModule