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.
		
		
		
		
			
				
					27 lines
				
				697 B
			
		
		
			
		
	
	
					27 lines
				
				697 B
			| 
											5 years ago
										 | #pragma once
 | ||
|  | 
 | ||
| 
											3 years ago
										 | #include "system/sensord/sensors/i2c_sensor.h"
 | ||
| 
											5 years ago
										 | 
 | ||
|  | // Address of the chip on the bus
 | ||
|  | #define LSM6DS3_TEMP_I2C_ADDR       0x6A
 | ||
|  | 
 | ||
|  | // Registers of the chip
 | ||
|  | #define LSM6DS3_TEMP_I2C_REG_ID           0x0F
 | ||
|  | #define LSM6DS3_TEMP_I2C_REG_OUT_TEMP_L   0x20
 | ||
|  | 
 | ||
|  | // Constants
 | ||
|  | #define LSM6DS3_TEMP_CHIP_ID        0x69
 | ||
| 
											4 years ago
										 | #define LSM6DS3TRC_TEMP_CHIP_ID     0x6A
 | ||
| 
											5 years ago
										 | 
 | ||
|  | 
 | ||
|  | class LSM6DS3_Temp : public I2CSensor {
 | ||
|  |   uint8_t get_device_address() {return LSM6DS3_TEMP_I2C_ADDR;}
 | ||
| 
											4 years ago
										 |   cereal::SensorEventData::SensorSource source = cereal::SensorEventData::SensorSource::LSM6DS3;
 | ||
|  | 
 | ||
| 
											5 years ago
										 | public:
 | ||
|  |   LSM6DS3_Temp(I2CBus *bus);
 | ||
|  |   int init();
 | ||
| 
											3 years ago
										 |   bool get_event(MessageBuilder &msg, uint64_t ts = 0);
 | ||
| 
											3 years ago
										 |   int shutdown() { return 0; }
 | ||
| 
											5 years ago
										 | };
 |