PX4 Firmware
PX4 Autopilot Software http://px4.io
UavcanServers Class Reference

A UAVCAN Server Sub node. More...

#include <uavcan_servers.hpp>

Collaboration diagram for UavcanServers:

Public Member Functions

 UavcanServers (uavcan::INode &main_node)
 
virtual ~UavcanServers ()
 
uavcan::SubNode & get_node ()
 
void attachITxQueueInjector (ITxQueueInjector **injector)
 
void requestCheckAllNodesFirmwareAndUpdate ()
 
bool guessIfAllDynamicNodesAreAllocated ()
 

Static Public Member Functions

static int start (uavcan::INode &main_node)
 
static int stop ()
 
static UavcanServersinstance ()
 

Private Types

typedef uavcan::MethodBinder< UavcanServers *, void(UavcanServers::*)(const uavcan::ServiceCallResult< uavcan::protocol::param::GetSet > &)> GetSetCallback
 
typedef uavcan::MethodBinder< UavcanServers *, void(UavcanServers::*)(const uavcan::ServiceCallResult< uavcan::protocol::param::ExecuteOpcode > &)> ExecuteOpcodeCallback
 
typedef uavcan::MethodBinder< UavcanServers *, void(UavcanServers::*)(const uavcan::ServiceCallResult< uavcan::protocol::RestartNode > &)> RestartNodeCallback
 
typedef uavcan::MethodBinder< UavcanServers *, void(UavcanServers::*)(const uavcan::ServiceCallResult< uavcan::protocol::enumeration::Begin > &)> EnumerationBeginCallback
 
typedef uavcan::MethodBinder< UavcanServers *, void(UavcanServers::*)(const uavcan::ReceivedDataStructure< uavcan::protocol::enumeration::Indication > &)> EnumerationIndicationCallback
 

Private Member Functions

int init ()
 
pthread_addr_t run (pthread_addr_t)
 
void cb_getset (const uavcan::ServiceCallResult< uavcan::protocol::param::GetSet > &result)
 
void cb_count (const uavcan::ServiceCallResult< uavcan::protocol::param::GetSet > &result)
 
void cb_opcode (const uavcan::ServiceCallResult< uavcan::protocol::param::ExecuteOpcode > &result)
 
void cb_restart (const uavcan::ServiceCallResult< uavcan::protocol::RestartNode > &result)
 
void param_count (uavcan::NodeID node_id)
 
void param_opcode (uavcan::NodeID node_id)
 
uint8_t get_next_active_node_id (uint8_t base)
 
uint8_t get_next_dirty_node_id (uint8_t base)
 
void set_node_params_dirty (uint8_t node_id)
 
void clear_node_params_dirty (uint8_t node_id)
 
bool are_node_params_dirty (uint8_t node_id) const
 
void beep (float frequency)
 
void cb_enumeration_begin (const uavcan::ServiceCallResult< uavcan::protocol::enumeration::Begin > &result)
 
void cb_enumeration_indication (const uavcan::ReceivedDataStructure< uavcan::protocol::enumeration::Indication > &msg)
 
void cb_enumeration_getset (const uavcan::ServiceCallResult< uavcan::protocol::param::GetSet > &result)
 
void cb_enumeration_save (const uavcan::ServiceCallResult< uavcan::protocol::param::ExecuteOpcode > &result)
 
void unpackFwFromROMFS (const char *sd_path, const char *romfs_path)
 
int copyFw (const char *dst, const char *src)
 

Private Attributes

pthread_t _subnode_thread {-1}
 
pthread_mutex_t _subnode_mutex {}
 
volatile bool _subnode_thread_should_exit {false}
 
VirtualCanDriver _vdriver
 
uavcan::SubNode _subnode
 
uavcan::INode & _main_node
 
uavcan_posix::dynamic_node_id_server::FileEventTracer _tracer
 
uavcan_posix::dynamic_node_id_server::FileStorageBackend _storage_backend
 
uavcan_posix::FirmwareVersionChecker _fw_version_checker
 
uavcan::dynamic_node_id_server::CentralizedServer _server_instance
 server singleton pointer More...
 
uavcan_posix::BasicFileServerBackend _fileserver_backend
 
uavcan::NodeInfoRetriever _node_info_retriever
 
