APM:Libraries
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PX4::PX4CANManager Class Reference

#include <CAN.h>

Inheritance diagram for PX4::PX4CANManager:
[legend]
Collaboration diagram for PX4::PX4CANManager:
[legend]

Public Member Functions

 PX4CANManager ()
 
uavcan::CanSelectMasks makeSelectMasks (const uavcan::CanFrame *(&pending_tx)[uavcan::MaxCanIfaces]) const
 
bool hasReadableInterfaces () const
 
int init (const uint32_t bitrate, const PX4CAN::OperatingMode mode, uint8_t can_number)
 
virtual PX4CANgetIface (uint8_t iface_index) override
 
PX4CANgetIface_out_to_in (uint8_t iface_index)
 
virtual uint8_t getNumIfaces () const override
 
bool hadActivity ()
 
bool begin (uint32_t bitrate, uint8_t can_number) override
 
bool is_initialized () override
 
void initialized (bool val) override
 
AP_UAVCANget_UAVCAN (void) override
 
void set_UAVCAN (AP_UAVCAN *uavcan) override
 

Private Member Functions

virtual int16_t select (uavcan::CanSelectMasks &inout_masks, const uavcan::CanFrame *(&pending_tx)[uavcan::MaxCanIfaces], uavcan::MonotonicTime blocking_deadline) override
 
void initOnce (uint8_t can_number)
 

Private Attributes

BusEvent update_event_
 
PX4CAN if0_
 
PX4CAN if1_
 
bool initialized_
 
PX4CANifaces [CAN_STM32_NUM_IFACES]
 
uint8_t _ifaces_num
 
uint8_t _ifaces_out_to_in [CAN_STM32_NUM_IFACES]
 
AP_UAVCANp_uavcan
 

Detailed Description

Definition at line 258 of file CAN.h.

Constructor & Destructor Documentation

◆ PX4CANManager()

PX4::PX4CANManager::PX4CANManager ( )

Member Function Documentation

◆ begin()

bool PX4::PX4CANManager::begin ( uint32_t  bitrate,
uint8_t  can_number 
)
override

◆ get_UAVCAN()

AP_UAVCAN* PX4::PX4CANManager::get_UAVCAN ( void  )
override

◆ getIface()

virtual PX4CAN* PX4::PX4CANManager::getIface ( uint8_t  iface_index)
overridevirtual

◆ getIface_out_to_in()

PX4CAN* PX4::PX4CANManager::getIface_out_to_in ( uint8_t  iface_index)

◆ getNumIfaces()

virtual uint8_t PX4::PX4CANManager::getNumIfaces ( ) const
inlineoverridevirtual

Definition at line 298 of file CAN.h.

◆ hadActivity()

bool PX4::PX4CANManager::hadActivity ( )

Whether at least one iface had at least one successful IO since previous call of this method. This is designed for use with iface activity LEDs.

◆ hasReadableInterfaces()

bool PX4::PX4CANManager::hasReadableInterfaces ( ) const

Whether there's at least one interface where receive() would return a frame.

◆ init()

int PX4::PX4CANManager::init ( const uint32_t  bitrate,
const PX4CAN::OperatingMode  mode,
uint8_t  can_number 
)

Returns zero if OK. Returns negative value if failed (e.g. invalid bitrate).

◆ initialized()

void PX4::PX4CANManager::initialized ( bool  val)
override

◆ initOnce()

void PX4::PX4CANManager::initOnce ( uint8_t  can_number)
private

◆ is_initialized()

bool PX4::PX4CANManager::is_initialized ( )
override

◆ makeSelectMasks()

uavcan::CanSelectMasks PX4::PX4CANManager::makeSelectMasks ( const uavcan::CanFrame *(&)  pending_tx[uavcan::MaxCanIfaces]) const

This function returns select masks indicating which interfaces are available for read/write.

◆ select()

virtual int16_t PX4::PX4CANManager::select ( uavcan::CanSelectMasks &  inout_masks,
const uavcan::CanFrame *(&)  pending_tx[uavcan::MaxCanIfaces],
uavcan::MonotonicTime  blocking_deadline 
)
overrideprivatevirtual

◆ set_UAVCAN()

void PX4::PX4CANManager::set_UAVCAN ( AP_UAVCAN uavcan)
override

Member Data Documentation

◆ _ifaces_num

uint8_t PX4::PX4CANManager::_ifaces_num
private

Definition at line 271 of file CAN.h.

◆ _ifaces_out_to_in

uint8_t PX4::PX4CANManager::_ifaces_out_to_in[CAN_STM32_NUM_IFACES]
private

Definition at line 272 of file CAN.h.

◆ if0_

PX4CAN PX4::PX4CANManager::if0_
private

Definition at line 260 of file CAN.h.

◆ if1_

PX4CAN PX4::PX4CANManager::if1_
private

Definition at line 261 of file CAN.h.

◆ ifaces

PX4CAN* PX4::PX4CANManager::ifaces[CAN_STM32_NUM_IFACES]
private

Definition at line 270 of file CAN.h.

◆ initialized_

bool PX4::PX4CANManager::initialized_
private

Definition at line 268 of file CAN.h.

◆ p_uavcan

AP_UAVCAN* PX4::PX4CANManager::p_uavcan
private

Definition at line 274 of file CAN.h.

◆ update_event_

BusEvent PX4::PX4CANManager::update_event_
private

Definition at line 259 of file CAN.h.


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