Public Member Functions | Private Member Functions | Private Attributes | List of all members
mavrosflight::ParamManager< DerivedLogger > Class Template Reference

#include <param_manager.h>

Inheritance diagram for mavrosflight::ParamManager< DerivedLogger >:
Inheritance graph
[legend]

Public Member Functions

int get_num_params ()
 
bool get_param_value (std::string name, double *value)
 
int get_params_received ()
 
bool got_all_params ()
 
virtual void handle_mavlink_message (const mavlink_message_t &msg)
 The handler function for mavlink messages to be implemented by derived classes. More...
 
bool load_from_file (std::string filename)
 
 ParamManager (MavlinkComm *const comm, LoggerInterface< DerivedLogger > &logger, TimerProviderInterface &timer_provider)
 
void register_param_listener (ParamListenerInterface *listener)
 
void request_params ()
 
bool save_to_file (std::string filename)
 
bool set_param_value (std::string name, double value)
 
void unregister_param_listener (ParamListenerInterface *listener)
 
bool unsaved_changes ()
 
bool write_params ()
 
 ~ParamManager ()
 

Private Member Functions

void handle_command_ack_msg (const mavlink_message_t &msg)
 
void handle_param_value_msg (const mavlink_message_t &msg)
 
bool is_param_id (std::string name)
 
void param_set_timer_callback ()
 
void request_param (int index)
 
void request_param_list ()
 

Private Attributes

MavlinkCommcomm_
 
bool first_param_received_
 
bool got_all_params_
 
std::vector< ParamListenerInterface * > listeners_
 
LoggerInterface< DerivedLogger > & logger_
 
size_t num_params_
 
bool param_set_in_progress_
 
std::deque< mavlink_message_t > param_set_queue_
 
std::shared_ptr< TimerInterfaceparam_set_timer_
 
std::map< std::string, Paramparams_
 
bool * received_
 
size_t received_count_
 
TimerProviderInterfacetimer_provider_
 
bool unsaved_changes_
 
bool write_request_in_progress_
 

Detailed Description

template<typename DerivedLogger>
class mavrosflight::ParamManager< DerivedLogger >

Definition at line 57 of file param_manager.h.

Constructor & Destructor Documentation

template<typename DerivedLogger>
mavrosflight::ParamManager< DerivedLogger >::ParamManager ( MavlinkComm *const  comm,
LoggerInterface< DerivedLogger > &  logger,
TimerProviderInterface timer_provider 
)

Definition at line 48 of file param_manager.cpp.

template<typename DerivedLogger >
mavrosflight::ParamManager< DerivedLogger >::~ParamManager ( )

Definition at line 70 of file param_manager.cpp.

Member Function Documentation

template<typename DerivedLogger >
int mavrosflight::ParamManager< DerivedLogger >::get_num_params ( )

Definition at line 380 of file param_manager.cpp.

template<typename DerivedLogger >
bool mavrosflight::ParamManager< DerivedLogger >::get_param_value ( std::string  name,
double *  value 
)

Definition at line 99 of file param_manager.cpp.

template<typename DerivedLogger >
int mavrosflight::ParamManager< DerivedLogger >::get_params_received ( )

Definition at line 393 of file param_manager.cpp.

template<typename DerivedLogger >
bool mavrosflight::ParamManager< DerivedLogger >::got_all_params ( )

Definition at line 399 of file param_manager.cpp.

template<typename DerivedLogger >
void mavrosflight::ParamManager< DerivedLogger >::handle_command_ack_msg ( const mavlink_message_t &  msg)
private

Definition at line 346 of file param_manager.cpp.

template<typename DerivedLogger >
void mavrosflight::ParamManager< DerivedLogger >::handle_mavlink_message ( const mavlink_message_t &  msg)
virtual

The handler function for mavlink messages to be implemented by derived classes.

Parameters
msgThe mavlink message to handle

Implements mavrosflight::MavlinkListenerInterface.

Definition at line 79 of file param_manager.cpp.

template<typename DerivedLogger >
void mavrosflight::ParamManager< DerivedLogger >::handle_param_value_msg ( const mavlink_message_t &  msg)
private

Definition at line 294 of file param_manager.cpp.

template<typename DerivedLogger >
bool mavrosflight::ParamManager< DerivedLogger >::is_param_id ( std::string  name)
private

Definition at line 374 of file param_manager.cpp.

template<typename DerivedLogger >
bool mavrosflight::ParamManager< DerivedLogger >::load_from_file ( std::string  filename)

Definition at line 227 of file param_manager.cpp.

