31 lines
393 B
C++
31 lines
393 B
C++
|
#pragma once
|
||
|
|
||
|
namespace spi {
|
||
|
|
||
|
enum class ClockDiv {
|
||
|
DIV_4 = 0,
|
||
|
DIV_16 = 1,
|
||
|
DIV_64 = 2,
|
||
|
DIV_128 = 3,
|
||
|
|
||
|
DIV_2X_2 = 4,
|
||
|
DIV_2X_8 = 5,
|
||
|
DIV_2X_32 = 6,
|
||
|
DIV_2X_64 = 7,
|
||
|
};
|
||
|
|
||
|
enum class Mode {
|
||
|
MODE_0 = 0,
|
||
|
MODE_1 = 1,
|
||
|
MODE_2 = 2,
|
||
|
MODE_3 = 3,
|
||
|
};
|
||
|
|
||
|
template <ClockDiv freq, Mode mode>
|
||
|
struct Config {
|
||
|
static constexpr auto FREQ = freq;
|
||
|
static constexpr auto MODE = mode;
|
||
|
};
|
||
|
|
||
|
} // namespace spi
|