54e6124925
version: sunnypilot v2026.001.000 (dev) date: 2026-05-07T23:07:19 master commit: c28eb958740187620f2282023b8f1997cf90f583
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
"""
|
|
Copyright (c) 2021-, Haibin Wen, sunnypilot, and a number of other contributors.
|
|
|
|
This file is part of sunnypilot and is licensed under the MIT License.
|
|
See the LICENSE.md file in the root directory for more details.
|
|
"""
|
|
from cereal import log
|
|
|
|
from opendbc.car import structs
|
|
from openpilot.common.params import Params
|
|
|
|
|
|
class LagdToggle:
|
|
def __init__(self, CP: structs.CarParams):
|
|
self.CP = CP
|
|
self.params = Params()
|
|
self.lag = 0.0
|
|
|
|
self.lagd_toggle = self.params.get_bool("LagdToggle")
|
|
self.software_delay = self.params.get("LagdToggleDelay", return_default=True)
|
|
|
|
def read_params(self) -> None:
|
|
self.lagd_toggle = self.params.get_bool("LagdToggle")
|
|
self.software_delay = self.params.get("LagdToggleDelay", return_default=True)
|
|
|
|
def update(self, lag_msg: log.LiveDelayData) -> None:
|
|
self.read_params()
|
|
|
|
if not self.lagd_toggle:
|
|
steer_actuator_delay = self.CP.steerActuatorDelay
|
|
delay = self.software_delay
|
|
self.lag = (steer_actuator_delay + delay)
|
|
self.params.put_nonblocking("LagdValueCache", self.lag)
|
|
return
|
|
|
|
lateral_delay = lag_msg.liveDelay.lateralDelay
|
|
self.lag = lateral_delay
|
|
self.params.put_nonblocking("LagdValueCache", self.lag)
|