template<typename DerivedLogger >
void mavrosflight::ParamManager< DerivedLogger >::param_set_timer_callback ( )
private

Definition at line 405 of file param_manager.cpp.

template<typename DerivedLogger >
void mavrosflight::ParamManager< DerivedLogger >::register_param_listener ( ParamListenerInterface listener)

Definition at line 157 of file param_manager.cpp.

template<typename DerivedLogger >
void mavrosflight::ParamManager< DerivedLogger >::request_param ( int  index)
private

Definition at line 285 of file param_manager.cpp.

template<typename DerivedLogger >
void mavrosflight::ParamManager< DerivedLogger >::request_param_list ( )
private

Definition at line 277 of file param_manager.cpp.

template<typename DerivedLogger >
void mavrosflight::ParamManager< DerivedLogger >::request_params ( )

Definition at line 258 of file param_manager.cpp.

template<typename DerivedLogger >
bool mavrosflight::ParamManager< DerivedLogger >::save_to_file ( std::string  filename)

Definition at line 193 of file param_manager.cpp.

template<typename DerivedLogger >
bool mavrosflight::ParamManager< DerivedLogger >::set_param_value ( std::string  name,
double  value 
)

Definition at line 114 of file param_manager.cpp.

template<typename DerivedLogger >
void mavrosflight::ParamManager< DerivedLogger >::unregister_param_listener ( ParamListenerInterface listener)

Definition at line 177 of file param_manager.cpp.

template<typename DerivedLogger >
bool mavrosflight::ParamManager< DerivedLogger >::unsaved_changes ( )

Definition at line 93 of file param_manager.cpp.

template<typename DerivedLogger >
bool mavrosflight::ParamManager< DerivedLogger >::write_params ( )

Definition at line 137 of file param_manager.cpp.

Member Data Documentation

template<typename DerivedLogger>
MavlinkComm* mavrosflight::ParamManager< DerivedLogger >::comm_
private

Definition at line 94 of file param_manager.h.

template<typename DerivedLogger>
bool mavrosflight::ParamManager< DerivedLogger >::first_param_received_
private

Definition at line 100 of file param_manager.h.

template<typename DerivedLogger>
bool mavrosflight::ParamManager< DerivedLogger >::got_all_params_
private

Definition at line 104 of file param_manager.h.

template<typename DerivedLogger>
std::vector<ParamListenerInterface *> mavrosflight::ParamManager< DerivedLogger >::listeners_
private

Definition at line 92 of file param_manager.h.

template<typename DerivedLogger>
LoggerInterface<DerivedLogger>& mavrosflight::ParamManager< DerivedLogger >::logger_
private

Definition at line 111 of file param_manager.h.

template<typename DerivedLogger>
size_t mavrosflight::ParamManager< DerivedLogger >::num_params_
private

Definition at line 101 of file param_manager.h.

template<typename DerivedLogger>
bool mavrosflight::ParamManager< DerivedLogger >::param_set_in_progress_
private

Definition at line 108 of file param_manager.h.

template<typename DerivedLogger>
std::deque<mavlink_message_t> mavrosflight::ParamManager< DerivedLogger >::param_set_queue_
private

Definition at line 106 of file param_manager.h.

template<typename DerivedLogger>
std::shared_ptr<TimerInterface> mavrosflight::ParamManager< DerivedLogger >::param_set_timer_
private

Definition at line 107 of file param_manager.h.

template<typename DerivedLogger>
std::map<std::string, Param> mavrosflight::ParamManager< DerivedLogger >::params_
private

Definition at line 95 of file param_manager.h.

template<typename DerivedLogger>
bool* mavrosflight::ParamManager< DerivedLogger >::received_
private

Definition at line 103 of file param_manager.h.

template<typename DerivedLogger>
size_t mavrosflight::ParamManager< DerivedLogger >::received_count_
private

Definition at line 102 of file param_manager.h.

template<typename DerivedLogger>
TimerProviderInterface& mavrosflight::ParamManager< DerivedLogger >::timer_provider_
private

Definition at line 112 of file param_manager.h.

template<typename DerivedLogger>
bool mavrosflight::ParamManager< DerivedLogger >::unsaved_changes_
private

Definition at line 97 of file param_manager.h.

template<typename DerivedLogger>
bool mavrosflight::ParamManager< DerivedLogger >::write_request_in_progress_
private

Definition at line 98 of file param_manager.h.


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


rosflight
Author(s): Daniel Koch , James Jackson
autogenerated on Thu Apr 15 2021 05:09:29