地面站终端 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.

109 lines
3.6 KiB

/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009, 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
#include "MockLinkConfiguration.h"
#include "ui_MockLinkConfiguration.h"
MockLinkConfiguration::MockLinkConfiguration(MockConfiguration *config, QWidget *parent)
: QWidget(parent)
, _ui(new Ui::MockLinkConfiguration)
, _config(config)
{
_ui->setupUi(this);
switch (config->firmwareType()) {
case MAV_AUTOPILOT_PX4:
_ui->px4Radio->setChecked(true);
break;
case MAV_AUTOPILOT_ARDUPILOTMEGA:
_ui->apmRadio->setChecked(true);
break;
default:
_ui->genericRadio->setChecked(true);
break;
}
switch (config->vehicleType()) {
case MAV_TYPE_FIXED_WING:
_ui->apmArduPlaneRadio->setChecked(true);
break;
default:
_ui->apmArduCopterRadio->setChecked(true);
break;
}
_ui->sendStatusTextCheckBox->setChecked(config->sendStatusText());
connect(_ui->px4Radio, &QRadioButton::clicked, this, &MockLinkConfiguration::_px4RadioClicked);
connect(_ui->apmRadio, &QRadioButton::clicked, this, &MockLinkConfiguration::_apmRadioClicked);
connect(_ui->genericRadio, &QRadioButton::clicked, this, &MockLinkConfiguration::_genericRadioClicked);
connect(_ui->apmArduCopterRadio, &QRadioButton::clicked, this, &MockLinkConfiguration::_apmArduCopterRadioClicked);
connect(_ui->apmArduPlaneRadio, &QRadioButton::clicked, this, &MockLinkConfiguration::_apmArduPlaneRadioClicked);
connect(_ui->genericRadio, &QRadioButton::clicked, this, &MockLinkConfiguration::_genericRadioClicked);
connect(_ui->sendStatusTextCheckBox, &QCheckBox::clicked, this, &MockLinkConfiguration::_sendStatusTextClicked);
}
MockLinkConfiguration::~MockLinkConfiguration()
{
delete _ui;
}
void MockLinkConfiguration::_px4RadioClicked(bool checked)
{
if (checked) {
_config->setFirmwareType(MAV_AUTOPILOT_PX4);
}
}
void MockLinkConfiguration::_apmRadioClicked(bool checked)
{
if (checked) {
_config->setFirmwareType(MAV_AUTOPILOT_ARDUPILOTMEGA);
}
}
void MockLinkConfiguration::_genericRadioClicked(bool checked)
{
if (checked) {
_config->setFirmwareType(MAV_AUTOPILOT_GENERIC);
}
}
void MockLinkConfiguration::_apmArduCopterRadioClicked(bool checked)
{
if (checked) {
_config->setVehicleType(MAV_TYPE_QUADROTOR);
}
}
void MockLinkConfiguration::_apmArduPlaneRadioClicked(bool checked)
{
if (checked) {
_config->setVehicleType(MAV_TYPE_FIXED_WING);
}
}
void MockLinkConfiguration::_sendStatusTextClicked(bool checked)
{
_config->setSendStatusText(checked);
}