summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanley Huang <stanleyhuangyc@gmail.com>2020-11-08 23:23:06 +1100
committerStanley Huang <stanleyhuangyc@gmail.com>2020-11-08 23:23:06 +1100
commitc2d1ca81d9bcc4b5a1fbf93e61af1db14a7e5158 (patch)
tree293654743f58c5681cfc2b0d22ec2d54e5d0d5bd
parent5e7e97fe4363e9b371706807d31f79812db4cf68 (diff)
download2021-arduino-obd-c2d1ca81d9bcc4b5a1fbf93e61af1db14a7e5158.tar.gz
2021-arduino-obd-c2d1ca81d9bcc4b5a1fbf93e61af1db14a7e5158.tar.bz2
2021-arduino-obd-c2d1ca81d9bcc4b5a1fbf93e61af1db14a7e5158.zip
Update PID range
-rw-r--r--libraries/OBD2UART/OBD2UART.cpp5
-rw-r--r--libraries/OBD2UART/OBD2UART.h2
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);