From c2d1ca81d9bcc4b5a1fbf93e61af1db14a7e5158 Mon Sep 17 00:00:00 2001 From: Stanley Huang Date: Sun, 8 Nov 2020 23:23:06 +1100 Subject: Update PID range --- libraries/OBD2UART/OBD2UART.cpp | 5 +---- libraries/OBD2UART/OBD2UART.h | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/libraries/OBD2UART/OBD2UART.cpp b/libraries/OBD2UART/OBD2UART.cpp index 5f1dbd7..f5a1b58 100644 --- a/libraries/OBD2UART/OBD2UART.cpp +++ b/libraries/OBD2UART/OBD2UART.cpp @@ -319,8 +319,6 @@ bool COBD::getVIN(char* buffer, byte bufsize) bool COBD::isValidPID(byte pid) { - if (pid >= 0x7f) - return true; pid--; byte i = pid >> 3; byte b = 0x80 >> (pid & 0x7); @@ -442,10 +440,9 @@ bool COBD::init(OBD_PROTOCOLS protocol) stage = 3; // load pid map memset(pidmap, 0xff, sizeof(pidmap)); - for (byte i = 0; i < 4; i++) { + for (byte i = 0; i < 8; i++) { byte pid = i * 0x20; sprintf(buffer, "%02X%02X\r", dataMode, pid); - delay(10); write(buffer); delay(10); if (!receive(buffer, sizeof(buffer), OBD_TIMEOUT_LONG) || checkErrorMessage(buffer)) break; diff --git a/libraries/OBD2UART/OBD2UART.h b/libraries/OBD2UART/OBD2UART.h index 38688fa..4bf02fe 100644 --- a/libraries/OBD2UART/OBD2UART.h +++ b/libraries/OBD2UART/OBD2UART.h @@ -156,7 +156,7 @@ public: // occurrence of errors byte errors = 0; // bit map of supported PIDs - byte pidmap[4 * 4] = {0}; + byte pidmap[4 * 8] = {0}; protected: virtual char* getResponse(byte& pid, char* buffer, byte bufsize); virtual int receive(char* buffer, int bufsize, unsigned int timeout = OBD_TIMEOUT_SHORT); -- cgit v1.2.3