You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.9 KiB
66 lines
1.9 KiB
2 years ago
|
from cereal import messaging
|
||
|
|
||
|
|
||
|
def migrate_all(lr, old_logtime=False):
|
||
|
msgs = migrate_sensorEvents(lr, old_logtime)
|
||
|
msgs = migrate_carParams(msgs, old_logtime)
|
||
|
|
||
|
return msgs
|
||
|
|
||
|
|
||
|
def migrate_carParams(lr, old_logtime=False):
|
||
|
all_msgs = []
|
||
|
for msg in lr:
|
||
|
if msg.which() == 'carParams':
|
||
|
CP = messaging.new_message('carParams')
|
||
|
CP.carParams = msg.carParams.as_builder()
|
||
|
for car_fw in CP.carParams.carFw:
|
||
|
car_fw.brand = CP.carParams.carName
|
||
|
if old_logtime:
|
||
|
CP.logMonoTime = msg.logMonoTime
|
||
|
msg = CP.as_reader()
|
||
|
all_msgs.append(msg)
|
||
|
|
||
|
return all_msgs
|
||
|
|
||
|
|
||
|
def migrate_sensorEvents(lr, old_logtime=False):
|
||
|
all_msgs = []
|
||
|
for msg in lr:
|
||
|
if msg.which() != 'sensorEventsDEPRECATED':
|
||
|
all_msgs.append(msg)
|
||
|
continue
|
||
|
|
||
|
# migrate to split sensor events
|
||
|
for evt in msg.sensorEventsDEPRECATED:
|
||
|
# build new message for each sensor type
|
||
|
sensor_service = ''
|
||
|
if evt.which() == 'acceleration':
|
||
|
sensor_service = 'accelerometer'
|
||
|
elif evt.which() == 'gyro' or evt.which() == 'gyroUncalibrated':
|
||
|
sensor_service = 'gyroscope'
|
||
|
elif evt.which() == 'light' or evt.which() == 'proximity':
|
||
|
sensor_service = 'lightSensor'
|
||
|
elif evt.which() == 'magnetic' or evt.which() == 'magneticUncalibrated':
|
||
|
sensor_service = 'magnetometer'
|
||
|
elif evt.which() == 'temperature':
|
||
|
sensor_service = 'temperatureSensor'
|
||
|
|
||
|
m = messaging.new_message(sensor_service)
|
||
|
m.valid = True
|
||
|
if old_logtime:
|
||
|
m.logMonoTime = msg.logMonoTime
|
||
|
|
||
|
m_dat = getattr(m, sensor_service)
|
||
|
m_dat.version = evt.version
|
||
|
m_dat.sensor = evt.sensor
|
||
|
m_dat.type = evt.type
|
||
|
m_dat.source = evt.source
|
||
|
if old_logtime:
|
||
|
m_dat.timestamp = evt.timestamp
|
||
|
setattr(m_dat, evt.which(), getattr(evt, evt.which()))
|
||
|
|
||
|
all_msgs.append(m.as_reader())
|
||
|
|
||
|
return all_msgs
|