Classes | |
class | AllIfacesDownException |
class | BlockingServiceClient |
class | DefaultLogSink |
struct | DriverPack |
class | Exception |
class | LibuavcanErrorException |
class | MachineIDReader |
class | Node |
class | NodeBase |
class | SocketCanDriver |
class | SocketCanIface |
class | SubNode |
class | SystemClock |
Typedefs | |
template<typename T > | |
using | BlockingServiceClientPtr = std::shared_ptr< BlockingServiceClient< T > > |
typedef std::shared_ptr< DriverPack > | DriverPackPtr |
typedef std::shared_ptr< uavcan::INode > | INodePtr |
typedef std::shared_ptr< Node > | NodePtr |
template<typename T > | |
using | PublisherPtr = std::shared_ptr< uavcan::Publisher< T > > |
template<typename T > | |
using | ServiceClientPtr = std::shared_ptr< uavcan::ServiceClient< T > > |
template<typename T > | |
using | ServiceServerPtr = std::shared_ptr< uavcan::ServiceServer< T > > |
typedef std::shared_ptr< SubNode > | SubNodePtr |
template<typename T > | |
using | SubscriberPtr = std::shared_ptr< uavcan::Subscriber< T > > |
typedef std::shared_ptr< uavcan::Timer > | TimerPtr |
Functions | |
std::array< std::uint8_t, 16 > | makeApplicationID (const MachineIDReader::MachineID &machine_id, const std::string &node_name, const std::uint8_t instance_id=0) |
template<typename DriverType > | |
static NodePtr | makeNode (const DriverType &driver, const uavcan::NodeStatusProvider::NodeName &name, const uavcan::protocol::SoftwareVersion &software_version, const uavcan::protocol::HardwareVersion &hardware_version, const uavcan::NodeID node_id=uavcan::NodeID(), const uavcan::TransferPriority node_status_transfer_priority=uavcan::TransferPriority::Default, ClockAdjustmentMode clock_adjustment_mode=SystemClock::detectPreferredClockAdjustmentMode()) |
static NodePtr | makeNode (const std::shared_ptr< uavcan::ICanDriver > &can_driver, ClockAdjustmentMode clock_adjustment_mode=SystemClock::detectPreferredClockAdjustmentMode()) |
static NodePtr | makeNode (const std::vector< std::string > &iface_names, ClockAdjustmentMode clock_adjustment_mode=SystemClock::detectPreferredClockAdjustmentMode()) |
template<typename DriverType > | |
static SubNodePtr | makeSubNode (const DriverType &driver, const uavcan::NodeID node_id, ClockAdjustmentMode clock_adjustment_mode=SystemClock::detectPreferredClockAdjustmentMode()) |
static SubNodePtr | makeSubNode (const std::shared_ptr< uavcan::ICanDriver > &can_driver, ClockAdjustmentMode clock_adjustment_mode=SystemClock::detectPreferredClockAdjustmentMode()) |
static SubNodePtr | makeSubNode (const std::vector< std::string > &iface_names, ClockAdjustmentMode clock_adjustment_mode=SystemClock::detectPreferredClockAdjustmentMode()) |
Variables | |
static constexpr std::size_t | NodeMemPoolSize = 1024 * 512 |
This shall be enough for any possible use case. More... | |
using uavcan_linux::BlockingServiceClientPtr = typedef std::shared_ptr<BlockingServiceClient<T> > |
Definition at line 162 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
typedef std::shared_ptr<DriverPack> uavcan_linux::DriverPackPtr |
Definition at line 143 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
typedef std::shared_ptr<uavcan::INode> uavcan_linux::INodePtr |
Definition at line 145 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
typedef std::shared_ptr<Node> uavcan_linux::NodePtr |
Definition at line 354 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
using uavcan_linux::PublisherPtr = typedef std::shared_ptr<uavcan::Publisher<T> > |
Definition at line 153 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
using uavcan_linux::ServiceClientPtr = typedef std::shared_ptr<uavcan::ServiceClient<T> > |
Definition at line 159 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
using uavcan_linux::ServiceServerPtr = typedef std::shared_ptr<uavcan::ServiceServer<T> > |
Definition at line 156 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
typedef std::shared_ptr<SubNode> uavcan_linux::SubNodePtr |
Definition at line 355 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
using uavcan_linux::SubscriberPtr = typedef std::shared_ptr<uavcan::Subscriber<T> > |
Definition at line 150 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
typedef std::shared_ptr<uavcan::Timer> uavcan_linux::TimerPtr |
Definition at line 147 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
|
strong |
Different adjustment modes can be used for time synchronization
Enumerator | |
---|---|
SystemWide | Adjust the clock globally for the whole system; requires root privileges. |
PerDriverPrivate | Adjust the clock only for the current driver instance. |
Definition at line 23 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/clock.hpp.
|
strong |
SocketCan driver class keeps number of each kind of errors occurred since the object was created.
Enumerator | |
---|---|
SocketReadFailure | |
SocketWriteFailure | |
TxTimeout |
Definition at line 35 of file socketcan.hpp.
|
inline |
This class computes unique ID for a UAVCAN node in a Linux application. It takes the following inputs:
Definition at line 143 of file system_utils.hpp.
|
inlinestatic |
This function extends the other two overloads in such a way that it instantiates and initializes the node immediately; if initialization fails, it throws.
If NodeID is not provided, it will not be initialized, and therefore the node will be started in listen-only (i.e. silent) mode. The node can be switched to normal (i.e. non-silent) mode at any later time by calling setNodeID() explicitly. Read the Node class docs for more info.
Clock adjustment mode will be detected automatically unless provided explicitly.
uavcan_linux::Exception,uavcan_linux::LibuavcanErrorException. |
Definition at line 397 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
|
inlinestatic |
Use this function to create a node instance with a custom driver. Clock adjustment mode will be detected automatically unless provided explicitly.
uavcan_linux::Exception. |
Definition at line 376 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
|
inlinestatic |
Use this function to create a node instance with default SocketCAN driver. It accepts the list of interface names to use for the new node, e.g. "can1", "vcan2", "slcan0". Clock adjustment mode will be detected automatically unless provided explicitly.
uavcan_linux::Exception. |
Definition at line 363 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
|
inlinestatic |
This function extends the other two overloads in such a way that it instantiates the node and sets its Node ID immediately.
Clock adjustment mode will be detected automatically unless provided explicitly.
uavcan_linux::Exception,uavcan_linux::LibuavcanErrorException. |
Definition at line 463 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
|
inlinestatic |
Use this function to create a sub-node instance with a custom driver. Clock adjustment mode will be detected automatically unless provided explicitly.
uavcan_linux::Exception. |
Definition at line 446 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
|
inlinestatic |
Use this function to create a sub-node instance with default SocketCAN driver. It accepts the list of interface names to use for the new node, e.g. "can1", "vcan2", "slcan0". Clock adjustment mode will be detected automatically unless provided explicitly.
uavcan_linux::Exception. |
Definition at line 433 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.
|
staticconstexpr |
This shall be enough for any possible use case.
Definition at line 164 of file platform_specific_components/linux/libuavcan/include/uavcan_linux/helpers.hpp.