3 // TODO everything below here is for future work...not critical for now.
5 DiagnosticRequestHandle diagnostic_request_malfunction_indicator_status(
6 DiagnosticShims* shims,
7 DiagnosticMilStatusReceived callback) {
8 // TODO request malfunction indicator light (MIL) status - request mode 1
9 // pid 1, parse first bit
12 DiagnosticRequestHandle diagnostic_request_vin(DiagnosticShims* shims,
13 DiagnosticVinReceived callback) {
16 DiagnosticRequestHandle diagnostic_request_dtc(DiagnosticShims* shims,
17 DiagnosticTroubleCodeType dtc_type,
18 DiagnosticTroubleCodesReceived callback) {
21 bool diagnostic_clear_dtc(DiagnosticShims* shims) {
24 DiagnosticRequestHandle diagnostic_enumerate_pids(DiagnosticShims* shims,
25 DiagnosticRequest* request, DiagnosticPidEnumerationReceived callback) {
26 // before calling the callback, split up the received bytes into 1 or 2 byte
27 // chunks depending on the mode so the final pid list is actual 1 or 2 byte PIDs
28 // TODO request supported PIDs - request PID 0 and parse 4 bytes in response