|
|
|
@ -1,12 +1,14 @@ |
|
|
|
|
from collections import defaultdict |
|
|
|
|
|
|
|
|
|
from cereal import messaging |
|
|
|
|
from cereal import car, messaging |
|
|
|
|
from openpilot.selfdrive.car.fingerprints import MIGRATION |
|
|
|
|
from openpilot.selfdrive.test.process_replay.vision_meta import meta_from_encode_index |
|
|
|
|
from openpilot.selfdrive.car.toyota.values import EPS_SCALE |
|
|
|
|
from openpilot.selfdrive.manager.process_config import managed_processes |
|
|
|
|
from panda import Panda |
|
|
|
|
|
|
|
|
|
EventName = car.CarEvent.EventName |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# TODO: message migration should happen in-place |
|
|
|
|
def migrate_all(lr, old_logtime=False, manager_states=False, panda_states=False, camera_states=False): |
|
|
|
@ -14,6 +16,7 @@ def migrate_all(lr, old_logtime=False, manager_states=False, panda_states=False, |
|
|
|
|
msgs = migrate_carParams(msgs, old_logtime) |
|
|
|
|
msgs = migrate_gpsLocation(msgs) |
|
|
|
|
msgs = migrate_deviceState(msgs) |
|
|
|
|
msgs = migrate_controlsState(msgs) |
|
|
|
|
if manager_states: |
|
|
|
|
msgs = migrate_managerState(msgs) |
|
|
|
|
if panda_states: |
|
|
|
@ -69,6 +72,21 @@ def migrate_deviceState(lr): |
|
|
|
|
return all_msgs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def migrate_controlsState(lr): |
|
|
|
|
all_msgs = [] |
|
|
|
|
events = None |
|
|
|
|
for msg in lr: |
|
|
|
|
if msg.which() == 'onroadEvents': |
|
|
|
|
events = msg.onroadEvents |
|
|
|
|
elif msg.which() == 'controlsState': |
|
|
|
|
cs = msg.as_builder() |
|
|
|
|
cs.controlsState.initialized = events is not None and not any(EventName.controlsInitializing == e.name for e in events) |
|
|
|
|
all_msgs.append(cs.as_reader()) |
|
|
|
|
else: |
|
|
|
|
all_msgs.append(msg) |
|
|
|
|
return all_msgs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def migrate_pandaStates(lr): |
|
|
|
|
all_msgs = [] |
|
|
|
|
# TODO: safety param migration should be handled automatically |
|
|
|
|