|
|
|
@ -11,23 +11,18 @@ NUMBER_MSGS = len(RADAR_MSGS_C) + len(RADAR_MSGS_D) |
|
|
|
|
|
|
|
|
|
def _create_radar_can_parser(car_fingerprint): |
|
|
|
|
msg_n = len(RADAR_MSGS_C) |
|
|
|
|
# list of [(signal name, message name or number, initial values), (...)] |
|
|
|
|
# [('RADAR_STATE', 1024, 0), |
|
|
|
|
# ('LONG_DIST', 1072, 255), |
|
|
|
|
# ('LONG_DIST', 1073, 255), |
|
|
|
|
# ('LONG_DIST', 1074, 255), |
|
|
|
|
# ('LONG_DIST', 1075, 255), |
|
|
|
|
# list of [(signal name, message name or number), (...)] |
|
|
|
|
# [('RADAR_STATE', 1024), |
|
|
|
|
# ('LONG_DIST', 1072), |
|
|
|
|
# ('LONG_DIST', 1073), |
|
|
|
|
# ('LONG_DIST', 1074), |
|
|
|
|
# ('LONG_DIST', 1075), |
|
|
|
|
|
|
|
|
|
# The factor and offset are applied by the dbc parsing library, so the |
|
|
|
|
# default values should be after the factor/offset are applied. |
|
|
|
|
signals = list(zip(['LONG_DIST'] * msg_n + |
|
|
|
|
['LAT_DIST'] * msg_n + |
|
|
|
|
['REL_SPEED'] * msg_n, |
|
|
|
|
RADAR_MSGS_C * 2 + # LONG_DIST, LAT_DIST |
|
|
|
|
RADAR_MSGS_D, # REL_SPEED |
|
|
|
|
[0] * msg_n + # LONG_DIST |
|
|
|
|
[-1000] * msg_n + # LAT_DIST |
|
|
|
|
[-146.278] * msg_n)) # REL_SPEED set to 0, factor/offset to this |
|
|
|
|
RADAR_MSGS_D)) # REL_SPEED |
|
|
|
|
# TODO what are the checks actually used for? |
|
|
|
|
# honda only checks the last message, |
|
|
|
|
# toyota checks all the messages. Which do we want? |
|
|
|
|