mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-06-27 09:32:05 +08:00
Merge branch 'feature/slc' into ui/slc-ui
This commit is contained in:
@@ -211,7 +211,6 @@ class SpeedLimitController:
|
||||
|
||||
def transition_state_from_pre_active(self) -> None:
|
||||
""" Make state transition from preActive state """
|
||||
pass
|
||||
|
||||
def transition_state_from_adapting(self) -> None:
|
||||
""" Make state transition from adapting state """
|
||||
|
||||
@@ -63,7 +63,7 @@ class SpeedLimitResolver:
|
||||
gps_data = sm[self._gps_location_service]
|
||||
map_data = sm['liveMapDataSP']
|
||||
|
||||
gps_fix_age = time.time() - gps_data.unixTimestampMillis * 1e-3
|
||||
gps_fix_age = time.monotonic() - gps_data.unixTimestampMillis * 1e-3
|
||||
if gps_fix_age > LIMIT_MAX_MAP_DATA_AGE:
|
||||
debug(f'SL: Ignoring map data as is too old. Age: {gps_fix_age}')
|
||||
return
|
||||
@@ -77,7 +77,7 @@ class SpeedLimitResolver:
|
||||
gps_data = sm[self._gps_location_service]
|
||||
map_data = sm['liveMapDataSP']
|
||||
|
||||
distance_since_fix = self._v_ego * (time.time() - gps_data.unixTimestampMillis * 1e-3)
|
||||
distance_since_fix = self._v_ego * (time.monotonic() - gps_data.unixTimestampMillis * 1e-3)
|
||||
distance_to_speed_limit_ahead = max(0., map_data.speedLimitAheadDistance - distance_since_fix)
|
||||
|
||||
self._limit_solutions[Source.map_data] = speed_limit
|
||||
|
||||
@@ -24,7 +24,7 @@ class StateMachine:
|
||||
if events_sp.has(EventNameSP.speedLimitAdapting):
|
||||
self.state = State.adapting
|
||||
elif events_sp.has(EventNameSP.speedLimitActive):
|
||||
self.state = State.activ
|
||||
self.state = State.active
|
||||
|
||||
# ACTIVE
|
||||
elif self.state == State.active:
|
||||
|
||||
+2
-2
@@ -38,7 +38,7 @@ def setup_sm_mock(mocker: MockerFixture):
|
||||
'speedLimitAheadDistance': 0.,
|
||||
}, mocker)
|
||||
gps_data = create_mock({
|
||||
'unixTimestampMillis': time.time() * 1e3,
|
||||
'unixTimestampMillis': time.monotonic() * 1e3,
|
||||
}, mocker)
|
||||
sm_mock = mocker.MagicMock()
|
||||
sm_mock.__getitem__.side_effect = lambda key: {
|
||||
@@ -124,7 +124,7 @@ class TestSpeedLimitResolverValidation:
|
||||
def test_old_map_data_ignored(self, resolver_class, policy, mocker: MockerFixture):
|
||||
resolver = resolver_class(policy)
|
||||
sm_mock = mocker.MagicMock()
|
||||
sm_mock['gpsLocation'].unixTimestampMillis = (time.time() - 2 * LIMIT_MAX_MAP_DATA_AGE) * 1e3
|
||||
sm_mock['gpsLocation'].unixTimestampMillis = (time.monotonic() - 2 * LIMIT_MAX_MAP_DATA_AGE) * 1e3
|
||||
resolver._get_from_map_data(sm_mock)
|
||||
assert resolver._limit_solutions[Source.map_data] == 0.
|
||||
assert resolver._distance_solutions[Source.map_data] == 0.
|
||||
|
||||
Reference in New Issue
Block a user