uavcan::FirmwareUpdateTrigger _fw_upgrade_trigger
 
uavcan::BasicFileServer _fw_server
 
uint8_t _param_counts [128] = {}
 
bool _count_in_progress = false
 
uint8_t _count_index = 0
 
bool _param_in_progress = false
 
uint8_t _param_index = 0
 
bool _param_list_in_progress = false
 
bool _param_list_all_nodes = false
 
uint8_t _param_list_node_id = 1
 
uint32_t _param_dirty_bitmap [4] = {}
 
uint8_t _param_save_opcode = 0
 
bool _cmd_in_progress = false
 
uORB::Publication< uavcan_parameter_value_s_param_response_pub {ORB_ID(uavcan_parameter_value)}
 
uORB::PublicationQueued< vehicle_command_ack_s_command_ack_pub {ORB_ID(vehicle_command_ack)}
 
uavcan::ServiceClient< uavcan::protocol::param::GetSet, GetSetCallback_param_getset_client
 
uavcan::ServiceClient< uavcan::protocol::param::ExecuteOpcode, ExecuteOpcodeCallback_param_opcode_client
 
uavcan::ServiceClient< uavcan::protocol::RestartNode, RestartNodeCallback_param_restartnode_client
 
bool _mutex_inited = false
 
volatile bool _check_fw = false
 
bool _esc_enumeration_active = false
 
uint8_t _esc_enumeration_ids [uavcan::equipment::esc::RawCommand::FieldTypes::cmd::MaxSize]
 
uint8_t _esc_enumeration_index = 0
 
uint8_t _esc_count = 0
 
uavcan::Publisher< uavcan::equipment::indication::BeepCommand > _beep_pub
 
uavcan::Subscriber< uavcan::protocol::enumeration::Indication, EnumerationIndicationCallback_enumeration_indication_sub
 
uavcan::ServiceClient< uavcan::protocol::enumeration::Begin, EnumerationBeginCallback_enumeration_client
 
uavcan::ServiceClient< uavcan::protocol::param::GetSet, GetSetCallback_enumeration_getset_client
 
uavcan::ServiceClient< uavcan::protocol::param::ExecuteOpcode, ExecuteOpcodeCallback_enumeration_save_client
 

Static Private Attributes

static constexpr unsigned NumIfaces = 1
 
static constexpr unsigned StackSize = 6000
 
static constexpr unsigned Priority = 120
 
static constexpr unsigned VirtualIfaceBlockAllocationQuota = 80
 
static constexpr float BeepFrequencyGenericIndication = 1000.0F
 
static constexpr float BeepFrequencySuccess = 2000.0F
 
static constexpr float BeepFrequencyError = 100.0F
 
static UavcanServers_instance
 singleton pointer More...
 

Detailed Description

A UAVCAN Server Sub node.

Definition at line 78 of file uavcan_servers.hpp.

Member Typedef Documentation

◆ EnumerationBeginCallback

typedef uavcan::MethodBinder<UavcanServers *, void (UavcanServers::*)(const uavcan::ServiceCallResult<uavcan::protocol::enumeration::Begin> &)> UavcanServers::EnumerationBeginCallback
private

Definition at line 207 of file uavcan_servers.hpp.

◆ EnumerationIndicationCallback

typedef uavcan::MethodBinder<UavcanServers *, void (UavcanServers::*)(const uavcan::ReceivedDataStructure<uavcan::protocol::enumeration::Indication>&)> UavcanServers::EnumerationIndicationCallback
private

Definition at line 210 of file uavcan_servers.hpp.

◆ ExecuteOpcodeCallback

typedef uavcan::MethodBinder<UavcanServers *, void (UavcanServers::*)(const uavcan::ServiceCallResult<uavcan::protocol::param::ExecuteOpcode> &)> UavcanServers::ExecuteOpcodeCallback
private

Definition at line 173 of file uavcan_servers.hpp.

◆ GetSetCallback

typedef uavcan::MethodBinder<UavcanServers *, void (UavcanServers::*)(const uavcan::ServiceCallResult<uavcan::protocol::param::GetSet> &)> UavcanServers::GetSetCallback
private

Definition at line 170 of file uavcan_servers.hpp.

◆ RestartNodeCallback

