libyggdrasil  v1.0.0
bsp::drv::I2C< Context, I2CImpl > Struct Template Reference

Base class for I2C abstraction. More...

#include <i2c.hpp>

Public Types

using Impl = I2CImpl< Context >
 

Public Member Functions

 I2C ()=delete
 

Static Public Member Functions

static auto init (auto ... args)
 I2C initialization. More...
 
static auto deinit (auto ... args)
 I2C deinitialization. More...
 
template<typename T >
static T read (u8 address)
 I2C read function. More...
 
template<typename T >
static T read (u8 address, u8 reg)
 I2C read function. More...
 
template<typename T >
static void write (u8 address, T value)
 I2C write function. More...
 
template<typename T >
static void write (u8 address, u8 reg, T value)
 I2C write function. More...
 

Detailed Description

template<auto Context, template< auto > typename I2CImpl>
struct bsp::drv::I2C< Context, I2CImpl >

Base class for I2C abstraction.

Template Parameters
ContextI2C context
I2CImplI2C implementation

Member Typedef Documentation

◆ Impl

template<auto Context, template< auto > typename I2CImpl>
using bsp::drv::I2C< Context, I2CImpl >::Impl = I2CImpl<Context>

Constructor & Destructor Documentation

◆ I2C()

template<auto Context, template< auto > typename I2CImpl>
bsp::drv::I2C< Context, I2CImpl >::I2C ( )
delete

Member Function Documentation

◆ deinit()

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

I2C deinitialization.

Parameters
argsPlatform specific arguments
Returns
Success

◆ init()

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

I2C initialization.

Parameters
argsPlatform specific arguments
Returns
Success

◆ read() [1/2]

template<auto Context, template< auto > typename I2CImpl>
template<typename T >
static T bsp::drv::I2C< Context, I2CImpl >::read ( u8  address)
inlinestatic

I2C read function.

Template Parameters
Ttype to read
Parameters
addressDevice address
Returns
Read data

◆ read() [2/2]

template<auto Context, template< auto > typename I2CImpl>
template<typename T >
static T bsp::drv::I2C< Context, I2CImpl >::read ( u8  address,
u8  reg 
)
inlinestatic

I2C read function.

Template Parameters
Ttype to read
Parameters
addressDevice address
regRegister address
Returns
Read data

◆ write() [1/2]

template<auto Context, template< auto > typename I2CImpl>
template<typename T >
static void bsp::drv::I2C< Context, I2CImpl >::write ( u8  address,
value 
)
inlinestatic

I2C write function.

Template Parameters
Ttype to write
Parameters
addressDevice address
valueData to write

◆ write() [2/2]

template<auto Context, template< auto > typename I2CImpl>
template<typename T >
static void bsp::drv::I2C< Context, I2CImpl >::write ( u8  address,
u8  reg,
value 
)
inlinestatic

I2C write function.

Template Parameters
Ttype to write
Parameters
addressDevice address
regRegister address
valueData to write

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