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
 |