diff --git a/lib/obp60task/OBP60Extensions.cpp b/lib/obp60task/OBP60Extensions.cpp index a4d652b..5715b99 100644 --- a/lib/obp60task/OBP60Extensions.cpp +++ b/lib/obp60task/OBP60Extensions.cpp @@ -62,6 +62,7 @@ sdmmc_card_t *sdcard; bool hasSDCard = false; // Global vars +bool heartbeat = false; // Heartbeat indicator with two different states bool blinkingLED = false; // Enable / disable blinking flash LED bool statusLED = false; // Actual status of flash LED on/off bool statusBacklightLED = false;// Actual status of flash LED on/off @@ -459,7 +460,6 @@ void displayTrendLow(int16_t x, int16_t y, uint16_t size, uint16_t color){ // Show header informations void displayHeader(CommonData &commonData, bool symbolmode, GwApi::BoatValue *date, GwApi::BoatValue *time, GwApi::BoatValue *hdop){ - static bool heartbeat = false; static unsigned long usbRxOld = 0; static unsigned long usbTxOld = 0; static unsigned long serRxOld = 0; diff --git a/lib/obp60task/OBP60Extensions.h b/lib/obp60task/OBP60Extensions.h index 6e837eb..d619a64 100644 --- a/lib/obp60task/OBP60Extensions.h +++ b/lib/obp60task/OBP60Extensions.h @@ -38,6 +38,8 @@ extern bool hasSDCard; extern sdmmc_card_t *sdcard; #endif +extern bool heartbeat; + // Fonts declarations for display (#includes see OBP60Extensions.cpp) extern const GFXfont DSEG7Classic_BoldItalic16pt7b; extern const GFXfont DSEG7Classic_BoldItalic20pt7b; diff --git a/lib/obp60task/PageFourValues.cpp b/lib/obp60task/PageFourValues.cpp index 8eea92d..160d2f2 100644 --- a/lib/obp60task/PageFourValues.cpp +++ b/lib/obp60task/PageFourValues.cpp @@ -291,8 +291,15 @@ public: return PAGE_UPDATE; }; + + void leavePage(PageData &pageData) { + logger->logDebug(GwLog::LOG, "Leaving PageFourvalues"); + } + }; + + static Page *createPage(CommonData &common){ return new PageFourValues(common); }/** diff --git a/lib/obp60task/obp60task.cpp b/lib/obp60task/obp60task.cpp index 4c25e6f..7e1c2b2 100644 --- a/lib/obp60task/obp60task.cpp +++ b/lib/obp60task/obp60task.cpp @@ -973,12 +973,13 @@ void OBP60Task(GwApi *api){ epd->print("Here be dragons!"); epd->nextPage(); // Partial update (fast) } - else{ + else { if (lastPage != pageNumber){ - if (hasFRAM) fram.write(FRAM_PAGE_NO, pageNumber); // remember page for device restart + pages[lastPage].page->leavePage(pages[lastPage].parameters); // call page cleanup code + if (hasFRAM) fram.write(FRAM_PAGE_NO, pageNumber); // remember new page for device restart currentPage->setupKeys(); currentPage->displayNew(pages[pageNumber].parameters); - lastPage=pageNumber; + lastPage = pageNumber; } //call the page code LOG_DEBUG(GwLog::DEBUG,"calling page %d",pageNumber);