diff --git a/src/OBD2.cpp b/src/OBD2.cpp index 8fd329c..cf4760b 100644 --- a/src/OBD2.cpp +++ b/src/OBD2.cpp @@ -795,4 +795,16 @@ int OBD2Class::pidRead(uint8_t mode, uint8_t pid, void* data, int length) return 0; } +bool OBD2Class::ready() +{ + // make sure at least 60 ms have passed since the last response + unsigned long lastResponseDelta = millis() - _lastPidResponseMillis; + + if (lastResponseDelta < 60) { + return false; + } + + return true; +} + OBD2Class OBD2; diff --git a/src/OBD2.h b/src/OBD2.h index 0605763..69a6f97 100644 --- a/src/OBD2.h +++ b/src/OBD2.h @@ -133,6 +133,8 @@ class OBD2Class { int clearAllStoredDTC(); + bool ready(); + private: int supportedPidsRead();