|  |  | @ -147,13 +147,10 @@ kj::Array<capnp::word> UbloxMsgParser::gen_nav_pvt(ubx_t::nav_pvt_t *msg) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   return capnp::messageToFlatArray(msg_builder); |  |  |  |   return capnp::messageToFlatArray(msg_builder); | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | kj::Array<capnp::word> UbloxMsgParser::parse_gps_ephemeris(ubx_t::rxm_sfrbx_t *msg) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | kj::Array<capnp::word> UbloxMsgParser::gen_rxm_sfrbx(ubx_t::rxm_sfrbx_t *msg) { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   auto body = *msg->body(); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (msg->gnss_id() == ubx_t::gnss_type_t::GNSS_TYPE_GPS) { |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   // GPS subframes are packed into 10x 4 bytes, each containing 3 actual bytes
 |  |  |  |   // GPS subframes are packed into 10x 4 bytes, each containing 3 actual bytes
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   // We will first need to separate the data from the padding and parity
 |  |  |  |   // We will first need to separate the data from the padding and parity
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   auto body = *msg->body(); | 
			
		
	
		
		
			
				
					
					|  |  |  |   assert(body.size() == 10); |  |  |  |   assert(body.size() == 10); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   std::string subframe_data; |  |  |  |   std::string subframe_data; | 
			
		
	
	
		
		
			
				
					|  |  | @ -262,9 +259,18 @@ kj::Array<capnp::word> UbloxMsgParser::gen_rxm_sfrbx(ubx_t::rxm_sfrbx_t *msg) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     return capnp::messageToFlatArray(msg_builder); |  |  |  |     return capnp::messageToFlatArray(msg_builder); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   return kj::Array<capnp::word>(); | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | kj::Array<capnp::word> UbloxMsgParser::gen_rxm_sfrbx(ubx_t::rxm_sfrbx_t *msg) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   switch (msg->gnss_id()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     case ubx_t::gnss_type_t::GNSS_TYPE_GPS: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       return parse_gps_ephemeris(msg); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     default: | 
			
		
	
		
		
			
				
					
					|  |  |  |       return kj::Array<capnp::word>(); |  |  |  |       return kj::Array<capnp::word>(); | 
			
		
	
		
		
			
				
					
					|  |  |  |   } |  |  |  |   } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | kj::Array<capnp::word> UbloxMsgParser::gen_rxm_rawx(ubx_t::rxm_rawx_t *msg) { |  |  |  | kj::Array<capnp::word> UbloxMsgParser::gen_rxm_rawx(ubx_t::rxm_rawx_t *msg) { | 
			
		
	
		
		
			
				
					
					|  |  |  |   MessageBuilder msg_builder; |  |  |  |   MessageBuilder msg_builder; | 
			
		
	
	
		
		
			
				
					|  |  | 
 |