typedef uavcan::MethodBinder<UavcanServers *, void (UavcanServers::*)(const uavcan::ServiceCallResult<uavcan::protocol::RestartNode> &)> UavcanServers::RestartNodeCallback
private

Definition at line 175 of file uavcan_servers.hpp.

Constructor & Destructor Documentation

◆ UavcanServers()

UavcanServers::UavcanServers ( uavcan::INode &  main_node)

Definition at line 79 of file uavcan_servers.cpp.

Referenced by start().

Here is the caller graph for this function:

◆ ~UavcanServers()

UavcanServers::~UavcanServers ( )
virtual

Definition at line 99 of file uavcan_servers.cpp.

References _main_node, _mutex_inited, _subnode_mutex, and Lock::deinit().

Here is the call graph for this function:

Member Function Documentation

◆ are_node_params_dirty()

bool UavcanServers::are_node_params_dirty ( uint8_t  node_id) const
inlineprivate

Definition at line 192 of file uavcan_servers.hpp.

Referenced by get_next_dirty_node_id().

Here is the caller graph for this function:

◆ attachITxQueueInjector()

void UavcanServers::attachITxQueueInjector ( ITxQueueInjector **  injector)
inline

Definition at line 108 of file uavcan_servers.hpp.

Referenced by UavcanNode::start_fw_server().

Here is the caller graph for this function:

◆ beep()

void UavcanServers::beep ( float  frequency)
private

Definition at line 798 of file uavcan_servers.cpp.

References _beep_pub.

Referenced by cb_enumeration_save(), cb_getset(), and run().

Here is the caller graph for this function:

◆ cb_count()

void UavcanServers::cb_count ( const uavcan::ServiceCallResult< uavcan::protocol::param::GetSet > &  result)
private

◆ cb_enumeration_begin()

void UavcanServers::cb_enumeration_begin ( const uavcan::ServiceCallResult< uavcan::protocol::enumeration::Begin > &  result)
private

Definition at line 807 of file uavcan_servers.cpp.

References _enumeration_client, _esc_count, _esc_enumeration_active, and get_next_active_node_id().

Referenced by run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cb_enumeration_getset()

void UavcanServers::cb_enumeration_getset ( const uavcan::ServiceCallResult< uavcan::protocol::param::GetSet > &  result)
private

Definition at line 882 of file uavcan_servers.cpp.

References _enumeration_save_client, _esc_enumeration_ids, _esc_enumeration_index, math::max(), and math::min().

Referenced by run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cb_enumeration_indication()

void UavcanServers::cb_enumeration_indication ( const uavcan::ReceivedDataStructure< uavcan::protocol::enumeration::Indication > &  msg)
private

Definition at line 846 of file uavcan_servers.cpp.

References _enumeration_getset_client, _esc_enumeration_active, _esc_enumeration_ids, and _esc_enumeration_index.

Referenced by run().

Here is the caller graph for this function:

◆ cb_enumeration_save()

void UavcanServers::cb_enumeration_save ( const uavcan::ServiceCallResult< uavcan::protocol::param::ExecuteOpcode > &  result)
private

Definition at line 912 of file uavcan_servers.cpp.

References _enumeration_client, _esc_count, _esc_enumeration_active, _esc_enumeration_index, beep(), BeepFrequencyError, BeepFrequencyGenericIndication, BeepFrequencySuccess, and get_next_active_node_id().

Referenced by run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cb_getset()

void UavcanServers::cb_getset ( const uavcan::ServiceCallResult< uavcan::protocol::param::GetSet > &  result)
private

Definition at line 586 of file uavcan_servers.cpp.

References _count_in_progress, _count_index, _param_counts, _param_getset_client, _param_in_progress, _param_index, _param_response_pub, beep(), BeepFrequencyError, BeepFrequencyGenericIndication, uavcan_parameter_value_s::int_value, uavcan_parameter_value_s::node_id, uavcan_parameter_value_s::param_count, uavcan_parameter_value_s::param_id, uavcan_parameter_value_s::param_index, uavcan_parameter_value_s::param_type, uORB::Publication< T >::publish(), and uavcan_parameter_value_s::real_value.

Referenced by run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cb_opcode()

void UavcanServers::cb_opcode ( const uavcan::ServiceCallResult< uavcan::protocol::param::ExecuteOpcode > &  result)
private

