diff --git a/GpsTracker/Config.h b/GpsTracker/Config.h index 88d7ee8..c3bc7b7 100644 --- a/GpsTracker/Config.h +++ b/GpsTracker/Config.h @@ -24,15 +24,16 @@ Hard coded value for default sleep time between position acquisitions. Exprimed in seconds */ -#define SLEEP_DEFAULT_TIME_SECONDS 1800 -#define SLEEP_DEFAULT_INCREASE_THRESHOLD 3 +#define SLEEP_DEFAULT_TIME_SECONDS 1800 +#define SLEEP_DEFAULT_INCREASE_THRESHOLD 3 -#define GPS_DEFAULT_INTERMEDIATE_TIMEOUT_MS 10000 -#define GPS_DEFAULT_TOTAL_TIMEOUT_MS 180000 +#define GPS_DEFAULT_INTERMEDIATE_TIMEOUT_MS 10000 +#define GPS_DEFAULT_TOTAL_TIMEOUT_MS 180000 -#define NETWORK_DEFAULT_INTERMEDIATE_TIMEOUT_MS 6000 -#define NETWORK_DEFAULT_TOTAL_TIMEOUT_MS 180000 -#define NETWORK_DEFAULT_NO_NETWORK_TRIES 10 +#define NETWORK_DEFAULT_INTERMEDIATE_TIMEOUT_MS 6000 +#define NETWORK_DEFAULT_TOTAL_TIMEOUT_MS 180000 +#define NETWORK_DEFAULT_NO_NETWORK_QUALIRY_THRESHOLD 8 +#define NETWORK_DEFAULT_NO_NETWORK_TRIES 5 #pragma endregion diff --git a/GpsTracker/Logging.cpp b/GpsTracker/Logging.cpp index b1f8db3..b7c1d7d 100644 --- a/GpsTracker/Logging.cpp +++ b/GpsTracker/Logging.cpp @@ -10,6 +10,8 @@ namespace logging { if (Serial) { Serial.begin(LOG_SERIAL_SPEED); Log.begin(LOG_LEVEL, &Serial); + + Log.notice("Starting...\n"); } } diff --git a/GpsTracker/Network.cpp b/GpsTracker/Network.cpp index eff8c44..3acc65b 100644 --- a/GpsTracker/Network.cpp +++ b/GpsTracker/Network.cpp @@ -14,18 +14,18 @@ namespace network { VERBOSE("waitForRegistered"); SIM808RegistrationStatus currentStatus; - uint8_t noNetwork = 0; + uint8_t noReliableNetwork = 0; do { currentStatus = hardware::sim808::device.getNetworkRegistrationStatus(); if (isAvailable(currentStatus.stat)) break; SIM808SignalQualityReport report = hardware::sim808::device.getSignalQuality(); - VERBOSE_FORMAT("waitForRegistered", "%d, [%d %ddBm]", currentStatus.stat, report.ssri, report.attenuation); + NOTICE_FORMAT("waitForRegistered", "%d, [%d %ddBm]", currentStatus.stat, report.ssri, report.attenuation); - if (report.ssri == 0) noNetwork++; - else noNetwork = 0; - if (noNetwork > NETWORK_DEFAULT_NO_NETWORK_TRIES) { + if (report.ssri < NETWORK_DEFAULT_NO_NETWORK_QUALIRY_THRESHOLD) noReliableNetwork++; + else noReliableNetwork = 0; + if (noReliableNetwork > NETWORK_DEFAULT_NO_NETWORK_TRIES) { VERBOSE_MSG("waitForRegistered", "No signal"); break; //after a while, not network really means no network. Bailing out }