This repository has been archived on 2021-11-24. You can view files and clone it, but cannot push or open issues or pull requests.
fsfw_example_public/common/stm32_nucleo/STM32TestTask.cpp

35 lines
950 B
C++
Raw Normal View History

2021-05-31 17:08:08 +02:00
#include "STM32TestTask.h"
#include "stm32h7xx_nucleo.h"
#include "OBSWConfig.h"
2021-04-27 17:22:34 +02:00
2021-05-31 20:40:58 +02:00
#include "fsfw_hal/stm32h7/devicetest/GyroL3GD20H.h"
#include "fsfw/serviceinterface/ServiceInterface.h"
2021-04-27 17:22:34 +02:00
STM32TestTask::STM32TestTask(object_id_t objectId, bool enablePrintout,
bool blinkyLed): TestTask(objectId, enablePrintout),
blinkyLed(blinkyLed) {
}
ReturnValue_t STM32TestTask::performPeriodicAction() {
if(blinkyLed) {
#if OBSW_ETHERNET_USE_LEDS == 0
BSP_LED_Toggle(LED1);
BSP_LED_Toggle(LED2);
#endif
BSP_LED_Toggle(LED3);
}
return TestTask::performPeriodicAction();
}
2021-05-31 17:01:11 +02:00
ReturnValue_t STM32TestTask::performOneShotAction() {
2021-05-31 20:40:58 +02:00
performSpiL3gd20hTest();
2021-05-31 17:01:11 +02:00
return HasReturnvaluesIF::RETURN_OK;
}
2021-05-31 20:40:58 +02:00
void STM32TestTask::performSpiL3gd20hTest() {
SPI_HandleTypeDef spiHandle = {};
2021-06-04 15:50:27 +02:00
GyroL3GD20H gyroDevice(&spiHandle, spi::TransferModes::INTERRUPT);
2021-06-03 14:03:50 +02:00
gyroDevice.initialize();
gyroDevice.performOperation();
2021-05-31 20:40:58 +02:00
}