fsfw/src/fsfw_hal/stm32h7/spi/spiDefinitions.h

31 lines
868 B
C
Raw Normal View History

2021-07-13 19:19:25 +02:00
#ifndef FSFW_HAL_STM32H7_SPI_SPIDEFINITIONS_H_
#define FSFW_HAL_STM32H7_SPI_SPIDEFINITIONS_H_
#include "../../common/spi/spiCommon.h"
#include "fsfw/returnvalues/FwClassIds.h"
2022-08-16 12:48:22 +02:00
#include "fsfw/returnvalues/returnvalue.h"
2021-07-13 19:19:25 +02:00
#include "stm32h7xx_hal.h"
#include "stm32h7xx_hal_spi.h"
namespace spi {
2022-02-02 10:29:30 +01:00
enum class TransferStates { IDLE, WAIT, SUCCESS, FAILURE };
2021-07-13 19:19:25 +02:00
2022-02-02 10:29:30 +01:00
enum SpiBus { SPI_1, SPI_2 };
2021-07-13 19:19:25 +02:00
2022-02-02 10:29:30 +01:00
enum TransferModes { POLLING, INTERRUPT, DMA };
2021-07-13 19:19:25 +02:00
void assignSpiMode(SpiModes spiMode, SPI_HandleTypeDef& spiHandle);
/**
* @brief Set SPI frequency to calculate correspondent baud-rate prescaler.
* @param clock_src_freq Frequency of clock source
* @param baudrate_mbps Baudrate to set to set
* @retval Baudrate prescaler
*/
uint32_t getPrescaler(uint32_t clock_src_freq, uint32_t baudrate_mbps);
2022-02-02 10:29:30 +01:00
} // namespace spi
2021-07-13 19:19:25 +02:00
#endif /* FSFW_HAL_STM32H7_SPI_SPIDEFINITIONS_H_ */