From 6bc833750df1afbd60ff08acb7e50bd6186d951a Mon Sep 17 00:00:00 2001 From: Bertrand Lemasle Date: Fri, 3 Aug 2018 20:11:18 +1200 Subject: [PATCH] Fixed bad use of constant. notifyFailures does not manage the state save of notified failures. --- GpsTracker/Core.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/GpsTracker/Core.cpp b/GpsTracker/Core.cpp index 48ae3b4..e20a8c6 100644 --- a/GpsTracker/Core.cpp +++ b/GpsTracker/Core.cpp @@ -28,7 +28,7 @@ namespace core { gps::preserveCurrentCoordinates(); } - notifyFailures(metadata); + alerts::add(notifyFailures(metadata)); alerts::clear(metadata); positions::doBackup(forceBackup); @@ -36,13 +36,12 @@ namespace core { mainunit::deepSleep(sleepTime); } - void notifyFailures(PositionEntryMetadata &metadata) { + uint8_t notifyFailures(PositionEntryMetadata &metadata) { uint8_t triggered = alerts::getTriggered(metadata); - uint8_t notified = 0; SIM808RegistrationStatus networkStatus; char buffer[SMS_BUFFER_SIZE] = "Alerts !\n"; - if (!triggered) return; + if (!triggered) return 0; network::powerOn(); networkStatus = network::waitForRegistered(NETWORK_DEFAULT_TOTAL_TIMEOUT_MS); @@ -53,18 +52,18 @@ namespace core { sprintf_P(buffer + strlen(buffer), PSTR(" - Battery at %d%%.\n"), metadata.batteryLevel); } - if (bitRead(triggered, ALERT_RTC_TEMPERATURE_FAILURE)) { - sprintf_P(buffer + strlen(buffer), PSTR(" - Temperature is %.2f°C. Backup battery failure ?\n"), metadata.batteryLevel); + if (bitRead(triggered, ALERT_RTC_FAILURE)) { + sprintf_P(buffer + strlen(buffer), PSTR(" - Temperature is %.2fC. Backup battery failure ?\n"), metadata.batteryLevel); } config_t* config = &config::main::value; if (!network::sendSms(config->contactPhone, buffer)) { NOTICE_MSG("notifyFailure", "SMS not sent !"); - return; + return 0; } - alerts::add(notified); //only add the successly notified failures - //TODO : network::powerOff(); count "handles" like for i2c ? + network::powerOff(); + return triggered; } void updateRtcTime() {