performed sensor readout

This commit is contained in:
2021-06-04 14:41:02 +02:00
parent cf8235cede
commit cf1d6bad19
2 changed files with 165 additions and 23 deletions

View File

@ -18,6 +18,7 @@ enum class TransferStates {
};
class GyroL3GD20H {
friend void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi);
public:
GyroL3GD20H(SPI_HandleTypeDef* spiHandle, spi::TransferModes transferMode);
@ -28,17 +29,23 @@ private:
const uint8_t WHO_AM_I_REG = 0b00001111;
const uint8_t STM_READ_MASK = 0b10000000;
const uint8_t STM_AUTO_INCREMENT_MASK = 0b01000000;
const uint8_t EXPECTED_WHO_AM_I_VAL = 0b11010111;
const uint8_t CTRL_REG_1 = 0b00100000;
const uint32_t L3G_RANGE = 245;
SPI_HandleTypeDef* spiHandle;
spi::TransferModes transferMode;
static constexpr size_t recvBufferSize = 32 * 10;
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 handleDmaTransfer();
ReturnValue_t handleDmaTransferInit();
ReturnValue_t handleDmaSensorRead();
HAL_StatusTypeDef performDmaTransfer(size_t sendSize);
ReturnValue_t handlePollingTransfer();
};