diff options
author | Stanley Huang <stanleyhuangyc@gmail.com> | 2015-09-19 16:18:01 +1000 |
---|---|---|
committer | Stanley Huang <stanleyhuangyc@gmail.com> | 2015-09-19 16:18:01 +1000 |
commit | 6eeb9120c5dd32b5d515a656421db4b405639447 (patch) | |
tree | eef14dbbea6d1989f225d33bf85935a68bd91c45 /libraries/OBD/OBD.cpp | |
parent | b8b89405a7fe4b373055217e17ba6c27c36705ad (diff) | |
download | 2021-arduino-obd-6eeb9120c5dd32b5d515a656421db4b405639447.tar.gz 2021-arduino-obd-6eeb9120c5dd32b5d515a656421db4b405639447.tar.bz2 2021-arduino-obd-6eeb9120c5dd32b5d515a656421db4b405639447.zip |
Minor update
Diffstat (limited to 'libraries/OBD/OBD.cpp')
-rw-r--r-- | libraries/OBD/OBD.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/libraries/OBD/OBD.cpp b/libraries/OBD/OBD.cpp index c28c1f2..4242cf3 100644 --- a/libraries/OBD/OBD.cpp +++ b/libraries/OBD/OBD.cpp @@ -426,37 +426,38 @@ bool COBD::getGPSData(GPS_DATA* gdata) for (p = s; *p; p++) { char c = *p; if (c == ',' || c == '>' || c <= 0x0d) { + long value = atol(s); switch (index) { case 0: - gdata->date = (uint32_t)atol(s); + gdata->date = (uint32_t)value; break; case 1: - gdata->time = (uint32_t)atol(s); + gdata->time = (uint32_t)value; break; case 2: - gdata->lat = atol(s); + gdata->lat = value; break; case 3: - gdata->lon = atol(s); + gdata->lon = value; break; case 4: - gdata->alt = atoi(s); + gdata->alt = value; break; case 5: - gdata->speed = atof(s); + gdata->speed = value; break; case 6: - gdata->heading = atoi(s); + gdata->heading = value; break; case 7: - gdata->sat = atoi(s); + gdata->sat = value; break; } index++; s = p + 1; } } - return index > 7; + return index >= 4; } #ifdef DEBUG |