#ifndef FSFW_HAL_STM32H7_DEVICETEST_GYRO_L3GD20H_H_ #define FSFW_HAL_STM32H7_DEVICETEST_GYRO_L3GD20H_H_ #include "stm32h7xx_hal.h" #include "stm32h7xx_hal_spi.h" #include "fsfw/returnvalues/HasReturnvaluesIF.h" #include #include enum class TransferStates { IDLE, WAIT, SUCCESS, FAILURE }; class GyroL3GD20H { public: GyroL3GD20H(SPI_HandleTypeDef* spiHandle); ReturnValue_t initialize(); ReturnValue_t performOperation(); private: SPI_HandleTypeDef* spiHandle; static constexpr size_t recvBufferSize = 32 * 10; static std::array rxBuffer; std::array txBuffer; }; #endif /* FSFW_HAL_STM32H7_DEVICETEST_GYRO_L3GD20H_H_ */