@ -246,7 +246,7 @@ void fill_longi(cereal::ModelData::LongitudinalData::Builder longi, const float 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					void  model_publish ( PubMaster  & pm ,  uint32_t  vipc_frame_id ,  uint32_t  frame_id ,  
					 
					 
					 
					void  model_publish ( PubMaster  & pm ,  uint32_t  vipc_frame_id ,  uint32_t  frame_id ,  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                   const  ModelDataRaw  & net_outputs ,  uint64_t  timestamp_eof )  {   
					 
					 
					 
					                   uint32_t  vipc_dropped_frames ,  float  frame_drop ,  const  ModelDataRaw  & net_outputs ,  uint64_t  timestamp_eof )  {   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					  // make msg
   
					 
					 
					 
					  // make msg
   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  capnp : : MallocMessageBuilder  msg ;   
					 
					 
					 
					  capnp : : MallocMessageBuilder  msg ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  cereal : : Event : : Builder  event  =  msg . initRoot < cereal : : Event > ( ) ;   
					 
					 
					 
					  cereal : : Event : : Builder  event  =  msg . initRoot < cereal : : Event > ( ) ;   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -257,6 +257,7 @@ void model_publish(PubMaster &pm, uint32_t vipc_frame_id, uint32_t frame_id, 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  auto  framed  =  event . initModel ( ) ;   
					 
					 
					 
					  auto  framed  =  event . initModel ( ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  framed . setFrameId ( vipc_frame_id ) ;   
					 
					 
					 
					  framed . setFrameId ( vipc_frame_id ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  framed . setFrameAge ( frame_age ) ;   
					 
					 
					 
					  framed . setFrameAge ( frame_age ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  framed . setFrameDropPerc ( frame_drop  *  100 ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  framed . setTimestampEof ( timestamp_eof ) ;   
					 
					 
					 
					  framed . setTimestampEof ( timestamp_eof ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  auto  lpath  =  framed . initPath ( ) ;   
					 
					 
					 
					  auto  lpath  =  framed . initPath ( ) ;   
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -293,13 +294,13 @@ void model_publish(PubMaster &pm, uint32_t vipc_frame_id, uint32_t frame_id, 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  auto  meta  =  framed . initMeta ( ) ;   
					 
					 
					 
					  auto  meta  =  framed . initMeta ( ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  fill_meta ( meta ,  net_outputs . meta ) ;   
					 
					 
					 
					  fill_meta ( meta ,  net_outputs . meta ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  event . setValid ( frame_age  <  MAX_FRAME_AGE  ) ;   
					 
					 
					 
					  event . setValid ( frame_drop  <  MAX_FRAME_DROP  ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  pm . send ( " model " ,  msg ) ;   
					 
					 
					 
					  pm . send ( " model " ,  msg ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					void  posenet_publish ( PubMaster  & pm ,  uint32_t  vipc_frame_id ,  uint32_t  frame_id ,  
					 
					 
					 
					void  posenet_publish ( PubMaster  & pm ,  uint32_t  vipc_frame_id ,  uint32_t  frame_id ,  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                     const  ModelDataRaw  & net_outputs ,  uint64_t  timestamp_eof )  {   
					 
					 
					 
					                     uint32_t  vipc_dropped_frames ,  float  frame_drop ,  const  ModelDataRaw  & net_outputs ,  uint64_t  timestamp_eof )  {   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					  capnp : : MallocMessageBuilder  msg ;   
					 
					 
					 
					  capnp : : MallocMessageBuilder  msg ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  cereal : : Event : : Builder  event  =  msg . initRoot < cereal : : Event > ( ) ;   
					 
					 
					 
					  cereal : : Event : : Builder  event  =  msg . initRoot < cereal : : Event > ( ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  event . setLogMonoTime ( nanos_since_boot ( ) ) ;   
					 
					 
					 
					  event . setLogMonoTime ( nanos_since_boot ( ) ) ;   
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -331,8 +332,7 @@ void posenet_publish(PubMaster &pm, uint32_t vipc_frame_id, uint32_t frame_id, 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  posenetd . setTimestampEof ( timestamp_eof ) ;   
					 
					 
					 
					  posenetd . setTimestampEof ( timestamp_eof ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  posenetd . setFrameId ( vipc_frame_id ) ;   
					 
					 
					 
					  posenetd . setFrameId ( vipc_frame_id ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  uint32_t  frame_age  =  ( frame_id  >  vipc_frame_id )  ?  ( frame_id  -  vipc_frame_id )  :  0 ;   
					 
					 
					 
					  event . setValid ( vipc_dropped_frames  <  1 ) ;   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					  event . setValid ( frame_age  <  MAX_FRAME_AGE ) ;   
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					  pm . send ( " cameraOdometry " ,  msg ) ;   
					 
					 
					 
					  pm . send ( " cameraOdometry " ,  msg ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}