Commit 587bf78a authored by Don Gagne's avatar Don Gagne

Mock mavlink plugin support

parent 23c77aef
...@@ -27,7 +27,8 @@ QString MockUAS::_bogusStaticString; ...@@ -27,7 +27,8 @@ QString MockUAS::_bogusStaticString;
MockUAS::MockUAS(void) : MockUAS::MockUAS(void) :
_systemType(MAV_TYPE_QUADROTOR), _systemType(MAV_TYPE_QUADROTOR),
_systemId(1) _systemId(1),
_mavlinkPlugin(NULL)
{ {
} }
...@@ -41,4 +42,15 @@ void MockUAS::setMockParametersAndSignal(MockQGCUASParamManager::ParamMap_t& map ...@@ -41,4 +42,15 @@ void MockUAS::setMockParametersAndSignal(MockQGCUASParamManager::ParamMap_t& map
i.next(); i.next();
emit parameterChanged(_systemId, 0, i.key(), i.value()); emit parameterChanged(_systemId, 0, i.key(), i.value());
} }
}
void MockUAS::sendMessage(mavlink_message_t message)
{
Q_UNUSED(link);
if (!_mavlinkPlugin) {
Q_ASSERT(false);
}
_mavlinkPlugin->sendMessage(message);
} }
\ No newline at end of file
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "UASInterface.h" #include "UASInterface.h"
#include "MockQGCUASParamManager.h" #include "MockQGCUASParamManager.h"
#include "MockMavlinkInterface.h"
#include <limits> #include <limits>
...@@ -50,6 +51,9 @@ public: ...@@ -50,6 +51,9 @@ public:
virtual int getUASID(void) const { return _systemId; } virtual int getUASID(void) const { return _systemId; }
virtual QGCUASParamManagerInterface* getParamManager() { return &_paramManager; }; virtual QGCUASParamManagerInterface* getParamManager() { return &_paramManager; };
// sendMessage is only supported if a mavlink plugin is installed.
virtual void sendMessage(mavlink_message_t message);
public: public:
// MockUAS methods // MockUAS methods
MockUAS(void); MockUAS(void);
...@@ -63,12 +67,15 @@ public: ...@@ -63,12 +67,15 @@ public:
/// allows you to simulate parameter input and validate parameter setting /// allows you to simulate parameter input and validate parameter setting
MockQGCUASParamManager* getMockQGCUASParamManager(void) { return &_paramManager; } MockQGCUASParamManager* getMockQGCUASParamManager(void) { return &_paramManager; }
/// Sets the parameter map into the mock QGCUASParamManager and signals parameterChanged for /// @brief Sets the parameter map into the mock QGCUASParamManager and signals parameterChanged for
/// each param /// each param
void setMockParametersAndSignal(MockQGCUASParamManager::ParamMap_t& map); void setMockParametersAndSignal(MockQGCUASParamManager::ParamMap_t& map);
void emitRemoteControlChannelRawChanged(int channel, float raw) { emit remoteControlChannelRawChanged(channel, raw); } void emitRemoteControlChannelRawChanged(int channel, float raw) { emit remoteControlChannelRawChanged(channel, raw); }
/// @brief Installs a mavlink plugin. Only a single mavlink plugin is supported at a time.
void setMockMavlinkPlugin(MockMavlinkInterface* mavlinkPlugin) { _mavlinkPlugin = mavlinkPlugin; };
public: public:
// Unimplemented UASInterface overrides // Unimplemented UASInterface overrides
virtual QString getUASName() const { Q_ASSERT(false); return _bogusString; }; virtual QString getUASName() const { Q_ASSERT(false); return _bogusString; };
...@@ -113,8 +120,6 @@ public: ...@@ -113,8 +120,6 @@ public:
/** @brief Send a message over this link (to this or to all UAS on this link) */ /** @brief Send a message over this link (to this or to all UAS on this link) */
virtual void sendMessage(LinkInterface* link, mavlink_message_t message){ Q_UNUSED(link); Q_UNUSED(message); Q_ASSERT(false); } virtual void sendMessage(LinkInterface* link, mavlink_message_t message){ Q_UNUSED(link); Q_UNUSED(message); Q_ASSERT(false); }
/** @brief Send a message over all links this UAS can be reached with (!= all links) */
virtual void sendMessage(mavlink_message_t message) { Q_UNUSED(link); Q_UNUSED(message); Q_ASSERT(false); }
virtual QString getAutopilotTypeName() { Q_ASSERT(false); return _bogusString; }; virtual QString getAutopilotTypeName() { Q_ASSERT(false); return _bogusString; };
virtual void setAutopilotType(int apType) { Q_UNUSED(apType); Q_ASSERT(false); }; virtual void setAutopilotType(int apType) { Q_UNUSED(apType); Q_ASSERT(false); };
virtual QMap<int, QString> getComponents() { Q_ASSERT(false); return _bogusMapIntQString; }; virtual QMap<int, QString> getComponents() { Q_ASSERT(false); return _bogusMapIntQString; };
...@@ -182,6 +187,8 @@ private: ...@@ -182,6 +187,8 @@ private:
int _systemId; int _systemId;
MockQGCUASParamManager _paramManager; MockQGCUASParamManager _paramManager;
MockMavlinkInterface* _mavlinkPlugin; ///< Mock Mavlink plugin, NULL for none
// Bogus variables used for return types of NYI methods // Bogus variables used for return types of NYI methods
QString _bogusString; QString _bogusString;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment