From 2c9ebcc6a2055785208a28d4574aa660b33f1317 Mon Sep 17 00:00:00 2001 From: norbert-walter Date: Fri, 26 Apr 2024 16:30:10 +0200 Subject: [PATCH] Fix GPS info in head line --- lib/obp60task/OBP60Extensions.cpp | 8 ++++---- lib/obp60task/OBP60Extensions.h | 2 +- lib/obp60task/obp60task.cpp | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/obp60task/OBP60Extensions.cpp b/lib/obp60task/OBP60Extensions.cpp index af27212..1fe9a6a 100644 --- a/lib/obp60task/OBP60Extensions.cpp +++ b/lib/obp60task/OBP60Extensions.cpp @@ -219,7 +219,7 @@ void displayTrendLow(int16_t x, int16_t y, uint16_t size, uint16_t color){ } // Show header informations -void displayHeader(CommonData &commonData, GwApi::BoatValue *date, GwApi::BoatValue *time){ +void displayHeader(CommonData &commonData, GwApi::BoatValue *date, GwApi::BoatValue *time, GwApi::BoatValue *hdop){ static bool heartbeat = false; static unsigned long usbRxOld = 0; @@ -263,8 +263,8 @@ void displayHeader(CommonData &commonData, GwApi::BoatValue *date, GwApi::BoatVa if(commonData.status.usbRx != usbRxOld || commonData.status.usbTx != usbTxOld){ getdisplay().print("USB "); } - String acttime = formatValue(time, commonData).svalue; - if(commonData.config->getBool(commonData.config->useGPS) == true && date->valid == true){ + double gpshdop = formatValue(hdop, commonData).value; + if(commonData.config->getString(commonData.config->useGPS) != "off" && gpshdop > 1.0){ getdisplay().print("GPS"); } // Save old telegram counter @@ -421,7 +421,7 @@ void generatorGraphic(uint x, uint y, int pcolor, int bcolor){ int xb = x; // X position int yb = y; // Y position int t = 4; // Line thickness - + // Generator corpus with radius 45 getdisplay().fillCircle(xb, yb, 45, pcolor); getdisplay().fillCircle(xb, yb, 41, bcolor); diff --git a/lib/obp60task/OBP60Extensions.h b/lib/obp60task/OBP60Extensions.h index 6e73c55..add05ea 100644 --- a/lib/obp60task/OBP60Extensions.h +++ b/lib/obp60task/OBP60Extensions.h @@ -57,7 +57,7 @@ String xdrDelete(String input); // Delete xdr prefix from string void displayTrendHigh(int16_t x, int16_t y, uint16_t size, uint16_t color); void displayTrendLow(int16_t x, int16_t y, uint16_t size, uint16_t color); -void displayHeader(CommonData &commonData, GwApi::BoatValue *date, GwApi::BoatValue *time); // Draw display header +void displayHeader(CommonData &commonData, GwApi::BoatValue *date, GwApi::BoatValue *time, GwApi::BoatValue *hdop); // Draw display header SunData calcSunsetSunrise(GwApi *api, double time, double date, double latitude, double longitude, double timezone); // Calulate sunset and sunrise diff --git a/lib/obp60task/obp60task.cpp b/lib/obp60task/obp60task.cpp index a4423ed..45639db 100644 --- a/lib/obp60task/obp60task.cpp +++ b/lib/obp60task/obp60task.cpp @@ -410,6 +410,7 @@ void OBP60Task(GwApi *api){ GwApi::BoatValue *time = boatValues.findValueOrCreate("GPST"); // Load GpsTime GwApi::BoatValue *lat = boatValues.findValueOrCreate("LAT"); // Load GpsLatitude GwApi::BoatValue *lon = boatValues.findValueOrCreate("LON"); // Load GpsLongitude + GwApi::BoatValue *hdop = boatValues.findValueOrCreate("HDOP"); // Load GpsHDOP LOG_DEBUG(GwLog::LOG,"obp60task: start mainloop"); // Set start page @@ -559,8 +560,8 @@ void OBP60Task(GwApi *api){ getdisplay().fillRect(0, 0, getdisplay().width(), getdisplay().height(), bgcolor); // Clear display if (pages[pageNumber].description && pages[pageNumber].description->header){ //build some header and footer using commonData - getdisplay().fillScreen(bgcolor); // Clear display - displayHeader(commonData, date, time); // Sown header + getdisplay().fillScreen(bgcolor); // Clear display + displayHeader(commonData, date, time, hdop); // Sown header } // Call the particular page