#include <can_io.hpp>
Classes | |
struct | IfaceFrameCounters |
Public Member Functions | |
CanIOManager (ICanDriver &driver, IPoolAllocator &allocator, ISystemClock &sysclock, std::size_t mem_blocks_per_iface=0) | |
ICanDriver & | getCanDriver () |
const ICanDriver & | getCanDriver () const |
CanIfacePerfCounters | getIfacePerfCounters (uint8_t iface_index) const |
uint8_t | getNumIfaces () const |
uint8_t | makePendingTxMask () const |
int | receive (CanRxFrame &out_frame, MonotonicTime blocking_deadline, CanIOFlags &out_flags) |
int | send (const CanFrame &frame, MonotonicTime tx_deadline, MonotonicTime blocking_deadline, uint8_t iface_mask, CanIOFlags flags) |
Private Member Functions | |
int | callSelect (CanSelectMasks &inout_masks, const CanFrame *(&pending_tx)[MaxCanIfaces], MonotonicTime blocking_deadline) |
int | sendFromTxQueue (uint8_t iface_index) |
int | sendToIface (uint8_t iface_index, const CanFrame &frame, MonotonicTime tx_deadline, CanIOFlags flags) |
![]() | |
Noncopyable () | |
~Noncopyable () | |
Private Attributes | |
IfaceFrameCounters | counters_ [MaxCanIfaces] |
ICanDriver & | driver_ |
const uint8_t | num_ifaces_ |
ISystemClock & | sysclock_ |
LazyConstructor< CanTxQueue > | tx_queues_ [MaxCanIfaces] |
Definition at line 128 of file can_io.hpp.
uavcan::CanIOManager::CanIOManager | ( | ICanDriver & | driver, |
IPoolAllocator & | allocator, | ||
ISystemClock & | sysclock, | ||
std::size_t | mem_blocks_per_iface = 0 |
||
) |
Definition at line 246 of file uc_can_io.cpp.
|
private |
Definition at line 230 of file uc_can_io.cpp.
|
inline |
Definition at line 163 of file can_io.hpp.
|
inline |
Definition at line 162 of file can_io.hpp.
CanIfacePerfCounters uavcan::CanIOManager::getIfacePerfCounters | ( | uint8_t | iface_index | ) | const |
Definition at line 282 of file uc_can_io.cpp.
|
inline |
Definition at line 158 of file can_io.hpp.
uint8_t uavcan::CanIOManager::makePendingTxMask | ( | ) | const |
Definition at line 269 of file uc_can_io.cpp.
int uavcan::CanIOManager::receive | ( | CanRxFrame & | out_frame, |
MonotonicTime | blocking_deadline, | ||
CanIOFlags & | out_flags | ||
) |
Definition at line 412 of file uc_can_io.cpp.
int uavcan::CanIOManager::send | ( | const CanFrame & | frame, |
MonotonicTime | tx_deadline, | ||
MonotonicTime | blocking_deadline, | ||
uint8_t | iface_mask, | ||
CanIOFlags | flags | ||
) |
Returns: 0 - rejected/timedout/enqueued 1+ - sent/received negative - failure
Definition at line 297 of file uc_can_io.cpp.
Definition at line 214 of file uc_can_io.cpp.
|
private |
Definition at line 192 of file uc_can_io.cpp.
|
private |
Definition at line 145 of file can_io.hpp.
|
private |
Definition at line 141 of file can_io.hpp.
|
private |
Definition at line 147 of file can_io.hpp.
|
private |
Definition at line 142 of file can_io.hpp.
|
private |
Definition at line 144 of file can_io.hpp.