Merged in f5soh/librepilot/update_credits (pull request #529)
[librepilot.git] / ground / gcs / src / plugins / config / configoplinkwidget.h
blob156b8a3bbeb449ecaeb55a937cd189af160cd0ec
1 /**
2 ******************************************************************************
4 * @file configoplinkwidget.h
5 * @author The LibrePilot Project, http://www.librepilot.org Copyright (C) 2016.
6 * The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
7 * @addtogroup GCSPlugins GCS Plugins
8 * @{
9 * @addtogroup ConfigPlugin Config Plugin
10 * @{
11 * @brief The Configuration Gadget used to configure the OPLink, Revo and Sparky2 modems
12 *****************************************************************************/
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 3 of the License, or
17 * (at your option) any later version.
19 * This program is distributed in the hope that it will be useful, but
20 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 * for more details.
24 * You should have received a copy of the GNU General Public License along
25 * with this program; if not, write to the Free Software Foundation, Inc.,
26 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 #ifndef CONFIGOPLINKWIDGET_H
29 #define CONFIGOPLINKWIDGET_H
31 #include "configtaskwidget.h"
33 class OPLinkStatus;
34 class OPLinkSettings;
36 class Ui_OPLinkWidget;
38 class ConfigOPLinkWidget : public ConfigTaskWidget {
39 Q_OBJECT
41 public:
42 ConfigOPLinkWidget(QWidget *parent = 0);
43 ~ConfigOPLinkWidget();
45 protected:
46 virtual void refreshWidgetsValuesImpl(UAVObject *obj);
48 private:
49 Ui_OPLinkWidget *m_oplink;
51 OPLinkStatus *oplinkStatusObj;
52 OPLinkSettings *oplinkSettingsObj;
54 // Frequency display settings
55 float frequency_base;
56 float frequency_step;
57 QString channel_tooltip;
59 // Is the status current?
60 bool statusUpdated;
62 void updateStatus();
63 void updateInfo();
64 void updateSettings();
66 void setOPLMOptionsVisible(bool visible);
68 private slots:
69 void connected();
71 void protocolChanged();
72 void linkTypeChanged();
73 void customIDChanged();
74 void coordIDChanged();
76 void minChannelChanged();
77 void maxChannelChanged();
78 void rfBandChanged();
79 void channelChanged(bool isMax);
80 void updateFrequencyDisplay();
82 void mainPortChanged();
83 void flexiPortChanged();
84 void radioPriStreamChanged();
85 void radioAuxStreamChanged();
86 void vcpBridgeChanged();
88 void unbind();
89 void clearDeviceID();
92 #endif // CONFIGOPLINKWIDGET_H