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

Committer:
foxdie
Date:
Tue Feb 19 22:28:25 2013 +0000
Revision:
2:1a2cb289f24d
Added initial list of known Arbitration IDs from the GMLAN Bible located at http://is.gd/gmlanbible - a project I am a curator of. Credit also due to TMK for his hard work too and the other developers who work tirelessly.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
foxdie 2:1a2cb289f24d 1 /*
foxdie 2:1a2cb289f24d 2 GMLAN_29bit.h - 29-Bit specific header file for GMLAN Library
foxdie 2:1a2cb289f24d 3
foxdie 2:1a2cb289f24d 4 GMLAN is a Controller Area Network Bus used in General Motors vehicles from
foxdie 2:1a2cb289f24d 5 roughly 2007-onwards. Its purpose is to allow various Electronic Control Units
foxdie 2:1a2cb289f24d 6 (aka ECUs) within a modern vehicle to share information and enact procedures.
foxdie 2:1a2cb289f24d 7
foxdie 2:1a2cb289f24d 8 An example of this would be communication between the HU (Head unit) and the
foxdie 2:1a2cb289f24d 9 DIC (Dashboard Information Cluster), when you adjust the volume up / down, this
foxdie 2:1a2cb289f24d 10 is reported to the cluster to be displayed.
foxdie 2:1a2cb289f24d 11
foxdie 2:1a2cb289f24d 12 It is the function of this library to "crack open" this world to allow anyone
foxdie 2:1a2cb289f24d 13 with only as little as a few hours of C++ programming under their belt to get
foxdie 2:1a2cb289f24d 14 started in what can sometimes seem a daunting world.
foxdie 2:1a2cb289f24d 15
foxdie 2:1a2cb289f24d 16 Jason Gaunt, 18th Feb 2013
foxdie 2:1a2cb289f24d 17 */
foxdie 2:1a2cb289f24d 18
foxdie 2:1a2cb289f24d 19 #ifndef GMLAN_29BIT_H
foxdie 2:1a2cb289f24d 20 #define GMLAN_29BIT_H
foxdie 2:1a2cb289f24d 21
foxdie 2:1a2cb289f24d 22 /* Known 29-Bit Arbitration IDs - periodically updated from the GMLAN Bible located at
foxdie 2:1a2cb289f24d 23 this address: http://is.gd/gmlanbible - credit to the authors on their changelog */
foxdie 2:1a2cb289f24d 24 #define GMLAN_ARBID_SYSTEM_POWER_MODE 0x1
foxdie 2:1a2cb289f24d 25 #define GMLAN_ARBID_SYSTEM_POWER_MODE_BACKUP 0x2
foxdie 2:1a2cb289f24d 26 #define GMLAN_ARBID_EASY_KEY_DISPLAY_COMMANDS 0x3
foxdie 2:1a2cb289f24d 27 #define GMLAN_ARBID_RFA_FUNCTION 0x4
foxdie 2:1a2cb289f24d 28 #define GMLAN_ARBID_TIRE_PRESSURE_STATUS_LS 0x5
foxdie 2:1a2cb289f24d 29 #define GMLAN_ARBID_MODULE_SUBSTITUTION_STATUS 0x6
foxdie 2:1a2cb289f24d 30 #define GMLAN_ARBID_ROLLOVER_STATUS 0x8
foxdie 2:1a2cb289f24d 31 #define GMLAN_ARBID_INFOTAINMENT_OPERATION_ALLOWED 0x9
foxdie 2:1a2cb289f24d 32 #define GMLAN_ARBID_TPM_DISPLAY_COMMANDS 0xA
foxdie 2:1a2cb289f24d 33 #define GMLAN_ARBID_PLATFORM_IMMOBILIZER_DATA 0xB
foxdie 2:1a2cb289f24d 34 #define GMLAN_ARBID_PLATFORM_IMMOBILIZER_PASSWORD 0xC
foxdie 2:1a2cb289f24d 35 #define GMLAN_ARBID_VEH_SECURITY_DISPLAY_COMMANDS 0xD
foxdie 2:1a2cb289f24d 36 #define GMLAN_ARBID_POWERTRAIN_IMMOBILIZER_DATA 0xE
foxdie 2:1a2cb289f24d 37 #define GMLAN_ARBID_CHIME_COMMAND 0xF
foxdie 2:1a2cb289f24d 38 #define GMLAN_ARBID_CHIME_STATUS 0x10
foxdie 2:1a2cb289f24d 39 #define GMLAN_ARBID_DIMMING_INFORMATION 0x11
foxdie 2:1a2cb289f24d 40 #define GMLAN_ARBID_VIN_DIGITS_2_TO_9 0x12
foxdie 2:1a2cb289f24d 41 #define GMLAN_ARBID_VIN_DIGITS_10_TO_17 0x13
foxdie 2:1a2cb289f24d 42 #define GMLAN_ARBID_HS_DEVICE_INFORMATION 0x14
foxdie 2:1a2cb289f24d 43 #define GMLAN_ARBID_AUTO_OCCUPANT_SENSING_ENABLED 0x16
foxdie 2:1a2cb289f24d 44 #define GMLAN_ARBID_DISPLAY_MEASUREMENT_SYSTEM 0x17
foxdie 2:1a2cb289f24d 45 #define GMLAN_ARBID_BATTERY_VOLTAGE 0x18
foxdie 2:1a2cb289f24d 46 #define GMLAN_ARBID_ROLLOVER_SENSING_ENABLED 0x19
foxdie 2:1a2cb289f24d 47 #define GMLAN_ARBID_DRIVER_DOOR_STATUS 0x1B
foxdie 2:1a2cb289f24d 48 #define GMLAN_ARBID_PASSENGER_DOOR_STATUS 0x1C
foxdie 2:1a2cb289f24d 49 #define GMLAN_ARBID_LEFT_REAR_DOOR_STATUS 0x1D
foxdie 2:1a2cb289f24d 50 #define GMLAN_ARBID_RIGHT_REAR_DOOR_STATUS 0x1E
foxdie 2:1a2cb289f24d 51 #define GMLAN_ARBID_PERS_LIGHT_LOCK_STATUS 0x1F
foxdie 2:1a2cb289f24d 52 #define GMLAN_ARBID_PERS_LIGHT_LOCK_REQUEST 0x20
foxdie 2:1a2cb289f24d 53 #define GMLAN_ARBID_LIGHTING_STATUS 0x21
foxdie 2:1a2cb289f24d 54 #define GMLAN_ARBID_ENHANCED_SERVICES_REQUEST 0x22
foxdie 2:1a2cb289f24d 55 #define GMLAN_ARBID_PROGRAMMING_EVENT_REQUESTS 0x23
foxdie 2:1a2cb289f24d 56 #define GMLAN_ARBID_EXPORT_MODULE_STATUS 0x24
foxdie 2:1a2cb289f24d 57 #define GMLAN_ARBID_TRANSMISSION_GEAR_INFORMATION 0x25
foxdie 2:1a2cb289f24d 58 #define GMLAN_ARBID_FUEL_INFORMATION 0x26
foxdie 2:1a2cb289f24d 59 #define GMLAN_ARBID_VEHICLE_ODO_BRK_WASH_LEVEL 0x27
foxdie 2:1a2cb289f24d 60 #define GMLAN_ARBID_VEHICLE_SPEED_INFORMATION 0x28
foxdie 2:1a2cb289f24d 61 #define GMLAN_ARBID_ENGINE_INFORMATION_1 0x29
foxdie 2:1a2cb289f24d 62 #define GMLAN_ARBID_AUTO_HIGH_BEAM_STATUS 0x2A
foxdie 2:1a2cb289f24d 63 #define GMLAN_ARBID_DOOR_LOCK_COMMAND 0x2B
foxdie 2:1a2cb289f24d 64 #define GMLAN_ARBID_DRIVER_DOOR_LOCK_SWITCH_STATUS 0x2C
foxdie 2:1a2cb289f24d 65 #define GMLAN_ARBID_PASS_DOOR_LOCK_SWITCH_STATUS 0x2D
foxdie 2:1a2cb289f24d 66 #define GMLAN_ARBID_BRAKE_AND_CRUISE_CONTROL_STATUS 0x2F
foxdie 2:1a2cb289f24d 67 #define GMLAN_ARBID_REAR_CLOSURE_STATUS 0x30
foxdie 2:1a2cb289f24d 68 #define GMLAN_ARBID_ENGINE_INFORMATION_3 0x32
foxdie 2:1a2cb289f24d 69 #define GMLAN_ARBID_ENGINE_INFORMATION_2 0x37
foxdie 2:1a2cb289f24d 70 #define GMLAN_ARBID_REMOTE_START_STATUS 0x38
foxdie 2:1a2cb289f24d 71 #define GMLAN_ARBID_REAR_CLOSURE_RELEASE_SWITCH 0x39
foxdie 2:1a2cb289f24d 72 #define GMLAN_ARBID_MEMORY_SWITCH_STATUS 0x3C
foxdie 2:1a2cb289f24d 73 #define GMLAN_ARBID_OCCUPANT_PROTECTION_SYCH 0x3D
foxdie 2:1a2cb289f24d 74 #define GMLAN_ARBID_WINDOW_MOTION_REQUEST 0x40
foxdie 2:1a2cb289f24d 75 #define GMLAN_ARBID_MIRROR_MOVEMENT_REQUEST 0x41
foxdie 2:1a2cb289f24d 76 #define GMLAN_ARBID_PERS_DRIVER_POSITION_STATUS 0x42
foxdie 2:1a2cb289f24d 77 #define GMLAN_ARBID_PERS_DRIVER_POSITION_REQUEST 0x43
foxdie 2:1a2cb289f24d 78 #define GMLAN_ARBID_PERS_CHIME_STATUS 0x44
foxdie 2:1a2cb289f24d 79 #define GMLAN_ARBID_PERS_CHIME_REQUEST 0x45
foxdie 2:1a2cb289f24d 80 #define GMLAN_ARBID_ROLLOVER_SENSOR_IDENTIFIER 0x48
foxdie 2:1a2cb289f24d 81 #define GMLAN_ARBID_AUTO_OCCUPANT_SENSOR_IDENTIFIER 0x4A
foxdie 2:1a2cb289f24d 82 #define GMLAN_ARBID_DRIVER_IDENTIFIER_LS 0x50
foxdie 2:1a2cb289f24d 83 #define GMLAN_ARBID_LEVELING_AND_SUSPENSION_STATUS 0x51
foxdie 2:1a2cb289f24d 84 #define GMLAN_ARBID_GPS_DATE_AND_TIME 0x53
foxdie 2:1a2cb289f24d 85 #define GMLAN_ARBID_TIME_OF_DAY 0x54
foxdie 2:1a2cb289f24d 86 #define GMLAN_ARBID_GPS_GEOGRAPHICAL_POSITION 0x55
foxdie 2:1a2cb289f24d 87 #define GMLAN_ARBID_GPS_ELEVATION_AND_HEADING 0x56
foxdie 2:1a2cb289f24d 88 #define GMLAN_ARBID_REAR_SEATBELT_STATUS 0x58
foxdie 2:1a2cb289f24d 89 #define GMLAN_ARBID_STEERING_WHEEL_ANGLE 0x5B
foxdie 2:1a2cb289f24d 90 #define GMLAN_ARBID_CLIMATE_CONTROL 0x60
foxdie 2:1a2cb289f24d 91 #define GMLAN_ARBID_OUTSIDE_AIR_TEMP_CORRECTED 0x61
foxdie 2:1a2cb289f24d 92 #define GMLAN_ARBID_ANTILOCK_BRAKE_AND_TC_STATUS 0x62
foxdie 2:1a2cb289f24d 93 #define GMLAN_ARBID_CLIMATE_CONTROL_GENERAL_STATUS_2 0x64
foxdie 2:1a2cb289f24d 94 #define GMLAN_ARBID_STEERING_WHEEL_CONTROL_SWITCHES 0x68
foxdie 2:1a2cb289f24d 95 #define GMLAN_ARBID_REAR_CLIMATE_CONTROL_STATUS 0x6A
foxdie 2:1a2cb289f24d 96 #define GMLAN_ARBID_RR_CLIMATE_CONTROL_RMT_COMMAND 0x6B
foxdie 2:1a2cb289f24d 97 #define GMLAN_ARBID_HEAD_UP_DISPLAY_STATUS 0x6D
foxdie 2:1a2cb289f24d 98 #define GMLAN_ARBID_ALARM_CLOCK_STATUS_LS 0x70
foxdie 2:1a2cb289f24d 99 #define GMLAN_ARBID_CLIMATE_CONTROL_BUTTONS 0x71
foxdie 2:1a2cb289f24d 100 #define GMLAN_ARBID_LEFT_CLIMATE_CONTROL_TEMP_DIAL 0x72
foxdie 2:1a2cb289f24d 101 #define GMLAN_ARBID_RIGHT_CLIMATE_CONTROL_TEMP_DIAL 0x73
foxdie 2:1a2cb289f24d 102 #define GMLAN_ARBID_CLIMATE_CONTROL_EXTENDED_STATUS 0x75
foxdie 2:1a2cb289f24d 103 #define GMLAN_ARBID_PERS_PARKING_ASSIST_REQ 0x8B
foxdie 2:1a2cb289f24d 104 #define GMLAN_ARBID_PERS_PARKING_ASSIST_STATUS 0x8C
foxdie 2:1a2cb289f24d 105 #define GMLAN_ARBID_PARKING_ASSISTANCE_STATUS 0x8D
foxdie 2:1a2cb289f24d 106 #define GMLAN_ARBID_PARK_ASSIST_REAR_DISTANCE 0x8E
foxdie 2:1a2cb289f24d 107 #define GMLAN_ARBID_PARK_ASSIST_FRONT_DISTANCE 0x8F
foxdie 2:1a2cb289f24d 108 #define GMLAN_ARBID_AIRBAG_IMPACT_DATA 0x90
foxdie 2:1a2cb289f24d 109 #define GMLAN_ARBID_AIRBAG_IMPACT_DATA_1 0x94
foxdie 2:1a2cb289f24d 110 #define GMLAN_ARBID_AIRBAG_IMPACT_DATA_2 0x95
foxdie 2:1a2cb289f24d 111 #define GMLAN_ARBID_AIRBAG_IMPACT_DATA_3 0x96
foxdie 2:1a2cb289f24d 112 #define GMLAN_ARBID_AIRBAG_IMPACT_DATA_4 0x97
foxdie 2:1a2cb289f24d 113 #define GMLAN_ARBID_AIRBAG_INDICATIONS 0x98
foxdie 2:1a2cb289f24d 114 #define GMLAN_ARBID_MEMORY_RECALL_IMPACT_DISABLE 0x99
foxdie 2:1a2cb289f24d 115 #define GMLAN_ARBID_ENG_TRANS_OIL_LIFE_RESET_REQ 0x9A
foxdie 2:1a2cb289f24d 116 #define GMLAN_ARBID_AOS_CONNECTION 0x9C
foxdie 2:1a2cb289f24d 117 #define GMLAN_ARBID_DIGITAL_AUDIO_RECEIVER_STATUS 0x9D
foxdie 2:1a2cb289f24d 118 #define GMLAN_ARBID_REAR_SEAT_ENTERTAINMENT_STATUS 0x9E
foxdie 2:1a2cb289f24d 119 #define GMLAN_ARBID_PERS_MIRROR_TILT_STATUS 0xA0
foxdie 2:1a2cb289f24d 120 #define GMLAN_ARBID_PERS_MIRROR_TILT_REQ 0xA1
foxdie 2:1a2cb289f24d 121 #define GMLAN_ARBID_PERS_WINDOW_LOCKOUT_STATUS 0xA2
foxdie 2:1a2cb289f24d 122 #define GMLAN_ARBID_PERS_WINDOW_LOCKOUT_REQ 0xA3
foxdie 2:1a2cb289f24d 123 #define GMLAN_ARBID_PERSONALIZATION_INFORMATION 0xA4
foxdie 2:1a2cb289f24d 124 #define GMLAN_ARBID_PHONE_STATUS 0x120
foxdie 2:1a2cb289f24d 125 #define GMLAN_ARBID_ADAPTIVE_CRUISE_DISPLAY 0x124
foxdie 2:1a2cb289f24d 126 #define GMLAN_ARBID_CONTENT_THEFT_SENSOR_DISABLE_REQ 0x12A
foxdie 2:1a2cb289f24d 127 #define GMLAN_ARBID_CONTENT_THEFT_SENSOR_STATUS 0x130
foxdie 2:1a2cb289f24d 128 #define GMLAN_ARBID_SOD_LEFT_STATUS 0x140
foxdie 2:1a2cb289f24d 129 #define GMLAN_ARBID_AUDIO_MASTER_AMPLIFIER_COMMAND 0x141
foxdie 2:1a2cb289f24d 130 #define GMLAN_ARBID_AUDIO_MASTER_AMPLIFIER_SETTING 0x142
foxdie 2:1a2cb289f24d 131 #define GMLAN_ARBID_AUDIO_MASTER_AMPLIFIER_MUTE 0x143
foxdie 2:1a2cb289f24d 132 #define GMLAN_ARBID_SOD_RIGHT_STATUS 0x144
foxdie 2:1a2cb289f24d 133 #define GMLAN_ARBID_AUDIO_MASTER_ARBITRATION_COMMAND 0x145
foxdie 2:1a2cb289f24d 134 #define GMLAN_ARBID_PHONE_DIAL_COMMAND_1 0x146
foxdie 2:1a2cb289f24d 135 #define GMLAN_ARBID_PHONE_DIAL_COMMAND_2 0x147
foxdie 2:1a2cb289f24d 136 #define GMLAN_ARBID_AUXILIARY_NAV_DATA_DISPLAY 0x148
foxdie 2:1a2cb289f24d 137 #define GMLAN_ARBID_AUDIO_MASTER_AMPLIFIER_CONTROL 0x149
foxdie 2:1a2cb289f24d 138 #define GMLAN_ARBID_REMOTE_CHANGER_COMMAND 0x14A
foxdie 2:1a2cb289f24d 139 #define GMLAN_ARBID_ADVANCED_REMOTE_RECEIVER_CONTROL 0x14B
foxdie 2:1a2cb289f24d 140 #define GMLAN_ARBID_VOICE_RECOGNITION_STATUS 0x14C
foxdie 2:1a2cb289f24d 141 #define GMLAN_ARBID_DRIVER_SEAT_TEMP_CONTROL 0x150
foxdie 2:1a2cb289f24d 142 #define GMLAN_ARBID_DRIVER_SEAT_TEMP_INDICATION 0x151
foxdie 2:1a2cb289f24d 143 #define GMLAN_ARBID_PASS_SEAT_TEMP_CONTROL 0x152
foxdie 2:1a2cb289f24d 144 #define GMLAN_ARBID_PASS_SEAT_TEMP_INDICATION 0x153
foxdie 2:1a2cb289f24d 145 #define GMLAN_ARBID_RR_LEFT_SEAT_TEMP_CONTROL 0x154
foxdie 2:1a2cb289f24d 146 #define GMLAN_ARBID_RR_LEFT_SEAT_TEMP_INDICATION 0x155
foxdie 2:1a2cb289f24d 147 #define GMLAN_ARBID_RR_RIGHT_SEAT_TEMP_CONTROL 0x156
foxdie 2:1a2cb289f24d 148 #define GMLAN_ARBID_RR_RIGHT_SEAT_TEMP_INDICATION 0x157
foxdie 2:1a2cb289f24d 149 #define GMLAN_ARBID_MEMORY_COMMAND 0x160
foxdie 2:1a2cb289f24d 150 #define GMLAN_ARBID_DRIVER_MIRROR_MOTION 0x168
foxdie 2:1a2cb289f24d 151 #define GMLAN_ARBID_PASENGER_MIRROR_MOTION 0x169
foxdie 2:1a2cb289f24d 152 #define GMLAN_ARBID_ARB_TEXT_DISPLAY_GEN_ATTRIBUTES 0x180
foxdie 2:1a2cb289f24d 153 #define GMLAN_ARBID_ARB_TEXT_DISPLAY_LINE_ATTRIBUTES 0x181
foxdie 2:1a2cb289f24d 154 #define GMLAN_ARBID_ARB_TEXT_REQ_SET_DISP_ICON 0x182
foxdie 2:1a2cb289f24d 155 #define GMLAN_ARBID_ARB_TEXT_DISPLAY_STATUS 0x183
foxdie 2:1a2cb289f24d 156 #define GMLAN_ARBID_ARB_TEXT_DISPLAY_MENU_ACTION 0x184
foxdie 2:1a2cb289f24d 157 #define GMLAN_ARBID_ARB_TEXT_REQ_SET_DISP_PARAMETERS 0x185
foxdie 2:1a2cb289f24d 158 #define GMLAN_ARBID_ARB_TEXT_REQ_SET_DISPLAY_TEXT 0x186
foxdie 2:1a2cb289f24d 159 #define GMLAN_ARBID_ARB_TEXT_REQ_DOWNLOAD_ICON_DATA 0x187
foxdie 2:1a2cb289f24d 160 #define GMLAN_ARBID_REAR_SEAT_AUDIO_STATUS 0x188
foxdie 2:1a2cb289f24d 161 #define GMLAN_ARBID_AUDIO_AMPLIFIER_STATUS 0x189
foxdie 2:1a2cb289f24d 162 #define GMLAN_ARBID_REAR_SEAT_AUDIO_COMMAND_1 0x18A
foxdie 2:1a2cb289f24d 163 #define GMLAN_ARBID_REMOTE_CHANGER_STATUS 0x18B
foxdie 2:1a2cb289f24d 164 #define GMLAN_ARBID_REMOTE_CHANGER_MEDIA_STATUS 0x18C
foxdie 2:1a2cb289f24d 165 #define GMLAN_ARBID_RSE_HEADPHONE_AUDIO_STATUS 0x18D
foxdie 2:1a2cb289f24d 166 #define GMLAN_ARBID_AUDIO_SOURCE_STATUS 0x18E
foxdie 2:1a2cb289f24d 167 #define GMLAN_ARBID_REMOTE_RECEIVER_STATUS 0x18F
foxdie 2:1a2cb289f24d 168 #define GMLAN_ARBID_ARB_TEXT_DISPLAY_ICON_ATTRIBUTES 0x190
foxdie 2:1a2cb289f24d 169 #define GMLAN_ARBID_VIDEO_SOURCE_DEVICE_STATUS 0x191
foxdie 2:1a2cb289f24d 170 #define GMLAN_ARBID_REMOTE_RECEIVER_CHANNEL_STATUS 0x192
foxdie 2:1a2cb289f24d 171 #define GMLAN_ARBID_REMOTE_RECEIVER_PRESET_INFO 0x193
foxdie 2:1a2cb289f24d 172 #define GMLAN_ARBID_REMOTE_RECEIVER_STATUS_2 0x194
foxdie 2:1a2cb289f24d 173 #define GMLAN_ARBID_TV_TUNER_STATUS 0x195
foxdie 2:1a2cb289f24d 174 #define GMLAN_ARBID_VIDEO_MASTER_ARB_COMMAND 0x196
foxdie 2:1a2cb289f24d 175 #define GMLAN_ARBID_REMOTE_RECEIVER_TV_STATION 0x197
foxdie 2:1a2cb289f24d 176 #define GMLAN_ARBID_REMOTE_RECEIVER_CONTROL 0x198
foxdie 2:1a2cb289f24d 177 #define GMLAN_ARBID_ONSTAR_VOICE_PROMPT_REQUEST 0x1B0
foxdie 2:1a2cb289f24d 178 #define GMLAN_ARBID_ONSTAR_MIN_DIGITS_1_15 0x1B1
foxdie 2:1a2cb289f24d 179 #define GMLAN_ARBID_ONSTAR_MIN_DIGITS_16_30 0x1B2
foxdie 2:1a2cb289f24d 180 #define GMLAN_ARBID_ONSTAR_VOICE_PROMPT_STATUS 0x1B3
foxdie 2:1a2cb289f24d 181 #define GMLAN_ARBID_COLUMN_LOCK_COMMAND 0x1F0
foxdie 2:1a2cb289f24d 182 #define GMLAN_ARBID_COLUMN_LOCK_STATUS 0x200
foxdie 2:1a2cb289f24d 183 #define GMLAN_ARBID_AIR_CONDITIONING_CONTROL 0x278
foxdie 2:1a2cb289f24d 184 #define GMLAN_ARBID_ALARM_CLOCK_REQUEST_2 0x802
foxdie 2:1a2cb289f24d 185
foxdie 2:1a2cb289f24d 186 #endif