Definition at line 704 of file uavcan_servers.cpp.

References _cmd_in_progress, _param_restartnode_client, get_next_dirty_node_id(), uavcan_parameter_value_s::node_id, and param_opcode().

Referenced by run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cb_restart()

void UavcanServers::cb_restart ( const uavcan::ServiceCallResult< uavcan::protocol::RestartNode > &  result)
private

Definition at line 750 of file uavcan_servers.cpp.

References _cmd_in_progress, clear_node_params_dirty(), get_next_dirty_node_id(), uavcan_parameter_value_s::node_id, and param_opcode().

Referenced by run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear_node_params_dirty()

void UavcanServers::clear_node_params_dirty ( uint8_t  node_id)
inlineprivate

Definition at line 191 of file uavcan_servers.hpp.

Referenced by cb_restart().

Here is the caller graph for this function:

◆ copyFw()

int UavcanServers::copyFw ( const char *  dst,
const char *  src 
)
private

Definition at line 1210 of file uavcan_servers.cpp.

References read(), and write().

Referenced by unpackFwFromROMFS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_next_active_node_id()

uint8_t UavcanServers::get_next_active_node_id ( uint8_t  base)
private

Definition at line 777 of file uavcan_servers.cpp.

References _node_info_retriever, and _subnode.

Referenced by cb_enumeration_begin(), cb_enumeration_save(), and run().

Here is the caller graph for this function:

◆ get_next_dirty_node_id()

uint8_t UavcanServers::get_next_dirty_node_id ( uint8_t  base)
private

Definition at line 788 of file uavcan_servers.cpp.

References are_node_params_dirty().

Referenced by cb_opcode(), cb_restart(), and run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_node()

uavcan::SubNode& UavcanServers::get_node ( )
inline

Definition at line 99 of file uavcan_servers.hpp.

◆ guessIfAllDynamicNodesAreAllocated()

bool UavcanServers::guessIfAllDynamicNodesAreAllocated ( )
inline

Definition at line 112 of file uavcan_servers.hpp.

Referenced by UavcanNode::ioctl().

Here is the caller graph for this function:

◆ init()

int UavcanServers::init ( )
private

Definition at line 189 of file uavcan_servers.cpp.

References _fw_server, _fw_upgrade_trigger, _fw_version_checker, _main_node, _mutex_inited, _node_info_retriever, _server_instance, _storage_backend, _subnode, _subnode_mutex, _tracer, _vdriver, UavcanNode::getHardwareVersion(), Lock::init(), UAVCAN_FIRMWARE_PATH, UAVCAN_LOG_FILE, and UAVCAN_NODE_DB_PATH.

Referenced by start().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ instance()

static UavcanServers* UavcanServers::instance ( )
inlinestatic

Definition at line 101 of file uavcan_servers.hpp.

Referenced by UavcanNode::ioctl(), UavcanNode::request_fw_check(), UavcanNode::start_fw_server(), stop(), UavcanNode::stop_fw_server(), and uavcan_main().

Here is the caller graph for this function:

◆ param_count()

void UavcanServers::param_count ( uavcan::NodeID  node_id)
private

Definition at line 671 of file uavcan_servers.cpp.

References _count_in_progress, _count_index, and _param_getset_client.

Referenced by run().

Here is the caller graph for this function:

◆ param_opcode()

void UavcanServers::param_opcode ( uavcan::NodeID  node_id)
private

Definition at line 688 of file uavcan_servers.cpp.

References _cmd_in_progress, _param_opcode_client, and _param_save_opcode.

Referenced by cb_opcode(), cb_restart(), and run().

Here is the caller graph for this function:

◆ requestCheckAllNodesFirmwareAndUpdate()

void UavcanServers::requestCheckAllNodesFirmwareAndUpdate ( )
inline

Definition at line 110 of file uavcan_servers.hpp.

Referenced by UavcanNode::request_fw_check().

Here is the caller graph for this function:

◆ run()

pthread_addr_t UavcanServers::run ( pthread_addr_t  )
private

Definition at line 280 of file uavcan_servers.cpp.

