47 template<auto Context,
template<auto>
typename GPIOImpl>
53 using Impl = GPIOImpl<Context>;
61 static auto init(
auto ... args) {
62 return Impl::init(args...);
72 return Impl::deinit(args...);
80 template<u8 Number, Active LogicActive = Active::High>
81 static inline auto&
Pin = Impl::template Pin<Number, LogicActive>;
88 template<u8 From, u8 To>
89 static inline auto&
In = Impl::template In<From, To>;
96 template<u8 From, u8 To>
97 static inline auto&
Out = Impl::template Out<From, To>;