From d70caeb24b377194277a3347d3c70d9547a3cc52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Fri, 12 May 2017 14:33:42 +0200 Subject: [PATCH] MavlinkParametersManager: remove MavlinkStream inheritance --- src/modules/mavlink/mavlink_parameters.cpp | 11 ++---- src/modules/mavlink/mavlink_parameters.h | 40 +++++++--------------- 2 files changed, 16 insertions(+), 35 deletions(-) diff --git a/src/modules/mavlink/mavlink_parameters.cpp b/src/modules/mavlink/mavlink_parameters.cpp index def16cf297..95b8772e28 100644 --- a/src/modules/mavlink/mavlink_parameters.cpp +++ b/src/modules/mavlink/mavlink_parameters.cpp @@ -49,7 +49,7 @@ #define HASH_PARAM "_HASH_CHECK" -MavlinkParametersManager::MavlinkParametersManager(Mavlink *mavlink) : MavlinkStream(mavlink), +MavlinkParametersManager::MavlinkParametersManager(Mavlink *mavlink) : _send_all_index(-1), _uavcan_open_request_list(nullptr), _uavcan_waiting_for_request_response(false), @@ -57,7 +57,8 @@ MavlinkParametersManager::MavlinkParametersManager(Mavlink *mavlink) : MavlinkSt _rc_param_map_pub(nullptr), _rc_param_map(), _uavcan_parameter_request_pub(nullptr), - _uavcan_parameter_value_sub(-1) + _uavcan_parameter_value_sub(-1), + _mavlink(mavlink) { } MavlinkParametersManager::~MavlinkParametersManager() @@ -77,12 +78,6 @@ MavlinkParametersManager::get_size() return MAVLINK_MSG_ID_PARAM_VALUE_LEN + MAVLINK_NUM_NON_PAYLOAD_BYTES; } -unsigned -MavlinkParametersManager::get_size_avg() -{ - return 0; -} - void MavlinkParametersManager::handle_message(const mavlink_message_t *msg) { diff --git a/src/modules/mavlink/mavlink_parameters.h b/src/modules/mavlink/mavlink_parameters.h index 3f6bbc0f73..6fe5b97302 100644 --- a/src/modules/mavlink/mavlink_parameters.h +++ b/src/modules/mavlink/mavlink_parameters.h @@ -44,38 +44,27 @@ #include #include "mavlink_bridge_header.h" -#include "mavlink_stream.h" #include #include #include +#include -class MavlinkParametersManager : public MavlinkStream +class Mavlink; + +class MavlinkParametersManager { public: - const char *get_name() const - { - return MavlinkParametersManager::get_name_static(); - } + explicit MavlinkParametersManager(Mavlink *mavlink); + ~MavlinkParametersManager(); - static const char *get_name_static() - { - return "PARAM_VALUE"; - } - - uint16_t get_id() - { - return MAVLINK_MSG_ID_PARAM_VALUE; - } - - static MavlinkStream *new_instance(Mavlink *mavlink) - { - return new MavlinkParametersManager(mavlink); - } + /** + * Handle sending of messages. Call this regularly at a fixed frequency. + * @param t current time + */ + void send(const hrt_abstime t); unsigned get_size(); - unsigned get_size_avg(); - void handle_message(const mavlink_message_t *msg); private: @@ -86,11 +75,6 @@ private: MavlinkParametersManager &operator = (const MavlinkParametersManager &); protected: - explicit MavlinkParametersManager(Mavlink *mavlink); - ~MavlinkParametersManager(); - - void send(const hrt_abstime t); - /// send a single param if a PARAM_REQUEST_LIST is in progress /// @return true if a parameter was sent bool send_one(); @@ -119,4 +103,6 @@ protected: orb_advert_t _uavcan_parameter_request_pub; int _uavcan_parameter_value_sub; + + Mavlink *_mavlink; };