libyggdrasil  v1.0.0
bsp::drv::GPIOPort< Context, GPIOImpl > Struct Template Reference

Base class for GPIO port abstraction. More...

#include <gpio.hpp>

Public Types

using Impl = GPIOImpl< Context >
 

Public Member Functions

 GPIOPort ()=delete
 
 GPIOPort (const GPIOPort &)=delete
 
 GPIOPort (GPIOPort &&)=delete
 

Static Public Member Functions

static auto init (auto ... args)
 GPIO Port initialization. More...
 
static auto deinit (auto ... args)
 GPIO Port deinitialization. More...
 

Static Public Attributes

template<u8 Number, Active LogicActive = Active::High>
static auto & Pin = Impl::template Pin<Number, LogicActive>
 GPIO Pin. More...
 
template<u8 From, u8 To>
static auto & In = Impl::template In<From, To>
 Input bitfield. More...
 
template<u8 From, u8 To>
static auto & Out = Impl::template Out<From, To>
 Output bitfield. More...
 

Detailed Description

template<auto Context, template< auto > typename GPIOImpl>
struct bsp::drv::GPIOPort< Context, GPIOImpl >

Base class for GPIO port abstraction.

Template Parameters
ContextGPIO context
GPIOPinGPIOPin implementation

Member Typedef Documentation

◆ Impl

template<auto Context, template< auto > typename GPIOImpl>
using bsp::drv::GPIOPort< Context, GPIOImpl >::Impl = GPIOImpl<Context>

Constructor & Destructor Documentation

◆ GPIOPort() [1/3]

template<auto Context, template< auto > typename GPIOImpl>
bsp::drv::GPIOPort< Context, GPIOImpl >::GPIOPort ( )
delete

◆ GPIOPort() [2/3]

template<auto Context, template< auto > typename GPIOImpl>
bsp::drv::GPIOPort< Context, GPIOImpl >::GPIOPort ( const GPIOPort< Context, GPIOImpl > &  )
delete

◆ GPIOPort() [3/3]

template<auto Context, template< auto > typename GPIOImpl>
bsp::drv::GPIOPort< Context, GPIOImpl >::GPIOPort ( GPIOPort< Context, GPIOImpl > &&  )
delete

Member Function Documentation

◆ deinit()

template<auto Context, template< auto > typename GPIOImpl>
static auto bsp::drv::GPIOPort< Context, GPIOImpl >::deinit ( auto ...  args)
inlinestatic

GPIO Port deinitialization.

Parameters
argsPlatform specific arguments
Returns
Success

◆ init()

template<auto Context, template< auto > typename GPIOImpl>
static auto bsp::drv::GPIOPort< Context, GPIOImpl >::init ( auto ...  args)
inlinestatic

GPIO Port initialization.

Parameters
argsPlatform specific arguments
Returns
Success

Member Data Documentation

◆ In

template<auto Context, template< auto > typename GPIOImpl>
template<u8 From, u8 To>
auto& bsp::drv::GPIOPort< Context, GPIOImpl >::In = Impl::template In<From, To>
inlinestatic

Input bitfield.

Template Parameters
NumberPin number

◆ Out

template<auto Context, template< auto > typename GPIOImpl>
template<u8 From, u8 To>
auto& bsp::drv::GPIOPort< Context, GPIOImpl >::Out = Impl::template Out<From, To>
inlinestatic

Output bitfield.

Template Parameters
NumberPin number

◆ Pin

template<auto Context, template< auto > typename GPIOImpl>
template<u8 Number, Active LogicActive = Active::High>
auto& bsp::drv::GPIOPort< Context, GPIOImpl >::Pin = Impl::template Pin<Number, LogicActive>
inlinestatic

GPIO Pin.

Template Parameters
NumberPin number

The documentation for this struct was generated from the following file: