瀏覽代碼

Do not wait the full time when no gsm signal can be found

tags/v1.2.0
Bertrand Lemasle 7 年之前
父節點
當前提交
f5b38feed3
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. +9
    -0
      GpsTracker/Network.cpp

+ 9
- 0
GpsTracker/Network.cpp 查看文件

@@ -12,6 +12,7 @@ namespace network {

SIM808RegistrationStatus waitForRegistered(uint32_t timeout) {
SIM808RegistrationStatus currentStatus;
uint8_t noNetwork = 0;

do {
currentStatus = hardware::sim808::device.getNetworkRegistrationStatus();
@@ -19,6 +20,14 @@ namespace network {

SIM808SignalQualityReport report = hardware::sim808::device.getSignalQuality();
VERBOSE_FORMAT("waitForRegistered", "%d, [%d %ddBm]", currentStatus.stat, report.ssri, report.attenuation);
if (report.ssri == 0) noNetwork++;
else noNetwork = 0;
if (noNetwork > 3) {
VERBOSE_MSG("waitForRegistered", "No signal");
break; //after a while, not network really means no network. Bailing out
}

mainunit::deepSleep(NETWORK_DEFAULT_INTERMEDIATE_TIMEOUT_MS / 1000);
timeout -= NETWORK_DEFAULT_INTERMEDIATE_TIMEOUT_MS;
} while (timeout > 1);


Loading…
取消
儲存