From 417efb3c05abf593ac600a73e8232393d78f40a0 Mon Sep 17 00:00:00 2001 From: ZwX1616 Date: Fri, 29 May 2026 14:59:52 -0700 Subject: [PATCH] migration: fix missing and wrong fields in driverMonitoringStateDEPRECATED (#38105) --- selfdrive/test/process_replay/migration.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/selfdrive/test/process_replay/migration.py b/selfdrive/test/process_replay/migration.py index bc6399aa94..5a3403c925 100644 --- a/selfdrive/test/process_replay/migration.py +++ b/selfdrive/test/process_replay/migration.py @@ -499,23 +499,28 @@ def migrate_driverMonitoringState(msgs): 'driverDistracted1': AlertLevel.one, 'driverUnresponsive1': AlertLevel.one, 'driverDistracted2': AlertLevel.two, 'driverUnresponsive2': AlertLevel.two, 'driverDistracted3': AlertLevel.three, 'driverUnresponsive3': AlertLevel.three, - 'tooDistracted': AlertLevel.three, } for event in old.events: level = event_to_alert_level.get(str(event.name)) if level is not None: dm.alertLevel = level break + dm.lockout = any(str(event.name) == 'tooDistracted' for event in old.events) dm.visionPolicyState.awarenessPercent = int(max(0, min(100, (old.awarenessStatus if old.isActiveMode else old.awarenessActive) * 100))) dm.visionPolicyState.awarenessStep = old.stepChange if old.isActiveMode else 0. dm.visionPolicyState.isDistracted = old.isDistracted + dm.visionPolicyState.distractedTypes.pose = bool(old.distractedType & 1) + dm.visionPolicyState.distractedTypes.eye = bool(old.distractedType & 2) + dm.visionPolicyState.distractedTypes.phone = bool(old.distractedType & 4) dm.visionPolicyState.faceDetected = old.faceDetected dm.visionPolicyState.pose.pitchCalib.offset = old.posePitchOffset - dm.visionPolicyState.pose.pitchCalib.calibratedPercent = int(min(100, old.posePitchValidCount / 600 * 100)) + dm.visionPolicyState.pose.pitchCalib.calibratedPercent = int(min(100, old.posePitchValidCount / 1200 * 100)) dm.visionPolicyState.pose.yawCalib.offset = old.poseYawOffset - dm.visionPolicyState.pose.yawCalib.calibratedPercent = int(min(100, old.poseYawValidCount / 600 * 100)) - dm.visionPolicyState.pose.calibrated = old.posePitchValidCount >= 600 and old.poseYawValidCount >= 600 + dm.visionPolicyState.pose.yawCalib.calibratedPercent = int(min(100, old.poseYawValidCount / 1200 * 100)) + dm.visionPolicyState.pose.calibrated = old.posePitchValidCount >= 1200 and old.poseYawValidCount >= 1200 + dm.visionPolicyState.wheeltouchFallbackPercent = int(min(100, old.hiStdCount / 200 * 100)) + dm.visionPolicyState.uncertainOffroadAlertPercent = int(min(100, old.uncertainCount / 1200 * 100)) dm.wheeltouchPolicyState.awarenessPercent = int(max(0, min(100, (old.awarenessPassive if old.isActiveMode else old.awarenessStatus) * 100))) dm.wheeltouchPolicyState.awarenessStep = 0. if old.isActiveMode else old.stepChange ops.append((index, as_reader(new_msg)))