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
			
			
				vw-mqb-aeb
			
			
		
							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