diff --git a/src/FirmwarePlugin/APM/APMFirmwarePlugin.cc b/src/FirmwarePlugin/APM/APMFirmwarePlugin.cc index 7eec705ce56665485ae2cfa49f54a14f7bea82f9..95491413326ad816c1e5d3cc64c2a1f8dd2c54de 100644 --- a/src/FirmwarePlugin/APM/APMFirmwarePlugin.cc +++ b/src/FirmwarePlugin/APM/APMFirmwarePlugin.cc @@ -389,3 +389,13 @@ void APMFirmwarePlugin::addMetaDataToFact(Fact* fact) { _parameterMetaData.addMetaDataToFact(fact); } + +QList APMFirmwarePlugin::supportedMissionCommands(void) +{ + QList list; + + // FIXME: Temp list, just dup of PX4 + list << MAV_CMD_NAV_WAYPOINT << MAV_CMD_NAV_LOITER_UNLIM << MAV_CMD_NAV_LOITER_TURNS << MAV_CMD_NAV_LOITER_TIME + << MAV_CMD_NAV_RETURN_TO_LAUNCH << MAV_CMD_NAV_LAND << MAV_CMD_NAV_TAKEOFF << MAV_CMD_CONDITION_DELAY << MAV_CMD_DO_JUMP; + return list; +} diff --git a/src/FirmwarePlugin/APM/APMFirmwarePlugin.h b/src/FirmwarePlugin/APM/APMFirmwarePlugin.h index d1c429ca1c9a5d02172b01f371f4ecc1f5d7a1c5..9836c75f336fb94fa2625df07f08f5363cd63218 100644 --- a/src/FirmwarePlugin/APM/APMFirmwarePlugin.h +++ b/src/FirmwarePlugin/APM/APMFirmwarePlugin.h @@ -91,6 +91,7 @@ public: virtual bool sendHomePositionToVehicle(void); virtual void addMetaDataToFact(Fact* fact); virtual QString getDefaultComponentIdParam(void) const { return QString("SYSID_SW_TYPE"); } + virtual QList supportedMissionCommands(void); protected: /// All access to singleton is through stack specific implementation diff --git a/src/FirmwarePlugin/FirmwarePlugin.h b/src/FirmwarePlugin/FirmwarePlugin.h index d1d27199fbb197818688a7e2954fa2769eb11443..4a05bdd879de6b9f8bb9e3db07277248e02df210 100644 --- a/src/FirmwarePlugin/FirmwarePlugin.h +++ b/src/FirmwarePlugin/FirmwarePlugin.h @@ -109,6 +109,9 @@ public: /// Adds the parameter meta data to the Fact virtual void addMetaDataToFact(Fact* fact) = 0; + + /// List of supported mission commands. Empty list for all commands supported. + virtual QList supportedMissionCommands(void) = 0; }; #endif diff --git a/src/FirmwarePlugin/Generic/GenericFirmwarePlugin.cc b/src/FirmwarePlugin/Generic/GenericFirmwarePlugin.cc index 6e748b911c05deee6738e7cc6b6d1e59a0b82846..d4cd776de4e39ffd238aa865a05df0ed8b6f6254 100644 --- a/src/FirmwarePlugin/Generic/GenericFirmwarePlugin.cc +++ b/src/FirmwarePlugin/Generic/GenericFirmwarePlugin.cc @@ -118,3 +118,9 @@ void GenericFirmwarePlugin::addMetaDataToFact(Fact* fact) FactMetaData* metaData = new FactMetaData(fact->type(), fact); fact->setMetaData(metaData); } + +QList GenericFirmwarePlugin::supportedMissionCommands(void) +{ + // Generic supports all commands + return QList(); +} diff --git a/src/FirmwarePlugin/Generic/GenericFirmwarePlugin.h b/src/FirmwarePlugin/Generic/GenericFirmwarePlugin.h index 5eaa175c7b70f4d5e7850d3c06ad5f92eb931205..9a01d1a0b62e8a3d22f4dc30a8376b4fa929ced5 100644 --- a/src/FirmwarePlugin/Generic/GenericFirmwarePlugin.h +++ b/src/FirmwarePlugin/Generic/GenericFirmwarePlugin.h @@ -47,6 +47,7 @@ public: virtual bool sendHomePositionToVehicle(void); virtual void addMetaDataToFact(Fact* fact); virtual QString getDefaultComponentIdParam(void) const { return QString(); } + virtual QList supportedMissionCommands(void); }; #endif diff --git a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc index b45215bc98947a30d7c5859f19dcf732d13ed72f..8c5272cc7cc53cfde0abe0415b3ba2880ce56659 100644 --- a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc +++ b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc @@ -207,3 +207,12 @@ void PX4FirmwarePlugin::addMetaDataToFact(Fact* fact) { _parameterMetaData.addMetaDataToFact(fact); } + +QList PX4FirmwarePlugin::supportedMissionCommands(void) +{ + QList list; + + list << MAV_CMD_NAV_WAYPOINT << MAV_CMD_NAV_LOITER_UNLIM << MAV_CMD_NAV_LOITER_TURNS << MAV_CMD_NAV_LOITER_TIME + << MAV_CMD_NAV_RETURN_TO_LAUNCH << MAV_CMD_NAV_LAND << MAV_CMD_NAV_TAKEOFF << MAV_CMD_CONDITION_DELAY << MAV_CMD_DO_JUMP; + return list; +} diff --git a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.h b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.h index 216d53657e5ca2e8252923964e6f188f9e8705d7..99134ec0e96166b14069c5fea2efcdceb13ec2c7 100644 --- a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.h +++ b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.h @@ -47,6 +47,7 @@ public: virtual bool sendHomePositionToVehicle(void); virtual void addMetaDataToFact(Fact* fact); virtual QString getDefaultComponentIdParam(void) const { return QString("SYS_AUTOSTART"); } + virtual QList supportedMissionCommands(void); private: PX4ParameterMetaData _parameterMetaData;