References _check_fw, _cmd_in_progress, _command_ack_pub, _count_in_progress, _enumeration_client, _enumeration_getset_client, _enumeration_indication_sub, _enumeration_save_client, _esc_count, _esc_enumeration_active, _esc_enumeration_ids, _esc_enumeration_index, _node_info_retriever, _param_counts, _param_getset_client, _param_in_progress, _param_index, _param_list_all_nodes, _param_list_in_progress, _param_list_node_id, _param_opcode_client, _param_restartnode_client, _param_save_opcode, _subnode, _subnode_mutex, _subnode_thread_should_exit, actuator_armed_s::armed, armed, beep(), BeepFrequencyError, BeepFrequencyGenericIndication, cb_enumeration_begin(), cb_enumeration_getset(), cb_enumeration_indication(), cb_enumeration_save(), cb_getset(), cb_opcode(), cb_restart(), get_next_active_node_id(), get_next_dirty_node_id(), hrt_absolute_time(), MicroBenchHRT::lock(), actuator_armed_s::lockdown, actuator_armed_s::manual_lockdown, ORB_ID, param_count(), uavcan_parameter_request_s::param_index, param_opcode(), uORB::PublicationQueued< T >::publish(), set_node_params_dirty(), vehicle_command_ack_s::timestamp, UAVCAN_FIRMWARE_PATH, UAVCAN_ROMFS_FW_PATH, and unpackFwFromROMFS().

Referenced by start().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_node_params_dirty()

void UavcanServers::set_node_params_dirty ( uint8_t  node_id)
inlineprivate

Definition at line 190 of file uavcan_servers.hpp.

Referenced by run().

Here is the caller graph for this function:

◆ start()

int UavcanServers::start ( uavcan::INode &  main_node)
static

Definition at line 133 of file uavcan_servers.cpp.

References _instance, _subnode_thread, init(), Priority, run(), StackSize, and UavcanServers().

Referenced by UavcanNode::start_fw_server().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stop()

int UavcanServers::stop ( )
static

Definition at line 109 of file uavcan_servers.cpp.

References _instance, _main_node, _subnode_thread, _subnode_thread_should_exit, and instance().

Referenced by UavcanNode::stop_fw_server().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unpackFwFromROMFS()

void UavcanServers::unpackFwFromROMFS ( const char *  sd_path,
const char *  romfs_path 
)
private

Definition at line 955 of file uavcan_servers.cpp.

References copyFw(), UAVCAN_MAX_PATH_LENGTH, and UAVCAN_ROMFS_FW_PREFIX.

Referenced by run().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _beep_pub

uavcan::Publisher<uavcan::equipment::indication::BeepCommand> UavcanServers::_beep_pub
private

Definition at line 216 of file uavcan_servers.hpp.

Referenced by beep().

◆ _check_fw

volatile bool UavcanServers::_check_fw = false
private

Definition at line 197 of file uavcan_servers.hpp.

Referenced by run().

◆ _cmd_in_progress

bool UavcanServers::_cmd_in_progress = false
private

Definition at line 163 of file uavcan_servers.hpp.

Referenced by cb_opcode(), cb_restart(), param_opcode(), and run().

◆ _command_ack_pub

uORB::PublicationQueued<vehicle_command_ack_s> UavcanServers::_command_ack_pub {ORB_ID(vehicle_command_ack)}
private

Definition at line 167 of file uavcan_servers.hpp.

Referenced by run().

◆ _count_in_progress

bool UavcanServers::_count_in_progress = false
private

Definition at line 151 of file uavcan_servers.hpp.

Referenced by cb_getset(), param_count(), and run().

◆ _count_index

uint8_t UavcanServers::_count_index = 0
private

Definition at line 152 of file uavcan_servers.hpp.

Referenced by cb_getset(), and param_count().

◆ _enumeration_client

uavcan::ServiceClient<uavcan::protocol::enumeration::Begin, EnumerationBeginCallback> UavcanServers::_enumeration_client
private

Definition at line 219 of file uavcan_servers.hpp.

Referenced by cb_enumeration_begin(), cb_enumeration_save(), and run().

◆ _enumeration_getset_client

uavcan::ServiceClient<uavcan::protocol::param::GetSet, GetSetCallback> UavcanServers::_enumeration_getset_client
private

Definition at line 220 of file uavcan_servers.hpp.

Referenced by cb_enumeration_indication(), and run().

