libyggdrasil  v1.0.0
bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive > Struct Template Reference

GPIOPin implementation for Asgard. More...

#include <gpio.hpp>

Public Member Functions

 GPIOPin (const GPIOPin &)=delete
 
 GPIOPin (GPIOPin &&)=delete
 
GPIOPinoperator= (const GPIOPin &)=delete
 
auto & operator= (bool state) const noexcept
 Assignment operator overload. More...
 
 operator u8 () const noexcept
 u8 conversion operator overload More...
 
bool init () const noexcept
 Init function. More...
 
bool deinit () const noexcept
 Deinit function. More...
 
void makeOutput () const noexcept
 Turn pin into an output. More...
 
void makeInput () const noexcept
 Turn pin into an input. More...
 

Friends

template<addr_t , template< addr_t, u8 > typename>
struct bsp::asg::drv::GPIOPort
 Declare GPIOPort as friend. More...
 

Detailed Description

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
struct bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >

GPIOPin implementation for Asgard.

Warning
Do not use this on its own!
Template Parameters
BaseAddressGPIO Block base address
PinPin number

Constructor & Destructor Documentation

◆ GPIOPin() [1/2]

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >::GPIOPin ( const GPIOPin< GPIOBaseNumber, Pin, LogicActive > &  )
delete

◆ GPIOPin() [2/2]

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >::GPIOPin ( GPIOPin< GPIOBaseNumber, Pin, LogicActive > &&  )
delete

Member Function Documentation

◆ deinit()

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
bool bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >::deinit ( ) const
inlinenoexcept

Deinit function.

Returns
Success

◆ init()

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
bool bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >::init ( ) const
inlinenoexcept

Init function.

Returns
Success

◆ makeInput()

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
void bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >::makeInput ( ) const
inlinenoexcept

Turn pin into an input.

◆ makeOutput()

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
void bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >::makeOutput ( ) const
inlinenoexcept

Turn pin into an output.

◆ operator u8()

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >::operator u8 ( ) const
inlinenoexcept

u8 conversion operator overload

Returns
Pin value

◆ operator=() [1/2]

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
auto& bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >::operator= ( bool  state) const
inlinenoexcept

Assignment operator overload.

Parameters
statePin state
Returns
Pin

◆ operator=() [2/2]

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
GPIOPin& bsp::asg::drv::GPIOPin< GPIOBaseNumber, Pin, LogicActive >::operator= ( const GPIOPin< GPIOBaseNumber, Pin, LogicActive > &  )
delete

Friends And Related Function Documentation

◆ bsp::asg::drv::GPIOPort

template<u8 GPIOBaseNumber, u8 Pin, bsp::drv::Active LogicActive>
template<addr_t , template< addr_t, u8 > typename>
friend struct bsp::asg::drv::GPIOPort
friend

Declare GPIOPort as friend.


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