diff options
-rw-r--r-- | README.mkd | 8 | ||||
-rw-r--r-- | src/obd2/obd2.h | 2 | ||||
-rw-r--r-- | tests/test_core.c | 17 |
3 files changed, 14 insertions, 13 deletions
@@ -37,8 +37,8 @@ With your shims in place, create a `DiagnosticShims` object to pass them around: DiagnosticShims shims = diagnostic_init_shims(debug, send_can, set_timer); -With your shims in hand, send a simple PID request to the stadnard broadcast -address, `0x7df`: +With your shims in hand, send a simple PID request to the standard broadcast +address, `0x7df` (we use the constant `OBD2_FUNCTIONAL_BROADCAST_ID` here): // Optional: This is your callback that will be called the response to your // diagnostic request is received. @@ -48,7 +48,7 @@ address, `0x7df`: DiagnosticRequestHandle handle = diagnostic_request_pid(&shims, DIAGNOSTIC_STANDARD_PID, // this is a standard PID request, not an extended or enhanced one - 0x7df, // the request is going out to the broadcast arbitration ID + OBD2_FUNCTIONAL_BROADCAST_ID, // the request is going out to the broadcast arbitration ID 0x2, // we want PID 0x2 response_received_handler); // our callback (optional, use NULL if you don't have one) @@ -97,7 +97,7 @@ If you want to do more besides PID requests on mode 0x1 and 0x22, there's a lower level API you can use. Here's how to make a mode 3 request to get DTCs. DiagnosticRequest request = { - arbitration_id: 0x7df, + arbitration_id: OBD2_FUNCTIONAL_BROADCAST_ID, mode: OBD2_MODE_EMISSIONS_DTC_REQUEST }; DiagnosticRequestHandle handle = diagnostic_request(&SHIMS, &request, NULL); diff --git a/src/obd2/obd2.h b/src/obd2/obd2.h index 7dfdb594..b301138c 100644 --- a/src/obd2/obd2.h +++ b/src/obd2/obd2.h @@ -5,6 +5,8 @@ #include <stdint.h> #include <stdbool.h> +#define OBD2_FUNCTIONAL_BROADCAST_ID 0x7df + #ifdef __cplusplus extern "C" { #endif diff --git a/tests/test_core.c b/tests/test_core.c index 51dff33f..b115c1c8 100644 --- a/tests/test_core.c +++ b/tests/test_core.c @@ -20,7 +20,7 @@ void response_received_handler(const DiagnosticResponse* response) { START_TEST (test_receive_wrong_arb_id) { DiagnosticRequest request = { - arbitration_id: 0x7df, + arbitration_id: OBD2_FUNCTIONAL_BROADCAST_ID, mode: OBD2_MODE_POWERTRAIN_DIAGNOSTIC_REQUEST }; DiagnosticRequestHandle handle = diagnostic_request(&SHIMS, &request, @@ -37,7 +37,7 @@ END_TEST START_TEST (test_send_diag_request_with_payload) { DiagnosticRequest request = { - arbitration_id: 0x7df, + arbitration_id: OBD2_FUNCTIONAL_BROADCAST_ID, mode: OBD2_MODE_POWERTRAIN_DIAGNOSTIC_REQUEST, payload: {0x12, 0x34}, payload_length: 2 @@ -59,7 +59,7 @@ END_TEST START_TEST (test_send_diag_request) { DiagnosticRequest request = { - arbitration_id: 0x7df, + arbitration_id: OBD2_FUNCTIONAL_BROADCAST_ID, mode: OBD2_MODE_EMISSIONS_DTC_REQUEST }; DiagnosticRequestHandle handle = diagnostic_request(&SHIMS, &request, @@ -89,8 +89,7 @@ END_TEST START_TEST (test_request_pid_standard) { - // TODO need a constant for the 7df broadcast functional request - uint16_t arb_id = 0x7df; + uint16_t arb_id = OBD2_MODE_POWERTRAIN_DIAGNOSTIC_REQUEST; DiagnosticRequestHandle handle = diagnostic_request_pid(&SHIMS, DIAGNOSTIC_STANDARD_PID, arb_id, 0x2, response_received_handler); @@ -111,7 +110,7 @@ END_TEST START_TEST (test_request_pid_enhanced) { - uint16_t arb_id = 0x7df; + uint16_t arb_id = OBD2_FUNCTIONAL_BROADCAST_ID; DiagnosticRequestHandle handle = diagnostic_request_pid(&SHIMS, DIAGNOSTIC_ENHANCED_PID, arb_id, 0x2, response_received_handler); @@ -132,7 +131,7 @@ END_TEST START_TEST (test_wrong_mode_response) { - uint16_t arb_id = 0x7df; + uint16_t arb_id = OBD2_FUNCTIONAL_BROADCAST_ID; DiagnosticRequestHandle handle = diagnostic_request_pid(&SHIMS, DIAGNOSTIC_ENHANCED_PID, arb_id, 0x2, response_received_handler); @@ -151,7 +150,7 @@ END_TEST START_TEST (test_handle_completed) { DiagnosticRequest request = { - arbitration_id: 0x7df, + arbitration_id: OBD2_FUNCTIONAL_BROADCAST_ID, mode: OBD2_MODE_POWERTRAIN_DIAGNOSTIC_REQUEST }; DiagnosticRequestHandle handle = diagnostic_request(&SHIMS, &request, @@ -185,7 +184,7 @@ END_TEST START_TEST (test_negative_response) { DiagnosticRequest request = { - arbitration_id: 0x7df, + arbitration_id: OBD2_FUNCTIONAL_BROADCAST_ID, mode: OBD2_MODE_POWERTRAIN_DIAGNOSTIC_REQUEST }; DiagnosticRequestHandle handle = diagnostic_request(&SHIMS, &request, |