Libraries to support working with GMLAN - General Motors CAN BUS network in most of their vehicles between 2007-present day. Please note this is a work in progress and not guaranteed to be correct, use at your own risk! Read commit logs / subscribe to see what has been added, it's a work in progress after all ;)
Diff: GMLAN_11bit.h
- Revision:
- 6:32592425aa57
- Parent:
- 4:486fec88517e
--- a/GMLAN_11bit.h Tue Mar 19 10:03:21 2013 +0000 +++ b/GMLAN_11bit.h Wed Apr 03 16:09:10 2013 +0000 @@ -19,6 +19,7 @@ #ifndef GMLAN_11BIT_H #define GMLAN_11BIT_H +// CAN IDs #define GMLAN_INITIAL_WAKE_UP_REQUEST 0x100 #define GMLAN_REQUEST_TO_ALL_NODES 0x101 #define GMLAN_DIAGNOSTIC_REQUEST 0x102 @@ -49,4 +50,42 @@ #define GMLAN_ECM_TO_EXTERNAL_OBD_TEST_EQUIPMENT 0x7E8 #define GMLAN_SPECIFIC_OBD_COMPLIANT_ECU_TO_EXTERNAL_OBD_TEST_EQUIPMENT 0x7E9 +// PCI byte +#define GMLAN_PCI_UNSEGMENTED 0x0 +#define GMLAN_PCI_SEGMENTED 0x1 +#define GMLAN_PCI_ADDITIONAL 0x2 +#define GMLAN_PCI_FLOW_CONTROL 0x3 + +// Service ID byte +#define GMLAN_SID_CLEAR_DTC 0x4 +#define GMLAN_SID_START_DIAG 0x10 +#define GMLAN_SID_REQ_FAIL_RECS 0x12 +#define GMLAN_SID_REQ_DID 0x1A +#define GMLAN_SID_RES_NORM_OP 0x20 +#define GMLAN_SID_REQ_PID 0x22 +#define GMLAN_SID_READ_ADDR 0x23 +#define GMLAN_SID_REQ_SEC_ACCESS 0x27 +#define GMLAN_SID_DSBL_NORM_OP 0x28 +#define GMLAN_SID_DEF_DPID_MSG 0x2C +#define GMLAN_SID_DEF_PID_BY_ADDR 0x2D +#define GMLAN_SID_DL_REQ 0x34 +#define GMLAN_SID_DATA_TRANS 0x36 +#define GMLAN_SID_WRITE_DID 0x3B +#define GMLAN_SID_TESTER_PRESENT 0x3E +#define GMLAN_SID_ERROR 0x7F +#define GMLAN_SID_REQ_PROG_STATE 0xA2 +#define GMLAN_SID_PROG_MODE 0xA5 +#define GMLAN_SID_READ_DTC 0xA9 +#define GMLAN_SID_REQ_DPID 0xAA +#define GMLAN_SID_REQ_CONTROL 0xAE + +// States of request +#define GMLAN_STATE_READY_TO_SEND 0x0 +#define GMLAN_STATE_SEND_DATA 0x1 +#define GMLAN_STATE_AWAITING_FC 0x2 +#define GMLAN_STATE_AWAITING_REPLY 0x3 +#define GMLAN_STATE_SEND_FC 0x4 +#define GMLAN_STATE_COMPLETED 0x5 +#define GMLAN_STATE_ERROR 0x6 + #endif \ No newline at end of file