mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-12 23:43:44 +08:00
cf21c9729f
Integrate Honda steering and AOL adapters with platform-specific native safety coverage. Co-authored-by: Daniel Koepping <elkoled@gmail.com> Co-authored-by: Danny <dannyirwin31@yahoo.com> Co-authored-by: dirwin31 <83434411+dirwin31@users.noreply.github.com>
29 lines
985 B
Python
29 lines
985 B
Python
import math
|
|
|
|
|
|
class BoschLearningParams:
|
|
def __init__(self, params, owner):
|
|
self.params = params
|
|
self.owner = owner
|
|
factors = []
|
|
for key in ("HondaGasFactorParams", "HondaWindFactorParams"):
|
|
try:
|
|
value = float(params.get(key, return_default=True))
|
|
if not math.isfinite(value):
|
|
value = 1.0
|
|
except (TypeError, ValueError, OverflowError, RuntimeError):
|
|
value = 1.0
|
|
factors.append(value)
|
|
owner.set_factors(*factors)
|
|
self.saved = (owner.bosch_gas_factor, owner.bosch_wind_factor)
|
|
|
|
def persist(self, frame):
|
|
if frame > 0 and frame % 6000 == 0:
|
|
# Learning only moves while openpilot drives the pedals; skip rewriting unchanged values.
|
|
factors = (self.owner.bosch_gas_factor, self.owner.bosch_wind_factor)
|
|
if factors == self.saved:
|
|
return
|
|
self.params.put("HondaGasFactorParams", factors[0])
|
|
self.params.put("HondaWindFactorParams", factors[1])
|
|
self.saved = factors
|