Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
uavcan::SubNode< MemPoolSize > Class Template Reference

#include <sub_node.hpp>

Inheritance diagram for uavcan::SubNode< MemPoolSize >:
Inheritance graph
[legend]

Public Member Functions

virtual RemoveReference< Allocator >::Type & getAllocator ()
 
uint64_t getInternalFailureCount () const
 
virtual SchedulergetScheduler ()
 
virtual const SchedulergetScheduler () const
 
 SubNode (ICanDriver &can_driver, ISystemClock &system_clock)
 
 SubNode (ICanDriver &can_driver, ISystemClock &system_clock, IPoolAllocator &allocator)
 
- Public Member Functions inherited from uavcan::INode
DispatchergetDispatcher ()
 
const DispatchergetDispatcher () const
 
MonotonicTime getMonotonicTime () const
 
NodeID getNodeID () const
 
ISystemClockgetSystemClock ()
 
UtcTime getUtcTime () const
 
int injectTxFrame (const CanFrame &frame, MonotonicTime tx_deadline, uint8_t iface_mask, CanIOFlags flags=0)
 
void installRxFrameListener (IRxFrameListener *lst)
 
bool isPassiveMode () const
 
void removeRxFrameListener ()
 
bool setNodeID (NodeID nid)
 
int spin (MonotonicDuration duration)
 
int spin (MonotonicTime deadline)
 
int spinOnce ()
 
virtual ~INode ()
 

Protected Member Functions

virtual void registerInternalFailure (const char *msg)
 

Private Types

typedef Select<(MemPoolSize > 0), PoolAllocator< MemPoolSize, MemPoolBlockSize >, IPoolAllocator & >::Result Allocator
 

Private Attributes

uint64_t internal_failure_cnt_
 
Allocator pool_allocator_
 
Scheduler scheduler_
 

Detailed Description

template<std::size_t MemPoolSize = 0>
class uavcan::SubNode< MemPoolSize >

This node object can be used in multiprocess UAVCAN nodes. Please refer to the Node<> for documentation concerning the template arguments; refer to the tutorials to lean how to use libuavcan in multiprocess applications.

Definition at line 24 of file sub_node.hpp.

Member Typedef Documentation

◆ Allocator

template<std::size_t MemPoolSize = 0>
typedef Select<(MemPoolSize > 0), PoolAllocator<MemPoolSize, MemPoolBlockSize>, IPoolAllocator& >::Result uavcan::SubNode< MemPoolSize >::Allocator
private

Definition at line 30 of file sub_node.hpp.

Constructor & Destructor Documentation

◆ SubNode() [1/2]

template<std::size_t MemPoolSize = 0>
uavcan::SubNode< MemPoolSize >::SubNode ( ICanDriver can_driver,
ISystemClock system_clock 
)
inline

This overload is only valid if MemPoolSize > 0.

Definition at line 49 of file sub_node.hpp.

◆ SubNode() [2/2]

template<std::size_t MemPoolSize = 0>
uavcan::SubNode< MemPoolSize >::SubNode ( ICanDriver can_driver,
ISystemClock system_clock,
IPoolAllocator allocator 
)
inline

This overload is only valid if MemPoolSize == 0.

Definition at line 58 of file sub_node.hpp.

Member Function Documentation

◆ getAllocator()

template<std::size_t MemPoolSize = 0>
virtual RemoveReference<Allocator>::Type& uavcan::SubNode< MemPoolSize >::getAllocator ( )
inlinevirtual

Implements uavcan::INode.

Definition at line 66 of file sub_node.hpp.

◆ getInternalFailureCount()

template<std::size_t MemPoolSize = 0>
uint64_t uavcan::SubNode< MemPoolSize >::getInternalFailureCount ( ) const
inline

Definition at line 71 of file sub_node.hpp.

◆ getScheduler() [1/2]

template<std::size_t MemPoolSize = 0>
virtual Scheduler& uavcan::SubNode< MemPoolSize >::getScheduler ( )
inlinevirtual

Implements uavcan::INode.

Definition at line 68 of file sub_node.hpp.

◆ getScheduler() [2/2]

template<std::size_t MemPoolSize = 0>
virtual const Scheduler& uavcan::SubNode< MemPoolSize >::getScheduler ( ) const
inlinevirtual

Implements uavcan::INode.

Definition at line 69 of file sub_node.hpp.

◆ registerInternalFailure()

template<std::size_t MemPoolSize = 0>
virtual void uavcan::SubNode< MemPoolSize >::registerInternalFailure ( const char *  msg)
inlineprotectedvirtual

Implements uavcan::INode.

Definition at line 38 of file sub_node.hpp.

Member Data Documentation

◆ internal_failure_cnt_

template<std::size_t MemPoolSize = 0>
uint64_t uavcan::SubNode< MemPoolSize >::internal_failure_cnt_
private

Definition at line 35 of file sub_node.hpp.

◆ pool_allocator_

template<std::size_t MemPoolSize = 0>
Allocator uavcan::SubNode< MemPoolSize >::pool_allocator_
private

Definition at line 32 of file sub_node.hpp.

◆ scheduler_

template<std::size_t MemPoolSize = 0>
Scheduler uavcan::SubNode< MemPoolSize >::scheduler_
private

Definition at line 33 of file sub_node.hpp.


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


uavcan_communicator
Author(s):
autogenerated on Fri Dec 13 2024 03:10:05