fix: speed limit rounding, controlsd crashes, modeld calibration rate
- Speed limit display uses round() instead of floor() to fix off-by-one - Initialize driving_gear in controlsd __init__ to prevent AttributeError - Fix gpsLocation capnp access (attribute style, not getter methods) - Fix sm.valid dict access (brackets not parentheses) - modeld runs full 20fps during calibration instead of throttled 4fps - Over-speed warning threshold below 50mph changed from 5 to 7 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -204,6 +204,7 @@ class Controls:
|
||||
self.always_on_lateral_main = self.always_on_lateral and self.params.get_bool("AlwaysOnLateralMain")
|
||||
|
||||
self.drive_added = False
|
||||
self.driving_gear = False
|
||||
self.was_driving_gear = False
|
||||
self.fcw_random_event_triggered = False
|
||||
self.holiday_theme_alerted = False
|
||||
@@ -1286,9 +1287,9 @@ class Controls:
|
||||
# ClearPilot speed processing (~2 Hz at 100 Hz loop)
|
||||
self.speed_state_frame += 1
|
||||
if self.speed_state_frame % 50 == 0:
|
||||
gps = self.sm['gpsLocation'].getGpsLocation()
|
||||
has_gps = self.sm.valid('gpsLocation') and gps.getHasFix()
|
||||
speed_ms = gps.getSpeed() if has_gps else 0.0
|
||||
gps = self.sm['gpsLocation']
|
||||
has_gps = self.sm.valid['gpsLocation'] and gps.hasFix
|
||||
speed_ms = gps.speed if has_gps else 0.0
|
||||
speed_limit_ms = self.params_memory.get_float("CarSpeedLimit")
|
||||
is_metric = (self.params_memory.get("CarIsMetric", encoding="utf-8") or "0") == "1"
|
||||
cruise_speed_ms = CS.cruiseState.speed
|
||||
|
||||
Reference in New Issue
Block a user