summaryrefslogtreecommitdiffstats
path: root/src/uds/uds.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/uds/uds.h')
-rw-r--r--src/uds/uds.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/uds/uds.h b/src/uds/uds.h
index 22ff36af..1546320e 100644
--- a/src/uds/uds.h
+++ b/src/uds/uds.h
@@ -87,7 +87,7 @@ void start_diagnostic_request(DiagnosticShims* shims,
* sent.
*/
DiagnosticRequestHandle diagnostic_request_pid(DiagnosticShims* shims,
- DiagnosticPidRequestType pid_request_type, uint16_t arbitration_id,
+ DiagnosticPidRequestType pid_request_type, uint32_t arbitration_id,
uint16_t pid, DiagnosticResponseReceived callback);
/* Public: Continue to send and receive a single diagnostic request, based on a
@@ -106,7 +106,7 @@ DiagnosticRequestHandle diagnostic_request_pid(DiagnosticShims* shims,
*/
DiagnosticResponse diagnostic_receive_can_frame(DiagnosticShims* shims,
DiagnosticRequestHandle* handle,
- const uint16_t arbitration_id, const uint8_t data[],
+ const uint32_t arbitration_id, const uint8_t data[],
const uint8_t size);
/* Public: Parse the entier payload of the reponse as a single integer.
@@ -145,6 +145,12 @@ void diagnostic_request_to_string(const DiagnosticRequest* request,
*/
float diagnostic_decode_obd2_pid(const DiagnosticResponse* response);
+/* Public: Returns true if the "fingerprint" of the two diagnostic messages
+ * matches - the arbitration_id, mode and pid (or lack of pid).
+ */
+bool diagnostic_request_equals(const DiagnosticRequest* ours,
+ const DiagnosticRequest* theirs);
+
#ifdef __cplusplus
}
#endif