◆ _enumeration_indication_sub

uavcan::Subscriber<uavcan::protocol::enumeration::Indication, EnumerationIndicationCallback> UavcanServers::_enumeration_indication_sub
private

Definition at line 218 of file uavcan_servers.hpp.

Referenced by run().

◆ _enumeration_save_client

uavcan::ServiceClient<uavcan::protocol::param::ExecuteOpcode, ExecuteOpcodeCallback> UavcanServers::_enumeration_save_client
private

Definition at line 221 of file uavcan_servers.hpp.

Referenced by cb_enumeration_getset(), and run().

◆ _esc_count

uint8_t UavcanServers::_esc_count = 0
private

Definition at line 203 of file uavcan_servers.hpp.

Referenced by cb_enumeration_begin(), cb_enumeration_save(), and run().

◆ _esc_enumeration_active

bool UavcanServers::_esc_enumeration_active = false
private

◆ _esc_enumeration_ids

uint8_t UavcanServers::_esc_enumeration_ids[uavcan::equipment::esc::RawCommand::FieldTypes::cmd::MaxSize]
private

Definition at line 201 of file uavcan_servers.hpp.

Referenced by cb_enumeration_getset(), cb_enumeration_indication(), and run().

◆ _esc_enumeration_index

uint8_t UavcanServers::_esc_enumeration_index = 0
private

◆ _fileserver_backend

uavcan_posix::BasicFileServerBackend UavcanServers::_fileserver_backend
private

Definition at line 134 of file uavcan_servers.hpp.

◆ _fw_server

uavcan::BasicFileServer UavcanServers::_fw_server
private

Definition at line 137 of file uavcan_servers.hpp.

Referenced by init().

◆ _fw_upgrade_trigger

uavcan::FirmwareUpdateTrigger UavcanServers::_fw_upgrade_trigger
private

Definition at line 136 of file uavcan_servers.hpp.

Referenced by init().

◆ _fw_version_checker

uavcan_posix::FirmwareVersionChecker UavcanServers::_fw_version_checker
private

Definition at line 132 of file uavcan_servers.hpp.

Referenced by init().

◆ _instance

UavcanServers * UavcanServers::_instance
staticprivate

singleton pointer

Definition at line 123 of file uavcan_servers.hpp.

Referenced by start(), and stop().

◆ _main_node

uavcan::INode& UavcanServers::_main_node
private

Definition at line 128 of file uavcan_servers.hpp.

Referenced by init(), stop(), and ~UavcanServers().

◆ _mutex_inited

bool UavcanServers::_mutex_inited = false
private

Definition at line 196 of file uavcan_servers.hpp.

Referenced by init(), and ~UavcanServers().

◆ _node_info_retriever

uavcan::NodeInfoRetriever UavcanServers::_node_info_retriever
private

Definition at line 135 of file uavcan_servers.hpp.

Referenced by get_next_active_node_id(), init(), and run().

◆ _param_counts

uint8_t UavcanServers::_param_counts[128] = {}
private

Definition at line 150 of file uavcan_servers.hpp.

Referenced by cb_getset(), and run().

◆ _param_dirty_bitmap

uint32_t UavcanServers::_param_dirty_bitmap[4] = {}
private

Definition at line 160 of file uavcan_servers.hpp.

◆ _param_getset_client

uavcan::ServiceClient<uavcan::protocol::param::GetSet, GetSetCallback> UavcanServers::_param_getset_client
private

Definition at line 182 of file uavcan_servers.hpp.

Referenced by cb_getset(), param_count(), and run().

◆ _param_in_progress

bool UavcanServers::_param_in_progress = false
private

Definition at line 154 of file uavcan_servers.hpp.

Referenced by cb_getset(), and run().

◆ _param_index

uint8_t UavcanServers::_param_index = 0
private

Definition at line 155 of file uavcan_servers.hpp.

Referenced by cb_getset(), and run().

◆ _param_list_all_nodes

bool UavcanServers::_param_list_all_nodes = false
private

Definition at line 157 of file uavcan_servers.hpp.

Referenced by run().

◆ _param_list_in_progress

bool UavcanServers::_param_list_in_progress = false
private

Definition at line 156 of file uavcan_servers.hpp.

Referenced by run().

