mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-21 22:12:05 +08:00
Some code refactoring to Honda (#335)
* Move vehicle state values (that get sent to radar) into values.py file, its a better place for it :) * idx with offset should only be applied to 0x300 * Adds new honda pilot to vehicle state msg array
This commit is contained in:
@@ -2,7 +2,7 @@ import struct
|
||||
|
||||
import common.numpy_fast as np
|
||||
from selfdrive.config import Conversions as CV
|
||||
from selfdrive.car.honda.values import CAR, HONDA_BOSCH
|
||||
from selfdrive.car.honda.values import CAR, HONDA_BOSCH, VEHICLE_STATE_MSG
|
||||
|
||||
# *** Honda specific ***
|
||||
def can_cksum(mm):
|
||||
@@ -126,28 +126,14 @@ def create_radar_commands(v_ego, car_fingerprint, new_radar_config, idx):
|
||||
msg_0x300 = ("\xf9" + speed + "\x8a\xd0" +
|
||||
("\x20" if idx == 0 or idx == 3 else "\x00") +
|
||||
"\x00\x00")
|
||||
msg_0x301 = VEHICLE_STATE_MSG[car_fingerprint]
|
||||
|
||||
idx_0x300 = idx
|
||||
if car_fingerprint == CAR.CIVIC:
|
||||
msg_0x301 = "\x02\x38\x44\x32\x4f\x00\x00"
|
||||
idx_offset = 0xc if new_radar_config else 0x8 # radar in civic 2018 requires 0xc
|
||||
commands.append(make_can_msg(0x300, msg_0x300, idx + idx_offset, 1))
|
||||
else:
|
||||
if car_fingerprint == CAR.CRV:
|
||||
msg_0x301 = "\x00\x00\x50\x02\x51\x00\x00"
|
||||
elif car_fingerprint == CAR.ACURA_RDX:
|
||||
msg_0x301 = "\x0f\x57\x4f\x02\x5a\x00\x00"
|
||||
elif car_fingerprint == CAR.ODYSSEY:
|
||||
msg_0x301 = "\x00\x00\x56\x02\x55\x00\x00"
|
||||
elif car_fingerprint == CAR.ACURA_ILX:
|
||||
msg_0x301 = "\x0f\x18\x51\x02\x5a\x00\x00"
|
||||
elif car_fingerprint == CAR.PILOT:
|
||||
msg_0x301 = "\x00\x00\x56\x02\x58\x00\x00"
|
||||
elif car_fingerprint == CAR.PILOT_2019:
|
||||
msg_0x301 = "\x00\x00\x58\x02\x5c\x00\x00"
|
||||
elif car_fingerprint == CAR.RIDGELINE:
|
||||
msg_0x301 = "\x00\x00\x56\x02\x57\x00\x00"
|
||||
commands.append(make_can_msg(0x300, msg_0x300, idx, 1))
|
||||
idx_0x300 += idx_offset
|
||||
|
||||
commands.append(make_can_msg(0x300, msg_0x300, idx_0x300, 1))
|
||||
commands.append(make_can_msg(0x301, msg_0x301, idx, 1))
|
||||
return commands
|
||||
|
||||
|
||||
@@ -145,5 +145,18 @@ SPEED_FACTOR = {
|
||||
CAR.RIDGELINE: 1.,
|
||||
}
|
||||
|
||||
# This message sends car info to the radar that is specific to the model. You
|
||||
# can determine this message by monitoring the OEM system.
|
||||
VEHICLE_STATE_MSG = {
|
||||
CAR.ACURA_ILX: "\x0f\x18\x51\x02\x5a\x00\x00",
|
||||
CAR.ACURA_RDX: "\x0f\x57\x4f\x02\x5a\x00\x00",
|
||||
CAR.CIVIC: "\x02\x38\x44\x32\x4f\x00\x00",
|
||||
CAR.CRV: "\x00\x00\x50\x02\x51\x00\x00",
|
||||
CAR.ODYSSEY: "\x00\x00\x56\x02\x55\x00\x00",
|
||||
CAR.PILOT: "\x00\x00\x56\x02\x58\x00\x00",
|
||||
CAR.PILOT_2019: "\x00\x00\x58\x02\x5c\x00\x00",
|
||||
CAR.RIDGELINE: "\x00\x00\x56\x02\x57\x00\x00",
|
||||
}
|
||||
|
||||
# TODO: get these from dbc file
|
||||
HONDA_BOSCH = [CAR.ACCORD, CAR.ACCORD_15, CAR.CIVIC_HATCH, CAR.CRV_5G]
|
||||
|
||||
Reference in New Issue
Block a user