mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/sta-core.git
synced 2025-08-06 10:27:34 +00:00
Add SPI settings
This commit is contained in:
71
include/sta/spi_settings.hpp
Normal file
71
include/sta/spi_settings.hpp
Normal file
@@ -0,0 +1,71 @@
|
||||
#ifndef STA_SPI_SETTINGS_HPP
|
||||
#define STA_SPI_SETTINGS_HPP
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
|
||||
namespace sta
|
||||
{
|
||||
enum class SpiClkPolarity
|
||||
{
|
||||
LOW,
|
||||
HIGH
|
||||
};
|
||||
|
||||
enum class SpiClkPhase
|
||||
{
|
||||
EDGE_1,
|
||||
EDGE_2
|
||||
};
|
||||
|
||||
enum class SpiMode
|
||||
{
|
||||
MODE_0,
|
||||
MODE_1,
|
||||
MODE_2,
|
||||
MODE_3
|
||||
};
|
||||
|
||||
enum class SpiDataSize
|
||||
{
|
||||
BIT_8,
|
||||
BIT_16
|
||||
};
|
||||
|
||||
enum class SpiBitOrder
|
||||
{
|
||||
MSB,
|
||||
LSB
|
||||
};
|
||||
|
||||
enum class SpiBaudRatePrescaler
|
||||
{
|
||||
BRP_2,
|
||||
BRP_4,
|
||||
BRP_8,
|
||||
BRP_16,
|
||||
BRP_32,
|
||||
BRP_64,
|
||||
BRP_128,
|
||||
BRP_256
|
||||
};
|
||||
|
||||
|
||||
struct SpiSettings
|
||||
{
|
||||
SpiMode mode;
|
||||
SpiDataSize dataSize;
|
||||
SpiBitOrder bitOrder;
|
||||
|
||||
uint32_t clkSpeed;
|
||||
SpiBaudRatePrescaler baudRatePrescaler; /**< Subject to change */
|
||||
};
|
||||
|
||||
|
||||
SpiClkPolarity getSpiClkPolarity(SpiMode mode);
|
||||
SpiClkPhase getSpiClkPhase(SpiMode mode);
|
||||
SpiMode getSpiMode(SpiClkPolarity polarity, SpiClkPhase phase);
|
||||
} // namespace sta
|
||||
|
||||
|
||||
#endif // STA_SPI_SETTINGS_HPP
|
Reference in New Issue
Block a user