Skyward boardcore
Loading...
Searching...
No Matches
Boardcore::AbstractSensor Class Referenceabstract

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
 

Detailed Description

Base abstract class for sensor drivers.

Definition at line 51 of file Sensor.h.

Constructor & Destructor Documentation

◆ ~AbstractSensor()

virtual Boardcore::AbstractSensor::~AbstractSensor ( )
inlinevirtual

Definition at line 57 of file Sensor.h.

Member Function Documentation

◆ getLastError()

SensorErrors Boardcore::AbstractSensor::getLastError ( )
inline

Get last error for debugging purposes. Avoid silent fails.

Returns
the last error recorded by this sensor

Definition at line 80 of file Sensor.h.

◆ init()

virtual bool Boardcore::AbstractSensor::init ( )
pure virtual

Initialize the sensor.

Returns
boolean value indicating whether the operation succeded or not

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.

◆ sample()

virtual void Boardcore::AbstractSensor::sample ( )
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 >.

◆ selfTest()

virtual bool Boardcore::AbstractSensor::selfTest ( )
pure virtual

Check if the sensor is working.

Returns
boolean indicating whether the sensor is correctly working or not

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.

Member Data Documentation

◆ lastError

SensorErrors Boardcore::AbstractSensor::lastError = SensorErrors::NO_ERRORS
protected

Definition at line 54 of file Sensor.h.


The documentation for this class was generated from the following file: