diff --git a/GpsTracker/Hardware.cpp b/GpsTracker/Hardware.cpp index edc0f65..f612ce4 100644 --- a/GpsTracker/Hardware.cpp +++ b/GpsTracker/Hardware.cpp @@ -64,7 +64,7 @@ namespace hardware { void gpsPowerOff() { if (!device.powered()) { - networkPoweredCount = gpsPoweredCount = 0; + networkPoweredCount = gpsPoweredCount = 0; //just to be sure counts == 0 return; } @@ -74,7 +74,7 @@ namespace hardware { powerOffIfUnused(); } - gpsPoweredCount--; + if (gpsPoweredCount) gpsPoweredCount--; //avoid 255 if 0-- } void networkPowerOn() { @@ -89,10 +89,11 @@ namespace hardware { void networkPowerOff() { if (!device.powered()) { - networkPoweredCount = gpsPoweredCount = 0; + networkPoweredCount = gpsPoweredCount = 0; //just to be sure counts == 0 return; } + if (networkPoweredCount == 1) { VERBOSE("networkPowerOff"); device.disableGprs(); @@ -101,7 +102,7 @@ namespace hardware { powerOffIfUnused(); } - networkPoweredCount--; + if (networkPoweredCount) networkPoweredCount--; //avoid 255 if 0-- } }