地面站终端 App
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.4 KiB

/****************************************************************************
*
* (c) 2009-2019 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
* @file
* @brief Custom Firmware Plugin Factory (PX4)
* @author Gus Grubba <gus@auterion.com>
*
*/
#include "CustomFirmwarePluginFactory.h"
#include "CustomFirmwarePlugin.h"
CustomFirmwarePluginFactory CustomFirmwarePluginFactoryImp;
CustomFirmwarePluginFactory::CustomFirmwarePluginFactory()
: _pluginInstance(nullptr)
{
}
QList<QGCMAVLink::FirmwareClass_t> CustomFirmwarePluginFactory::supportedFirmwareClasses() const
{
QList<QGCMAVLink::FirmwareClass_t> firmwareClasses;
firmwareClasses.append(QGCMAVLink::FirmwareClassPX4);
return firmwareClasses;
}
QList<QGCMAVLink::VehicleClass_t> CustomFirmwarePluginFactory::supportedVehicleClasses(void) const
{
QList<QGCMAVLink::VehicleClass_t> vehicleClasses;
vehicleClasses.append(QGCMAVLink::VehicleClassMultiRotor);
return vehicleClasses;
}
FirmwarePlugin* CustomFirmwarePluginFactory::firmwarePluginForAutopilot(MAV_AUTOPILOT autopilotType, MAV_TYPE /*vehicleType*/)
{
if (autopilotType == MAV_AUTOPILOT_PX4) {
if (!_pluginInstance) {
_pluginInstance = new CustomFirmwarePlugin;
}
return _pluginInstance;
}
return nullptr;
}