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.
		
		
		
		
		
			
		
			
				
					
					
						
							18 lines
						
					
					
						
							444 B
						
					
					
				
			
		
		
	
	
							18 lines
						
					
					
						
							444 B
						
					
					
				#pragma once
 | 
						|
 | 
						|
#include "cereal/messaging/messaging.h"
 | 
						|
 | 
						|
class Sensor {
 | 
						|
public:
 | 
						|
  int gpio_fd = -1;
 | 
						|
  uint64_t init_delay = 500e6; // default dealy 500ms
 | 
						|
  virtual ~Sensor() {};
 | 
						|
  virtual int init() = 0;
 | 
						|
  virtual bool get_event(MessageBuilder &msg, uint64_t ts = 0) = 0;
 | 
						|
  virtual bool has_interrupt_enabled() = 0;
 | 
						|
  virtual int shutdown() = 0;
 | 
						|
 | 
						|
  virtual bool is_data_valid(uint64_t st, uint64_t ct) {
 | 
						|
    return (ct - st) > init_delay;
 | 
						|
  }
 | 
						|
};
 | 
						|
 |