21 #ifndef ARCH_USART_HPP_INCLUDED 22 #define ARCH_USART_HPP_INCLUDED 24 #include "../../../common/usart.hpp" 30 template<
typename gpio_type >
31 struct usart_gpio_rx_resources {
33 typename gpio_type::resources,
34 typename gpio_type::mode::input,
35 typename gpio_type::input_type::floating
39 struct usart_gpio_rx_resources< void > {
43 template<
typename gpio_type, freq_t gpio_speed >
44 struct usart_gpio_tx_resources {
46 typename gpio_type::resources,
47 typename gpio_type::mode::template output< gpio_speed >,
48 typename gpio_type::output_type::af_push_pull
51 template< freq_t gpio_speed >
52 struct usart_gpio_tx_resources< void, gpio_speed > {
60 typename system_clock_type,
61 typename gpio_rx_type = void,
62 typename gpio_tx_type = void,
73 typename mpl::usart_gpio_rx_resources< gpio_rx_type >::type,
74 typename mpl::usart_gpio_tx_resources< gpio_tx_type, gpio_tx_speed >::type
80 #endif // ARCH_USART_HPP_INCLUDED
typename mpl::make_typelist< sane_typelist<>, Tp... >::type typelist
static constexpr freq_t mhz(unsigned long long x)
typelist< typename base_type::resources, typename mpl::usart_gpio_rx_resources< gpio_rx_type >::type, typename mpl::usart_gpio_tx_resources< gpio_tx_type, gpio_tx_speed >::type > resources
Definition: usart.hpp:75