libyggdrasil  v1.0.0
bsp::drv::CAN< Context, CanImpl > Struct Template Reference

Base class for CAN abstraction. More...

#include <can.hpp>

Public Types

using Impl = CanImpl< Context >
 

Public Member Functions

 CAN ()=delete
 

Static Public Member Functions

static auto init (auto ... args)
 Init function. More...
 
static auto deinit (auto ... args)
 Deinit function. More...
 
static bool enable ()
 Can enable. More...
 
static bool disable ()
 Can disable. More...
 
template<typename T >
static CANPacket< T > read ()
 CAN read function. More...
 
template<typename T >
static u32 write (CANPacket< T > packet)
 CAN write function. More...
 
template<typename T >
static u32 write (u32 id, const T &data)
 CAN write function. More...
 
static bool setStdFilter (u8 bank, u16 id, u16 mask=0x7FF)
 Standard ID filter configuration function. More...
 
static bool setExtFilter (u8 bank, u32 id, u32 mask=0x1FFF 'FFFF)
 Extended ID filter configuration function. More...
 
static bool disableFilter (u8 bank)
 Filter bank disable. More...
 

Detailed Description

template<auto Context, template< auto > typename CanImpl>
struct bsp::drv::CAN< Context, CanImpl >

Base class for CAN abstraction.

Template Parameters
ContextCAN context
CanImplCAN implementation

Member Typedef Documentation

◆ Impl

template<auto Context, template< auto > typename CanImpl>
using bsp::drv::CAN< Context, CanImpl >::Impl = CanImpl<Context>

Constructor & Destructor Documentation

◆ CAN()

template<auto Context, template< auto > typename CanImpl>
bsp::drv::CAN< Context, CanImpl >::CAN ( )
delete

Member Function Documentation

◆ deinit()

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

Deinit function.

◆ disable()

template<auto Context, template< auto > typename CanImpl>
static bool bsp::drv::CAN< Context, CanImpl >::disable ( )
inlinestatic

Can disable.

◆ disableFilter()

template<auto Context, template< auto > typename CanImpl>
static bool bsp::drv::CAN< Context, CanImpl >::disableFilter ( u8  bank)
inlinestatic

Filter bank disable.

Parameters
bankFilterbank number
Returns
Success

◆ enable()

template<auto Context, template< auto > typename CanImpl>
static bool bsp::drv::CAN< Context, CanImpl >::enable ( )
inlinestatic

Can enable.

◆ init()

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

Init function.

Note
Filter bank 0 will be set to 0 0 to accept all IDs
Returns
Success

◆ read()

template<auto Context, template< auto > typename CanImpl>
template<typename T >
static CANPacket<T> bsp::drv::CAN< Context, CanImpl >::read ( )
inlinestatic

CAN read function.

Template Parameters
Ttype to read
Returns
Read data in a CANpacket

◆ setExtFilter()

template<auto Context, template< auto > typename CanImpl>
static bool bsp::drv::CAN< Context, CanImpl >::setExtFilter ( u8  bank,
u32  id,
u32  mask = 0x1FFF'FFFF 
)
inlinestatic

Extended ID filter configuration function.

Parameters
bankFilterbank 0 to 28
idStandard ID 0 to 0x1FFFFFFF
maskFiltermask 0 to 0x1FFFFFFF
Returns
Success
Warning
This function might have complications with PCAN

◆ setStdFilter()

template<auto Context, template< auto > typename CanImpl>
static bool bsp::drv::CAN< Context, CanImpl >::setStdFilter ( u8  bank,
u16  id,
u16  mask = 0x7FF 
)
inlinestatic

Standard ID filter configuration function.

Parameters
bankFilterbank 0 to 28
idStandard ID 0 to 0x7FF
maskFiltermask 0 to 0x7FF
Returns
Success

◆ write() [1/2]

template<auto Context, template< auto > typename CanImpl>
template<typename T >
static u32 bsp::drv::CAN< Context, CanImpl >::write ( CANPacket< T >  packet)
inlinestatic

CAN write function.

Template Parameters
Ttype to write
Parameters
packetCAN packet to write

◆ write() [2/2]

template<auto Context, template< auto > typename CanImpl>
template<typename T >
static u32 bsp::drv::CAN< Context, CanImpl >::write ( u32  id,
const T &  data 
)
inlinestatic

CAN write function.

Template Parameters
Ttype to write
Parameters
idCAN id
dataData to write

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