diff --git a/selfdrive/monitoring/dmonitoringd.py b/selfdrive/monitoring/dmonitoringd.py index c8d6d15873..d8fa4932ca 100755 --- a/selfdrive/monitoring/dmonitoringd.py +++ b/selfdrive/monitoring/dmonitoringd.py @@ -12,7 +12,7 @@ def dmonitoringd_thread(sm=None, pm=None): pm = messaging.PubMaster(['dMonitoringState']) if sm is None: - sm = messaging.SubMaster(['driverState', 'liveCalibration', 'carState', 'model'], poll=['driverState']) + sm = messaging.SubMaster(['driverState', 'liveCalibration', 'carState', 'controlsState', 'model'], poll=['driverState']) driver_status = DriverStatus() driver_status.is_rhd_region = Params().get("IsRHD") == b"1" @@ -22,7 +22,6 @@ def dmonitoringd_thread(sm=None, pm=None): sm['liveCalibration'].calStatus = Calibration.INVALID sm['liveCalibration'].rpyCalib = [0, 0, 0] sm['carState'].vEgo = 0. - sm['carState'].cruiseState.enabled = False sm['carState'].cruiseState.speed = 0. sm['carState'].buttonEvents = [] sm['carState'].steeringPressed = False @@ -47,7 +46,7 @@ def dmonitoringd_thread(sm=None, pm=None): sm['carState'].steeringPressed or \ sm['carState'].gasPressed if driver_engaged: - driver_status.update(Events(), True, sm['carState'].cruiseState.enabled, sm['carState'].standstill) + driver_status.update(Events(), True, sm['controlsState'].enabled, sm['carState'].standstill) v_cruise_last = v_cruise if sm.updated['model']: @@ -55,14 +54,14 @@ def dmonitoringd_thread(sm=None, pm=None): # Get data from dmonitoringmodeld events = Events() - driver_status.get_pose(sm['driverState'], sm['liveCalibration'].rpyCalib, sm['carState'].vEgo, sm['carState'].cruiseState.enabled) + driver_status.get_pose(sm['driverState'], sm['liveCalibration'].rpyCalib, sm['carState'].vEgo, sm['controlsState'].enabled) # Block engaging after max number of distrations if driver_status.terminal_alert_cnt >= MAX_TERMINAL_ALERTS or driver_status.terminal_time >= MAX_TERMINAL_DURATION: events.add(car.CarEvent.EventName.tooDistracted) # Update events from driver state - driver_status.update(events, driver_engaged, sm['carState'].cruiseState.enabled, sm['carState'].standstill) + driver_status.update(events, driver_engaged, sm['controlsState'].enabled, sm['carState'].standstill) # build dMonitoringState packet dat = messaging.new_message('dMonitoringState') diff --git a/selfdrive/test/longitudinal_maneuvers/plant.py b/selfdrive/test/longitudinal_maneuvers/plant.py index 3295342eca..f401226dbe 100755 --- a/selfdrive/test/longitudinal_maneuvers/plant.py +++ b/selfdrive/test/longitudinal_maneuvers/plant.py @@ -118,7 +118,7 @@ class Plant(): Plant.live_location_kalman = messaging.pub_sock('liveLocationKalman') Plant.health = messaging.pub_sock('health') Plant.thermal = messaging.pub_sock('thermal') - Plant.driverState = messaging.pub_sock('driverState') + Plant.dMonitoringState = messaging.pub_sock('dMonitoringState') Plant.cal = messaging.pub_sock('liveCalibration') Plant.controls_state = messaging.sub_sock('controlsState') Plant.plan = messaging.sub_sock('plan') @@ -370,10 +370,9 @@ class Plant(): live_parameters.liveParameters.stiffnessFactor = 1.0 Plant.live_params.send(live_parameters.to_bytes()) - driver_state = messaging.new_message('driverState') - driver_state.driverState.faceOrientation = [0.] * 3 - driver_state.driverState.facePosition = [0.] * 2 - Plant.driverState.send(driver_state.to_bytes()) + dmon_state = messaging.new_message('dMonitoringState') + dmon_state.dMonitoringState.isDistracted = False + Plant.dMonitoringState.send(dmon_state.to_bytes()) health = messaging.new_message('health') health.health.safetyModel = car.CarParams.SafetyModel.hondaNidec diff --git a/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py b/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py index 7890a9ec4b..c469a328a3 100755 --- a/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py +++ b/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py @@ -339,7 +339,6 @@ class LongitudinalControl(unittest.TestCase): manager.prepare_managed_process('radard') manager.prepare_managed_process('controlsd') manager.prepare_managed_process('plannerd') - manager.prepare_managed_process('dmonitoringd') @classmethod def tearDownClass(cls): @@ -362,7 +361,6 @@ def run_maneuver_worker(k): manager.start_managed_process('radard') manager.start_managed_process('controlsd') manager.start_managed_process('plannerd') - manager.start_managed_process('dmonitoringd') plot, valid = man.evaluate() plot.write_plot(output_dir, "maneuver" + str(k + 1).zfill(2)) @@ -370,7 +368,6 @@ def run_maneuver_worker(k): manager.kill_managed_process('radard') manager.kill_managed_process('controlsd') manager.kill_managed_process('plannerd') - manager.kill_managed_process('dmonitoringd') if valid: break diff --git a/selfdrive/test/process_replay/process_replay.py b/selfdrive/test/process_replay/process_replay.py index a88c59e7ba..e5fb7b6d26 100755 --- a/selfdrive/test/process_replay/process_replay.py +++ b/selfdrive/test/process_replay/process_replay.py @@ -266,7 +266,7 @@ CONFIGS = [ proc_name="dmonitoringd", pub_sub={ "driverState": ["dMonitoringState"], - "liveCalibration": [], "carState": [], "model": [], "gpsLocation": [], + "liveCalibration": [], "carState": [], "model": [], "controlsState": [], }, ignore=["logMonoTime", "valid"], init_callback=get_car_params, diff --git a/selfdrive/test/process_replay/ref_commit b/selfdrive/test/process_replay/ref_commit index 4043148662..2a7c36837d 100644 --- a/selfdrive/test/process_replay/ref_commit +++ b/selfdrive/test/process_replay/ref_commit @@ -1 +1 @@ -7dde5eab03feb7e0801fe24e9fea0f3629987571 \ No newline at end of file +aeb870b1d4f523506570f66e76dde0b036c58f40 \ No newline at end of file