Skyward boardcore
|
Base abstract class for sensor drivers. More...
#include <Sensor.h>
Inherited by Boardcore::Sensor< ADS1118Data > [virtual]
, Boardcore::Sensor< ADS131M04Data > [virtual]
, Boardcore::Sensor< ADS131M08Data > [virtual]
, Boardcore::Sensor< AnalogLoadCellData > [virtual]
, Boardcore::Sensor< AnalogPressureData > [virtual]
, Boardcore::Sensor< BME280Data > [virtual]
, Boardcore::Sensor< BMP280Data > [virtual]
, Boardcore::Sensor< BMX160Data > [virtual]
, Boardcore::Sensor< BMX160WithCorrectionData > [virtual]
, Boardcore::Sensor< BatteryVoltageSensorData > [virtual]
, Boardcore::Sensor< CurrentData > [virtual]
, Boardcore::Sensor< H3LIS331DLData > [virtual]
, Boardcore::Sensor< HSCMAND015PAData > [virtual]
, Boardcore::Sensor< HSCMRNN015PAData > [virtual]
, Boardcore::Sensor< HSCMRNN030PAData > [virtual]
, Boardcore::Sensor< HSCMRNN160KAData > [virtual]
, Boardcore::Sensor< HX711Data > [virtual]
, Boardcore::Sensor< HoneywellPressureData > [virtual]
, Boardcore::Sensor< InternalADCData > [virtual]
, Boardcore::Sensor< L3GD20Data > [virtual]
, Boardcore::Sensor< LIS2MDLData > [virtual]
, Boardcore::Sensor< LIS331HHData > [virtual]
, Boardcore::Sensor< LIS3DSHData > [virtual]
, Boardcore::Sensor< LIS3MDLData > [virtual]
, Boardcore::Sensor< LPS22DFData > [virtual]
, Boardcore::Sensor< LPS28DFWData > [virtual]
, Boardcore::Sensor< LPS331APData > [virtual]
, Boardcore::Sensor< LSM6DSRXData > [virtual]
, Boardcore::Sensor< TemperatureData > [virtual]
, Boardcore::Sensor< MAX31856Data > [virtual]
, Boardcore::Sensor< MBLoadCellData > [virtual]
, Boardcore::Sensor< MPU9250Data > [virtual]
, Boardcore::Sensor< MPX5010Data > [virtual]
, Boardcore::Sensor< MPXH6115AData > [virtual]
, Boardcore::Sensor< MPXH6250AData > [virtual]
, Boardcore::Sensor< MPXH6400AData > [virtual]
, Boardcore::Sensor< MPXHZ6130AData > [virtual]
, Boardcore::Sensor< MS5803Data > [virtual]
, Boardcore::Sensor< ND015XData > [virtual]
, Boardcore::Sensor< PitotData > [virtual]
, Boardcore::Sensor< IMUData > [virtual]
, Boardcore::Sensor< SSCDANN030PAAData > [virtual]
, Boardcore::Sensor< SSCDRRN015PDAData > [virtual]
, Boardcore::Sensor< SSCMRNN030PAData > [virtual]
, Boardcore::Sensor< PressureData > [virtual]
, Boardcore::Sensor< LoadCellData > [virtual]
, Boardcore::Sensor< UBXGPSData > [virtual]
, Boardcore::Sensor< VN100SerialData > [virtual]
, Boardcore::Sensor< VN100SpiData > [virtual]
, Boardcore::Sensor< VN300Data > [virtual]
, Boardcore::Sensor< FirstPressureData > [virtual]
, Boardcore::Sensor< SecondPressureData > [virtual]
, and Boardcore::Sensor< Data > [virtual]
.
Public Member Functions | |
virtual | ~AbstractSensor () |
virtual bool | init ()=0 |
Initialize the sensor. | |
virtual bool | selfTest ()=0 |
Check if the sensor is working. | |
virtual void | sample ()=0 |
Sample the sensor. | |
SensorErrors | getLastError () |
Get last error for debugging purposes. Avoid silent fails. | |
Protected Attributes | |
SensorErrors | lastError = SensorErrors::NO_ERRORS |
|
inlinevirtual |
|
inline |
|
pure virtual |
Initialize the sensor.
Implemented in Boardcore::H3LIS331DL, Boardcore::L3GD20, Boardcore::MAX31855, Boardcore::MAX31856, Boardcore::MAX6675, Boardcore::InternalADC, Boardcore::ADS1118, Boardcore::ADS131M04, Boardcore::ADS131M08, Boardcore::AnalogLoadCell, Boardcore::BatteryVoltageSensor, Boardcore::CurrentSensor, Boardcore::Pitot, Boardcore::AnalogPressureSensor< AnalogPressureData >, Boardcore::AnalogPressureSensor< HoneywellPressureData >, Boardcore::AnalogPressureSensor< HSCMAND015PAData >, Boardcore::AnalogPressureSensor< HSCMRNN015PAData >, Boardcore::AnalogPressureSensor< HSCMRNN030PAData >, Boardcore::AnalogPressureSensor< HSCMRNN160KAData >, Boardcore::AnalogPressureSensor< MPX5010Data >, Boardcore::AnalogPressureSensor< MPXH6115AData >, Boardcore::AnalogPressureSensor< MPXH6250AData >, Boardcore::AnalogPressureSensor< MPXH6400AData >, Boardcore::AnalogPressureSensor< MPXHZ6130AData >, Boardcore::AnalogPressureSensor< SSCDANN030PAAData >, Boardcore::AnalogPressureSensor< SSCDRRN015PDAData >, Boardcore::AnalogPressureSensor< SSCMRNN030PAData >, Boardcore::SoftwareDifferentialPressureSensor< FirstPressureData, SecondPressureData >, Boardcore::TrafagPressureSensor, Boardcore::TwoPointAnalogLoadCell, Boardcore::BME280, Boardcore::BME280I2C, Boardcore::BMP280, Boardcore::BMP280I2C, Boardcore::BMX160, Boardcore::BMX160WithCorrection, Boardcore::HX711, Boardcore::LIS2MDL, Boardcore::LIS331HH, Boardcore::LIS3DSH, Boardcore::LIS3MDL, Boardcore::LPS22DF, Boardcore::LPS28DFW, Boardcore::LPS331AP, Boardcore::LSM6DSRX, Boardcore::MBLoadCell, Boardcore::MPU9250, Boardcore::MS5803, Boardcore::MS5803I2C, Boardcore::ND015A, Boardcore::ND015D, Boardcore::RotatedIMU, Boardcore::UBXGPSSerial, Boardcore::UBXGPSSpi, Boardcore::VN100Serial, Boardcore::VN100Spi, and Boardcore::VN300.
|
pure virtual |
Sample the sensor.
Implemented in Boardcore::Sensor< Data >, Boardcore::Sensor< ADS1118Data >, Boardcore::Sensor< ADS131M04Data >, Boardcore::Sensor< ADS131M08Data >, Boardcore::Sensor< AnalogLoadCellData >, Boardcore::Sensor< AnalogPressureData >, Boardcore::Sensor< BatteryVoltageSensorData >, Boardcore::Sensor< BME280Data >, Boardcore::Sensor< BMP280Data >, Boardcore::Sensor< BMX160Data >, Boardcore::Sensor< BMX160WithCorrectionData >, Boardcore::Sensor< CurrentData >, Boardcore::Sensor< FirstPressureData >, Boardcore::Sensor< H3LIS331DLData >, Boardcore::Sensor< HoneywellPressureData >, Boardcore::Sensor< HSCMAND015PAData >, Boardcore::Sensor< HSCMRNN015PAData >, Boardcore::Sensor< HSCMRNN030PAData >, Boardcore::Sensor< HSCMRNN160KAData >, Boardcore::Sensor< HX711Data >, Boardcore::Sensor< IMUData >, Boardcore::Sensor< InternalADCData >, Boardcore::Sensor< L3GD20Data >, Boardcore::Sensor< LIS2MDLData >, Boardcore::Sensor< LIS331HHData >, Boardcore::Sensor< LIS3DSHData >, Boardcore::Sensor< LIS3MDLData >, Boardcore::Sensor< LoadCellData >, Boardcore::Sensor< LPS22DFData >, Boardcore::Sensor< LPS28DFWData >, Boardcore::Sensor< LPS331APData >, Boardcore::Sensor< LSM6DSRXData >, Boardcore::Sensor< MAX31856Data >, Boardcore::Sensor< MBLoadCellData >, Boardcore::Sensor< MPU9250Data >, Boardcore::Sensor< MPX5010Data >, Boardcore::Sensor< MPXH6115AData >, Boardcore::Sensor< MPXH6250AData >, Boardcore::Sensor< MPXH6400AData >, Boardcore::Sensor< MPXHZ6130AData >, Boardcore::Sensor< MS5803Data >, Boardcore::Sensor< ND015XData >, Boardcore::Sensor< PitotData >, Boardcore::Sensor< PressureData >, Boardcore::Sensor< SecondPressureData >, Boardcore::Sensor< SSCDANN030PAAData >, Boardcore::Sensor< SSCDRRN015PDAData >, Boardcore::Sensor< SSCMRNN030PAData >, Boardcore::Sensor< TemperatureData >, Boardcore::Sensor< UBXGPSData >, Boardcore::Sensor< VN100SerialData >, Boardcore::Sensor< VN100SpiData >, and Boardcore::Sensor< VN300Data >.
|
pure virtual |
Check if the sensor is working.
Implemented in Boardcore::H3LIS331DL, Boardcore::L3GD20, Boardcore::MAX31855, Boardcore::MAX31856, Boardcore::MAX6675, Boardcore::InternalADC, Boardcore::ADS1118, Boardcore::ADS131M04, Boardcore::ADS131M08, Boardcore::AnalogLoadCell, Boardcore::BatteryVoltageSensor, Boardcore::CurrentSensor, Boardcore::Pitot, Boardcore::AnalogPressureSensor< AnalogPressureData >, Boardcore::AnalogPressureSensor< HoneywellPressureData >, Boardcore::AnalogPressureSensor< HSCMAND015PAData >, Boardcore::AnalogPressureSensor< HSCMRNN015PAData >, Boardcore::AnalogPressureSensor< HSCMRNN030PAData >, Boardcore::AnalogPressureSensor< HSCMRNN160KAData >, Boardcore::AnalogPressureSensor< MPX5010Data >, Boardcore::AnalogPressureSensor< MPXH6115AData >, Boardcore::AnalogPressureSensor< MPXH6250AData >, Boardcore::AnalogPressureSensor< MPXH6400AData >, Boardcore::AnalogPressureSensor< MPXHZ6130AData >, Boardcore::AnalogPressureSensor< SSCDANN030PAAData >, Boardcore::AnalogPressureSensor< SSCDRRN015PDAData >, Boardcore::AnalogPressureSensor< SSCMRNN030PAData >, Boardcore::SoftwareDifferentialPressureSensor< FirstPressureData, SecondPressureData >, Boardcore::TrafagPressureSensor, Boardcore::TwoPointAnalogLoadCell, Boardcore::BME280, Boardcore::BME280I2C, Boardcore::BMP280, Boardcore::BMP280I2C, Boardcore::BMX160, Boardcore::BMX160WithCorrection, Boardcore::HX711, Boardcore::LIS2MDL, Boardcore::LIS331HH, Boardcore::LIS3DSH, Boardcore::LIS3MDL, Boardcore::LPS22DF, Boardcore::LPS28DFW, Boardcore::LPS331AP, Boardcore::LSM6DSRX, Boardcore::MBLoadCell, Boardcore::MPU9250, Boardcore::MS5803, Boardcore::MS5803I2C, Boardcore::ND015A, Boardcore::ND015D, Boardcore::RotatedIMU, Boardcore::UBXGPSSerial, Boardcore::UBXGPSSpi, Boardcore::VN100Serial, Boardcore::VN100Spi, and Boardcore::VN300.
|
protected |