21 #ifndef ARCH_SPI_HPP_INCLUDED 22 #define ARCH_SPI_HPP_INCLUDED 24 #include "../../../common/spi.hpp" 30 template<
typename gpio_type, freq_t gpio_speed >
31 struct spi_gpio_output_resources {
33 typename gpio_type::resources,
34 typename gpio_type::mode::template output< gpio_speed >,
35 typename gpio_type::output_type::af_push_pull
38 template< freq_t gpio_speed >
39 struct spi_gpio_output_resources< void, gpio_speed > {
43 template<
typename gpio_type >
44 struct spi_gpio_input_resources {
46 typename gpio_type::resources,
47 typename gpio_type::mode::input,
48 typename gpio_type::input_type::pull_up_down
52 struct spi_gpio_input_resources< void > {
60 typename system_clock_type,
61 typename gpio_sck_type = void,
62 typename gpio_miso_type = void,
63 typename gpio_mosi_type = void,
74 typename mpl::spi_gpio_output_resources< gpio_sck_type, gpio_output_speed >::type,
75 typename mpl::spi_gpio_input_resources< gpio_miso_type >::type,
76 typename mpl::spi_gpio_output_resources< gpio_mosi_type, gpio_output_speed >::type
82 #endif // ARCH_SPI_HPP_INCLUDED
typelist< typename base_type::resources, typename mpl::spi_gpio_output_resources< gpio_sck_type, gpio_output_speed >::type, typename mpl::spi_gpio_input_resources< gpio_miso_type >::type, typename mpl::spi_gpio_output_resources< gpio_mosi_type, gpio_output_speed >::type > resources
Definition: spi.hpp:77
typename mpl::make_typelist< sane_typelist<>, Tp... >::type typelist
static constexpr freq_t mhz(unsigned long long x)