IRQ and POlling now working as well

This commit is contained in:
2021-06-04 15:50:02 +02:00
parent cf1d6bad19
commit 895ba1b455
7 changed files with 337 additions and 88 deletions

View File

@ -35,18 +35,24 @@ private:
const uint32_t L3G_RANGE = 245;
SPI_HandleTypeDef* spiHandle;
spi::TransferModes transferMode;
static spi::TransferModes transferMode;
static constexpr size_t recvBufferSize = 32 * 10;
static std::array<uint8_t, recvBufferSize> rxBuffer;
static constexpr size_t txBufferSize = 32;
static std::array<uint8_t, txBufferSize> txBuffer;
ReturnValue_t handleDmaTransferInit();
ReturnValue_t handlePollingTransferInit();
ReturnValue_t handleInterruptTransferInit();
ReturnValue_t handleDmaSensorRead();
HAL_StatusTypeDef performDmaTransfer(size_t sendSize);
ReturnValue_t handlePollingSensorRead();
ReturnValue_t handleInterruptSensorRead();
ReturnValue_t handlePollingTransfer();
void prepareConfigRegs(uint8_t* configRegs);
void handleSensorReadout();
};
#endif /* FSFW_HAL_STM32H7_DEVICETEST_GYRO_L3GD20H_H_ */