process_replay: deprecated message migration (#28456)
* Move migration code to new file
* Migrate messages in process replay. Remove old code
* Fix old_logtime
* Keep old logtimes on migrated messages
* Update ref commit
old-commit-hash: 838346d8a3
beeps
parent
e199a1a953
commit
0541586636
4 changed files with 70 additions and 59 deletions
@ -0,0 +1,65 @@ |
|||||||
|
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 |
@ -1 +1 @@ |
|||||||
3e684aef4483b8d311d71bab3bb543d7bad26563 |
67bcd498f0432252a3f11a9fd2b59b344ee214ba |
||||||
|
Loading…
Reference in new issue