Allow disabling of disengage-on-gas enforcement

x-archive-community-master-merge
Jason Young 5 years ago
parent 57ccd0470b
commit ccd2838745
  1. 3
      selfdrive/boardd/boardd.cc
  2. 6
      selfdrive/car/interfaces.py
  3. 1
      selfdrive/manager.py

@ -109,7 +109,8 @@ void safety_setter_thread() {
cereal::CarParams::Reader car_params = cmsg.getRoot<cereal::CarParams>(); cereal::CarParams::Reader car_params = cmsg.getRoot<cereal::CarParams>();
cereal::CarParams::SafetyModel safety_model = car_params.getSafetyModel(); cereal::CarParams::SafetyModel safety_model = car_params.getSafetyModel();
panda->set_unsafe_mode(0); // see safety_declarations.h for allowed values LOGW("setting unsafe mode: disable enforcement of disengage on gas");
panda->set_unsafe_mode(1); // see safety_declarations.h for allowed values
auto safety_param = car_params.getSafetyParam(); auto safety_param = car_params.getSafetyParam();
LOGW("setting safety model: %d with param %d", (int)safety_model, safety_param); LOGW("setting safety model: %d with param %d", (int)safety_model, safety_param);

@ -2,6 +2,7 @@ import os
import time import time
from cereal import car from cereal import car
from common.kalman.simple_kalman import KF1D from common.kalman.simple_kalman import KF1D
from common.params import Params
from common.realtime import DT_CTRL from common.realtime import DT_CTRL
from selfdrive.car import gen_empty_fingerprint from selfdrive.car import gen_empty_fingerprint
from selfdrive.config import Conversions as CV from selfdrive.config import Conversions as CV
@ -33,6 +34,9 @@ class CarInterfaceBase():
if CarController is not None: if CarController is not None:
self.CC = CarController(self.cp.dbc_name, CP, self.VM) self.CC = CarController(self.cp.dbc_name, CP, self.VM)
params = Params()
self.is_disengage_on_gas_enabled = params.get("IsDisengageOnGasEnabled", encoding='utf8') == "1"
@staticmethod @staticmethod
def calc_accel_override(a_ego, a_target, v_ego, v_target): def calc_accel_override(a_ego, a_target, v_ego, v_target):
return 1. return 1.
@ -119,7 +123,7 @@ class CarInterfaceBase():
# Disable on rising edge of gas or brake. Also disable on brake when speed > 0. # Disable on rising edge of gas or brake. Also disable on brake when speed > 0.
# Optionally allow to press gas at zero speed to resume. # Optionally allow to press gas at zero speed to resume.
# e.g. Chrysler does not spam the resume button yet, so resuming with gas is handy. FIXME! # e.g. Chrysler does not spam the resume button yet, so resuming with gas is handy. FIXME!
if (cs_out.gasPressed and (not self.CS.out.gasPressed) and cs_out.vEgo > gas_resume_speed) or \ if (cs_out.gasPressed and (not self.is_disengage_on_gas_enabled) and (not self.CS.out.gasPressed) and cs_out.vEgo > gas_resume_speed) or \
(cs_out.brakePressed and (not self.CS.out.brakePressed or not cs_out.standstill)): (cs_out.brakePressed and (not self.CS.out.brakePressed or not cs_out.standstill)):
events.add(EventName.pedalPressed) events.add(EventName.pedalPressed)

@ -561,6 +561,7 @@ def main():
("OpenpilotEnabledToggle", "1"), ("OpenpilotEnabledToggle", "1"),
("LaneChangeEnabled", "1"), ("LaneChangeEnabled", "1"),
("IsDriverViewEnabled", "0"), ("IsDriverViewEnabled", "0"),
("IsDisengageOnGasEnabled", "1"),
] ]
# set unset params # set unset params

Loading…
Cancel
Save