◆ _param_list_node_id

uint8_t UavcanServers::_param_list_node_id = 1
private

Definition at line 158 of file uavcan_servers.hpp.

Referenced by run().

◆ _param_opcode_client

uavcan::ServiceClient<uavcan::protocol::param::ExecuteOpcode, ExecuteOpcodeCallback> UavcanServers::_param_opcode_client
private

Definition at line 183 of file uavcan_servers.hpp.

Referenced by param_opcode(), and run().

◆ _param_response_pub

uORB::Publication<uavcan_parameter_value_s> UavcanServers::_param_response_pub {ORB_ID(uavcan_parameter_value)}
private

Definition at line 166 of file uavcan_servers.hpp.

Referenced by cb_getset().

◆ _param_restartnode_client

uavcan::ServiceClient<uavcan::protocol::RestartNode, RestartNodeCallback> UavcanServers::_param_restartnode_client
private

Definition at line 184 of file uavcan_servers.hpp.

Referenced by cb_opcode(), and run().

◆ _param_save_opcode

uint8_t UavcanServers::_param_save_opcode = 0
private

Definition at line 161 of file uavcan_servers.hpp.

Referenced by param_opcode(), and run().

◆ _server_instance

uavcan::dynamic_node_id_server::CentralizedServer UavcanServers::_server_instance
private

server singleton pointer

Definition at line 133 of file uavcan_servers.hpp.

Referenced by init().

◆ _storage_backend

uavcan_posix::dynamic_node_id_server::FileStorageBackend UavcanServers::_storage_backend
private

Definition at line 131 of file uavcan_servers.hpp.

Referenced by init().

◆ _subnode

uavcan::SubNode UavcanServers::_subnode
private

Definition at line 127 of file uavcan_servers.hpp.

Referenced by get_next_active_node_id(), init(), and run().

◆ _subnode_mutex

pthread_mutex_t UavcanServers::_subnode_mutex {}
private

Definition at line 116 of file uavcan_servers.hpp.

Referenced by init(), run(), and ~UavcanServers().

◆ _subnode_thread

pthread_t UavcanServers::_subnode_thread {-1}
private

Definition at line 115 of file uavcan_servers.hpp.

Referenced by start(), and stop().

◆ _subnode_thread_should_exit

volatile bool UavcanServers::_subnode_thread_should_exit {false}
private

Definition at line 117 of file uavcan_servers.hpp.

Referenced by run(), and stop().

◆ _tracer

uavcan_posix::dynamic_node_id_server::FileEventTracer UavcanServers::_tracer
private

Definition at line 130 of file uavcan_servers.hpp.

Referenced by init().

◆ _vdriver

VirtualCanDriver UavcanServers::_vdriver
private

Definition at line 125 of file uavcan_servers.hpp.

Referenced by init().

◆ BeepFrequencyError

constexpr float UavcanServers::BeepFrequencyError = 100.0F
staticprivate

Definition at line 89 of file uavcan_servers.hpp.

Referenced by cb_enumeration_save(), cb_getset(), and run().

◆ BeepFrequencyGenericIndication

constexpr float UavcanServers::BeepFrequencyGenericIndication = 1000.0F
staticprivate

Definition at line 87 of file uavcan_servers.hpp.

Referenced by cb_enumeration_save(), cb_getset(), and run().

◆ BeepFrequencySuccess

constexpr float UavcanServers::BeepFrequencySuccess = 2000.0F
staticprivate

Definition at line 88 of file uavcan_servers.hpp.

Referenced by cb_enumeration_save().

◆ NumIfaces

constexpr unsigned UavcanServers::NumIfaces = 1
staticprivate

Definition at line 80 of file uavcan_servers.hpp.

◆ Priority

constexpr unsigned UavcanServers::Priority = 120
staticprivate

Definition at line 83 of file uavcan_servers.hpp.

Referenced by start().

◆ StackSize

constexpr unsigned UavcanServers::StackSize = 6000
staticprivate

Definition at line 82 of file uavcan_servers.hpp.

Referenced by start().

◆ VirtualIfaceBlockAllocationQuota

constexpr unsigned UavcanServers::VirtualIfaceBlockAllocationQuota = 80
staticprivate

Definition at line 85 of file uavcan_servers.hpp.


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