@@ -98,7 +98,7 @@ def __init__(self, max_trackable):
9898 self .cfactor_pitch = 1.
9999 self .cfactor_yaw = 1.
100100
101- class DriverPhone :
101+ class DriverProb :
102102 def __init__ (self , max_trackable ):
103103 self .prob = 0.
104104 self .prob_offseter = RunningStatFilter (max_trackable = max_trackable )
@@ -140,9 +140,9 @@ def __init__(self, rhd_saved=False, settings=None, always_on=False):
140140 self .settings = settings if settings is not None else DRIVER_MONITOR_SETTINGS (device_type = HARDWARE .get_device_type ())
141141
142142 # init driver status
143- self .wheelpos_learner = RunningStatFilter ( )
143+ self .wheelpos = DriverProb ( - 1 )
144144 self .pose = DriverPose (self .settings ._POSE_OFFSET_MAX_COUNT )
145- self .phone = DriverPhone (self .settings ._POSE_OFFSET_MAX_COUNT )
145+ self .phone = DriverProb (self .settings ._POSE_OFFSET_MAX_COUNT )
146146 self .blink = DriverBlink ()
147147
148148 self .always_on = always_on
@@ -256,9 +256,12 @@ def _update_states(self, driver_state, cal_rpy, car_speed, op_engaged, standstil
256256 # calibrates only when there's movement and either face detected
257257 if car_speed > self .settings ._WHEELPOS_CALIB_MIN_SPEED and (driver_state .leftDriverData .faceProb > self .settings ._FACE_THRESHOLD or
258258 driver_state .rightDriverData .faceProb > self .settings ._FACE_THRESHOLD ):
259- self .wheelpos_learner .push_and_update (rhd_pred )
260- if self .wheelpos_learner .filtered_stat .n > self .settings ._WHEELPOS_FILTER_MIN_COUNT or demo_mode :
261- self .wheel_on_right = self .wheelpos_learner .filtered_stat .M > self .settings ._WHEELPOS_THRESHOLD
259+ self .wheelpos .prob_offseter .push_and_update (rhd_pred )
260+
261+ self .wheelpos .prob_calibrated = self .wheelpos .prob_offseter .filtered_stat .n > self .settings ._WHEELPOS_FILTER_MIN_COUNT
262+
263+ if self .wheelpos .prob_calibrated or demo_mode :
264+ self .wheel_on_right = self .wheelpos .prob_offseter .filtered_stat .M > self .settings ._WHEELPOS_THRESHOLD
262265 else :
263266 self .wheel_on_right = self .wheel_on_right_default # use default/saved if calibration is unfinished
264267 # make sure no switching when engaged
0 commit comments