SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
ImuAccelerometerAdapter.hpp
Go to the documentation of this file.
1
30#pragma once
31
32#include "AccelerometerBase.hpp"
33#include "ImuBase.hpp"
34
39{
40public:
41 explicit ImuAccelerometerAdapter(ImuBase &dev) : _dev(dev) {}
42
43 bool readData(AccelerometerData &data) override
44 {
45 return _dev.readAccel(data);
46 }
47
48 bool isDataReady() override
49 {
50 return _dev.isDataReady(static_cast<uint8_t>(ImuBase::DataReadyMask::ACCEL));
51 }
52
53 bool reset() override
54 {
55 return _dev.reset();
56 }
57
58 bool selfTest() override
59 {
60 // device-level self-test; if you want accel-only selftest you can split later
61 return _dev.selfTest();
62 }
63
65 {
66 return _dev.setAccelFullScaleRange(range);
67 }
68
69 bool setOutputDataRate(float data_rate_hz) override
70 {
71 return _dev.setAccelOutputDataRate(data_rate_hz);
72 }
73
74 bool setOperationMode(OperationMode mode) override
75 {
76 return _dev.setOperationMode(mode);
77 }
78
79private:
80 ImuBase &_dev;
81};
@license MIT License
@license MIT License
OperationMode
Enumeration of sensor operation modes.
AccelFullScaleRange
Enumeration of accelerometer full-scale range settings.
Abstract base class for accelerometer implementations.
Adapter: expose an IMU device as an AccelerometerBase.
bool reset() override
Reset accelerometer to default state.
bool setFullScaleRange(AccelFullScaleRange range) override
Set accelerometer full-scale range.
bool setOperationMode(OperationMode mode) override
Set accelerometer operation mode.
bool setOutputDataRate(float data_rate_hz) override
Set accelerometer output data rate.
bool readData(AccelerometerData &data) override
Read accelerometer data.
bool isDataReady() override
Check if new accelerometer data is available.
bool selfTest() override
Perform accelerometer self-test.
Abstract IMU device interface for polymorphic IMU sensor implementations.
Definition ImuBase.hpp:43
virtual bool readAccel(AccelerometerData &out)=0
Read accelerometer data.
virtual bool setAccelFullScaleRange(AccelFullScaleRange range)=0
Set accelerometer full scale range.
virtual bool setOperationMode(OperationMode mode)=0
Set IMU operation mode.
virtual bool selfTest()=0
Perform self-test on the IMU sensor.
virtual bool setAccelOutputDataRate(float data_rate_hz)=0
Set accelerometer output data rate.
virtual bool isDataReady(uint8_t mask=static_cast< uint8_t >(DataReadyMask::BOTH))=0
Check if requested IMU data is available.
virtual bool reset()=0
Reset the IMU sensor to its default state.
Structure representing accelerometer data.