[{'frame_id': 344,
'name': 'ENGINE_DATA',
'nodes': ['PCM'],
'signals': [signal('XMISSION_SPEED', 7, 16, 'big_endian', False, 0.01, 0, 0, 250, 'kph', False, None, None, None),
signal('ENGINE_RPM', 23, 16, 'big_endian', False, 1, 0, 0, 15000, 'rpm', False, None, None, None),
signal('XMISSION_SPEED2', 39, 16, 'big_endian', False, 0.01, 0, 0, 250, 'kph', False, None, None, None),
signal('ODOMETER', 55, 8, 'big_endian', False, 0.010588, 0, 0, 255, 'km', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, None, None)]},
{'frame_id': 380,
'name': 'POWERTRAIN_DATA',
'nodes': ['PCM'],
'signals': [signal('PEDAL_GAS', 7, 8, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, None),
signal('ENGINE_RPM', 23, 16, 'big_endian', False, 1, 0, 0, 15000, 'rpm', False, None, None, None),
signal('GAS_PRESSED', 39, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('ACC_STATUS', 38, 1, 'big_endian', False, 1, 0, 0, 1, 'rpm', False, None, None, None),
signal('BOH_17C', 37, 5, 'big_endian', False, 1, 0, 0, 1, 'rpm', False, None, None, None),
signal('BRAKE_SWITCH', 32, 1, 'big_endian', False, 1, 0, 0, 1, 'rpm', False, None, None, None),
signal('BOH2_17C', 47, 10, 'big_endian', False, 1, 0, 0, 1, 'rpm', False, None, None, None),
signal('BRAKE_PRESSED', 53, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BOH3_17C', 52, 5, 'big_endian', False, 1, 0, 0, 1, 'rpm', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 432,
'name': 'STANDSTILL',
'nodes': ['VSA'],
'signals': [signal('CONTROLLED_STANDSTILL', 0, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('WHEELS_MOVING', 12, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BRAKE_ERROR_1', 11, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BRAKE_ERROR_2', 9, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 53, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 51, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 464,
'name': 'WHEEL_SPEEDS',
'nodes': ['VSA'],
'signals': [signal('WHEEL_SPEED_FL', 7, 15, 'big_endian', False, 0.01, 0, 0, 250, 'kph', False, None, None, None),
signal('WHEEL_SPEED_FR', 8, 15, 'big_endian', False, 0.01, 0, 0, 250, 'kph', False, None, None, None),
signal('WHEEL_SPEED_RL', 25, 15, 'big_endian', False, 0.01, 0, 0, 250, 'kph', False, None, None, None),
signal('WHEEL_SPEED_RR', 42, 15, 'big_endian', False, 0.01, 0, 0, 250, 'kph', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 490,
'name': 'VEHICLE_DYNAMICS',
'nodes': ['VSA'],
'signals': [signal('LONG_ACCEL', 23, 16, 'big_endian', True, 0.0015384, 0, -20, 20, 'm/s2', False, None, None, 'wheel speed derivative, noisy and zero snapping'),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 506,
'name': 'BRAKE_COMMAND',
'nodes': ['ADAS'],
'signals': [signal('COMPUTER_BRAKE', 7, 10, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('ZEROS_BOH', 13, 5, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COMPUTER_BRAKE_REQUEST', 8, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('CRUISE_BOH2', 23, 3, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('CRUISE_OVERRIDE', 20, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('CRUISE_BOH3', 19, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('CRUISE_FAULT_CMD', 18, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('CRUISE_CANCEL_CMD', 17, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COMPUTER_BRAKE_REQUEST_2', 16, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('SET_ME_0X80', 31, 8, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BRAKE_LIGHTS', 39, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('CRUISE_STATES', 38, 7, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('CHIME', 47, 3, 'big_endian', False, 1, 0, 0, 7, 'None', False, None, {4: 'double_chime', 3: 'single_chime', 2: 'continuous_chime', 1: 'repeating_chime', 0: 'no_chime'}, None),
signal('ZEROS_BOH6', 44, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('FCW', 43, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, {3: 'fcw', 2: 'fcw', 1: 'fcw', 0: 'no_fcw'}, None),
signal('ZEROS_BOH4', 55, 8, 'big_endian', False, 1, 0, 0, 0, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, None, None)]},
{'frame_id': 597,
'name': 'ROUGH_WHEEL_SPEED',
'nodes': ['VSA'],
'signals': [signal('WHEEL_SPEED_FL', 7, 8, 'big_endian', False, 1, 0, 0, 255, 'mph', False, None, None, None),
signal('WHEEL_SPEED_FR', 15, 8, 'big_endian', False, 1, 0, 0, 255, 'mph', False, None, None, None),
signal('WHEEL_SPEED_RL', 23, 8, 'big_endian', False, 1, 0, 0, 255, 'mph', False, None, None, None),
signal('WHEEL_SPEED_RR', 31, 8, 'big_endian', False, 1, 0, 0, 255, 'mph', False, None, None, None),
signal('SET_TO_X55', 39, 8, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, None),
signal('SET_TO_X55_2', 47, 8, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, None, None)]},
{'frame_id': 773,
'name': 'SEATBELT_STATUS',
'nodes': ['BDY'],
'signals': [signal('SEATBELT_DRIVER_LAMP', 7, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('PASS_AIRBAG_ON', 15, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, 'Might just be indicator light'),
signal('PASS_AIRBAG_OFF', 14, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, 'Might just be indicator light'),
signal('SEATBELT_DRIVER_LATCHED', 13, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('SEATBELT_DRIVER_UNLATCHED', 12, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('SEATBELT_PASS_LATCHED', 11, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('SEATBELT_PASS_UNLATCHED', 10, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 53, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 51, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 777,
'name': 'LOCK_STATUS',
'nodes': ['XXX'],
'signals': [signal('DOORS_LOCKED', 55, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('DOORS_UNLOCKED', 54, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 780,
'name': 'ACC_HUD',
'nodes': ['ADAS'],
'signals': [signal('PCM_SPEED', 7, 16, 'big_endian', False, 0.01, 0, 0, 250, 'kph', False, None, None, None),
signal('PCM_GAS', 23, 8, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('CRUISE_SPEED', 31, 8, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, {255: 'no_speed', 252: 'stopped'}, '255 = no speed'),
signal('DTC_MODE', 39, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BOH', 38, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('ACC_PROBLEM', 37, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('FCM_OFF', 36, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BOH_2', 35, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('FCM_PROBLEM', 34, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('RADAR_OBSTRUCTED', 33, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('ENABLE_MINI_CAR', 32, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('SET_ME_X03', 47, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('HUD_LEAD', 45, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, {3: 'acc_off', 2: 'solid_car', 1: 'dashed_car', 0: 'no_car'}, None),
signal('BOH_3', 43, 1, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('BOH_4', 42, 1, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('BOH_5', 41, 1, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CRUISE_CONTROL_LABEL', 40, 1, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('HUD_DISTANCE_3', 52, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 804,
'name': 'CRUISE',
'nodes': ['PCM'],
'signals': [signal('HUD_SPEED_KPH', 7, 8, 'big_endian', False, 1, 0, 0, 255, 'kph', False, None, None, None),
signal('HUD_SPEED_MPH', 15, 8, 'big_endian', False, 1, 0, 0, 255, 'mph', False, None, None, None),
signal('TRIP_FUEL_CONSUMED', 23, 16, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, None),
signal('CRUISE_SPEED_PCM', 39, 8, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, '255 = no speed'),
signal('BOH2', 47, 8, 'big_endian', True, 1, 0, 0, 255, 'None', False, None, None, None),
signal('BOH3', 55, 8, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 829,
'name': 'LKAS_HUD',
'nodes': ['ADAS'],
'signals': [signal('CAM_TEMP_HIGH', 7, 1, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, None),
signal('SET_ME_X41', 6, 7, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('BOH', 6, 7, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('DASHED_LANES', 14, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('DTC', 13, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('LKAS_PROBLEM', 12, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('LKAS_OFF', 11, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('SOLID_LANES', 10, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('LDW_RIGHT', 9, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('STEERING_REQUIRED', 8, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BOH', 23, 2, 'big_endian', False, 1, 0, 0, 4, 'None', False, None, None, None),
signal('LDW_PROBLEM', 21, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BEEP', 17, 2, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, {3: 'single_beep', 2: 'triple_beep', 1: 'repeated_beep', 0: 'no_beep'}, 'beeps are pleasant, chimes are for warnngs etc...'),
signal('SET_ME_X48', 31, 8, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, None),
signal('LDW_ON', 28, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('LDW_OFF', 27, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('CLEAN_WINDSHIELD', 26, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 37, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 35, 4, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, None, None)]},
{'frame_id': 892,
'name': 'CRUISE_PARAMS',
'nodes': ['PCM'],
'signals': [signal('CRUISE_SPEED_OFFSET', 31, 8, 'big_endian', True, 0.1, 0, -128, 127, 'kph', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 1029,
'name': 'DOORS_STATUS',
'nodes': ['BDY'],
'signals': [signal('DOOR_OPEN_RL', 39, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('DOOR_OPEN_FR', 38, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('DOOR_OPEN_FL', 37, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('TRUNK_OPEN', 41, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('DOOR_OPEN_RR', 40, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 512,
'name': 'GAS_COMMAND',
'nodes': ['EON'],
'signals': [signal('GAS_COMMAND', 7, 16, 'big_endian', False, 0.253984064, -83.3, 0, 1, 'None', False, None, None, None),
signal('GAS_COMMAND2', 23, 16, 'big_endian', False, 0.126992032, -83.3, 0, 1, 'None', False, None, None, None),
signal('ENABLE', 39, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 45, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 43, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 513,
'name': 'GAS_SENSOR',
'nodes': ['INTERCEPTOR'],
'signals': [signal('INTERCEPTOR_GAS', 7, 16, 'big_endian', False, 0.253984064, -83.3, 0, 1, 'None', False, None, None, None),
signal('INTERCEPTOR_GAS2', 23, 16, 'big_endian', False, 0.126992032, -83.3, 0, 1, 'None', False, None, None, None),
signal('STATE', 39, 8, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, None),
signal('COUNTER', 45, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 43, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 148,
'name': 'KINEMATICS',
'nodes': ['XXX'],
'signals': [signal('LAT_ACCEL', 7, 10, 'big_endian', False, 0.02, -512, -20, 20, 'm/s2', False, None, None, None),
signal('LONG_ACCEL', 24, 9, 'big_endian', True, -0.02, 0, -20, 20, 'm/s2', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 228,
'name': 'STEERING_CONTROL',
'nodes': ['ADAS'],
'signals': [signal('STEER_TORQUE', 7, 16, 'big_endian', True, 1, 0, -3840, 3840, 'None', False, None, None, None),
signal('STEER_TORQUE_REQUEST', 23, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('SET_ME_X00', 22, 7, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('SET_ME_X00_2', 31, 8, 'big_endian', False, 1, 0, 0, 0, 'None', False, None, None, None),
signal('COUNTER', 37, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 35, 4, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, None, None)]},
{'frame_id': 304,
'name': 'GAS_PEDAL_2',
'nodes': ['PCM'],
'signals': [signal('ENGINE_TORQUE_ESTIMATE', 7, 16, 'big_endian', True, 1, 0, -1000, 1000, 'Nm', False, None, None, None),
signal('ENGINE_TORQUE_REQUEST', 23, 16, 'big_endian', True, 1, 0, -1000, 1000, 'Nm', False, None, None, None),
signal('CAR_GAS', 39, 8, 'big_endian', False, 1, 0, 0, 255, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 330,
'name': 'STEERING_SENSORS',
'nodes': ['EPS'],
'signals': [signal('STEER_ANGLE', 7, 16, 'big_endian', True, -0.1, 0, -500, 500, 'deg', False, None, None, None),
signal('STEER_ANGLE_RATE', 23, 16, 'big_endian', True, -1, 0, -3000, 3000, 'deg/s', False, None, None, None),
signal('STEER_ANGLE_OFFSET', 39, 8, 'big_endian', True, -0.1, 0, -128, 127, 'deg', False, None, None, None),
signal('STEER_WHEEL_ANGLE', 47, 16, 'big_endian', True, -0.1, 0, -500, 500, 'deg', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 399,
'name': 'STEER_STATUS',
'nodes': ['EPS'],
'signals': [signal('STEER_TORQUE_SENSOR', 7, 16, 'big_endian', True, 1, 0, -31000, 31000, 'tbd', False, None, None, None),
signal('STEER_TORQUE_MOTOR', 23, 16, 'big_endian', True, 1, 0, -31000, 31000, 'tbd', False, None, None, None),
signal('STEER_STATUS', 39, 4, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, {5: 'fault', 4: 'no_torque_alert_2', 2: 'no_torque_alert_1', 0: 'normal'}, None),
signal('STEER_CONTROL_ACTIVE', 35, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 53, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 51, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 401,
'name': 'GEARBOX',
'nodes': ['PCM'],
'signals': [signal('GEAR_SHIFTER', 5, 6, 'big_endian', False, 1, 0, 0, 63, 'None', False, None, {32: 'L', 16: 'S', 8: 'D', 4: 'N', 2: 'R', 1: 'P'}, None),
signal('GEAR', 43, 4, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, {7: 'L', 10: 'S', 4: 'D', 3: 'N', 2: 'R', 1: 'P'}, '10 = reverse, 11 = transition'),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 420,
'name': 'VSA_STATUS',
'nodes': ['VSA'],
'signals': [signal('USER_BRAKE', 7, 16, 'big_endian', False, 0.015625, -1.609375, 0, 1000, 'None', False, None, None, None),
signal('ESP_DISABLED', 28, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BRAKE_HOLD_ACTIVE', 46, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('BRAKE_HOLD_ENABLED', 45, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 450,
'name': 'EPB_STATUS',
'nodes': ['EPB'],
'signals': [signal('EPB_ACTIVE', 3, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('EPB_STATE', 29, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, {3: 'engaged', 2: 'disengaging', 1: 'engaging', 0: 'disengaged'}, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 487,
'name': 'BRAKE_PRESSURE',
'nodes': ['VSA'],
'signals': [signal('BRAKE_PRESSURE1', 7, 10, 'big_endian', False, 0.015625, -103, 0, 1000, 'None', False, None, None, None),
signal('BRAKE_PRESSURE2', 9, 10, 'big_endian', False, 0.015625, -103, 0, 1000, 'None', False, None, None, None),
signal('COUNTER', 29, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 27, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 545,
'name': 'ECON_STATUS',
'nodes': ['XXX'],
'signals': [signal('ECON_ON', 23, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('ECON_ON_2', 37, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, {0: 'off', 3: 'on'}, None),
signal('COUNTER', 45, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 43, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 662,
'name': 'SCM_BUTTONS',
'nodes': ['SCM'],
'signals': [signal('CRUISE_BUTTONS', 7, 3, 'big_endian', False, 1, 0, 0, 7, 'None', False, None, {7: 'tbd', 6: 'tbd', 5: 'tbd', 4: 'accel_res', 3: 'decel_set', 2: 'cancel', 1: 'main', 0: 'none'}, None),
signal('CRUISE_SETTING', 3, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, {3: 'distance_adj', 2: 'tbd', 1: 'lkas_button', 0: 'none'}, None),
signal('COUNTER', 29, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 27, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 806,
'name': 'SCM_FEEDBACK',
'nodes': ['SCM'],
'signals': [signal('CMBS_BUTTON', 22, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, {3: 'pressed', 0: 'released'}, None),
signal('REVERSE_LIGHT', 18, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, 'Might be reverse gear selected and not the lights'),
signal('MAIN_ON', 28, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('RIGHT_BLINKER', 27, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('LEFT_BLINKER', 26, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 862,
'name': 'HIGHBEAM_CONTROL',
'nodes': ['ADAS'],
'signals': [signal('ZEROS_BOH', 7, 50, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('ZEROS_BOH_2', 48, 4, 'little_endian', False, 1, 0, 0, 15, 'None', False, None, None, None),
signal('AUTO_HIGHBEAMS_ACTIVE', 53, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('HIGHBEAMS_ON', 52, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, None, None)]},
{'frame_id': 884,
'name': 'STALK_STATUS',
'nodes': ['XXX'],
'signals': [signal('HIGH_BEAM_HOLD', 47, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('AUTO_HEADLIGHTS', 46, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('HIGH_BEAM_FLASH', 45, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('HEADLIGHTS_ON', 54, 1, 'big_endian', False, 1, 0, 0, 1, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 891,
'name': 'WIPERS',
'nodes': ['XXX'],
'signals': [signal('WIPERS', 17, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, {4: 'High', 2: 'Low', 0: 'Off'}, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 927,
'name': 'RADAR_HUD',
'nodes': ['ADAS'],
'signals': [signal('ZEROS_BOH', 7, 17, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('APPLY_BRAKES_FOR_CANC', 23, 1, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, None, None),
signal('RESUME_INSTRUCTION', 21, 1, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, None, None),
signal('ACC_ALERTS', 20, 5, 'big_endian', False, 1, 0, 0, 15, 'None', False, None, {29: 'esp_active_acc_canceled', 10: 'b_pedal_applied', 9: 'speed_too_low', 8: 'speed_too_high', 7: 'p_brake_applied', 6: 'gear_no_d', 5: 'seatbelt', 4: 'too_steep_downhill', 3: 'too_steep_uphill', 2: 'too_close', 1: 'no_vehicle_ahead'}, None),
signal('ZEROS_BOH2', 31, 8, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('LEAD_SPEED', 39, 9, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('LEAD_STATE', 46, 3, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('LEAD_DISTANCE', 43, 5, 'big_endian', False, 1, 0, 0, 31, 'None', False, None, None, None),
signal('ZEROS_BOH3', 54, 7, 'big_endian', False, 1, 0, 0, 127, 'None', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]},
{'frame_id': 1302,
'name': 'ODOMETER',
'nodes': ['XXX'],
'signals': [signal('ODOMETER', 7, 24, 'big_endian', False, 1, 0, 0, 16777215, 'km', False, None, None, None),
signal('COUNTER', 61, 2, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None),
signal('CHECKSUM', 59, 4, 'big_endian', False, 1, 0, 0, 3, 'None', False, None, None, None)]}]