Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
mavplugin::ParamPlugin Class Reference

Parameter manipulation plugin. More...

Inheritance diagram for mavplugin::ParamPlugin:
Inheritance graph
[legend]

List of all members.

Public Member Functions

std::string const get_name () const
 Plugin name (CamelCase)
const message_map get_rx_handlers ()
 Return map with message rx handlers.
void initialize (UAS &uas_, ros::NodeHandle &nh, diagnostic_updater::Updater &diag_updater)
 Plugin initializer.
 ParamPlugin ()

Private Types

enum  { PR_IDLE, PR_RXLIST, PR_RXPARAM, PR_TXPARAM }

Private Member Functions

void connection_cb (bool connected)
Parameter::param_t from_param_value (mavlink_param_value_t &msg)
bool get_cb (mavros::ParamGet::Request &req, mavros::ParamGet::Response &res)
 get parameter ~param/get
void go_idle ()
void handle_param_value (const mavlink_message_t *msg, uint8_t sysid, uint8_t compid)
void param_request_list ()
void param_request_read (std::string id, int16_t index=-1)
void param_set (Parameter &param)
bool pull_cb (mavros::ParamPull::Request &req, mavros::ParamPull::Response &res)
 fetches all parameters from device ~param/pull
bool push_cb (mavros::ParamPush::Request &req, mavros::ParamPush::Response &res)
 push all parameter value to device ~param/push
void restart_timeout_timer ()
bool send_param_set_and_wait (Parameter &param)
bool set_cb (mavros::ParamSet::Request &req, mavros::ParamSet::Response &res)
 sets parameter value ~param/set
void shedule_cb (const ros::TimerEvent &event)
void shedule_pull (const ros::Duration &dt)
void timeout_cb (const ros::TimerEvent &event)
mavlink_param_union_t to_param_union (Parameter::param_t p)
bool wait_fetch_all ()
bool wait_param_set_ack_for (ParamSetOpt *opt)

Private Attributes

const ros::Duration BOOTUP_TIME_DT
ros::ServiceServer get_srv
bool is_timedout
std::mutex list_cond_mutex
std::condition_variable list_receiving
const ros::Duration LIST_TIMEOUT_DT
std::recursive_mutex mutex
ssize_t param_count
ros::NodeHandle param_nh
size_t param_rx_retries
enum mavplugin::ParamPlugin:: { ... }  param_state
const ros::Duration PARAM_TIMEOUT_DT
std::map< std::string, Parameterparameters
std::list< uint16_t > parameters_missing_idx
ros::ServiceServer pull_srv
ros::ServiceServer push_srv
std::map< std::string,
ParamSetOpt * > 
set_parameters
ros::ServiceServer set_srv
ros::Timer shedule_timer
 for startup shedule fetch
ros::Timer timeout_timer
 for timeout resend
UASuas

Static Private Attributes

static constexpr int BOOTUP_TIME_MS = 10000
 APM boot time.
static constexpr int LIST_TIMEOUT_MS = 30000
 Receive all time.
static constexpr int PARAM_TIMEOUT_MS = 1000
 Param wait time.
static constexpr int RETRIES_COUNT = 3

Detailed Description

Parameter manipulation plugin.

Definition at line 343 of file param.cpp.


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


mavros
Author(s): Vladimir Ermakov
autogenerated on Wed Aug 26 2015 12:29:13