fsfw-example-stm32h7-freertos/bsp_stm32h7_freertos/boardtest/SpiTest.cpp

24 lines
818 B
C++
Raw Normal View History

2021-10-27 17:09:41 +02:00
#include "SpiTest.h"
2021-10-27 18:38:31 +02:00
#include "fsfw_hal/stm32h7/spi/stm32h743zi.h"
2021-10-27 17:09:41 +02:00
2022-05-22 15:30:38 +02:00
SpiTest::SpiTest(SpiComIF &spiComIF)
: spiComIF(spiComIF),
spiCookie(TEST_ADDRESS, spi::SpiBus::SPI_1, spi::TransferModes::POLLING,
&mspCfg, 1000000, spi::SpiModes::MODE_0, 32) {
stm32h7::h743zi::standardPollingCfg(mspCfg);
spiComIF.initializeInterface(&spiCookie);
2021-10-27 17:09:41 +02:00
}
2021-10-27 18:38:31 +02:00
ReturnValue_t SpiTest::performOperation(uint8_t opCode) {
2022-05-22 15:30:38 +02:00
std::array<uint8_t, 3> dummyData = {0x01, 0x02, 0x03};
ReturnValue_t result =
spiComIF.sendMessage(&spiCookie, dummyData.data(), dummyData.size());
if (result != HasReturnvaluesIF::RETURN_OK) {
return result;
}
2022-05-29 16:06:19 +02:00
std::array<uint8_t, 3> recBuf{};
2022-05-22 15:30:38 +02:00
uint8_t *recPtr = recBuf.data();
size_t readLen = 0;
return spiComIF.readReceivedMessage(&spiCookie, &recPtr, &readLen);
2021-10-27 18:38:31 +02:00
}