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

CAN implementation for Midgard. More...

#include <can.hpp>

Static Public Member Functions

static bool init ()
 Init function. More...
 
static bool deinit ()
 Deinit function. More...
 
static bool enable ()
 Can enable. More...
 
static bool disable ()
 Can disable. More...
 
static void read (u32 &id, u32 &extendedId, u32 &timestamp, std::array< u8, 8 > &data)
 CAN receive. More...
 
template<typename T >
static u32 write (bsp::drv::CANPacket< T > packet)
 CAN write. More...
 
static bool setStdFilter (u8 bank, u16 id, u16 mask)
 Standard ID filter configuration function. More...
 
static bool setExtFilter (u8 bank, u32 id, u32 mask)
 Extended ID filter configuration function. More...
 
static bool disableFilter (u8 bank)
 Filter bank disable. More...
 

Detailed Description

template<auto Context>
struct bsp::mid::drv::CAN< Context >

CAN implementation for Midgard.

Warning
Do not use this on its own!
Template Parameters
ContextCAN context

Member Function Documentation

◆ deinit()

template<auto Context>
static bool bsp::mid::drv::CAN< Context >::deinit ( )
inlinestatic

Deinit function.

Returns
Success

◆ disable()

template<auto Context>
static bool bsp::mid::drv::CAN< Context >::disable ( )
inlinestatic

Can disable.

◆ disableFilter()

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

Filter bank disable.

Parameters
bankFilterbank number
Returns
Success

◆ enable()

template<auto Context>
static bool bsp::mid::drv::CAN< Context >::enable ( )
inlinestatic

Can enable.

◆ init()

template<auto Context>
static bool bsp::mid::drv::CAN< Context >::init ( )
inlinestatic

Init function.

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

◆ read()

template<auto Context>
static void bsp::mid::drv::CAN< Context >::read ( u32 id,
u32 extendedId,
u32 timestamp,
std::array< u8, 8 > &  data 
)
inlinestatic

CAN receive.

Parameters
[out]idCAN ID
[out]extendedIdCAN extended ID
[out]timestampTimestamp
[out]dataReceived data

◆ setExtFilter()

template<auto Context>
static bool bsp::mid::drv::CAN< Context >::setExtFilter ( u8  bank,
u32  id,
u32  mask 
)
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>
static bool bsp::mid::drv::CAN< Context >::setStdFilter ( u8  bank,
u16  id,
u16  mask 
)
inlinestatic

Standard ID filter configuration function.

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

◆ write()

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

CAN write.

Template Parameters
Ttype to write
Parameters
packetCAN packet to write

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