|  |  | @ -236,6 +236,9 @@ void Panda::can_send(capnp::List<cereal::CanData>::Reader can_data_list) { | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | bool Panda::can_receive(std::vector<can_frame>& out_vec) { |  |  |  | bool Panda::can_receive(std::vector<can_frame>& out_vec) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   // Check if enough space left in buffer to store RECV_SIZE data
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   assert(receive_buffer_size + RECV_SIZE <= sizeof(receive_buffer)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   int recv = handle->bulk_read(0x81, &receive_buffer[receive_buffer_size], RECV_SIZE); |  |  |  |   int recv = handle->bulk_read(0x81, &receive_buffer[receive_buffer_size], RECV_SIZE); | 
			
		
	
		
		
			
				
					
					|  |  |  |   if (!comms_healthy()) { |  |  |  |   if (!comms_healthy()) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     return false; |  |  |  |     return false; | 
			
		
	
	
		
		
			
				
					|  |  | @ -278,6 +281,7 @@ bool Panda::unpack_can_buffer(uint8_t *data, uint32_t &size, std::vector<can_fra | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (calculate_checksum(&data[pos], sizeof(can_header) + data_len) != 0) { |  |  |  |     if (calculate_checksum(&data[pos], sizeof(can_header) + data_len) != 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       LOGE("Panda CAN checksum failed"); |  |  |  |       LOGE("Panda CAN checksum failed"); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       size = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |       return false; |  |  |  |       return false; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |