Toggle to always enable DM (#32205)

* permanent

* param

* correct behavior

* toggle

* need trans

* ref_commit

* translate for chs/t

* disable on P and R

* read
old-commit-hash: 1d05704d27dbe4f73c0eba7e8dad2ae84d4e205e
This commit is contained in:
ZwX1616
2024-04-17 12:56:37 -07:00
committed by GitHub
parent bcf9f08563
commit c741dca04c
17 changed files with 112 additions and 14 deletions
+6 -2
View File
@@ -17,7 +17,7 @@ def dmonitoringd_thread():
pm = messaging.PubMaster(['driverMonitoringState'])
sm = messaging.SubMaster(['driverStateV2', 'liveCalibration', 'carState', 'controlsState', 'modelV2'], poll='driverStateV2')
driver_status = DriverStatus(rhd_saved=params.get_bool("IsRhdDetected"))
driver_status = DriverStatus(rhd_saved=params.get_bool("IsRhdDetected"), always_on=params.get_bool("AlwaysOnDM"))
v_cruise_last = 0
driver_engaged = False
@@ -52,7 +52,8 @@ def dmonitoringd_thread():
events.add(car.CarEvent.EventName.tooDistracted)
# Update events from driver state
driver_status.update_events(events, driver_engaged, sm['controlsState'].enabled, sm['carState'].standstill)
driver_status.update_events(events, driver_engaged, sm['controlsState'].enabled,
sm['carState'].standstill, sm['carState'].gearShifter in [car.CarState.GearShifter.reverse, car.CarState.GearShifter.park])
# build driverMonitoringState packet
dat = messaging.new_message('driverMonitoringState', valid=sm.all_checks())
@@ -76,6 +77,9 @@ def dmonitoringd_thread():
}
pm.send('driverMonitoringState', dat)
if sm['driverStateV2'].frameId % 40 == 1:
driver_status.always_on = params.get_bool("AlwaysOnDM")
# save rhd virtual toggle every 5 mins
if (sm['driverStateV2'].frameId % 6000 == 0 and
driver_status.wheelpos_learner.filtered_stat.n > driver_status.settings._WHEELPOS_FILTER_MIN_COUNT and