|
|
@ -1,5 +1,6 @@ |
|
|
|
import copy |
|
|
|
import copy |
|
|
|
from cereal import car |
|
|
|
from cereal import car |
|
|
|
|
|
|
|
from opendbc.can.can_define import CANDefine |
|
|
|
from selfdrive.config import Conversions as CV |
|
|
|
from selfdrive.config import Conversions as CV |
|
|
|
from selfdrive.car.interfaces import CarStateBase |
|
|
|
from selfdrive.car.interfaces import CarStateBase |
|
|
|
from opendbc.can.parser import CANParser |
|
|
|
from opendbc.can.parser import CANParser |
|
|
@ -11,6 +12,8 @@ class CarState(CarStateBase): |
|
|
|
super().__init__(CP) |
|
|
|
super().__init__(CP) |
|
|
|
self.left_blinker_cnt = 0 |
|
|
|
self.left_blinker_cnt = 0 |
|
|
|
self.right_blinker_cnt = 0 |
|
|
|
self.right_blinker_cnt = 0 |
|
|
|
|
|
|
|
can_define = CANDefine(DBC[CP.carFingerprint]['pt']) |
|
|
|
|
|
|
|
self.shifter_values = can_define.dv["Transmission"]['Gear'] |
|
|
|
|
|
|
|
|
|
|
|
def update(self, cp, cp_cam): |
|
|
|
def update(self, cp, cp_cam): |
|
|
|
ret = car.CarState.new_message() |
|
|
|
ret = car.CarState.new_message() |
|
|
@ -35,6 +38,9 @@ class CarState(CarStateBase): |
|
|
|
self.right_blinker_cnt = 50 if cp.vl["Dashlights"]['RIGHT_BLINKER'] else max(self.right_blinker_cnt - 1, 0) |
|
|
|
self.right_blinker_cnt = 50 if cp.vl["Dashlights"]['RIGHT_BLINKER'] else max(self.right_blinker_cnt - 1, 0) |
|
|
|
ret.rightBlinker = self.right_blinker_cnt > 0 |
|
|
|
ret.rightBlinker = self.right_blinker_cnt > 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
can_gear = int(cp.vl["Transmission"]['Gear']) |
|
|
|
|
|
|
|
ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(can_gear, None)) |
|
|
|
|
|
|
|
|
|
|
|
ret.steeringAngle = cp.vl["Steering_Torque"]['Steering_Angle'] |
|
|
|
ret.steeringAngle = cp.vl["Steering_Torque"]['Steering_Angle'] |
|
|
|
ret.steeringTorque = cp.vl["Steering_Torque"]['Steer_Torque_Sensor'] |
|
|
|
ret.steeringTorque = cp.vl["Steering_Torque"]['Steer_Torque_Sensor'] |
|
|
|
ret.steeringPressed = abs(ret.steeringTorque) > STEER_THRESHOLD[self.car_fingerprint] |
|
|
|
ret.steeringPressed = abs(ret.steeringTorque) > STEER_THRESHOLD[self.car_fingerprint] |
|
|
@ -80,6 +86,7 @@ class CarState(CarStateBase): |
|
|
|
("DOOR_OPEN_RR", "BodyInfo", 1), |
|
|
|
("DOOR_OPEN_RR", "BodyInfo", 1), |
|
|
|
("DOOR_OPEN_RL", "BodyInfo", 1), |
|
|
|
("DOOR_OPEN_RL", "BodyInfo", 1), |
|
|
|
("Units", "Dash_State", 1), |
|
|
|
("Units", "Dash_State", 1), |
|
|
|
|
|
|
|
("Gear", "Transmission", 0), |
|
|
|
] |
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
checks = [ |
|
|
|
checks = [ |
|
|
|