From 82a00d305da5d4d6b8793d539b281df680ac78a6 Mon Sep 17 00:00:00 2001 From: Bertrand Lemasle Date: Sun, 5 Aug 2018 17:34:28 +1200 Subject: [PATCH] Fix gps & network powered count could go to 255 --- GpsTracker/Hardware.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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-- } }