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