SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
GyroscopeBase.hpp
Go to the documentation of this file.
1
33#pragma once
34
35#include "SensorBase.hpp"
36#include "GyroscopeUtils.hpp"
37
44class GyroscopeBase : public SensorBase<GyroscopeData>
45{
46protected:
53
57 virtual ~GyroscopeBase() = default;
58
59 // Delete copy operations
60 GyroscopeBase(const GyroscopeBase &) = delete;
62
63public:
71 virtual bool readData(GyroscopeData &data) override = 0;
72
79 virtual bool isDataReady() override = 0;
80
87 virtual bool reset() override = 0;
88
95 virtual bool selfTest() override = 0;
96
104 virtual bool setFullScaleRange(GyroFullScaleRange range) = 0;
105
113 virtual bool setOutputDataRate(float data_rate_hz) = 0;
114
122 virtual bool setOperationMode(OperationMode mode) = 0;
123};
@license MIT License
@license MIT License
SensorType
Enumeration of sensor types.
@ GYROSCOPE
Gyroscope sensor.
OperationMode
Enumeration of sensor operation modes.
GyroFullScaleRange
Enumeration of gyroscope full-scale range settings.
Abstract base class for gyroscope implementations.
virtual bool selfTest() override=0
Perform gyroscope self-test.
virtual ~GyroscopeBase()=default
Destroy the GyroscopeBase object.
virtual bool reset() override=0
Reset gyroscope to default state.
GyroscopeBase(const GyroscopeBase &)=delete
virtual bool setOperationMode(OperationMode mode)=0
Set gyroscope operation mode.
virtual bool setFullScaleRange(GyroFullScaleRange range)=0
Set gyroscope full-scale range.
GyroscopeBase()
Construct a new GyroscopeBase object.
GyroscopeBase & operator=(const GyroscopeBase &)=delete
virtual bool setOutputDataRate(float data_rate_hz)=0
Set gyroscope output data rate.
virtual bool isDataReady() override=0
Check if new gyroscope data is available.
virtual bool readData(GyroscopeData &data) override=0
Read gyroscope data.
Template base class for all sensor implementations.
Structure representing gyroscope data.