/* * peripherals_imu.hpp * * Created on: Mar 5, 2021 * Author: erki */ #ifndef SKULLC_PERIPHERALS_IMU_HPP_ #define SKULLC_PERIPHERALS_IMU_HPP_ #include namespace Peripherals { class IImu { public: enum class Axis : std::uint32_t { X = 0, Y, Z }; virtual void setup() = 0; virtual void calibrate(const std::uint32_t samples) = 0; virtual void readGyro(float* output) = 0; virtual void readGyroRaw(std::int16_t* output) = 0; virtual void readAccelerometer(float* output) = 0; virtual void readAccelerometerRaw(std::int16_t* output) = 0; }; }// namespace Peripherals #endif /* SKULLC_PERIPHERALS_IMU_HPP_ */