SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
AccelerometerBase Class Referenceabstract

Abstract base class for accelerometer implementations. More...

#include <AccelerometerBase.hpp>

Inheritance diagram for AccelerometerBase:
[legend]

Public Member Functions

virtual bool readData (AccelerometerData &data) override=0
 Read accelerometer data.
 
virtual bool isDataReady () override=0
 Check if new accelerometer data is available.
 
virtual bool reset () override=0
 Reset accelerometer to default state.
 
virtual bool selfTest () override=0
 Perform accelerometer self-test.
 
virtual bool setFullScaleRange (AccelFullScaleRange range)=0
 Set accelerometer full-scale range.
 
virtual bool setOutputDataRate (float data_rate_hz)=0
 Set accelerometer output data rate.
 
virtual bool setOperationMode (OperationMode mode)=0
 Set accelerometer operation mode.
 
virtual float getFullScaleRange () const
 Get current full-scale range setting.
 
virtual float getOutputDataRate () const
 Get current output data rate setting.
 
virtual OperationMode getOperationMode () const
 Get current operation mode setting.
 
- Public Member Functions inherited from SensorBase< AccelerometerData >
 SensorBase (const SensorBase &)=delete
 
SensorBaseoperator= (const SensorBase &)=delete
 
void setOffset (int16_t x, int16_t y, int16_t z)
 Set sensor calibration offsets.
 
float getSensitivity () const
 Get sensor sensitivity.
 
SensorInfo getSensorInfo () const
 Get sensor information.
 
virtual SensorConfig getConfig () const
 Get current sensor configuration.
 

Protected Member Functions

 AccelerometerBase ()
 Construct a new AccelerometerBase object.
 
virtual ~AccelerometerBase ()=default
 Destroy the AccelerometerBase object.
 
 AccelerometerBase (const AccelerometerBase &)=delete
 
AccelerometerBaseoperator= (const AccelerometerBase &)=delete
 
- Protected Member Functions inherited from SensorBase< AccelerometerData >
 SensorBase (SensorType sensor_type=SensorType::UNKNOWN)
 Construct a new SensorBase object.
 
virtual ~SensorBase ()=default
 Virtual destructor for proper polymorphic cleanup.
 

Additional Inherited Members

- Protected Attributes inherited from SensorBase< AccelerometerData >
SensorConfig _config
 Current configuration.
 
SensorInfo _info
 Sensor information.
 
int16_t _x_offset
 
int16_t _y_offset
 
int16_t _z_offset
 
float _sensitivity
 

Detailed Description

Abstract base class for accelerometer implementations.

Note
This is an abstract base class and cannot be instantiated directly. Use derived classes such as SensorBMA4XX, SensorMPU6050, etc.
Examples
/home/runner/work/SensorLib/SensorLib/src/sensor/accelerometer/bma/SensorBMA4XX.hpp.

Definition at line 44 of file AccelerometerBase.hpp.

Constructor & Destructor Documentation

◆ AccelerometerBase() [1/2]

AccelerometerBase::AccelerometerBase ( )
inlineexplicitprotected

Construct a new AccelerometerBase object.

Note
Constructor is protected to prevent direct instantiation

Definition at line 52 of file AccelerometerBase.hpp.

◆ ~AccelerometerBase()

virtual AccelerometerBase::~AccelerometerBase ( )
protectedvirtualdefault

Destroy the AccelerometerBase object.

◆ AccelerometerBase() [2/2]

AccelerometerBase::AccelerometerBase ( const AccelerometerBase )
protecteddelete

Member Function Documentation

◆ getFullScaleRange()

virtual float AccelerometerBase::getFullScaleRange ( ) const
inlinevirtual

Get current full-scale range setting.

Returns
float Full-scale range in g-force

Definition at line 133 of file AccelerometerBase.hpp.

References SensorBase< AccelerometerData >::_config, and SensorConfig::range.

◆ getOperationMode()

virtual OperationMode AccelerometerBase::getOperationMode ( ) const
inlinevirtual

Get current operation mode setting.

Returns
OperationMode Operation mode enumeration

Definition at line 153 of file AccelerometerBase.hpp.

References SensorBase< AccelerometerData >::_config, and SensorConfig::mode.

◆ getOutputDataRate()

virtual float AccelerometerBase::getOutputDataRate ( ) const
inlinevirtual

Get current output data rate setting.

Returns
float Output data rate in Hertz

Definition at line 143 of file AccelerometerBase.hpp.

References SensorBase< AccelerometerData >::_config, and SensorConfig::sample_rate.

◆ isDataReady()

virtual bool AccelerometerBase::isDataReady ( )
overridepure virtual

Check if new accelerometer data is available.

Returns
true New data available
false No new data

Implements SensorBase< AccelerometerData >.

Implemented in SensorBMA4XX, and ImuAccelerometerAdapter.

◆ operator=()

AccelerometerBase & AccelerometerBase::operator= ( const AccelerometerBase )
protecteddelete

◆ readData()

virtual bool AccelerometerBase::readData ( AccelerometerData data)
overridepure virtual

Read accelerometer data.

Parameters
dataReference to store accelerometer data
Returns
true Read successful
false Read failed

Implements SensorBase< AccelerometerData >.

Implemented in SensorBMA4XX, and ImuAccelerometerAdapter.

◆ reset()

virtual bool AccelerometerBase::reset ( )
overridepure virtual

Reset accelerometer to default state.

Returns
true Reset successful
false Reset failed

Implements SensorBase< AccelerometerData >.

Implemented in SensorBMA4XX, and ImuAccelerometerAdapter.

◆ selfTest()

virtual bool AccelerometerBase::selfTest ( )
overridepure virtual

Perform accelerometer self-test.

Returns
true Self-test passed
false Self-test failed

Implements SensorBase< AccelerometerData >.

Implemented in SensorBMA4XX, and ImuAccelerometerAdapter.

◆ setFullScaleRange()

virtual bool AccelerometerBase::setFullScaleRange ( AccelFullScaleRange  range)
pure virtual

Set accelerometer full-scale range.

Parameters
rangeDesired full-scale range
Returns
true Configuration successful
false Configuration failed

Implemented in SensorBMA4XX, and ImuAccelerometerAdapter.

◆ setOperationMode()

virtual bool AccelerometerBase::setOperationMode ( OperationMode  mode)
pure virtual

Set accelerometer operation mode.

Parameters
modeDesired operation mode
Returns
true Configuration successful
false Configuration failed

Implemented in SensorBMA4XX, and ImuAccelerometerAdapter.

◆ setOutputDataRate()

virtual bool AccelerometerBase::setOutputDataRate ( float  data_rate_hz)
pure virtual

Set accelerometer output data rate.

Parameters
data_rate_hzDesired output data rate in Hertz
Returns
true Configuration successful
false Configuration failed

Implemented in SensorBMA4XX, and ImuAccelerometerAdapter.


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