Files
StarPilot/selfdrive/car/subaru/subarucan.py
T
martinl 54e4939168 Subaru Global generated dbc and new signals (#1908)
* Change carstate signals to use feature-subaru-long dbc

* Add Conventional_Cruise signal to carstate

* Fix Conventional_Cruise signal source

* Use Cruise_Cancel signal in subarucan

* switch to subaru-global-2020 opendbc branch

* Update release file

* bump opendbc

* switch panda to subaru-global-carstate branch

* bump panda

* bump opendbc

* revert submodules for upstream PR

* switch panda and opendbc to upstream

* bump opendbc
old-commit-hash: a086f52881f4a1f0d20486e7fa089a843d5d8b34
2020-07-23 12:28:23 -07:00

41 lines
1.1 KiB
Python

import copy
from cereal import car
VisualAlert = car.CarControl.HUDControl.VisualAlert
def create_steering_control(packer, apply_steer, frame, steer_step):
# counts from 0 to 15 then back to 0 + 16 for enable bit
idx = ((frame // steer_step) % 16)
values = {
"Counter": idx,
"LKAS_Output": apply_steer,
"LKAS_Request": 1 if apply_steer != 0 else 0,
"SET_1": 1
}
return packer.make_can_msg("ES_LKAS", 0, values)
def create_steering_status(packer, apply_steer, frame, steer_step):
return packer.make_can_msg("ES_LKAS_State", 0, {})
def create_es_distance(packer, es_distance_msg, pcm_cancel_cmd):
values = copy.copy(es_distance_msg)
if pcm_cancel_cmd:
values["Cruise_Cancel"] = 1
return packer.make_can_msg("ES_Distance", 0, values)
def create_es_lkas(packer, es_lkas_msg, visual_alert, left_line, right_line):
values = copy.copy(es_lkas_msg)
if visual_alert == VisualAlert.steerRequired:
values["Keep_Hands_On_Wheel"] = 1
values["LKAS_Left_Line_Visible"] = int(left_line)
values["LKAS_Right_Line_Visible"] = int(right_line)
return packer.make_can_msg("ES_LKAS_State", 0, values)