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 ;)

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