PX4 Firmware
PX4 Autopilot Software http://px4.io
|
Objects of this class are owned by the sub-node thread. More...
#include <uavcan_virtual_can_driver.hpp>
Classes | |
class | Event |
Public Member Functions | |
VirtualCanDriver (unsigned arg_num_ifaces, uavcan::ISystemClock &system_clock, uavcan::IPoolAllocator &allocator, unsigned virtual_iface_block_allocation_quota) | |
~VirtualCanDriver () | |
Public Member Functions inherited from ITxQueueInjector | |
virtual | ~ITxQueueInjector () |
Private Member Functions | |
uavcan::ICanIface * | getIface (uint8_t iface_index) override |
uint8_t | getNumIfaces () const override |
int16_t | select (uavcan::CanSelectMasks &inout_masks, const uavcan::CanFrame *(&)[uavcan::MaxCanIfaces], uavcan::MonotonicTime blocking_deadline) override |
This and other methods of ICanDriver will be invoked by the sub-node thread. More... | |
void | handleRxFrame (const uavcan::CanRxFrame &frame, uavcan::CanIOFlags flags) override |
This handler will be invoked by the main node thread. More... | |
void | injectTxFramesInto (uavcan::INode &main_node) override |
This method will be invoked by the main node thread. More... | |
Private Attributes | |
Event | event_ |
Used to unblock the select() call when IO happens. More... | |
pthread_mutex_t | driver_mutex_ |
Shared across all ifaces. More... | |
uavcan::LazyConstructor< VirtualCanIface > | ifaces_ [uavcan::MaxCanIfaces] |
const unsigned | num_ifaces_ |
uavcan::ISystemClock & | clock_ |
Objects of this class are owned by the sub-node thread.
This class does not use heap memory.
Definition at line 339 of file uavcan_virtual_can_driver.hpp.
|
inline |
Definition at line 486 of file uavcan_virtual_can_driver.hpp.
References Lock::init(), and VirtualCanDriver::Event::init().
|
inline |
Definition at line 506 of file uavcan_virtual_can_driver.hpp.
References Lock::deinit(), and VirtualCanDriver::Event::deinit().
|
inlineoverrideprivate |
Definition at line 417 of file uavcan_virtual_can_driver.hpp.
|
inlineoverrideprivate |
Definition at line 422 of file uavcan_virtual_can_driver.hpp.
|
inlineoverrideprivate |
This handler will be invoked by the main node thread.
Definition at line 462 of file uavcan_virtual_can_driver.hpp.
References VirtualCanDriver::Event::signal().
|
inlineoverrideprivatevirtual |
This method will be invoked by the main node thread.
Implements ITxQueueInjector.
Definition at line 476 of file uavcan_virtual_can_driver.hpp.
References VirtualCanDriver::Event::signal().
|
inlineoverrideprivate |
This and other methods of ICanDriver will be invoked by the sub-node thread.
Definition at line 427 of file uavcan_virtual_can_driver.hpp.
References VirtualCanDriver::Event::waitFor().
|
private |
Definition at line 415 of file uavcan_virtual_can_driver.hpp.
|
private |
Shared across all ifaces.
Definition at line 412 of file uavcan_virtual_can_driver.hpp.
|
private |
Used to unblock the select() call when IO happens.
Definition at line 411 of file uavcan_virtual_can_driver.hpp.
|
private |
Definition at line 413 of file uavcan_virtual_can_driver.hpp.
|
private |
Definition at line 414 of file uavcan_virtual_can_driver.hpp.