Просмотр исходного кода

Increase conditions before bailing out because of a poor quality network

tags/v1.2.0
Bertrand Lemasle 7 лет назад
Родитель
Сommit
89fbf75373
3 измененных файлов: 15 добавлений и 12 удалений
  1. +8
    -7
      GpsTracker/Config.h
  2. +2
    -0
      GpsTracker/Logging.cpp
  3. +5
    -5
      GpsTracker/Network.cpp

+ 8
- 7
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



+ 2
- 0
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");
}
}


+ 5
- 5
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
}


Загрузка…
Отмена
Сохранить