Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 906 → Rev 907

/QMK-Groundstation/tags/QMK-Tools v1.3.1 - FC v0.82/build-gentoo.sh
New file
0,0 → 1,44
#!/bin/sh
 
QMAKE="qmake"
MAKEOPT=""
 
case "$1" in
"beta")
CONFIG=""
;;
*)
CONFIG="CONFIG-=debug"
;;
esac
 
# QMK-Communicator erstellen
######################
cd ./QMK-Communicator
${QMAKE} QMK-Communicator.pro ${CONFIG}
make ${MAKEOPT}
cd ..
cd ./QMK-Settings
${QMAKE} QMK-Settings.pro ${CONFIG}
make ${MAKEOPT}
cd ..
cd ./QMK-Maps
${QMAKE} QMK-Maps.pro ${CONFIG}
make ${MAKEOPT}
cd ..
cd ./QMK-Scope
${QMAKE} QMK-Scope.pro CONFIG+=Gentoo ${CONFIG}
make ${MAKEOPT}
cd ..
#cd ./QMK-Voice
#qmake QMK-Voice.pro ${CONFIG}
#make ${MAKEOPT}
#cd ..
#cd ./QMK-Logger
#qmake QMK-Logger.pro ${CONFIG}
#make ${MAKEOPT}
#cd ..
#cd ./QMK-Control
#${QMAKE} QMK-Control.pro CONFIG+=Gentoo ${CONFIG}
#make ${MAKEOPT}
#cd ..
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Defines.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Defines.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Defines.h (revision 907)
@@ -0,0 +1,57 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DEFINES_H
+#define DEFINES_H
+
+#include <QString>
+#include "../Global/Global.h"
+#include "../Global/Kopter.h"
+
+static const QString QA_NAME = "QMK-Communicator";
+static const QString QA_VERSION_NR = "1.3.1";
+
+#ifdef _BETA_
+ static const QString QA_VERSION = QA_VERSION_NR + " (BETA)";
+#else
+ static const QString QA_VERSION = QA_VERSION_NR;
+#endif
+
+static const QString QA_DATE = "05.02.2011";
+static const QString QA_YEAR = "2008-2011";
+
+static const QString QA_ABOUT =
+ "<HTML>"
+ "<p><b><font size=8>" + QA_NAME + "</font></b></p>"
+ "<br />"
+ "Version " + QA_VERSION + " - " + QA_DATE + " on " + QA_OS + ""
+ "<br /><br /><b>kompatibel zu " + QA_HWVERSION + "</b>"
+ "<br /><br />"
+ "(C) " + QA_YEAR + " by " + QA_AUTHOR + " - "
+ "<a href=\"mailto:" + QA_EMAIL + "\">" + QA_EMAIL + "</a> <br /><br />"
+ "Groundstation-Programm f&uuml;r den Mikrokopter<br /><br />"
+ "QMK-Communicator - Kommunikations-Schnittstelle zum Mikrokopter.<br /><br /> "
+ "Dieses Programm wird unter den Bedingungen der GPL v2 ver&ouml;ffentlicht."
+ "</HTML>";
+
+static const int DEV_IP_PORT = 64400;
+static const int DEV_IP_MAX = 21;
+
+static const QString Base64Hash = "IypzZUNyRXQhQC0qJQ==";
+
+#endif // DEFINES_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/QMK-Communicator.pro
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/QMK-Communicator.pro (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/QMK-Communicator.pro (revision 907)
@@ -0,0 +1,46 @@
+# -------------------------------------------------
+# Project created by QtCreator 2009-07-20T20:04:00
+# -------------------------------------------------
+QT += network
+TARGET = QMK-Communicator
+TEMPLATE = app
+
+include(../Global/Class_SerialPort.pri)
+
+DESTDIR = ../Binary
+
+debug {
+ DEFINES += _BETA_
+}
+
+OBJECTS_DIR = ../Binary/.build/QMK-Communicator
+UI_DIR = ../Binary/.build/QMK-Communicator
+MOC_DIR = ../Binary/.build/QMK-Communicator
+RCC_DIR = ../Binary/.build/QMK-Communicator
+RESOURCES += QMK-Communicator.qrc
+SOURCES += main.cpp \
+ ../Global/Class_Input/Input.cpp \
+ ../Global/Class_Input/Input_TTY.cpp \
+ ../Global/Class_Input/Input_TCP.cpp \
+ ../Global/Class_HandlerMK/HandlerMK.cpp \
+ ../Global/Class_HandlerIP/HandlerIP.cpp \
+ Dialogs/dlg_Main.cpp \
+ Classes/cSettings.cpp \
+ Dialogs/dlg_Preferences.cpp \
+ Dialogs/dlg_Terminal.cpp
+HEADERS += Defines.h \
+ ../Global/Kopter.h \
+ ../Global/Class_Input/Input.h \
+ ../Global/Class_Input/Input_TTY.h \
+ ../Global/Class_Input/Input_TCP.h \
+ ../Global/Class_HandlerMK/HandlerMK.h \
+ ../Global/Class_HandlerIP/HandlerIP.h \
+ Dialogs/dlg_Main.h \
+ Classes/cSettings.h \
+ TypeDefs.h \
+ ../Global/Global.h \
+ Dialogs/dlg_Preferences.h \
+ Dialogs/dlg_Terminal.h
+FORMS += Dialogs/dlg_Main.ui \
+ Dialogs/dlg_Preferences.ui \
+ Dialogs/dlg_Terminal.ui
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/main.cpp
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/main.cpp (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/main.cpp (revision 907)
@@ -0,0 +1,37 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#include <QtGui/QApplication>
+#include "Dialogs/dlg_Main.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication App(argc, argv);
+
+ dlg_Main *MainApp = new dlg_Main();
+
+ MainApp->set_ARGV(argv[0]);
+ MainApp->show();
+
+ int iReturn = App.exec();
+
+ delete MainApp;
+
+ return iReturn;
+}
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/TypeDefs.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/TypeDefs.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/TypeDefs.h (revision 907)
@@ -0,0 +1,36 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef TYPEDEFS_H
+#define TYPEDEFS_H
+
+#include <QString>
+
+struct sConnection
+{
+// bool Open;
+ bool TCP;
+ bool UDP;
+// bool Auth;
+ QString Fields;
+ QString Version;
+
+ int Status;
+};
+
+#endif // TYPEDEFS_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/QMK-Communicator.qrc
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/QMK-Communicator.qrc (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/QMK-Communicator.qrc (revision 907)
@@ -0,0 +1,16 @@
+<RCC>
+ <qresource prefix="Icon" >
+ <file>../Global/Images/Icons/QMK-Logger.png</file>
+ <file>../Global/Images/Icons/QMK-Voice.png</file>
+ <file>../Global/Images/Icons/QMK-Maps.png</file>
+ <file>../Global/Images/Icons/QMK-Settings.png</file>
+ <file>../Global/Images/Icons/QMK-Communicator.png</file>
+ <file>../Global/Images/Icons/QMK-Scope.png</file>
+ </qresource>
+ <qresource prefix="Actions" >
+ <file>../Global/Images/Actions/Terminal.png</file>
+ <file>../Global/Images/Actions/Exit.png</file>
+ <file>../Global/Images/Actions/Connection-OK.png</file>
+ <file>../Global/Images/Actions/Connection-NO.png</file>
+ </qresource>
+</RCC>
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Classes/cSettings.cpp
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Classes/cSettings.cpp (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Classes/cSettings.cpp (revision 907)
@@ -0,0 +1,146 @@
+/***************************************************************************
+ * Copyright (C) 2008 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#include <QSettings>
+#include <QDir>
+
+#include "cSettings.h"
+
+cSettings::cSettings()
+{
+ Settings_ID = 1;
+
+ read_Settings();
+}
+
+void cSettings::read_Settings()
+{
+ QSettings Setting("QMK", QA_NAME);
+
+ Setting.beginGroup("Global");
+ Settings_ID = Setting.value("Settings ID", Settings_ID).toInt();
+ Setting.endGroup();
+
+ Setting.beginGroup("SERVER");
+ SERVER.TCP_PORT = Setting.value("TCP-PORT", DEV_IP_PORT).toInt();
+ SERVER.UDP_PORT = Setting.value("UDP-PORT", DEV_IP_PORT).toInt();
+ SERVER.Password = Setting.value("Password", QString("")).toString();
+ Setting.endGroup();
+
+ Setting.beginGroup("LIVEDATA");
+ LIVEDATA.Server = Setting.value("Server", QString("")).toString();
+ LIVEDATA.Port = Setting.value("Port", QString("64410")).toString();
+ LIVEDATA.User = Setting.value("User", QString("")).toString();
+ LIVEDATA.Password = Setting.value("Password", QString("")).toString();
+ Setting.endGroup();
+
+ Setting.beginGroup("CLIENT");
+ CLIENT.TTY_MAX = Setting.value("TTY_MAX", 1).toInt();
+ CLIENT.TTY_ID = Setting.value("TTY_ID", 0).toInt();
+
+ for (int z = 0; z < CLIENT.TTY_MAX; z++)
+ {
+#ifdef WIN32
+ CLIENT.TTY_DEVICES[z] = Setting.value("TTY_DEVICE_" + QString("%1").arg(z), QString("COM1")).toString();
+#else
+ CLIENT.TTY_DEVICES[z] = Setting.value("TTY_DEVICE_" + QString("%1").arg(z), QString("/dev/ttyS3")).toString();
+#endif
+ }
+ CLIENT.TCP_MAX = Setting.value("TCP_MAX", 1).toInt();
+ CLIENT.TCP_ID = Setting.value("TCP_ID", 0).toInt();
+ CLIENT.TCP_Password = Setting.value("Password", QString("")).toString();
+
+ for (int z = 0; z < CLIENT.TCP_MAX; z++)
+ {
+ CLIENT.TCP_SERVER[z] = Setting.value("TCP_SERVER_" + QString("%1").arg(z), QString("127.0.0.1:64400")).toString();
+ }
+ Setting.endGroup();
+
+ Setting.beginGroup("GUI");
+ GUI.isMax = Setting.value("IsMax",false).toBool();
+ GUI.Size = Setting.value("Size", QSize(500, 350)).toSize();
+ GUI.Point = Setting.value("Point",QPoint(1,1)).toPoint();
+ Setting.endGroup();
+
+ Setting.beginGroup("TERMINAL");
+ TERMINAL.isMax = Setting.value("IsMax",false).toBool();
+ TERMINAL.Size = Setting.value("Size", QSize(500, 350)).toSize();
+ TERMINAL.Point = Setting.value("Point",QPoint(1,1)).toPoint();
+ DATA.Data = Setting.value("Data",false).toBool();
+ DATA.Info = Setting.value("Info",false).toBool();
+ DATA.Send = Setting.value("Send",false).toBool();
+ DATA.TCP = Setting.value("TCP",false).toBool();
+ Setting.endGroup();
+}
+
+void cSettings::write_Settings()
+{
+ QSettings Setting("QMK", QA_NAME);
+
+ Setting.beginGroup("Global");
+ Setting.setValue("Settings ID", Settings_ID);
+ Setting.endGroup();
+
+ Setting.beginGroup("SERVER");
+ Setting.setValue("TCP-PORT", SERVER.TCP_PORT);
+ Setting.setValue("UDP-PORT", SERVER.UDP_PORT);
+ Setting.setValue("Password", SERVER.Password);
+ Setting.endGroup();
+
+ Setting.beginGroup("LIVEDATA");
+ Setting.setValue("Server", LIVEDATA.Server);
+ Setting.setValue("Port", LIVEDATA.Port);
+ Setting.setValue("User", LIVEDATA.User);
+ Setting.setValue("Password", LIVEDATA.Password);
+ Setting.endGroup();
+
+ Setting.beginGroup("CLIENT");
+ Setting.setValue("TTY_MAX", CLIENT.TTY_MAX);
+ Setting.setValue("TTY_ID", CLIENT.TTY_ID);
+ Setting.setValue("Password", CLIENT.TCP_Password);
+
+ for (int z = 0; z < CLIENT.TTY_MAX; z++)
+ {
+ Setting.setValue("TTY_DEVICE_" + QString("%1").arg(z), CLIENT.TTY_DEVICES[z]);
+ }
+
+ Setting.setValue("TCP_MAX", CLIENT.TCP_MAX);
+ Setting.setValue("TCP_ID", CLIENT.TCP_ID);
+
+ for (int z = 0; z < CLIENT.TCP_MAX; z++)
+ {
+ Setting.setValue("TCP_SERVER_" + QString("%1").arg(z), CLIENT.TCP_SERVER[z]);
+ }
+ Setting.endGroup();
+
+ Setting.beginGroup("GUI");
+ Setting.setValue("IsMax", GUI.isMax);
+ Setting.setValue("Size", GUI.Size);
+ Setting.setValue("Point", GUI.Point);
+ Setting.endGroup();
+
+ Setting.beginGroup("TERMINAL");
+ Setting.setValue("IsMax", TERMINAL.isMax);
+ Setting.setValue("Size", TERMINAL.Size);
+ Setting.setValue("Point", TERMINAL.Point);
+ Setting.setValue("Data", DATA.Data);
+ Setting.setValue("Send", DATA.Send);
+ Setting.setValue("Info", DATA.Info);
+ Setting.setValue("TCP", DATA.TCP);
+ Setting.endGroup();
+}
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Classes/cSettings.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Classes/cSettings.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Classes/cSettings.h (revision 907)
@@ -0,0 +1,87 @@
+/***************************************************************************
+ * Copyright (C) 2008 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef CSETTINGS_H
+#define CSETTINGS_H
+
+#include <QSize>
+#include <QPoint>
+#include <QString>
+
+#include "../Defines.h"
+
+struct set_SERVER
+{
+ int TCP_PORT;
+ int UDP_PORT;
+ QString Password;
+};
+
+struct set_LIVEDATA
+{
+ QString Server;
+ QString Port;
+ QString User;
+ QString Password;
+};
+
+struct set_CLIENT
+{
+ QString TTY_DEVICES[10];
+ int TTY_MAX;
+ int TTY_ID;
+
+ QString TCP_SERVER[10];
+ QString TCP_Password;
+ int TCP_MAX;
+ int TCP_ID;
+};
+
+struct set_GUI
+{
+ bool isMax;
+ QSize Size;
+ QPoint Point;
+};
+
+struct set_DATA
+{
+ bool Send;
+ bool Data;
+ bool Info;
+ bool TCP;
+};
+
+class cSettings
+{
+ public:
+ cSettings();
+ void read_Settings();
+ void write_Settings();
+
+ int Settings_ID;
+
+ set_DATA DATA;
+ set_GUI GUI;
+ set_GUI TERMINAL;
+ set_SERVER SERVER;
+ set_CLIENT CLIENT;
+ set_LIVEDATA LIVEDATA;
+};
+
+#endif // CSETTINGS_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Preferences.cpp
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Preferences.cpp (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Preferences.cpp (revision 907)
@@ -0,0 +1,52 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#include "dlg_Preferences.h"
+
+dlg_Preferences::dlg_Preferences(QWidget *parent) : QDialog(parent)
+{
+ setupUi(this);
+}
+
+void dlg_Preferences::set_Settings(cSettings *t_Settings)
+{
+ o_Settings = t_Settings;
+
+ le_TCP_Port->setText(QString("%1").arg(o_Settings->SERVER.TCP_PORT));
+ le_UDP_Port->setText(QString("%1").arg(o_Settings->SERVER.UDP_PORT));
+ le_Password->setText(o_Settings->SERVER.Password);
+
+ le_LiveServer->setText(o_Settings->LIVEDATA.Server);
+ le_LivePort->setText(o_Settings->LIVEDATA.Port);
+ le_LiveUser->setText(o_Settings->LIVEDATA.User);
+ le_LivePassword->setText(o_Settings->LIVEDATA.Password);
+}
+
+cSettings *dlg_Preferences::get_Settings()
+{
+ o_Settings->SERVER.Password = le_Password->text();
+ o_Settings->SERVER.TCP_PORT = le_TCP_Port->text().toInt();
+ o_Settings->SERVER.UDP_PORT = le_UDP_Port->text().toInt();
+
+ o_Settings->LIVEDATA.Server = le_LiveServer->text();
+ o_Settings->LIVEDATA.Port = le_LivePort->text();
+ o_Settings->LIVEDATA.User = le_LiveUser->text();
+ o_Settings->LIVEDATA.Password = le_LivePassword->text();
+
+ return o_Settings;
+}
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Main.cpp
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Main.cpp (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Main.cpp (revision 907)
@@ -0,0 +1,1050 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 Con_Server; either version 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Con_Server, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#include <QMessageBox>
+#include <QCryptographicHash>
+
+#include "dlg_Main.h"
+
+// Konstruktor Main-Form
+////////////////////////
+dlg_Main::dlg_Main()
+{
+ setupUi(this);
+
+ s_Buffer = "";
+ o_Settings = new cSettings();
+
+ o_Input = new Input();
+ o_Output = new Input();
+
+ f_Terminal = new dlg_Terminal(this);
+
+ init_GUI();
+ init_Connections();
+
+ init_TCP();
+}
+
+void dlg_Main::set_ARGV(char *Programm)
+{
+ QString tmp = QString(Programm);
+#ifdef WIN32
+ QMK_Dir = tmp.left(tmp.lastIndexOf("\\"));
+#else
+ QMK_Dir = tmp.left(tmp.lastIndexOf("/"));
+#endif
+
+ qDebug(QMK_Dir.toLatin1().data());
+}
+
+// Grafische Oberfläche initialisieren
+//////////////////////////////////////
+void dlg_Main::init_GUI()
+{
+ setWindowTitle(QA_NAME + " " + QA_VERSION);
+
+ resize(o_Settings->GUI.Size);
+ move(o_Settings->GUI.Point);
+
+ f_Terminal->resize(o_Settings->TERMINAL.Size);
+ f_Terminal->move(o_Settings->TERMINAL.Point);
+
+ f_Terminal->cb_Data->setChecked(o_Settings->DATA.Data);
+ f_Terminal->cb_Info->setChecked(o_Settings->DATA.Info);
+ f_Terminal->cb_Send->setChecked(o_Settings->DATA.Send);
+ f_Terminal->cb_TCP->setChecked(o_Settings->DATA.TCP);
+
+ if (o_Settings->GUI.isMax)
+ {
+ showMaximized();
+ }
+
+ // todo: In abhängigkeit von Settings
+ wg_IP->setVisible(false);
+ rb_Device->setChecked(true);
+
+ for (int z = 0; z < DEV_IP_MAX; z++)
+ {
+ Item[z] = new QListWidgetItem();
+ }
+
+ // Liste der Devices
+ for(int z = 0; z < o_Settings->CLIENT.TTY_MAX; z++)
+ {
+ if (cb_Device->findText(o_Settings->CLIENT.TTY_DEVICES[z]) == -1)
+ {
+ cb_Device->addItem(o_Settings->CLIENT.TTY_DEVICES[z]);
+ }
+ }
+
+ cb_Device->setCurrentIndex(o_Settings->CLIENT.TTY_ID);
+
+ // Liste der IP-Server
+ for(int z = 0; z < o_Settings->CLIENT.TCP_MAX; z++)
+ {
+ if (cb_Server->findText(o_Settings->CLIENT.TCP_SERVER[z]) == -1)
+ {
+ cb_Server->addItem(o_Settings->CLIENT.TCP_SERVER[z]);
+ }
+ }
+
+ cb_Server->setCurrentIndex(o_Settings->CLIENT.TCP_ID);
+
+ // Password für IP-Verbindung.
+ le_Password->setText(o_Settings->CLIENT.TCP_Password);
+
+ btn_Debug->setVisible(false);
+ btn_ConnectServer->setVisible(false);
+}
+
+// Signale mit Slots verbinden
+//////////////////////////////
+void dlg_Main::init_Connections()
+{
+ // Connect-Button
+ connect(btn_Connect, SIGNAL(clicked()), this, SLOT(slot_btn_Connect()));
+
+ connect(btn_cScope, SIGNAL(clicked()), this, SLOT(slot_btn_cScope()));
+ connect(btn_cSettings, SIGNAL(clicked()), this, SLOT(slot_btn_cSettings()));
+ connect(btn_cMaps, SIGNAL(clicked()), this, SLOT(slot_btn_cMaps()));
+ connect(btn_cVoice, SIGNAL(clicked()), this, SLOT(slot_btn_cVoice()));
+ connect(btn_cLogger, SIGNAL(clicked()), this, SLOT(slot_btn_cLogger()));
+
+ connect(btn_Terminal, SIGNAL(clicked()), this, SLOT(slot_btn_Terminal()));
+ connect(btn_ConnectServer, SIGNAL(clicked()), this, SLOT(slot_btn_ConnectServer()));
+
+ connect(btn_Debug, SIGNAL(clicked()), this, SLOT(slot_btn_Debug()));
+
+ connect(rb_NC, SIGNAL(clicked()), this, SLOT(slot_rb_Hardware()));
+ connect(rb_FC, SIGNAL(clicked()), this, SLOT(slot_rb_Hardware()));
+ connect(rb_MK3MAG, SIGNAL(clicked()), this, SLOT(slot_rb_Hardware()));
+
+ // About QMK-Kernel & About-QT Dialog einfügen
+ connect(ac_About, SIGNAL(triggered()), this, SLOT(slot_ac_About()));
+ connect(ac_Server, SIGNAL(triggered()), this, SLOT(slot_ac_Server()));
+ menu_Help->addAction(trUtf8("Über &Qt"), qApp, SLOT(aboutQt()));
+}
+
+// IP-Ports initialisiern
+/////////////////////////
+// todo: Port und Anzahl aus Settings
+bool dlg_Main::init_TCP()
+{
+ Connect_Count = 0;
+
+ Con_Server[0].Status = 0;
+
+ Con_Server[0].TCP = false;
+ Con_Server[0].UDP = false;
+
+ for (int a = 0; a < DEV_IP_MAX; a++)
+ {
+ Con_Server[a].Status = 0;
+ }
+
+ TCP_Server = new QTcpServer(this);
+
+ if (TCP_Server->listen(QHostAddress::Any, qint16(o_Settings->SERVER.TCP_PORT)))
+ {
+ connect(TCP_Server, SIGNAL(newConnection()), this, SLOT(slot_TCP_NewConnection()));
+ }
+
+ return true;
+}
+
+// Eingangsdaten verarbeiten
+////////////////////////////
+void dlg_Main::parse_Input_Data(QString t_Data)
+{
+ unsigned char OutData[180];
+ char *InData = t_Data.toLatin1().data();
+
+ if (HandlerMK::Decode_64(InData, t_Data.length(), OutData) != 0)
+ {
+ switch(InData[2])
+ {
+ case 'V' : // Versions-Info
+ {
+ o_Input->stop_Resend(DATA_VERSION);
+ VersionInfo = HandlerMK::parse_Version(OutData, InData[1] - 'a');
+ lb_Info->setText(tr("Verbunden mit ") + VersionInfo.Hardware + " " + VersionInfo.Version + trUtf8(" über ") + s_Input.Main + ".");
+
+ if (VersionInfo.ID == ADDRESS_FC)
+ {
+ rb_FC->setChecked(true);
+ }
+ if (VersionInfo.ID == ADDRESS_NC)
+ {
+ rb_NC->setChecked(true);
+ }
+ if (VersionInfo.ID == ADDRESS_MK3MAG)
+ {
+ rb_MK3MAG->setChecked(true);
+ }
+ }
+ break;
+ }
+ }
+}
+
+void dlg_Main::route_Input_Data(QString t_Data)
+{
+ // An alle offenen TCP-Sockets senden.
+ for (int a = 1; a < DEV_IP_MAX; a++)
+ {
+ if (Con_Server[a].Status > 0)
+ {
+ if (Con_Server[a].TCP == true)
+ {
+ if ((Con_Server[a].Fields == "") || (Con_Server[a].Fields.contains(t_Data.at(2)) == true))
+ {
+ if (o_Input->Mode() == TTY)
+ {
+ send_TCP(o_TCP[a], t_Data + "\r");
+ }
+ else
+ {
+ send_TCP(o_TCP[a], t_Data);
+ }
+ }
+ else
+ {
+// qDebug("Not Send Data");
+// qDebug(t_Data.toLatin1().data());
+ }
+ }
+ }
+ }
+ if ((o_Output->IsOpen()) && ((Con_Output.Fields == "") || (Con_Output.Fields.contains(t_Data.at(2)) == true)))
+ {
+ o_Output->send_Data(t_Data);
+ }
+}
+
+void dlg_Main::parse_TCP_Server_Data(QString t_Data, int t_ID)
+{
+ QStringList Data;
+ Data = t_Data.split(":");
+
+ if (Data.count() > 1)
+ {
+ int CMD = Data[2].toInt();
+ QString A = Data[2];
+// qDebug(A.toLatin1().data());
+
+ switch(CMD)
+ {
+ case 101 :
+ {
+ Con_Server[t_ID].Version = Data[3];
+ Item[t_ID]->setText(" " + QString(o_TCP[t_ID]->peerAddress().toString()).leftJustified(15,' ') + " - " + Con_Server[t_ID].Version);
+
+ if (Con_Server[t_ID].Status == 2)
+ {
+ Item[t_ID]->setText("*" + QString(o_TCP[t_ID]->peerAddress().toString()).leftJustified(15,' ') + " - " + Con_Server[t_ID].Version);
+ }
+ else
+ {
+ send_TCP(o_TCP[t_ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 502, "105"));
+ }
+
+ send_TCP(o_TCP[t_ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 502, "106"));
+ }
+ break;
+ case 105 :
+ {
+ if (Con_Server[t_ID].Status != 2)
+ {
+// qDebug("Get 105");
+ QString s_MD5PW;
+ QByteArray a_MD5PW;
+
+ a_MD5PW = QCryptographicHash::hash(o_Settings->SERVER.Password.toAscii(),QCryptographicHash::Md5);
+
+ s_MD5PW = QString(a_MD5PW.toHex().data());
+
+ if ((o_Settings->SERVER.Password != "") && (Data[3] == s_MD5PW))
+ {
+// qDebug("Set 505 OK");
+ send_TCP(o_TCP[t_ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 505, "OK"));
+
+ Con_Server[t_ID].Status = 2;
+ Item[t_ID]->setText("*" + QString(o_TCP[t_ID]->peerAddress().toString()).leftJustified(15,' ') + " - " + Con_Server[t_ID].Version);
+ }
+ else
+ {
+// qDebug("Set 505 NO");
+ send_TCP(o_TCP[t_ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 505, "NO"));
+ }
+ }
+ else
+ {
+ send_TCP(o_TCP[t_ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 505, "OK"));
+ }
+ }
+ break;
+ case 106 : // Datenfelder anfordern.
+ {
+ if (Con_Server[t_ID].Status == 2)
+ {
+ Con_Server[t_ID].Fields = Data[3];
+ Item[t_ID]->setText("*" + QString(o_TCP[t_ID]->peerAddress().toString()).leftJustified(15,' ') + " - " + Con_Server[t_ID].Version + " - " + Con_Server[t_ID].Fields);
+// send_TCP(o_TCP[t_ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 506, Con_Server[t_ID].Fields));
+ }
+ }
+ }
+ }
+}
+
+// IP-Input-Daten verarbeiten.
+void dlg_Main::parse_TCP_Input_Data(QString t_Data)
+{
+ QStringList Data;
+ Data = t_Data.split(":");
+
+ if (Data.count() > 1)
+ {
+ int CMD = Data[2].toInt();
+
+ switch(CMD)
+ {
+ case 502 :
+ {
+// qDebug("Request Data");
+ switch (Data[3].toInt())
+ {
+ case 105 :
+ {
+ QString s_MD5PW;
+ QByteArray a_MD5PW;
+
+ a_MD5PW = QCryptographicHash::hash(le_Password->text().toAscii(),QCryptographicHash::Md5);
+
+ s_MD5PW = QString(a_MD5PW.toHex().data());
+
+ o_Input->send_Data(HandlerIP::make_Frame(ID_COMMUNICATOR, 105, s_MD5PW));
+ }
+ break;
+ }
+ }
+ break;
+ case 505 :
+ {
+ if (Data[3] == "OK")
+ {
+ }
+ else
+ {
+ QMessageBox::warning(this, QA_NAME, trUtf8("Authentifizierung fehlgeschlagen. <br />Daten senden zum Mikrokopter nicht möglich."), QMessageBox::Ok);
+ }
+ }
+ break;
+ }
+ }
+}
+
+// IP-Output-Daten verarbeiten. (Live-Data)
+void dlg_Main::parse_TCP_Output_Data(QString t_Data)
+{
+ QStringList Data;
+ Data = t_Data.split(":");
+
+ if (Data.count() > 1)
+ {
+ int CMD = Data[2].toInt();
+
+ switch(CMD)
+ {
+ case 101 :
+ {
+ Con_Output.Version = Data[3];
+ o_Output->send_Data(HandlerIP::make_Frame(ID_COMMUNICATOR, 101, QA_NAME + " " + QA_VERSION));
+ }
+ break;
+ case 106 : // Datenfelder anfordern.
+ {
+ Con_Output.Fields = Data[3];
+// send_TCP(o_TCP[t_ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 506, Con_Server[t_ID].Fields));
+ }
+ break;
+ case 502 :
+ {
+ switch (Data[3].toInt())
+ {
+ case 104 :
+ {
+// qDebug("Request PW");
+ QString s_MD5PW;
+ QByteArray a_MD5PW;
+
+ a_MD5PW = QCryptographicHash::hash(QString(QByteArray::fromBase64(Base64Hash.toLatin1()) + o_Settings->LIVEDATA.Password).toAscii(),QCryptographicHash::Md5);
+
+ s_MD5PW = QString(a_MD5PW.toHex().data());
+
+ o_Output->send_Data(HandlerIP::make_Frame(ID_COMMUNICATOR, 104, o_Settings->LIVEDATA.User + ";" + s_MD5PW));
+ }
+ break;
+ }
+ }
+ break;
+ case 504 :
+ {
+ if (Data[3] == "OK")
+ {
+ Con_Output.Status = 2;
+ o_Output->send_Data(HandlerIP::make_Frame(ID_COMMUNICATOR, 502, "106"));
+ }
+ else
+ {
+ QMessageBox::warning(this, QA_NAME, trUtf8("Authentifizierung fehlgeschlagen."), QMessageBox::Ok);
+ }
+ }
+ break;
+ }
+ }
+}
+
+// Freies IP-Socket ermitteln
+int dlg_Main::get_FreeSocket()
+{
+ for (int a = 1; a < DEV_IP_MAX; a++)
+ {
+ if (Con_Server[a].Status == 0)
+ return a;
+ }
+ return 0;
+}
+
+// Daten auf TCP Senden
+void dlg_Main::send_TCP(QTcpSocket *Socket, QString Data)
+{
+ QByteArray SendText = Data.toAscii();
+
+ Socket->write(SendText + "\n");
+ Socket->flush();
+
+// qDebug(SendText.data());
+}
+
+///////////
+// Slots //
+///////////
+
+void dlg_Main::slot_btn_cScope()
+{
+#ifdef WIN32
+ QString Programm = QMK_Dir + "\QMK-Scope.exe";
+#else
+ QString Programm = QMK_Dir + "/QMK-Scope";
+#endif
+
+ QStringList Argumente;
+
+ o_cScope = new QProcess();
+
+ Argumente << "";
+
+ o_cScope->start(Programm, Argumente); // Programmaufruf
+}
+
+void dlg_Main::slot_btn_cSettings()
+{
+#ifdef WIN32
+ QString Programm = QMK_Dir + "\QMK-Settings.exe";
+#else
+ QString Programm = QMK_Dir + "/QMK-Settings";
+#endif
+
+ QStringList Argumente;
+
+ o_cSettings = new QProcess();
+
+ Argumente << "";
+
+ o_cSettings->start(Programm, Argumente); // Programmaufruf
+}
+
+void dlg_Main::slot_btn_cMaps()
+{
+#ifdef WIN32
+ QString Programm = QMK_Dir + "\QMK-Maps.exe";
+#else
+ QString Programm = QMK_Dir + "/QMK-Maps";
+#endif
+
+ QStringList Argumente;
+
+ o_cMaps = new QProcess();
+
+ Argumente << "";
+
+ o_cMaps->start(Programm, Argumente); // Programmaufruf
+}
+
+void dlg_Main::slot_btn_cVoice()
+{
+#ifdef WIN32
+ QString Programm = QMK_Dir + "\QMK-Voice.exe";
+#else
+ QString Programm = QMK_Dir + "/QMK-Voice";
+#endif
+
+ QStringList Argumente;
+
+ o_cVoice = new QProcess();
+
+ Argumente << "";
+
+ o_cVoice->start(Programm, Argumente); // Programmaufruf
+}
+
+void dlg_Main::slot_btn_cLogger()
+{
+#ifdef WIN32
+ QString Programm = QMK_Dir + "\QMK-Logger.exe";
+#else
+ QString Programm = QMK_Dir + "/QMK-Logger";
+#endif
+
+ QStringList Argumente;
+
+ o_cLogger = new QProcess();
+
+ Argumente << "";
+
+ o_cLogger->start(Programm, Argumente); // Programmaufruf
+}
+
+void dlg_Main::slot_btn_Terminal()
+{
+ if (!f_Terminal->isVisible())
+ {
+ f_Terminal->show();
+ }
+}
+
+// Verbindung herstellen zum Datenserver
+void dlg_Main::slot_btn_ConnectServer()
+{
+ if (!o_Output->IsOpen())
+ {
+ Con_Output = Con_Server[0];
+
+ s_Output.Main = o_Settings->LIVEDATA.Server;//Server[0];
+ s_Output.Sub = o_Settings->LIVEDATA.Port;//Server[1];
+
+ o_Output = new Input_TCP();
+ o_Output->Init();
+
+ if (o_Output->Open(s_Output) == true)
+ {
+ connect(o_Output, SIGNAL(sig_Disconnected(int)), this, SLOT(slot_Output_Disconnected(int)));
+ connect(o_Output, SIGNAL(sig_Connected()), this, SLOT(slot_Output_Connected()));
+ }
+ btn_ConnectServer->setText(tr("Trenne Server"));
+ Con_Output.Status = 1;
+ }
+ else
+ {
+ btn_ConnectServer->setText(tr("Verbinde Server"));
+
+ o_Output->Close();
+ disconnect(o_Output, SIGNAL(sig_NewData(QString)), 0, 0);
+ if (o_Output->Mode() == TCP)
+ {
+ disconnect(o_Output, SIGNAL(sig_Disconnected(int)), 0, 0);
+ disconnect(o_Output, SIGNAL(sig_Connected()), 0, 0);
+ }
+ }
+}
+
+void dlg_Main::slot_btn_Debug()
+{
+ if (o_Output->IsOpen())
+ {
+ o_Output->send_Data("#cO=M======wWMrSCuD==A===============================================A=GM======[M=====@==@|p==O=CM=========kN");
+ }
+}
+
+void dlg_Main::slot_rb_Hardware()
+{
+// if ((rb_NC->isChecked() == false) && (VersionInfo.ID != ADDRESS_NC))
+// {
+// o_Input->send_Data(HandlerMK::get_SelectNC());
+ // }
+
+ if (rb_FC->isChecked())
+ {
+ o_Input->send_Data(HandlerMK::get_SelectFC());
+ }
+ else
+ if (rb_MK3MAG->isChecked())
+ {
+ o_Input->send_Data(HandlerMK::get_SelectMK3MAG());
+ }
+ else
+ if (rb_NC->isChecked())
+ {
+ o_Input->send_Data(HandlerMK::get_SelectNC());
+ }
+
+ o_Input->send_Data(HandlerMK::make_Frame('v', 0, c_Data, 0).toLatin1().data(), DATA_VERSION);
+}
+
+void dlg_Main::slot_Output_Disconnected(int Error)
+{
+ disconnect(o_Output, SIGNAL(sig_NewData(QString)), 0, 0);
+ if (o_Output->Mode() == TCP)
+ {
+ disconnect(o_Output, SIGNAL(sig_Disconnected(int)), 0, 0);
+ disconnect(o_Output, SIGNAL(sig_Connected()), 0, 0);
+ }
+
+ btn_ConnectServer->setText(tr("Verbinde Server"));
+
+/* switch (Error)
+ {
+ case REMOTECLOSED :
+ {
+// lb_Status->setText(tr("Verbindung vom Server beendet."));
+ QMessageBox::warning(this, QA_NAME,tr("QMK-Datenserver: Verbindung wurde vom Server beendet."), QMessageBox::Ok);
+ }
+ break;
+ case REFUSED :
+ {
+// lb_Status->setText(tr("Server nicht gefunden."));
+ QMessageBox::warning(this, QA_NAME,tr("QMK-Datenserver: Kann nicht zum Server verbinden."), QMessageBox::Ok);
+ }
+ break;
+ case 3 :
+ {
+// lb_Status->setText(tr("Serververbindung getrennt. Logindaten falsch."));
+ QMessageBox::warning(this, QA_NAME,tr("QMK-Datenserver: Loginname oder Password falsch."), QMessageBox::Ok);
+ }
+ break;
+ default :
+ {
+// lb_Status->setText(tr("Getrennt vom QMK-Datenserver."));
+ }
+ break;
+ }
+*/
+
+}
+
+void dlg_Main::slot_Output_Connected()
+{
+ connect(o_Output, SIGNAL(sig_NewData(QString)), this, SLOT(slot_Output_Data(QString)));
+}
+
+void dlg_Main::slot_Output_Data(QString t_Data)
+{
+ if ((t_Data[0] == '#'))
+ {
+ }
+ else if (o_Output->Mode() == TCP)
+ {
+ show_Terminal(6, "IP:" + t_Data);
+ parse_TCP_Output_Data(t_Data);
+ }
+}
+
+// Verbindung herstellen zum Kopter
+void dlg_Main::slot_btn_Connect()
+{
+ if (!o_Input->IsOpen())
+ {
+ if (rb_Device->isChecked())
+ {
+ if (cb_Device->findText(cb_Device->currentText()) == -1)
+ {
+ cb_Device->addItem(cb_Device->currentText());
+ cb_Device->setCurrentIndex(cb_Device->findText(cb_Device->currentText()));
+ }
+
+ s_Input.Main = cb_Device->currentText();
+
+ o_Input = new Input_TTY();
+ o_Input->Init();
+
+ if (o_Input->Open(s_Input) == true)
+ {
+ connect(o_Input, SIGNAL(sig_NewData(QString)), this, SLOT(slot_Input_Data(QString)));
+
+ o_Input->send_Data(HandlerMK::make_Frame('v', 0, c_Data, 0).toLatin1().data(), DATA_VERSION);
+
+ btn_Connect->setText(tr("Trennen"));
+ cb_Device->setEnabled(false);
+ }
+ }
+ else if (rb_TCP->isChecked())
+ {
+ if (cb_Server->findText(cb_Device->currentText()) == -1)
+ {
+ cb_Server->addItem(cb_Server->currentText());
+ cb_Server->setCurrentIndex(cb_Server->findText(cb_Server->currentText()));
+ }
+
+ cb_Server->setEnabled(false);
+ le_Password->setEnabled(false);
+
+ o_Input = new Input_TCP();
+ o_Input->Init();
+
+ set_Input s_Input;
+
+ QStringList Server = cb_Server->currentText().split(":");
+
+ s_Input.Main = Server[0];
+ s_Input.Sub = Server[1];
+
+ if (o_Input->Open(s_Input) == true)
+ {
+ connect(o_Input, SIGNAL(sig_Disconnected(int)), this, SLOT(slot_Input_Disconnected(int)));
+ connect(o_Input, SIGNAL(sig_Connected()), this, SLOT(slot_Input_Connected()));
+ }
+ }
+
+ }
+ else
+ {
+ {
+ cb_Device->setEnabled(true);
+ cb_Server->setEnabled(true);
+ le_Password->setEnabled(true);
+
+ o_Input->Close();
+ btn_Connect->setText(tr("Verbinden"));
+ disconnect(o_Input, SIGNAL(sig_NewData(QString)), 0, 0);
+ if (o_Input->Mode() == TCP)
+ {
+ disconnect(o_Input, SIGNAL(sig_Disconnected(int)), 0, 0);
+ disconnect(o_Input, SIGNAL(sig_Connected()), 0, 0);
+ }
+ }
+ }
+}
+
+// Neue Daten empfangen.
+void dlg_Main::slot_Input_Data(QString t_Data)
+{
+ if ((t_Data[0] == '#'))
+ {
+
+ if ((HandlerMK::Check_CRC(t_Data.toLatin1().data(), t_Data.length() - 1)) || ((o_Input->Mode() == TTY) && (HandlerMK::Check_CRC(t_Data.toLatin1().data(), t_Data.length()))))
+ {
+ show_Terminal(1, "MK: " + t_Data);
+ parse_Input_Data(t_Data);
+ route_Input_Data(t_Data);
+ }
+ else
+ {
+ show_Terminal(2, t_Data);
+ }
+ }
+ else if ((o_Input->Mode() == TCP) && (t_Data[0] == '$'))
+ {
+ show_Terminal(4, t_Data);
+ parse_TCP_Input_Data(t_Data);
+ }
+ else
+ {
+ show_Terminal(2, t_Data);
+ }
+
+
+}
+
+void dlg_Main::slot_Input_Disconnected(int Error)
+{
+ cb_Server->setEnabled(true);
+ le_Password->setEnabled(true);
+
+ disconnect(o_Input, SIGNAL(sig_NewData(QString)), 0, 0);
+ if (o_Input->Mode() == TCP)
+ {
+ disconnect(o_Input, SIGNAL(sig_Disconnected(int)), 0, 0);
+ disconnect(o_Input, SIGNAL(sig_Connected()), 0, 0);
+ }
+
+ btn_Connect->setText(tr("Verbinden"));
+
+/* switch (Error)
+ {
+ case REMOTECLOSED :
+ {
+// lb_Status->setText(tr("Verbindung vom Server beendet."));
+ QMessageBox::warning(this, QA_NAME,tr("QMK-Datenserver: Verbindung wurde vom Server beendet."), QMessageBox::Ok);
+ }
+ break;
+ case REFUSED :
+ {
+// lb_Status->setText(tr("Server nicht gefunden."));
+ QMessageBox::warning(this, QA_NAME,tr("QMK-Datenserver: Kann nicht zum Server verbinden."), QMessageBox::Ok);
+ }
+ break;
+ case 3 :
+ {
+// lb_Status->setText(tr("Serververbindung getrennt. Logindaten falsch."));
+ QMessageBox::warning(this, QA_NAME,tr("QMK-Datenserver: Loginname oder Password falsch."), QMessageBox::Ok);
+ }
+ break;
+ default :
+ {
+// lb_Status->setText(tr("Getrennt vom QMK-Datenserver."));
+ }
+ break;
+ }
+*/
+
+}
+
+void dlg_Main::slot_Input_Connected()
+{
+ connect(o_Input, SIGNAL(sig_NewData(QString)), this, SLOT(slot_Input_Data(QString)));
+
+ o_Input->send_Data(HandlerIP::make_Frame(ID_COMMUNICATOR, 101, QA_NAME + " " + QA_VERSION));
+ o_Input->send_Data(HandlerMK::make_Frame('v', 0, c_Data, 0).toLatin1().data(), DATA_VERSION);
+ btn_Connect->setText(tr("Trennen"));
+}
+
+// About-Dialog
+void dlg_Main::slot_ac_About()
+{
+ QMessageBox::about(this, trUtf8(("Über ")) + QA_NAME, QA_ABOUT);
+}
+
+void dlg_Main::slot_ac_Server()
+{
+ dlg_Preferences *f_Preferences = new dlg_Preferences(this);
+
+ f_Preferences->set_Settings(o_Settings);
+
+ if (f_Preferences->exec()==QDialog::Accepted)
+ {
+ o_Settings = f_Preferences->get_Settings();
+ o_Settings->write_Settings();
+ }
+}
+
+void dlg_Main::show_Terminal(int t_Typ, QString t_Data)
+{
+ if (f_Terminal->isVisible())
+ {
+ f_Terminal->show_Data(t_Typ, t_Data);
+ }
+}
+
+/////////////////////
+// IP-Slots Server //
+/////////////////////
+
+void dlg_Main::slot_TCP_NewConnection()
+{
+ if (!o_Input->IsOpen())
+ {
+ slot_btn_Connect();
+ }
+
+ int ID = get_FreeSocket();
+
+ if (ID != 0)
+ {
+ Connect_Count++;
+
+ // Leeres Con_Server erzeugen
+ Con_Server[ID] = Con_Server[0];
+
+ Con_Server[ID].Status = 1;
+ Con_Server[ID].TCP = true;
+
+ Con_Server[ID].Fields = "";
+ Con_Server[ID].Version = "n/a";
+
+ o_TCP[ID] = TCP_Server->nextPendingConnection();
+ o_TCP[ID]->setProperty("ID", ID);
+
+ send_TCP(o_TCP[ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 101, QA_NAME + " " + QA_VERSION));
+
+ connect(o_TCP[ID], SIGNAL(disconnected()),o_TCP[ID], SLOT(deleteLater()));
+ connect(o_TCP[ID], SIGNAL(disconnected()),this, SLOT(slot_TCP_Disconnect()));
+ connect(o_TCP[ID], SIGNAL(readyRead()),this, SLOT(slot_TCP_Read()));
+
+ Item[ID]->setText(" " + QString(o_TCP[ID]->peerAddress().toString()).leftJustified(15,' ') + " - n/a");
+ lw_Clients->addItem(Item[ID]);
+
+ if (o_TCP[ID]->peerAddress().toString() == "127.0.0.1")
+ {
+ Con_Server[ID].Status = 2;
+ Item[ID]->setText("*" + QString(o_TCP[ID]->peerAddress().toString()).leftJustified(15,' ') + " - n/a");
+ }
+
+ if (o_Input->IsOpen())
+ {
+// send_TCP(o_TCP[ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 520, cb_Device->currentText()));
+ }
+
+ }
+ else // Server voll
+ {
+ o_TCP[ID] = TCP_Server->nextPendingConnection();
+ o_TCP[ID]->setProperty("ID", ID);
+
+ send_TCP(o_TCP[ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 521, "Sorry, Server full."));
+ o_TCP[ID]->disconnectFromHost();
+ }
+}
+
+void dlg_Main::slot_TCP_Read()
+{
+ QTcpSocket *Socket = (QTcpSocket*)sender();
+
+// if (Socket->canReadLine())
+ {
+ int ID = Socket->property("ID").toUInt();
+ ID = ID;
+
+// QString t_Data = QString(TCP_Socket->readLine(TCP_Socket->bytesAvailable())).remove(QChar('\n'));
+ QString t_Data = s_Buffer + QString(Socket->readAll()).remove(QChar('\n'));
+ s_Buffer = "";
+
+ t_Data = t_Data.replace('\r', "\r\n");
+
+ QStringList l_Data = t_Data.split('\n');
+
+ for (int z = 0; z < l_Data.count(); z++)
+ {
+ if ((l_Data[z][l_Data[z].length() - 1] == '\r'))
+ {
+ l_Data[z].remove(QChar('\r'));
+ if (l_Data[z][0] == '$')
+ {
+ parse_TCP_Server_Data(l_Data[z], ID);
+ show_Terminal(5, "IP: " + l_Data[z]);
+ }
+ else
+ {
+ if ((Con_Server[ID].Status >= 2))
+ {
+ show_Terminal(3, "MK> " + l_Data[z]);
+ o_Input->send_Data(l_Data[z]);
+ }
+ }
+ }
+ else
+ { if (l_Data[z].length() > 1)
+ {
+ qDebug(QString("Ohne Ende: " + l_Data[z]).toLatin1().data());
+ s_Buffer = s_Buffer + l_Data[z];
+ }
+ }
+
+ }
+
+/*
+ QString t_Data = QString(Socket->readLine((Socket->bytesAvailable())));
+
+ QStringList s_Data = t_Data.split('\r');
+
+ for (int z = 0; z < s_Data.count() - 1; z++)
+ {
+ if (s_Data[z][0] == '$')
+ {
+ parse_TCP_Server_Data(s_Data[z], ID);
+ show_Terminal(5, "IP: " + s_Data[z]);
+
+ }
+ else
+ {
+ if ((Con_Server[ID].Status >= 2))
+ {
+ show_Terminal(3, s_Data[z]);
+ o_Input->send_Data(s_Data[z]);
+ }
+ }
+ }
+ }
+ */
+ }
+}
+
+void dlg_Main::slot_TCP_Disconnect()
+{
+ QTcpSocket *Socket = (QTcpSocket*)sender();
+
+ int ID = Socket->property("ID").toUInt();
+
+ Item[ID]->setText(" " + QString(o_TCP[ID]->peerAddress().toString()).leftJustified(15,' ') + " - Disconected");
+
+ Con_Server[ID] = Con_Server[0];
+ Con_Server[ID].Status = 0;
+
+ Connect_Count--;
+
+ Socket->setProperty("ID", 0);
+
+ if ((Connect_Count == 0) && (o_Input->IsOpen()))
+ slot_btn_Connect();
+}
+
+
+// Programm Ende
+////////////////
+dlg_Main::~dlg_Main()
+{
+ o_Settings->GUI.isMax = isMaximized();
+ o_Settings->GUI.Size = size();
+ o_Settings->GUI.Point = pos();
+
+// o_Settings->GUI.isMax = isMaximized();
+ o_Settings->TERMINAL.Size = f_Terminal->size();
+ o_Settings->TERMINAL.Point = f_Terminal->pos();
+
+ o_Settings->CLIENT.TTY_MAX = cb_Device->count();
+ o_Settings->CLIENT.TTY_ID = cb_Device->currentIndex();
+
+ for (int z = 0; z < cb_Device->count(); z++)
+ {
+ if (z < 10)
+ {
+ o_Settings->CLIENT.TTY_DEVICES[z] = cb_Device->itemText(z);
+ }
+ }
+
+ o_Settings->CLIENT.TCP_MAX = cb_Server->count();
+ o_Settings->CLIENT.TCP_ID = cb_Server->currentIndex();
+
+ for (int z = 0; z < cb_Server->count(); z++)
+ {
+ if (z < 10)
+ {
+ o_Settings->CLIENT.TCP_SERVER[z] = cb_Server->itemText(z);
+ }
+ }
+
+ o_Settings->DATA.Data = f_Terminal->cb_Data->isChecked();
+ o_Settings->DATA.Info = f_Terminal->cb_Info->isChecked();
+ o_Settings->DATA.Send = f_Terminal->cb_Send->isChecked();
+ o_Settings->DATA.TCP = f_Terminal->cb_TCP->isChecked();
+
+ o_Settings->write_Settings();
+
+// qDebug("Ende.");
+}
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Preferences.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Preferences.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Preferences.h (revision 907)
@@ -0,0 +1,41 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DLG_PREFERENCES_H
+#define DLG_PREFERENCES_H
+
+#include "ui_dlg_Preferences.h"
+#include "../Classes/cSettings.h"
+
+class dlg_Preferences : public QDialog, public Ui::dlg_Preferences_UI
+{
+ Q_OBJECT
+
+ public:
+ dlg_Preferences(QWidget *parent = 0);
+
+ void set_Settings(cSettings *t_Settings);
+ cSettings *get_Settings();
+
+ private:
+ // Settings-Object
+ cSettings *o_Settings;
+
+};
+
+#endif // DLG_PREFERENCES_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Terminal.ui
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Terminal.ui (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Terminal.ui (revision 907)
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>dlg_Terminal_UI</class>
+ <widget class="QDialog" name="dlg_Terminal_UI">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>720</width>
+ <height>365</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Terminal</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QTextEdit" name="te_Out">
+ <property name="palette">
+ <palette>
+ <active>
+ <colorrole role="Base">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </active>
+ <inactive>
+ <colorrole role="Base">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </inactive>
+ <disabled>
+ <colorrole role="Base">
+ <brush brushstyle="SolidPattern">
+ <color alpha="255">
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ </brush>
+ </colorrole>
+ </disabled>
+ </palette>
+ </property>
+ <property name="font">
+ <font>
+ <family>Adobe Courier</family>
+ <pointsize>10</pointsize>
+ </font>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Adobe Courier'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Anzeige:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QCheckBox" name="cb_Data">
+ <property name="text">
+ <string>Datenpackete</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QCheckBox" name="cb_Info">
+ <property name="text">
+ <string>Meldungen</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QCheckBox" name="cb_Send">
+ <property name="text">
+ <string>Gesendete Daten</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="5">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>185</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="6">
+ <widget class="QPushButton" name="btn_Delete">
+ <property name="text">
+ <string>Löschen</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QCheckBox" name="cb_TCP">
+ <property name="text">
+ <string>TCP-Daten</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Main.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Main.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Main.h (revision 907)
@@ -0,0 +1,152 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DLG_MAIN_H
+#define DLG_MAIN_H
+
+#include <QtGui/QMainWindow>
+#include <QTcpServer>
+#include <QTcpSocket>
+#include <QProcess>
+#include <QDir>
+
+#include "ui_dlg_Main.h"
+
+#include "dlg_Preferences.h"
+#include "dlg_Terminal.h"
+
+#include "../Defines.h"
+#include "../TypeDefs.h"
+
+#include "../Classes/cSettings.h"
+
+#include "../../Global/Kopter.h"
+#include "../../Global/Class_Input/Input.h"
+#include "../../Global/Class_Input/Input_TTY.h"
+#include "../../Global/Class_Input/Input_TCP.h"
+#include "../../Global/Class_HandlerMK/HandlerMK.h"
+#include "../../Global/Class_HandlerIP/HandlerIP.h"
+#include "../../Global/Class_SerialPort/ManageSerialPort.h"
+
+class dlg_Main : public QMainWindow, public Ui::dlg_Main_UI
+{
+ Q_OBJECT
+
+ public:
+ dlg_Main();
+ ~dlg_Main();
+ void set_ARGV(char *Programm);
+
+ private:
+ QString QMK_Dir;
+
+ // Input Device.
+ Input *o_Input;
+ Input *o_Output;
+
+ set_Input s_Input;
+ set_Input s_Output;
+
+
+ // Settings-Object
+ cSettings *o_Settings;
+
+ dlg_Terminal *f_Terminal;
+
+ QProcess *o_cScope;
+ QProcess *o_cSettings;
+ QProcess *o_cMaps;
+ QProcess *o_cVoice;
+ QProcess *o_cLogger;
+
+ // TCP Server und Socket.
+ QTcpServer *TCP_Server;
+ QTcpSocket *o_TCP[DEV_IP_MAX];
+ QString s_Buffer;
+
+ //Liste alle IP-Verbindungen und deren Parameter.
+ int Connect_Count;
+ sConnection Con_Server[DEV_IP_MAX];
+ sConnection Con_Output;
+
+ QListWidgetItem *Item[DEV_IP_MAX];
+
+ s_Hardware VersionInfo;
+
+ char c_Data[150];
+
+ // Programm-Initialisirungen
+ void init_GUI();
+ void init_Connections();
+
+ // IP-Ports initialisieren
+ bool init_TCP();
+
+ // Einkommende Datenpackete zerlegen.
+ void parse_Input_Data(QString t_Data);
+
+ // Einkommende Datenpackete weiterleiten
+ void route_Input_Data(QString t_Data);
+
+ void parse_TCP_Server_Data(QString t_Data, int t_ID);
+ void parse_TCP_Input_Data(QString t_Data);
+ void parse_TCP_Output_Data(QString t_Data);
+
+ // Freies IP-Socket ermitteln
+ int get_FreeSocket();
+
+ // Daten aufs IP-Interface senden.
+ void send_TCP(QTcpSocket *Socket, QString Data);
+
+ void show_Terminal(int t_Typ, QString t_Data);
+
+ private slots:
+ void slot_ac_About();
+ void slot_ac_Server();
+
+ // Connect-Button
+ void slot_btn_Connect();
+
+ void slot_btn_cScope();
+ void slot_btn_cSettings();
+ void slot_btn_cMaps();
+ void slot_btn_cVoice();
+ void slot_btn_cLogger();
+
+ void slot_btn_Terminal();
+ void slot_btn_ConnectServer();
+ void slot_btn_Debug();
+
+ void slot_rb_Hardware();
+
+ // Einkommende Datenpackete.
+ void slot_Input_Data(QString t_Data);
+ void slot_Input_Disconnected(int Error);
+ void slot_Input_Connected();
+
+ void slot_TCP_NewConnection();
+ void slot_TCP_Disconnect();
+ void slot_TCP_Read();
+
+ void slot_Output_Data(QString t_Data);
+ void slot_Output_Disconnected(int Error);
+ void slot_Output_Connected();
+
+};
+
+#endif // DLG_MAIN_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Terminal.cpp
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Terminal.cpp (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Terminal.cpp (revision 907)
@@ -0,0 +1,89 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#include "dlg_Terminal.h"
+
+dlg_Terminal::dlg_Terminal(QWidget *parent) : QDialog(parent)
+{
+ setupUi(this);
+
+ connect(btn_Delete, SIGNAL(clicked()), this, SLOT(slot_btn_Delete()));
+}
+
+void dlg_Terminal::slot_btn_Delete()
+{
+ te_Out->clear();
+}
+
+void dlg_Terminal::show_Data(int t_Typ, QString t_Data)
+{
+ te_Out->moveCursor(QTextCursor::End, QTextCursor::MoveAnchor);
+
+ switch(t_Typ)
+ {
+ case 1:
+ {
+ if (cb_Data->isChecked())
+ {
+ te_Out->insertHtml("<span style=\"color:#00ffff;\">" + t_Data + "<br /></span>");
+ }
+ }
+ break;
+ case 2:
+ {
+ if ((t_Data.length() > 0) && (cb_Info->isChecked()))
+ {
+ te_Out->insertHtml("<span style=\"color:#00ff00;\">" + t_Data + "</span><br />");
+ }
+ }
+ break;
+ case 3:
+ {
+ if (cb_Send->isChecked())
+ {
+ te_Out->insertHtml("<span style='color:#ff0000;'>" + t_Data + "<br /></span>");
+ }
+ }
+ break;
+ case 4:
+ {
+ if (cb_TCP->isChecked())
+ {
+ te_Out->insertHtml("<span style='color:#ff00ff;'>" + t_Data + "<br /></span>");
+ }
+ }
+ break;
+ case 5:
+ {
+ if (cb_TCP->isChecked())
+ {
+ te_Out->insertHtml("<span style='color:#ffff00;'>" + t_Data + "<br /></span>");
+ }
+ }
+ break;
+ case 6:
+ {
+ if (cb_TCP->isChecked())
+ {
+ te_Out->insertHtml("<span style='color:#ffffff;'>" + t_Data + "<br /></span>");
+ }
+ }
+ break;
+ }
+}
+
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Preferences.ui
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Preferences.ui (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Preferences.ui (revision 907)
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>dlg_Preferences_UI</class>
+ <widget class="QDialog" name="dlg_Preferences_UI">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>192</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>400</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>Server-Einstellungen</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Communicator</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="checkBox">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>TCP</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Port:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLineEdit" name="le_TCP_Port"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="checkBox_2">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>UDP</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="label_2">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Port:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="le_UDP_Port">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="3">
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Password:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLineEdit" name="le_Password">
+ <property name="text">
+ <string>qwertz</string>
+ </property>
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Live-Daten senden</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Server:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="le_LiveServer">
+ <property name="text">
+ <string>127.0.0.1</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Login:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="le_LiveUser">
+ <property name="text">
+ <string>KeyOz</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Password:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="le_LivePassword">
+ <property name="text">
+ <string>qwertz</string>
+ </property>
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Port:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="le_LivePort">
+ <property name="text">
+ <string>64410</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="1">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>checkBox</tabstop>
+ <tabstop>le_TCP_Port</tabstop>
+ <tabstop>le_Password</tabstop>
+ <tabstop>le_LiveServer</tabstop>
+ <tabstop>le_LiveUser</tabstop>
+ <tabstop>le_LivePassword</tabstop>
+ <tabstop>buttonBox</tabstop>
+ <tabstop>checkBox_2</tabstop>
+ <tabstop>le_UDP_Port</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>dlg_Preferences_UI</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>dlg_Preferences_UI</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Main.ui
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Main.ui (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Main.ui (revision 907)
@@ -0,0 +1,543 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>dlg_Main_UI</class>
+ <widget class="QMainWindow" name="dlg_Main_UI">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>505</width>
+ <height>361</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>QMK-Communicator</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Communicator.png</normaloff>:/Icon/Global/Images/Icons/QMK-Communicator.png</iconset>
+ </property>
+ <widget class="QWidget" name="centralWidget">
+ <layout class="QGridLayout" name="gridLayout_9">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Verbindung zum Mikrokopter</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_8">
+ <item row="0" column="0" colspan="2">
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_7">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="0" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QRadioButton" name="rb_Device">
+ <property name="text">
+ <string>Device</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="rb_TCP">
+ <property name="text">
+ <string>T CP</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="rb_UDP">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>UDP</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ <zorder></zorder>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QWidget" name="wg_Device" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="1" column="2">
+ <widget class="QComboBox" name="cb_Device">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <property name="insertPolicy">
+ <enum>QComboBox::InsertAtTop</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="lb_Device">
+ <property name="text">
+ <string>Device:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>1</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QFrame" name="frame_2">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="1" column="0">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QRadioButton" name="rb_FC">
+ <property name="text">
+ <string>FlightCtrl</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QRadioButton" name="rb_NC">
+ <property name="text">
+ <string>NaviCtrl</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QRadioButton" name="rb_MK3MAG">
+ <property name="text">
+ <string>MK3MAG</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QPushButton" name="btn_Connect">
+ <property name="text">
+ <string>Verbinden</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QWidget" name="wg_IP" native="true">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_6">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="0" column="1">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>60</width>
+ <height>1</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="cb_Server">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Server:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLineEdit" name="le_Password">
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>PW:</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Client-Verbindungen</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="horizontalSpacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QListWidget" name="lw_Clients">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="autoScroll">
+ <bool>false</bool>
+ </property>
+ <property name="showDropIndicator" stdset="0">
+ <bool>false</bool>
+ </property>
+ <property name="resizeMode">
+ <enum>QListView::Adjust</enum>
+ </property>
+ <property name="viewMode">
+ <enum>QListView::ListMode</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QLabel" name="lb_Info">
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" rowspan="2">
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>150</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Clients</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0">
+ <widget class="QPushButton" name="btn_Terminal">
+ <property name="text">
+ <string>Terminal</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Actions/Global/Images/Actions/Terminal.png</normaloff>:/Actions/Global/Images/Actions/Terminal.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QPushButton" name="btn_cScope">
+ <property name="text">
+ <string>Scope</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Scope.png</normaloff>:/Icon/Global/Images/Icons/QMK-Scope.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QPushButton" name="btn_cSettings">
+ <property name="text">
+ <string>Settings</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Settings.png</normaloff>:/Icon/Global/Images/Icons/QMK-Settings.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QPushButton" name="btn_cMaps">
+ <property name="text">
+ <string>Maps</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Maps.png</normaloff>:/Icon/Global/Images/Icons/QMK-Maps.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>229</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="6" column="0">
+ <widget class="QPushButton" name="btn_cVoice">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Voice</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Voice.png</normaloff>:/Icon/Global/Images/Icons/QMK-Voice.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QPushButton" name="btn_cLogger">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Logger</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Logger.png</normaloff>:/Icon/Global/Images/Icons/QMK-Logger.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <widget class="QPushButton" name="btn_ConnectServer">
+ <property name="text">
+ <string>Verbinde Server</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QPushButton" name="btn_Debug">
+ <property name="text">
+ <string>Debug-Button</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menuBar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>505</width>
+ <height>19</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menu_Program">
+ <property name="title">
+ <string>Programm</string>
+ </property>
+ <addaction name="ac_Server"/>
+ <addaction name="separator"/>
+ <addaction name="ac_Quit"/>
+ </widget>
+ <widget class="QMenu" name="menu_Help">
+ <property name="title">
+ <string>Hilfe</string>
+ </property>
+ <addaction name="ac_About"/>
+ </widget>
+ <addaction name="menu_Program"/>
+ <addaction name="menu_Help"/>
+ </widget>
+ <action name="ac_Quit">
+ <property name="icon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Actions/Global/Images/Actions/Exit.png</normaloff>:/Actions/Global/Images/Actions/Exit.png</iconset>
+ </property>
+ <property name="text">
+ <string>Beenden</string>
+ </property>
+ </action>
+ <action name="ac_About">
+ <property name="icon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Communicator.png</normaloff>:/Icon/Global/Images/Icons/QMK-Communicator.png</iconset>
+ </property>
+ <property name="text">
+ <string>Über QMK-Communicator</string>
+ </property>
+ </action>
+ <action name="ac_Server">
+ <property name="icon">
+ <iconset resource="../QMK-Communicator.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Communicator.png</normaloff>:/Icon/Global/Images/Icons/QMK-Communicator.png</iconset>
+ </property>
+ <property name="text">
+ <string>Einstellungen</string>
+ </property>
+ </action>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources>
+ <include location="../QMK-Communicator.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>ac_Quit</sender>
+ <signal>triggered()</signal>
+ <receiver>dlg_Main_UI</receiver>
+ <slot>close()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>182</x>
+ <y>88</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>rb_Device</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>wg_Device</receiver>
+ <slot>setVisible(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>38</x>
+ <y>70</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>54</x>
+ <y>105</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>rb_TCP</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>wg_IP</receiver>
+ <slot>setVisible(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>125</x>
+ <y>75</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>124</x>
+ <y>140</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Terminal.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Terminal.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Communicator/Dialogs/dlg_Terminal.h (revision 907)
@@ -0,0 +1,37 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DLG_TERMINAL_H
+#define DLG_TERMINAL_H
+
+#include <QString>
+#include "ui_dlg_Terminal.h"
+
+class dlg_Terminal : public QDialog, public Ui::dlg_Terminal_UI
+{
+ Q_OBJECT
+
+ public:
+ dlg_Terminal(QWidget *parent = 0);
+ void show_Data(int t_Typ, QString t_Data);
+
+ private slots:
+ void slot_btn_Delete();
+};
+
+#endif // DLG_TERMINAL_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Defines.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Defines.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Defines.h (revision 907)
@@ -0,0 +1,54 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DEFINES_H
+#define DEFINES_H
+
+#include <QString>
+#include "../Global/Global.h"
+#include "../Global/Kopter.h"
+
+static const QString QA_NAME = "QMK-Maps";
+static const QString QA_VERSION_NR = "1.3.1";
+
+#ifdef _BETA_
+ static const QString QA_VERSION = QA_VERSION_NR + " (BETA)";
+#else
+ static const QString QA_VERSION = QA_VERSION_NR;
+#endif
+
+static const QString QA_DATE = "05.02.2011";
+static const QString QA_YEAR = "2008-2011";
+
+static const QString QA_ABOUT =
+ "<HTML>"
+ "<p><b><font size=8>" + QA_NAME + "</font></b></p>"
+ "<br />"
+ "Version " + QA_VERSION + " - " + QA_DATE + " on " + QA_OS + ""
+ "<br /><br /><b>kompatibel zu " + QA_HWVERSION + "</b>"
+ "<br /><br />"
+ "(C) " + QA_YEAR + " by " + QA_AUTHOR + " - "
+ "<a href=\"mailto:" + QA_EMAIL + "\">" + QA_EMAIL + "</a> <br /><br />"
+ "Groundstation-Programm f&uuml;r den Mikrokopter<br /><br />"
+ "QMK-Maps - Positionsanzeige und Waypoint-Programmierung.<br /><br /> "
+ "Dieses Programm wird unter den Bedingungen der GPL v2 ver&ouml;ffentlicht."
+ "</HTML>";
+
+static const QString DataFields = "VWXO";
+
+#endif // DEFINES_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/QMK-Maps.pro
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/QMK-Maps.pro (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/QMK-Maps.pro (revision 907)
@@ -0,0 +1,33 @@
+# -------------------------------------------------
+# Project created by QtCreator 2009-07-20T20:04:00
+# -------------------------------------------------
+
+include(../Global/Class_QMapControl.pri)
+include(../Global/Widget_Connection.pri)
+
+QT += network \
+ xml
+TARGET = QMK-Maps
+TEMPLATE = app
+DESTDIR = ../Binary
+debug:DEFINES += _BETA_
+OBJECTS_DIR = ../Binary/.build/QMK-Maps
+UI_DIR = ../Binary/.build/QMK-Maps
+MOC_DIR = ../Binary/.build/QMK-Maps
+RCC_DIR = ../Binary/.build/QMK-Maps
+RESOURCES += QMK-Maps.qrc
+SOURCES += main.cpp \
+ Dialogs/dlg_Main.cpp \
+ Dialogs/dlg_MapPos.cpp \
+ Classes/cSettings.cpp \
+ ../Global/Class_HandlerKML/HandlerKML.cpp
+HEADERS += Defines.h \
+ ../Global/Global.h \
+ ../Global/Class_QMapControl.h \
+ Dialogs/dlg_Main.h \
+ Dialogs/dlg_MapPos.h \
+ Classes/cSettings.h \
+ TypeDefs.h \
+ ../Global/Class_HandlerKML/HandlerKML.h
+FORMS += Dialogs/dlg_Main.ui \
+ Dialogs/dlg_MapPos.ui
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/main.cpp
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/main.cpp (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/main.cpp (revision 907)
@@ -0,0 +1,38 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#include <QtGui/QApplication>
+#include "Dialogs/dlg_Main.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication App(argc, argv);
+
+ dlg_Main *MainApp = new dlg_Main();
+
+ MainApp->show();
+
+ MainApp->create_Map();
+
+ int iReturn = App.exec();
+
+ delete MainApp;
+
+ return iReturn;
+}
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/TypeDefs.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/TypeDefs.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/TypeDefs.h (revision 907)
@@ -0,0 +1,32 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef TYPEDEFS_H
+#define TYPEDEFS_H
+
+#include <QString>
+
+struct sWayPoint
+{
+ double Longitude;
+ double Latitude;
+ double Altitude;
+ int Time;
+};
+
+#endif // TYPEDEFS_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/QMK-Maps.qrc
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/QMK-Maps.qrc (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/QMK-Maps.qrc (revision 907)
@@ -0,0 +1,23 @@
+<RCC>
+ <qresource prefix="Icon" >
+ <file>../Global/Images/Icons/QMK-Maps.png</file>
+ </qresource>
+ <qresource prefix="Flags" >
+ <file>../Global/Images/Flags/Target.png</file>
+ <file>../Global/Images/Flags/flag-black.png</file>
+ <file>../Global/Images/Flags/flag-blue.png</file>
+ <file>../Global/Images/Flags/flag-green.png</file>
+ <file>../Global/Images/Flags/flag-red.png</file>
+ <file>../Global/Images/Flags/flag-yellow.png</file>
+ </qresource>
+ <qresource prefix="Actions" >
+ <file>../Global/Images/Actions/Log-Record.png</file>
+ <file>../Global/Images/Actions/Log-Stop.png</file>
+ <file>../Global/Images/Actions/Load-Map.png</file>
+ <file>../Global/Images/Actions/Save.png</file>
+ <file>../Global/Images/Actions/Load.png</file>
+ <file>../Global/Images/Actions/Exit.png</file>
+ <file>../Global/Images/Actions/Connection-NO.png</file>
+ <file>../Global/Images/Actions/Connection-OK.png</file>
+ </qresource>
+</RCC>
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Classes/cSettings.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Classes/cSettings.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Classes/cSettings.h (revision 907)
@@ -0,0 +1,65 @@
+/***************************************************************************
+ * Copyright (C) 2008 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef CSETTINGS_H
+#define CSETTINGS_H
+
+#include <QSize>
+#include <QPoint>
+#include <QString>
+
+#include "../Defines.h"
+
+struct set_GUI
+{
+ bool isMax;
+ QSize Size;
+ QPoint Point;
+ bool Toolbar;
+};
+
+struct set_CONFIG
+{
+ bool cb_Goto;
+ bool cb_ShowRoute;
+ bool cb_ShowWPs;
+ bool cb_CenterPos;
+};
+
+struct set_NAVI
+{
+ int StayTime;
+ double Latitude;
+ double Longitude;
+};
+
+class cSettings
+{
+ public:
+ cSettings();
+ void read_Settings();
+ void write_Settings();
+
+ int Settings_ID;
+
+ set_GUI GUI;
+ set_CONFIG CONFIG;
+ set_NAVI NAVI;
+};
+
+#endif // CSETTINGS_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Classes/cSettings.cpp
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Classes/cSettings.cpp (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Classes/cSettings.cpp (revision 907)
@@ -0,0 +1,88 @@
+/***************************************************************************
+ * Copyright (C) 2008 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#include <QSettings>
+#include <QDir>
+
+#include "cSettings.h"
+
+cSettings::cSettings()
+{
+ Settings_ID = 1;
+
+ read_Settings();
+}
+
+void cSettings::read_Settings()
+{
+ QSettings Setting("QMK", QA_NAME);
+
+ Setting.beginGroup("Global");
+ Settings_ID = Setting.value("Settings ID", Settings_ID).toInt();
+ Setting.endGroup();
+
+ Setting.beginGroup("GUI");
+ GUI.isMax = Setting.value("IsMax",false).toBool();
+ GUI.Size = Setting.value("Size", QSize(500, 350)).toSize();
+ GUI.Point = Setting.value("Point",QPoint(1,1)).toPoint();
+ GUI.Toolbar = Setting.value("Toolbar",true).toBool();
+ Setting.endGroup();
+
+ Setting.beginGroup("CONFIG");
+ CONFIG.cb_CenterPos = Setting.value("cb_CenterPos",true).toBool();
+ CONFIG.cb_ShowRoute = Setting.value("cb_ShowRoute",true).toBool();
+ CONFIG.cb_ShowWPs = Setting.value("cb_ShowWPs",true).toBool();
+ CONFIG.cb_Goto = Setting.value("cb_Goto",true).toBool();
+ Setting.endGroup();
+
+ Setting.beginGroup("Navi");
+ NAVI.StayTime = Setting.value("StayTime", 500).toInt();
+ NAVI.Latitude = Setting.value("Latitude", 52.5).toDouble();
+ NAVI.Longitude = Setting.value("Longitude", 13.5).toDouble();
+ Setting.endGroup();
+}
+
+void cSettings::write_Settings()
+{
+ QSettings Setting("QMK", QA_NAME);
+
+ Setting.beginGroup("Global");
+ Setting.setValue("Settings ID", Settings_ID);
+ Setting.endGroup();
+
+ Setting.beginGroup("GUI");
+ Setting.setValue("IsMax", GUI.isMax);
+ Setting.setValue("Size", GUI.Size);
+ Setting.setValue("Point", GUI.Point);
+ Setting.setValue("Toolbar", GUI.Toolbar);
+ Setting.endGroup();
+
+ Setting.beginGroup("CONFIG");
+ Setting.setValue("cb_CenterPos", CONFIG.cb_CenterPos);
+ Setting.setValue("cb_ShowRoute", CONFIG.cb_ShowRoute);
+ Setting.setValue("cb_ShowWPs", CONFIG.cb_ShowWPs);
+ Setting.setValue("cb_Goto", CONFIG.cb_Goto);
+ Setting.endGroup();
+
+ Setting.beginGroup("NAVI");
+ Setting.setValue("StayTime", NAVI.StayTime);
+ Setting.setValue("Latitude", NAVI.Latitude);
+ Setting.setValue("Longitude", NAVI.Longitude);
+ Setting.endGroup();
+
+}
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_Main.ui
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_Main.ui (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_Main.ui (revision 907)
@@ -0,0 +1,720 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>dlg_Main_UI</class>
+ <widget class="QMainWindow" name="dlg_Main_UI">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>729</width>
+ <height>367</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>QMK</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="../QMK-Maps.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Maps.png</normaloff>:/Icon/Global/Images/Icons/QMK-Maps.png</iconset>
+ </property>
+ <property name="styleSheet">
+ <string notr="true"/>
+ </property>
+ <widget class="QWidget" name="centralWidget">
+ <layout class="QGridLayout" name="gridLayout_5">
+ <item row="0" column="0" colspan="2">
+ <widget class="wgt_Connection" name="wg_Connection" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QFrame" name="frame_3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>WP:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="le_WP">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>50</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="le_WPTime">
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="le_WPDist">
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Home:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="le_HomeDist">
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Mode:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="le_Mode">
+ <property name="minimumSize">
+ <size>
+ <width>120</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>120</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Sats:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="le_Sats">
+ <property name="minimumSize">
+ <size>
+ <width>30</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>30</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>138</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="1" rowspan="3">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Route</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Verweilzeit</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QSpinBox" name="sb_Time">
+ <property name="maximum">
+ <number>300</number>
+ </property>
+ <property name="value">
+ <number>10</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Sek.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="0">
+ <widget class="QPushButton" name="btn_WPAdd">
+ <property name="text">
+ <string>hinzufügen</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QPushButton" name="btn_WPFly">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>abfliegen</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QPushButton" name="btn_WPDelete">
+ <property name="text">
+ <string>löschen</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="frame_4">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="cb_ShowWPs">
+ <property name="text">
+ <string>ausgewählte
+Route anzeigen</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="cb_CenterPos">
+ <property name="text">
+ <string>auf IST-Position
+zentrieren</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="cb_ShowRoute">
+ <property name="text">
+ <string>geflogene
+Route anzeigen</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="0">
+ <widget class="QFrame" name="w_Map">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>250</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="0" column="0">
+ <layout class="QHBoxLayout" name="l_Map"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QFrame" name="frame_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item row="0" column="1">
+ <widget class="QSlider" name="sl_Zoom">
+ <property name="maximum">
+ <number>18</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::NoTicks</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Zoom:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QCheckBox" name="cb_Goto">
+ <property name="text">
+ <string>Position bei Click Anfliegen</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QComboBox" name="cb_Maps">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>OpenStreetMap</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>OpenAerialMap</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Google: Map</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Google: Satellit</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Yahoo: Map </string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Yahoo: Satellit</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menuBar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>729</width>
+ <height>19</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menu_Preferences">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="title">
+ <string>Einstellungen</string>
+ </property>
+ </widget>
+ <widget class="QMenu" name="menu_Help">
+ <property name="title">
+ <string>Hilfe</string>
+ </property>
+ <addaction name="ac_About"/>
+ </widget>
+ <widget class="QMenu" name="menuExtras">
+ <property name="title">
+ <string>Extras</string>
+ </property>
+ <addaction name="ac_RouteDelete"/>
+ </widget>
+ <widget class="QMenu" name="menuAnsicht">
+ <property name="title">
+ <string>Ansicht</string>
+ </property>
+ <addaction name="ac_Toolbar"/>
+ </widget>
+ <widget class="QMenu" name="menu_Program">
+ <property name="title">
+ <string>Programm</string>
+ </property>
+ <addaction name="ac_Quit"/>
+ <addaction name="ac_Connect"/>
+ </widget>
+ <addaction name="menu_Program"/>
+ <addaction name="menuAnsicht"/>
+ <addaction name="menu_Preferences"/>
+ <addaction name="menuExtras"/>
+ <addaction name="menu_Help"/>
+ </widget>
+ <widget class="QToolBar" name="ToolBar">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>toolBar</string>
+ </property>
+ <property name="movable">
+ <bool>false</bool>
+ </property>
+ <property name="allowedAreas">
+ <set>Qt::LeftToolBarArea</set>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ <property name="floatable">
+ <bool>false</bool>
+ </property>
+ <attribute name="toolBarArea">
+ <enum>LeftToolBarArea</enum>
+ </attribute>
+ <attribute name="toolBarBreak">
+ <bool>false</bool>
+ </attribute>
+ <addaction name="ac_Connect"/>
+ <addaction name="separator"/>
+ <addaction name="ac_LoadRoute"/>
+ <addaction name="ac_SaveRoute"/>
+ <addaction name="separator"/>
+ <addaction name="ac_LoadMap"/>
+ <addaction name="separator"/>
+ <addaction name="ac_Record"/>
+ <addaction name="separator"/>
+ </widget>
+ <widget class="QToolBar" name="tb_More">
+ <property name="windowTitle">
+ <string>toolBar</string>
+ </property>
+ <property name="movable">
+ <bool>false</bool>
+ </property>
+ <property name="allowedAreas">
+ <set>Qt::LeftToolBarArea</set>
+ </property>
+ <attribute name="toolBarArea">
+ <enum>LeftToolBarArea</enum>
+ </attribute>
+ <attribute name="toolBarBreak">
+ <bool>false</bool>
+ </attribute>
+ </widget>
+ <action name="ac_Quit">
+ <property name="icon">
+ <iconset resource="../QMK-Maps.qrc">
+ <normaloff>:/Actions/Global/Images/Actions/Exit.png</normaloff>:/Actions/Global/Images/Actions/Exit.png</iconset>
+ </property>
+ <property name="text">
+ <string>Beenden</string>
+ </property>
+ </action>
+ <action name="ac_About">
+ <property name="icon">
+ <iconset resource="../QMK-Maps.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Maps.png</normaloff>:/Icon/Global/Images/Icons/QMK-Maps.png</iconset>
+ </property>
+ <property name="text">
+ <string>Über QMK-Maps</string>
+ </property>
+ </action>
+ <action name="ac_Connect">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Maps.qrc">
+ <normaloff>:/Actions/Global/Images/Actions/Connection-NO.png</normaloff>
+ <normalon>:/Actions/Global/Images/Actions/Connection-OK.png</normalon>:/Actions/Global/Images/Actions/Connection-NO.png</iconset>
+ </property>
+ <property name="text">
+ <string>Verbinden</string>
+ </property>
+ </action>
+ <action name="ac_LoadRoute">
+ <property name="icon">
+ <iconset resource="../QMK-Maps.qrc">
+ <normaloff>:/Actions/Global/Images/Actions/Load.png</normaloff>:/Actions/Global/Images/Actions/Load.png</iconset>
+ </property>
+ <property name="text">
+ <string>Route Laden</string>
+ </property>
+ </action>
+ <action name="ac_SaveRoute">
+ <property name="icon">
+ <iconset resource="../QMK-Maps.qrc">
+ <normaloff>:/Actions/Global/Images/Actions/Save.png</normaloff>:/Actions/Global/Images/Actions/Save.png</iconset>
+ </property>
+ <property name="text">
+ <string>Route Speichern</string>
+ </property>
+ </action>
+ <action name="ac_LoadMap">
+ <property name="icon">
+ <iconset resource="../QMK-Maps.qrc">
+ <normaloff>:/Actions/Global/Images/Actions/Load-Map.png</normaloff>:/Actions/Global/Images/Actions/Load-Map.png</iconset>
+ </property>
+ <property name="text">
+ <string>Karte laden</string>
+ </property>
+ </action>
+ <action name="ac_Record">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Maps.qrc">
+ <normaloff>:/Actions/Global/Images/Actions/Log-Record.png</normaloff>
+ <normalon>:/Actions/Global/Images/Actions/Log-Stop.png</normalon>:/Actions/Global/Images/Actions/Log-Record.png</iconset>
+ </property>
+ <property name="text">
+ <string>Aufzeichnen</string>
+ </property>
+ <property name="toolTip">
+ <string>Flug aufzeichnen</string>
+ </property>
+ </action>
+ <action name="ac_RouteDelete">
+ <property name="text">
+ <string>Geflogene Route löschen</string>
+ </property>
+ </action>
+ <action name="ac_Toolbar">
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Toolbar</string>
+ </property>
+ </action>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <customwidgets>
+ <customwidget>
+ <class>wgt_Connection</class>
+ <extends>QWidget</extends>
+ <header>wgt_Connection.h</header>
+ <container>1</container>
+ </customwidget>
+ </customwidgets>
+ <resources>
+ <include location="../QMK-Maps.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>ac_Quit</sender>
+ <signal>triggered()</signal>
+ <receiver>dlg_Main_UI</receiver>
+ <slot>close()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>182</x>
+ <y>88</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_MapPos.cpp
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_MapPos.cpp (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_MapPos.cpp (revision 907)
@@ -0,0 +1,29 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#include "dlg_MapPos.h"
+
+dlg_MapPos::dlg_MapPos(QWidget *parent) : QDialog(parent)
+{
+ setupUi(this);
+}
+
+QString dlg_MapPos::get_Data()
+{
+ return QString(le_Links->text().replace(",", ".") + ", " + le_Oben->text().replace(",", ".") + ", " + le_Rechts->text().replace(",", ".") + ", " + le_Unten->text().replace(",", "."));
+}
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_Main.cpp
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_Main.cpp (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_Main.cpp (revision 907)
@@ -0,0 +1,908 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#include <QCryptographicHash>
+#include <QMessageBox>
+#include <QDomDocument>
+#include <QFile>
+
+#include "dlg_Main.h"
+#include "dlg_MapPos.h"
+
+// Konstruktor Main-Form
+dlg_Main::dlg_Main()
+{
+ setupUi(this);
+
+ o_Settings = new cSettings();
+
+ wg_Connection->set_Client(ID_MAPS, QA_NAME + " " + QA_VERSION, DataFields);
+
+ o_Map = new MapControl(QSize(25,25));
+ l_RouteWP = new LineString();
+ init_Directorys();
+ init_GUI();
+ init_Connections();
+}
+
+// Grafische Oberfläche initialisieren
+void dlg_Main::init_GUI()
+{
+ setWindowTitle(QA_NAME + " " + QA_VERSION);
+
+ resize(o_Settings->GUI.Size);
+ move(o_Settings->GUI.Point);
+
+ if (o_Settings->GUI.isMax)
+ {
+ showMaximized();
+ }
+
+ wg_Connection->set_SelectVisible(false);
+
+ cb_CenterPos->setChecked(o_Settings->CONFIG.cb_CenterPos);
+ cb_ShowRoute->setChecked(o_Settings->CONFIG.cb_ShowRoute);
+ cb_ShowWPs->setChecked(o_Settings->CONFIG.cb_ShowWPs);
+ cb_Goto->setChecked(o_Settings->CONFIG.cb_Goto);
+
+// tb_More->addWidget(cb_Maps);
+ cb_Maps->setVisible(false);
+
+ ac_Toolbar->setChecked(o_Settings->GUI.Toolbar);
+
+ if (ac_Toolbar->isChecked())
+ {
+ wg_Connection->set_ButtonVisible(false);
+ }
+ else
+ {
+ ToolBar->setVisible(false);
+ tb_More->setVisible(false);
+ }
+}
+
+// Signale mit Slots verbinden
+void dlg_Main::init_Connections()
+{
+ connect(ac_Connect, SIGNAL(triggered()), wg_Connection, SLOT(slot_btn_Connect()));
+ connect(ac_Toolbar, SIGNAL(triggered()), this, SLOT(slot_ac_Toolbar()));
+
+ connect(sl_Zoom, SIGNAL(valueChanged(int)), this, SLOT(slot_Zoom(int)));
+ connect(cb_Maps, SIGNAL(currentIndexChanged(int)), this, SLOT(slot_ChangeMap(int)));
+
+ connect(cb_ShowWPs, SIGNAL(toggled(bool)), this, SLOT(slot_ShowWayPoints(bool)));
+
+ connect(btn_WPAdd, SIGNAL(clicked()), this, SLOT(slot_btn_WPAdd()));
+ connect(btn_WPFly, SIGNAL(clicked()), this, SLOT(slot_btn_WPFly()));
+ connect(btn_WPDelete, SIGNAL(clicked()), this, SLOT(slot_btn_WPDelete()));
+
+ connect(ac_LoadRoute, SIGNAL(triggered()), this, SLOT(slot_ac_LoadWayPoints()));
+ connect(ac_SaveRoute, SIGNAL(triggered()), this, SLOT(slot_ac_SaveRoute()));
+
+ connect(ac_LoadMap, SIGNAL(triggered()), this, SLOT(slot_ac_LoadMapPic()));
+ connect(ac_Record, SIGNAL(triggered()), this, SLOT(slot_ac_Record()));
+ connect(ac_RouteDelete, SIGNAL(triggered()), this, SLOT(slot_ac_RouteDelete()));
+
+ // About QMK-Kernel & About-QT Dialog einfügen
+ connect(ac_About, SIGNAL(triggered()), this, SLOT(slot_ac_About()));
+ menu_Help->addAction(trUtf8("Über &Qt"), qApp, SLOT(aboutQt()));
+
+ connect(wg_Connection, SIGNAL(sig_Status(int)), this, SLOT(slot_ConnectionStatus(int)));
+ connect(wg_Connection, SIGNAL(sig_MK_Version(s_Hardware)), this, SLOT(slot_MK_Version(s_Hardware)));
+ connect(wg_Connection, SIGNAL(sig_MK_NaviData(s_MK_NaviData)), this, SLOT(slot_MK_NaviData(s_MK_NaviData)));
+ connect(wg_Connection, SIGNAL(sig_MK_WayPoint(int)), this, SLOT(slot_MK_WayPoint(int)));
+}
+
+void dlg_Main::init_Directorys()
+{
+ QDir *t_Dir = new QDir();
+
+ s_Dir.MainData = QDir::homePath() + "/QMK-Data";
+ if (!t_Dir->exists(s_Dir.MainData))
+ {
+ t_Dir->mkdir(s_Dir.MainData);
+ }
+
+ s_Dir.MapCache = s_Dir.MainData + "/Map-Cache";
+ if (!t_Dir->exists(s_Dir.MapCache))
+ {
+ t_Dir->mkdir(s_Dir.MapCache);
+ }
+
+ s_Dir.WPRoutes = s_Dir.MainData + "/WP-Routes";
+ if (!t_Dir->exists(s_Dir.WPRoutes))
+ {
+ t_Dir->mkdir(s_Dir.WPRoutes);
+ }
+
+ s_Dir.MapPics = s_Dir.MainData + "/Map-Pics";
+ if (!t_Dir->exists(s_Dir.MapPics))
+ {
+ t_Dir->mkdir(s_Dir.MapPics);
+ }
+
+ s_Dir.Flights = s_Dir.MainData + "/Flights";
+ if (!t_Dir->exists(s_Dir.Flights))
+ {
+ t_Dir->mkdir(s_Dir.Flights);
+ }
+}
+
+///////////////////////////////////////////////////////////////////
+// QMK-Maps //
+///////////////////////////////////////////////////////////////////
+
+void dlg_Main::create_Map()
+{
+ o_Map->resize(w_Map->size() - QSize(25,50));
+ o_Map->enablePersistentCache(s_Dir.MapCache);
+ o_Map->showScale(true);
+
+ o_Adapter = new OSMMapAdapter();
+
+ o_Layer = new MapLayer("MapLayer", o_Adapter);
+ o_Click = new GeometryLayer("Click", o_Adapter);
+ o_Info = new GeometryLayer("Poute", o_Adapter);
+ o_RouteWP = new GeometryLayer("Route-WayPoint", o_Adapter);
+ o_RouteFL = new GeometryLayer("Route-Flight", o_Adapter);
+
+ o_Map->addLayer(o_Layer);
+ o_Map->addLayer(o_Click);
+ o_Map->addLayer(o_Info);
+ o_Map->addLayer(o_RouteWP);
+ o_Map->addLayer(o_RouteFL);
+
+ o_Map->setZoom(17);
+ o_Map->setView(QPointF(o_Settings->NAVI.Longitude,o_Settings->NAVI.Latitude));
+// o_Map->setView(QPointF(13.5,52.5));
+// o_Map->setView(QPointF(13.419805,52.431787));
+ connect(o_Map, SIGNAL(mouseEventCoordinate(const QMouseEvent*, const QPointF)), this, SLOT(slot_Click(const QMouseEvent*, const QPointF)));
+
+ l_Map->addWidget(o_Map);
+
+ sl_Zoom->setValue(17);
+
+ // Flight
+ Pen[0] = new QPen(QColor(0,0,255,255));
+ Pen[0]->setWidth(2);
+ Pen[1] = new QPen(QColor(0,0,255,255));
+ Pen[1]->setWidth(1);
+ // WayPoint
+ Pen[2] = new QPen(QColor(255,0,0,255));
+ Pen[2]->setWidth(2);
+ Pen[3] = new QPen(QColor(255,0,0,255));
+ Pen[3]->setWidth(1);
+ // Info
+ Pen[4] = new QPen(QColor(0,128,128,255));
+ Pen[4]->setWidth(2);
+ Pen[5] = new QPen(QColor(0,128,128,255));
+ Pen[5]->setWidth(1);
+}
+
+// auf Veränderung der Fenstergröße reagieren
+void dlg_Main::resizeEvent ( QResizeEvent * event )
+{
+ event = event;
+ o_Map->resize(w_Map->size() - QSize(25,25));
+}
+
+void dlg_Main::wheelEvent(QWheelEvent *event)
+{
+ int zoomValue = sl_Zoom->value();
+ int numDegrees = event->delta() / 8;
+ int numSteps = numDegrees / 15;
+ zoomValue += numSteps;
+ if (zoomValue < 0) { zoomValue = 0;}
+ if (zoomValue > 18) { zoomValue = 18;}
+ sl_Zoom->setValue(zoomValue);
+}
+
+QList<sWayPoint> dlg_Main::parse_WayPointKML(QString s_File)
+{
+ QList<sWayPoint> tmp_WayPoints;
+ sWayPoint tmp_WayPoint;
+
+ QFile f_KML(s_File);
+ f_KML.open(QIODevice::ReadOnly | QIODevice::Text);
+
+ QByteArray s_KML;
+
+ while (!f_KML.atEnd())
+ {
+ s_KML.append(f_KML.readLine());
+ }
+
+ f_KML.close();
+
+ QDomDocument *UserXML;
+ UserXML = new QDomDocument;
+
+ UserXML->setContent(s_KML);
+
+ QDomElement Root = UserXML->firstChildElement("kml");
+ QDomElement Document = Root.firstChildElement("Document");
+ QDomElement Placemark = Document.firstChildElement("Placemark");
+ QDomElement Linestring = Placemark.firstChildElement("LineString");
+
+ QString Name = Placemark.firstChildElement("name").toElement().text();
+
+ QString Route = Linestring.firstChildElement("coordinates").toElement().text();
+
+ QStringList s_Points = Route.split(" ");
+
+ QStringList Position;
+
+ for (int z = 0; z < s_Points.count() - 1; z++)
+ {
+ if (z != 20)
+ {
+ Position = s_Points[z].split(",");
+ tmp_WayPoint.Longitude = Position[0].toDouble();
+ tmp_WayPoint.Latitude = Position[1].toDouble();
+ tmp_WayPoint.Altitude = Position[2].toDouble();
+ tmp_WayPoint.Time = sb_Time->value();
+
+ tmp_WayPoints.append(tmp_WayPoint);
+ }
+ else
+ {
+ QMessageBox::warning(this, QA_NAME,trUtf8("Die Wegpunkt-Liste umfasst mehr als 20 Einträge. Es werden nur die ersten 20 Einträge übernommen."), QMessageBox::Ok);
+
+ btn_WPAdd->setEnabled(false);
+
+ z = s_Points.count();
+ }
+ }
+ return tmp_WayPoints;
+}
+
+QList<sWayPoint> dlg_Main::parse_WayPointMKW(QString s_File)
+{
+ QList<sWayPoint> tmp_WayPoints;
+ sWayPoint tmp_WayPoint;
+
+ QFile f_MKW(s_File);
+ f_MKW.open(QIODevice::ReadOnly | QIODevice::Text);
+
+ QString s_MKW;
+
+ while (!f_MKW.atEnd())
+ {
+ s_MKW.append(f_MKW.readLine());
+ }
+
+ f_MKW.close();
+
+ QStringList s_Points = s_MKW.split(" ");
+
+ QStringList Position;
+
+ for (int z = 0; z < s_Points.count() - 1; z++)
+ {
+ if (z != 20)
+ {
+ Position = s_Points[z].split(",");
+ tmp_WayPoint.Longitude = Position[0].toDouble();
+ tmp_WayPoint.Latitude = Position[1].toDouble();
+ tmp_WayPoint.Altitude = Position[2].toDouble();
+ tmp_WayPoint.Time = Position[3].toInt();
+
+ tmp_WayPoints.append(tmp_WayPoint);
+ }
+ else
+ {
+ QMessageBox::warning(this, QA_NAME,trUtf8("Die Wegpunkt-Liste umfasst mehr als 20 Einträge. Es werden nur die ersten 20 Einträge übernommen."), QMessageBox::Ok);
+
+ btn_WPAdd->setEnabled(false);
+
+ z = s_Points.count();
+ }
+ }
+ return tmp_WayPoints;
+}
+
+// Waypoint-Route anzeigen in Karte
+void dlg_Main::show_WayPoints(QList<sWayPoint> WayPoints)
+{
+ Point* p_Point;
+
+ o_RouteWP->removeGeometry(l_RouteWP);
+ p_RouteWP.clear();
+ l_WayPoints.clear();
+
+ l_WayPoints = WayPoints;
+
+ for (int z = 0; z < WayPoints.count(); z++)
+ {
+ p_Point = new Point(WayPoints[z].Longitude, WayPoints[z].Latitude);
+
+ p_RouteWP.append(p_Point);
+ }
+
+ l_RouteWP = new LineString(p_RouteWP, "", Pen[3]);
+ o_RouteWP->addGeometry(l_RouteWP);
+
+ o_Map->setView(p_Point);
+
+ o_Map->updateRequestNew();
+}
+
+// Waypoint-Liste speichern
+void dlg_Main::save_WayPointsMKW(QString s_File)
+{
+ QFile *f_MKW = new QFile(s_File);
+
+ f_MKW->open(QIODevice::ReadWrite | QIODevice::Text);
+
+ QTextStream out(f_MKW);
+
+ out.setRealNumberPrecision(9);
+
+ for (int z = 0; z < l_WayPoints.count(); z++)
+ {
+ out << l_WayPoints[z].Longitude << "," << l_WayPoints[z].Latitude << "," << l_WayPoints[z].Altitude << "," << l_WayPoints[z].Time << " \n";
+ }
+
+ f_MKW->close();
+}
+
+// Aktuelle MK-Position hinzufügen
+void dlg_Main::add_Position(s_MK_NaviData t_NaviData)
+{
+ sWayPoint WayPoint;
+
+ WayPoint.Longitude = HandlerMK::Int2Double(t_NaviData.CurrentPosition.Longitude, 7);
+ WayPoint.Latitude = HandlerMK::Int2Double(t_NaviData.CurrentPosition.Latitude, 7);
+ WayPoint.Altitude = HandlerMK::Int2Double(t_NaviData.CurrentPosition.Altitude, 3);
+
+ o_Settings->NAVI.Latitude = WayPoint.Latitude;
+ o_Settings->NAVI.Longitude = WayPoint.Longitude;
+
+ l_Track.append(WayPoint);
+
+ o_RouteFL->removeGeometry(l_RouteFL);
+ p_RouteFL.append(new Point(WayPoint.Longitude, WayPoint.Latitude));
+
+ o_Click->removeGeometry(LastPos);
+
+ Point* P = new CirclePoint(WayPoint.Longitude, WayPoint.Latitude, "P1", Point::Middle, Pen[0]);
+ LastPos = P;
+// P->setBaselevel(17);
+ o_Click->addGeometry(P);
+
+ // Target anzeigen
+ o_Click->removeGeometry(Target);
+
+ Target = new ImagePoint( HandlerMK::Int2Double(t_NaviData.TargetPosition.Longitude, 7), HandlerMK::Int2Double(t_NaviData.TargetPosition.Latitude, 7), ":/Flags/Global/Images/Flags/Target.png", "Start");
+ Target->setBaselevel(o_Adapter->adaptedZoom());
+ o_Click->addGeometry(Target);
+
+ if (cb_CenterPos->isChecked())
+ {
+ o_Map->setView(QPointF(WayPoint.Longitude, WayPoint.Latitude));
+ }
+
+ if (cb_ShowRoute->isChecked())
+ {
+ l_RouteFL = new LineString(p_RouteFL, "", Pen[1]);
+
+ o_RouteFL->addGeometry(l_RouteFL);
+ }
+ o_Map->updateRequestNew();
+
+ if (ac_Record->isChecked())
+ {
+ QTextStream Out(o_Record);
+
+ Out.setRealNumberPrecision(9);
+
+ Out << WayPoint.Longitude << ", " << WayPoint.Latitude << ", " << WayPoint.Altitude << "\n";
+ }
+}
+
+// Ein Ziel anfliegen.
+// TODO: Check auf Entfernung zur IST-Position.
+void dlg_Main::send_Target(Point *t_Target)
+{
+ if (l_Track.count() > 0)
+ {
+ s_MK_WayPoint s_WayPoint;
+
+ s_WayPoint.Position.Latitude = int32_t(t_Target->latitude() * 10000000+0.5);
+ s_WayPoint.Position.Longitude = int32_t(t_Target->longitude() * 10000000+0.5);
+ s_WayPoint.Position.Altitude = 0;
+ s_WayPoint.Position.Status = NEWDATA;
+ s_WayPoint.Heading = -1;
+ s_WayPoint.ToleranceRadius = 5;
+ s_WayPoint.HoldTime = sb_Time->value();
+ s_WayPoint.Event_Flag = 0;
+ s_WayPoint.Index = 1;
+ s_WayPoint.reserve[0] = 0; // reserve
+ s_WayPoint.reserve[1] = 0; // reserve
+ s_WayPoint.reserve[2] = 0; // reserve
+ s_WayPoint.reserve[3] = 0;
+
+ memcpy((unsigned char *)&c_Data, (unsigned char *)&s_WayPoint, sizeof(s_WayPoint));
+ wg_Connection->send_Data(HandlerMK::make_Frame('s', ADDRESS_NC, c_Data, sizeof(s_WayPoint)).toLatin1().data());
+ }
+ else
+ {
+ QMessageBox::warning(this, QA_NAME,tr("Es wurden noch keine aktuellen Positionsdaten vom Mikrokopter empfangen."), QMessageBox::Ok);
+ }
+}
+
+//Waypoint-Liste zum MK senden
+void dlg_Main::send_WayPoints(QList<sWayPoint> t_WayPoints, int t_Pos)
+{
+ s_MK_WayPoint s_WayPoint;
+ double Longitude, Latitude;
+
+ if (t_Pos == 0)
+ { // Waypoint-Liste löschen
+ s_WayPoint.Position.Status = INVALID;
+
+ memcpy((unsigned char *)&c_Data, (unsigned char *)&s_WayPoint, sizeof(s_WayPoint));
+ wg_Connection->send_Data(HandlerMK::make_Frame('w', ADDRESS_NC, c_Data, sizeof(s_WayPoint)).toLatin1().data(), DATA_WRITE_WAYPOINT);
+ }
+ else
+ {
+ int z = t_Pos - 1;
+ Longitude = t_WayPoints[z].Longitude;
+ Latitude = t_WayPoints[z].Latitude;
+
+ if (Longitude < 100)
+ Longitude *= 10000000+0.5;
+
+ if (Latitude < 100)
+ Latitude *= 10000000+0.5;
+
+ //fülle Wegpunkt-Daten
+ s_WayPoint.Position.Altitude = 0;
+ s_WayPoint.Position.Longitude = int32_t(Longitude);
+ s_WayPoint.Position.Latitude = int32_t(Latitude);
+ s_WayPoint.Position.Status = NEWDATA;
+ s_WayPoint.Heading = -1;
+ s_WayPoint.ToleranceRadius = 5;
+ s_WayPoint.HoldTime = t_WayPoints[z].Time;
+ s_WayPoint.Event_Flag = 0;
+ s_WayPoint.Index = t_Pos;
+ s_WayPoint.reserve[0] = 0; // reserve
+ s_WayPoint.reserve[1] = 0; // reserve
+ s_WayPoint.reserve[2] = 0; // reserve
+ s_WayPoint.reserve[3] = 0; // reserve
+
+ memcpy((unsigned char *)&c_Data, (unsigned char *)&s_WayPoint, sizeof(s_WayPoint));
+ wg_Connection->send_Data(HandlerMK::make_Frame('w', ADDRESS_NC, c_Data, sizeof(s_WayPoint)).toLatin1().data(), DATA_WRITE_WAYPOINT);
+ }
+}
+
+///////////
+// Slots //
+///////////
+
+// About-Dialog
+void dlg_Main::slot_ac_About()
+{
+ QMessageBox::about(this, trUtf8(("Über ")) + QA_NAME, QA_ABOUT);
+}
+
+void dlg_Main::slot_ac_Toolbar()
+{
+ if (ac_Toolbar->isChecked())
+ {
+ wg_Connection->set_ButtonVisible(false);
+ ToolBar->setVisible(true);
+ tb_More->setVisible(true);
+ }
+ else
+ {
+ wg_Connection->set_ButtonVisible(true);
+ ToolBar->setVisible(false);
+ tb_More->setVisible(false);
+ }
+}
+
+void dlg_Main::slot_ConnectionStatus(int li_Status)
+{
+ if (li_Status)
+ {
+ ac_Connect->setChecked(true);
+ ac_Connect->setText(tr("Trennen"));
+ }
+ else
+ {
+ ac_Connect->setChecked(false);
+ ac_Connect->setText(tr("Verbinden"));
+ }
+}
+
+void dlg_Main::slot_MK_Version(s_Hardware ls_Version)
+{
+ gs_Version = ls_Version;
+ setWindowTitle(QA_NAME + " " + QA_VERSION + " - " + ls_Version.Hardware + " " + ls_Version.Version);
+}
+
+void dlg_Main::slot_MK_NaviData(s_MK_NaviData ps_MK_NaviData)
+{
+ QString Mode = "NC-Flags : ";
+ if (ps_MK_NaviData.NCFlags & 0x08) {le_Mode->setText(tr("Range Limit")); Mode += "R";}
+ if (ps_MK_NaviData.NCFlags & 0x10) {le_Mode->setText(tr("Serial Error")); Mode += "S";}
+ if (ps_MK_NaviData.NCFlags & 0x20) {le_Mode->setText(tr("Target reached")); Mode += "T";}
+ if (ps_MK_NaviData.NCFlags & 0x40) {le_Mode->setText(tr("Manual Control")); Mode += "M";}
+ if (ps_MK_NaviData.NCFlags & 0x01) {le_Mode->setText(tr("Free")); Mode += "F";}
+ if (ps_MK_NaviData.NCFlags & 0x02) {le_Mode->setText(tr("Position Hold")); Mode += "P";}
+ if (ps_MK_NaviData.NCFlags & 0x04) {le_Mode->setText(tr("Coming Home")); Mode += "C";}
+
+ le_WP->setText(QString("%1/").arg(ps_MK_NaviData.WaypointIndex) + QString("%1").arg(ps_MK_NaviData.WaypointNumber));
+ le_WPTime->setText(QString("%1:").arg(ps_MK_NaviData.TargetHoldTime / 60) + (QString("%1").arg(ps_MK_NaviData.TargetHoldTime % 60)).rightJustified(2, '0'));
+ le_WPDist->setText(QString("%1m").arg(ps_MK_NaviData.TargetPositionDeviation.Distance / 10));
+ le_HomeDist->setText(QString("%1m").arg(ps_MK_NaviData.HomePositionDeviation.Distance / 10));
+ le_Sats->setText(QString("%1").arg(ps_MK_NaviData.SatsInUse));
+
+ add_Position(ps_MK_NaviData);
+}
+
+void dlg_Main::slot_MK_WayPoint(int pi_WayPointID)
+{
+ if (pi_WayPointID < l_WayPoints.count())
+ {
+ send_WayPoints(l_WayPoints, pi_WayPointID + 1);
+ }
+}
+///////////////////////////////////////////////////////////////////
+// QMK-Maps //
+///////////////////////////////////////////////////////////////////
+
+// Zoom der Karte ändern
+void dlg_Main::slot_Zoom(int t_Zoom)
+{
+ o_Map->setZoom(t_Zoom);
+}
+
+// Karte wechseln
+void dlg_Main::slot_ChangeMap(int t_Set)
+{
+ int zoom = o_Adapter->adaptedZoom();
+ QPointF a = o_Map->currentCoordinate();
+
+ o_Map->setZoom(0);
+
+ switch(t_Set)
+ {
+ case 0 : // OpenStreetMap
+ {
+ o_Adapter = new OSMMapAdapter();
+ }
+ break;
+ case 1 : // Yahoo Sat
+ {
+ o_Adapter = new TileMapAdapter("tile.openaerialmap.org", "/tiles/1.0.0/openaerialmap-900913/%1/%2/%3.png", 256, 0, 17);
+ }
+ break;
+ case 2 : // Google Maps
+ {
+ o_Adapter = new GoogleMapAdapter();
+ }
+ break;
+ case 3 : // Google Sat
+ {
+ o_Adapter = new GoogleSatMapAdapter();
+ }
+ break;
+ case 4 : // Yahoo Maps
+ {
+ o_Adapter = new YahooMapAdapter();
+ }
+ break;
+ case 5 : // Yahoo Sat
+ {
+ o_Adapter = new YahooMapAdapter("us.maps3.yimg.com", "/aerial.maps.yimg.com/png?v=1.7&t=a&s=256&x=%2&y=%3&z=%1");
+ }
+ break;
+ }
+
+ o_Layer->setMapAdapter(o_Adapter);
+ o_Click->setMapAdapter(o_Adapter);
+ o_Info->setMapAdapter(o_Adapter);
+ o_RouteWP->setMapAdapter(o_Adapter);
+ o_RouteFL->setMapAdapter(o_Adapter);
+
+ o_Map->updateRequestNew();
+ o_Map->setZoom(zoom);
+}
+
+// Click in die Karte
+void dlg_Main::slot_Click(const QMouseEvent* Event, const QPointF Coord)
+{
+ if ((Event->type() == QEvent::MouseButtonPress) && ((Event->button() == Qt::RightButton) || (Event->button() == Qt::MidButton)))
+ {
+ sl_Zoom->setValue(o_Adapter->adaptedZoom());
+ }
+
+ // Überwachen ob Karte verschoben wird
+ if ((Event->type() == QEvent::MouseButtonPress) && (Event->button() == Qt::LeftButton))
+ {
+ MapCenter = o_Map->currentCoordinate();
+ }
+
+ // Nur wenn nicht Verschoben dann einen Punkt setzen
+ if ((Event->type() == QEvent::MouseButtonRelease) && (Event->button() == Qt::LeftButton))
+ {
+ if (o_Map->currentCoordinate() == MapCenter)
+ {
+ if (l_WayPoints.count() < 20)
+ {
+ btn_WPAdd->setEnabled(true);
+ }
+
+ o_Click->removeGeometry(ClickPoint);
+
+ ClickPoint = new CirclePoint(Coord.x(), Coord.y(), 6, "P1", Point::Middle, Pen[2]);
+
+
+ LastClick = new Point(Coord.x(), Coord.y());
+
+ ClickPoint->setBaselevel(o_Adapter->adaptedZoom());
+ o_Click->addGeometry(ClickPoint);
+
+// o_Click->removeGeometry(Flag);
+// Flag = new ImagePoint(Coord.x(), Coord.y(), ":/Flags/Global/Images/Flags/Target.png", "Start");
+// Flag->setBaselevel(o_Adapter->adaptedZoom());
+// o_Click->addGeometry(Flag);
+
+
+ if (cb_Goto->isChecked())
+ {
+ send_Target(LastClick);
+ }
+ }
+ }
+
+ o_Map->updateRequestNew();
+// qDebug(QString("%1").arg(Coord.x()).toLatin1().data());
+// qDebug(QString("%1").arg(Coord.y()).toLatin1().data());
+}
+
+// WayPoint zur Liste hinzufügen
+void dlg_Main::slot_btn_WPAdd()
+{
+ cb_ShowWPs->setChecked(true);
+
+ sWayPoint WayPoint;
+
+ WayPoint.Longitude = LastClick->longitude();
+ WayPoint.Latitude = LastClick->latitude();
+ WayPoint.Time = sb_Time->value();
+
+ l_WayPoints.append(WayPoint);
+
+ o_RouteWP->removeGeometry(l_RouteWP);
+
+ p_RouteWP.append(LastClick);
+ l_RouteWP = new LineString(p_RouteWP, "", Pen[3]);
+
+ o_RouteWP->addGeometry(l_RouteWP);
+ o_Map->updateRequestNew();
+
+ btn_WPFly->setEnabled(true);
+
+ if (l_WayPoints.count() == 20)
+ {
+ QMessageBox::warning(this, QA_NAME,trUtf8("Wegpunkt-Liste ist voll. Es können maximal 20 Wegpunkte benutzt werden."), QMessageBox::Ok);
+ btn_WPAdd->setEnabled(false);
+ }
+}
+
+// WayPoint-Liste übertragen
+void dlg_Main::slot_btn_WPFly()
+{
+ send_WayPoints(l_WayPoints, 0);
+}
+
+// WayPpoint-Liste löschen
+void dlg_Main::slot_btn_WPDelete()
+{
+ p_RouteWP.clear();
+ l_WayPoints.clear();
+ o_RouteWP->clearGeometries();
+ l_RouteWP = new LineString(p_RouteWP, "", Pen[0]);
+// o_RouteWP->addGeometry(l_RouteWP);
+// o_RouteWP->removeGeometry(l_RouteWP);
+
+ o_Map->updateRequestNew();
+
+ btn_WPFly->setEnabled(false);
+ btn_WPAdd->setEnabled(true);
+}
+
+// WayPoint-Liste laden
+void dlg_Main::slot_ac_LoadWayPoints()
+{
+ QString Filename = QFileDialog::getOpenFileName(this, "WayPoint-Route laden", s_Dir.WPRoutes, "Mikrokopter WayPoints(*.mkw);;KML-Datei(*.kml);;Alle Dateien (*)");
+
+ if (!Filename.isEmpty())
+ {
+ if (Filename.endsWith(".kml", Qt::CaseInsensitive))
+ {
+ cb_ShowWPs->setChecked(true);
+ btn_WPFly->setEnabled(true);
+
+ show_WayPoints(parse_WayPointKML(Filename));
+ }
+ if (Filename.endsWith(".mkw", Qt::CaseInsensitive))
+ {
+ cb_ShowWPs->setChecked(true);
+ btn_WPFly->setEnabled(true);
+
+ show_WayPoints(parse_WayPointMKW(Filename));
+ }
+ }
+}
+
+// WayPoint-Liste speichern
+void dlg_Main::slot_ac_SaveRoute()
+{
+ QString Filename = QFileDialog::getSaveFileName(this, "WayPoint-Route speichern", s_Dir.WPRoutes, "Mikrokopter WayPoints(*.mkw);;Alle Dateien (*)");
+
+ if (!Filename.isEmpty())
+ {
+ if (!(Filename.endsWith(".mkw", Qt::CaseInsensitive)))
+ {
+ Filename = Filename + QString(".mkw");
+ }
+
+ save_WayPointsMKW(Filename);
+ }
+}
+
+// Route anzeigen / ausblenden
+void dlg_Main::slot_ShowWayPoints(bool Show)
+{
+ if (Show == true)
+ {
+ if (l_RouteWP->hasPoints())
+ {
+ o_RouteWP->addGeometry(l_RouteWP);
+ o_Map->updateRequestNew();
+ }
+ }
+ else
+ {
+ o_RouteWP->removeGeometry(l_RouteWP);
+ o_Map->updateRequestNew();
+ }
+}
+
+// Bilddatei als Karteladen.
+void dlg_Main::slot_ac_LoadMapPic()
+{
+ QString Filename = QFileDialog::getOpenFileName(this, "Bild als Karte", s_Dir.MapPics, "Bilddatei(*.jpg *.png *.gif);;Alle Dateien (*)");
+
+ if (!Filename.isEmpty())
+ {
+ QFile *f_Points = new QFile(Filename + ".pos");
+
+ if (f_Points->exists())
+ {
+ f_Points->open(QIODevice::ReadOnly | QIODevice::Text);
+
+ QString s_Points;
+
+ while (!f_Points->atEnd())
+ {
+ s_Points.append(f_Points->readLine());
+ }
+
+ f_Points->close();
+
+ QStringList s_Pos = s_Points.split(",");
+
+ FixedImageOverlay* fip = new FixedImageOverlay(s_Pos[0].toDouble(), s_Pos[1].toDouble(), s_Pos[2].toDouble(), s_Pos[3].toDouble(), Filename);
+
+ o_Layer->addGeometry(fip);
+ o_Map->setView(QPointF(((s_Pos[0].toDouble() + s_Pos[2].toDouble()) / 2),((s_Pos[1].toDouble() + s_Pos[3].toDouble()) / 2)));
+
+ o_Map->updateRequestNew();
+ }
+ else
+ {
+ dlg_MapPos *f_MapPos = new dlg_MapPos(this);
+
+ if (f_MapPos->exec()==QDialog::Accepted)
+ {
+ QString Data = f_MapPos->get_Data();
+
+ f_Points->open(QIODevice::ReadWrite | QIODevice::Text);
+
+ QTextStream out(f_Points);
+
+ out.setRealNumberPrecision(9);
+
+ out << Data << "\n";
+
+ f_Points->close();
+
+ QStringList s_Pos = Data.split(",");
+
+ FixedImageOverlay* fip = new FixedImageOverlay(s_Pos[0].toDouble(), s_Pos[1].toDouble(), s_Pos[2].toDouble(), s_Pos[3].toDouble(), Filename);
+
+ o_Layer->addGeometry(fip);
+ o_Map->updateRequestNew();
+ }
+
+ }
+ }
+}
+
+// Flug als KML aufzeichnen
+void dlg_Main::slot_ac_Record()
+{
+ if (ac_Record->isChecked())
+ {
+ QString f_Name = s_Dir.Flights + "/" + QDate::currentDate().toString(("yyyy-MM-dd")) + "_" + QTime::currentTime().toString("hh-mm");
+
+ ac_Record->setText(tr("Stoppen"));
+
+ o_Record = new QFile(f_Name + ".kml");
+ o_Record->open(QIODevice::Append | QIODevice::Text);
+
+ QTextStream Out(o_Record);
+ Out << HandlerKML::get_Header(tr("Mikrokopter Flugaufzeichnung")) << "\n";
+
+ }
+ else
+ {
+ QTextStream Out(o_Record);
+ Out << HandlerKML::get_Footer() << "\n";
+ o_Record->close();
+ ac_Record->setText(tr("Aufzeichnen"));
+ }
+}
+
+// WayPpoint-Liste löschen
+void dlg_Main::slot_ac_RouteDelete()
+{
+ p_RouteFL.clear();
+ l_Track.clear();
+ o_RouteFL->clearGeometries();
+ l_RouteFL = new LineString(p_RouteFL, "", Pen[0]);
+// o_RouteFL->removeGeometry(l_RouteFL);
+
+ o_Map->updateRequestNew();
+}
+
+// Programm Ende
+dlg_Main::~dlg_Main()
+{
+ o_Settings->GUI.isMax = isMaximized();
+ o_Settings->GUI.Size = size();
+ o_Settings->GUI.Point = pos();
+ o_Settings->GUI.Toolbar = ac_Toolbar->isChecked();
+
+ o_Settings->CONFIG.cb_CenterPos = cb_CenterPos->isChecked();
+ o_Settings->CONFIG.cb_ShowRoute = cb_ShowRoute->isChecked();
+ o_Settings->CONFIG.cb_ShowWPs = cb_ShowWPs->isChecked();
+ o_Settings->CONFIG.cb_Goto = cb_Goto->isChecked();
+
+ o_Settings->NAVI.StayTime = sb_Time->value();
+
+ o_Settings->write_Settings();
+
+// qDebug("Ende.");
+}
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_MapPos.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_MapPos.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_MapPos.h (revision 907)
@@ -0,0 +1,35 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DLG_MAPPOS_H
+#define DLG_MAPPOS_H
+
+#include <QDialog>
+
+#include "ui_dlg_MapPos.h"
+
+class dlg_MapPos : public QDialog, public Ui::dlg_MapPos_UI
+{
+ Q_OBJECT
+
+public:
+ dlg_MapPos(QWidget *parent = 0);
+ QString get_Data();
+};
+
+#endif // DLG_MAPPOS_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_Main.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_Main.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_Main.h (revision 907)
@@ -0,0 +1,142 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DLG_MAIN_H
+#define DLG_MAIN_H
+
+#include <QtGui/QMainWindow>
+#include <QFile>
+
+#include "ui_dlg_Main.h"
+
+#include "../Defines.h"
+#include "../TypeDefs.h"
+
+#include "../Classes/cSettings.h"
+
+#include "../../Global/Class_QMapControl.h"
+
+#include "../../Global/Class_HandlerKML/HandlerKML.h"
+
+using namespace qmapcontrol;
+
+class dlg_Main : public QMainWindow, public Ui::dlg_Main_UI
+{
+ Q_OBJECT
+
+ public:
+ dlg_Main();
+ ~dlg_Main();
+ void create_Map();
+
+ private:
+
+ // Info über die Hardware
+ s_Hardware gs_Version;
+
+ // Settings-Object
+ cSettings *o_Settings;
+
+ char c_Data[150];
+
+ // Programm-Initialisirungen
+ void init_GUI();
+ void init_Connections();
+
+ void init_Directorys();
+ s_Directorys s_Dir;
+
+ // QMK-Maps
+ QFile *o_Record;
+
+ QPen* Pen[6];
+
+ MapControl *o_Map;
+ MapAdapter *o_Adapter;
+
+ Layer *o_Layer;
+ Layer *o_Click;
+
+ Layer *o_Info;
+ Layer *o_RouteWP;
+ Layer *o_RouteFL;
+
+ QList<Point*> p_RouteWP;
+ LineString* l_RouteWP;
+
+ QList<Point*> p_RouteFL;
+ LineString* l_RouteFL;
+
+ Point* LastPos;
+ Point* LastClick;
+ Point* ClickPoint;
+ Point* Flag;
+ Point* Home;
+ Point* Target;
+
+ QPointF MapCenter;
+
+ QList<sWayPoint> l_WayPoints;
+ QList<sWayPoint> l_Track;
+
+ QList<sWayPoint> parse_WayPointKML(QString s_File);
+ QList<sWayPoint> parse_WayPointMKW(QString s_File);
+
+ void show_WayPoints(QList<sWayPoint> WayPoints);
+
+ void save_WayPointsMKW(QString s_File);
+
+ void add_Position(s_MK_NaviData t_NaviData);
+// void show_Data(s_MK_NaviData t_NaviData);
+ void send_Target(Point *t_Target);
+ void send_WayPoints(QList<sWayPoint> l_WayPoints, int t_Pos = 0);
+
+ private slots:
+ void slot_ac_About();
+ void slot_ac_Toolbar();
+
+ void slot_ConnectionStatus(int li_Status);
+ void slot_MK_Version(s_Hardware ls_Version);
+ void slot_MK_NaviData(s_MK_NaviData ps_MK_NaviData);
+ void slot_MK_WayPoint(int pi_WayPointID);
+
+ // QMK-Maps
+ void slot_Zoom(int t_Zoom);
+ void slot_ChangeMap(int);
+ void slot_Click(const QMouseEvent*, const QPointF);
+
+ void slot_btn_WPAdd();
+ void slot_btn_WPFly();
+ void slot_btn_WPDelete();
+ void slot_ShowWayPoints(bool);
+
+ void slot_ac_RouteDelete();
+
+ void slot_ac_LoadMapPic();
+ void slot_ac_Record();
+
+ void slot_ac_LoadWayPoints();
+ void slot_ac_SaveRoute();
+
+ protected:
+ virtual void wheelEvent(QWheelEvent *event);
+ virtual void resizeEvent ( QResizeEvent * event );
+
+};
+
+#endif // DLG_MAIN_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_MapPos.ui
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_MapPos.ui (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Maps/Dialogs/dlg_MapPos.ui (revision 907)
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>dlg_MapPos_UI</class>
+ <widget class="QDialog" name="dlg_MapPos_UI">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>376</width>
+ <height>129</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Karten-Positionen</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>116</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="le_Oben"/>
+ </item>
+ <item row="0" column="3">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>116</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLineEdit" name="le_Links"/>
+ </item>
+ <item row="1" column="1">
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>115</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="2" colspan="2">
+ <widget class="QLineEdit" name="le_Rechts"/>
+ </item>
+ <item row="2" column="0">
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>116</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="1" colspan="2">
+ <widget class="QLineEdit" name="le_Unten"/>
+ </item>
+ <item row="2" column="3">
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>116</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="0" colspan="4">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pb_Save">
+ <property name="text">
+ <string>Speichern</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton">
+ <property name="text">
+ <string>Abbrechen</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>pb_Save</sender>
+ <signal>clicked()</signal>
+ <receiver>dlg_MapPos_UI</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>227</x>
+ <y>109</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>108</x>
+ <y>100</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>pushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>dlg_MapPos_UI</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>340</x>
+ <y>112</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>339</x>
+ <y>65</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_Main.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_Main.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_Main.h (revision 907)
@@ -0,0 +1,114 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DLG_MAIN_H
+#define DLG_MAIN_H
+
+#include <QtGui/QMainWindow>
+#include <QTcpServer>
+#include <QTcpSocket>
+#include <QComboBox>
+#include <QToolButton>
+#include <QTimer>
+
+#include "ui_dlg_Main.h"
+
+#include "dlg_MotorMixer.h"
+#include "dlg_MotorTest.h"
+
+#include "../Defines.h"
+#include "../TypeDefs.h"
+
+#include "../Classes/cSettings.h"
+
+class dlg_Main : public QMainWindow, public Ui::dlg_Main_UI
+{
+ Q_OBJECT
+
+ public:
+ dlg_Main();
+ ~dlg_Main();
+
+ private:
+ QTimer *o_Timer;
+
+ // Info über die Hardware
+ s_Hardware gs_Version;
+
+ // Settings-Object
+ cSettings *o_Settings;
+
+ // MotorMixer GUI
+ dlg_MotorMixer *f_MotorMixer;
+
+ // MotorTest GUI
+ dlg_MotorTest *f_MotorTest;
+
+ char c_Data[150];
+
+ // Programm-Initialisirungen
+ void init_GUI();
+ void init_Connections();
+
+ void init_Directorys();
+ s_Directorys s_Dir;
+
+ void set_LED(QToolButton *ToolButton, bool On = false);
+ int get_Value(QComboBox *Combo);
+ QComboBox *setCombo(QComboBox *Combo, int Wert);
+
+ void show_MK_Settings(s_MK_Settings t_Set);
+ s_MK_Settings get_MK_Settings();
+
+ private slots:
+ void slot_Timer();
+
+ void slot_ac_About();
+ void slot_ac_Toolbar();
+
+ void slot_ConnectionStatus(int li_Status);
+ void slot_MK_Version(s_Hardware ls_Version);
+ void slot_MK_ReadSettings(s_MK_Settings ps_MK_Settings);
+ void slot_MK_WriteSettings(int pi_ID);
+ void slot_MK_ReadMotorMixer(s_MK_Mixer ps_MK_MotorMixer);
+ void slot_MK_WriteMotorMixer(int pi_ID);
+ void slot_MK_PPMData(s_MK_PPM_Data ps_PPMData);
+
+ void slot_ac_Write();
+ void slot_ac_Read();
+ void slot_ac_Save();
+ void slot_ac_Load();
+
+ void slot_ac_MotorMixer();
+ void slot_ac_MotorTest();
+
+ void slot_PageChange(int Page);
+
+ void slot_LEDtoValue();
+ void slot_ValuetoLED16(int Wert);
+ void slot_ValuetoLED17(int Wert);
+ void slot_ValuetoLED16A(int Wert);
+ void slot_ValuetoLED17A(int Wert);
+
+ void slot_tbUp();
+ void slot_tbDown();
+ void slot_tbLeft();
+ void slot_tbRight();
+};
+
+#endif // DLG_MAIN_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_MotorMixer.h
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_MotorMixer.h (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_MotorMixer.h (revision 907)
@@ -0,0 +1,68 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Manuel Schrape *
+ * manuel.schrape@gmx.de *
+ * *
+ * This program 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 2 of the License. *
+ * *
+ * This program 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 this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DLG_MOTORMIXER_H
+#define DLG_MOTORMIXER_H
+
+#include <QObject>
+#include <QFileDialog>
+#include <QSettings>
+
+#include "ui_dlg_MotorMixer.h"
+
+#include "../Classes/cSettings.h"
+
+#include "../../Global/Kopter.h"
+#include "../../Global/Global.h"
+#include "../../Global/MK_Datatypes.h"
+#include "../../Global/Class_HandlerMK/HandlerMK.h"
+
+class dlg_MotorMixer : public QDialog, public Ui::dlg_MotorMixer_UI
+{
+ Q_OBJECT
+
+public:
+ dlg_MotorMixer(QWidget *parent = 0);
+ void set_Objects(cSettings *t_Settings, s_Directorys t_Dir);
+ void set_MotorConfig(s_MK_Mixer t_Mixer);
+ void read_Mixer();
+private:
+ cSettings *o_Settings;
+
+ s_MK_Mixer MK_Mixer;
+
+ s_Directorys s_Dir;
+
+ char c_Data[150];
+
+ void set_MotorData();
+ void get_MotorData();
+
+private slots:
+ void slot_pb_READ();
+ void slot_pb_WRITE();
+ void slot_pb_LOAD();
+ void slot_pb_SAVE();
+ void slot_CheckValue(int Wert);
+
+ signals:
+ void sig_SendData(QString ,int);
+
+};
+
+#endif // DLG_MOTORMIXER_H
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_MotorTest.ui
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_MotorTest.ui (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_MotorTest.ui (revision 907)
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>dlg_MotorTest_UI</class>
+ <widget class="QDialog" name="dlg_MotorTest_UI">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>194</width>
+ <height>208</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Motor-Test</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Motoren</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="cb_1">
+ <property name="text">
+ <string>1</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QCheckBox" name="cb_2">
+ <property name="text">
+ <string>2</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QCheckBox" name="cb_3">
+ <property name="text">
+ <string>3</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QCheckBox" name="cb_4">
+ <property name="text">
+ <string>4</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="cb_5">
+ <property name="text">
+ <string>5</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="cb_6">
+ <property name="text">
+ <string>6</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QCheckBox" name="cb_7">
+ <property name="text">
+ <string>7</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QCheckBox" name="cb_8">
+ <property name="text">
+ <string>8</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="cb_9">
+ <property name="text">
+ <string>9</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="cb_10">
+ <property name="text">
+ <string>10</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QCheckBox" name="cb_11">
+ <property name="text">
+ <string>11</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QCheckBox" name="cb_12">
+ <property name="text">
+ <string>12</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="4">
+ <widget class="QCheckBox" name="cb_ALL">
+ <property name="text">
+ <string>Alle auswählen</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QSlider" name="sl_Speed">
+ <property name="maximum">
+ <number>255</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QPushButton" name="pb_OK">
+ <property name="text">
+ <string>OK</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>pb_OK</sender>
+ <signal>clicked()</signal>
+ <receiver>dlg_MotorTest_UI</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>63</x>
+ <y>174</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>29</x>
+ <y>177</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_1</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>29</x>
+ <y>47</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_2</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>71</x>
+ <y>47</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_3</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>115</x>
+ <y>47</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_4</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>160</x>
+ <y>47</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_5</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>29</x>
+ <y>74</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_6</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>71</x>
+ <y>74</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_7</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>115</x>
+ <y>74</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_8</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>160</x>
+ <y>74</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_9</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>29</x>
+ <y>101</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_10</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>71</x>
+ <y>101</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_11</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>115</x>
+ <y>101</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>cb_ALL</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>cb_12</receiver>
+ <slot>setChecked(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>96</x>
+ <y>128</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>160</x>
+ <y>101</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
Index: QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_Main.ui
===================================================================
--- QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_Main.ui (revision 0)
+++ QMK-Tools v1.3.1 - FC v0.82/QMK-Settings/Dialogs/dlg_Main.ui (revision 907)
@@ -0,0 +1,9828 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>dlg_Main_UI</class>
+ <widget class="QMainWindow" name="dlg_Main_UI">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>753</width>
+ <height>353</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>QMK-Template</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="../QMK-Settings.qrc">
+ <normaloff>:/Icon/Global/Images/Icons/QMK-Settings.png</normaloff>:/Icon/Global/Images/Icons/QMK-Settings.png</iconset>
+ </property>
+ <widget class="QWidget" name="centralWidget">
+ <layout class="QGridLayout" name="gridLayout_28">
+ <item row="0" column="0" colspan="2">
+ <widget class="wgt_Connection" name="wg_Connection" native="true"/>
+ </item>
+ <item row="0" column="2">
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_27">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QWidget" name="wg_Set" native="true">
+ <layout class="QGridLayout" name="gridLayout_8">
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_146">
+ <property name="text">
+ <string>Parametersatz</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="sb_Set">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>5</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLineEdit" name="le_SetName">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QListWidget" name="listWidget">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>120</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="font">
+ <font/>
+ </property>
+ <item>
+ <property name="text">
+ <string>Konfiguration</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Kanäle</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Stick</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Höhe</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Gyro</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Kamera</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Sonstiges</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Kopplung</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Looping</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>User</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Output</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Navi-Ctrl</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Navi-Ctrl 2</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>10</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="flags">
+ <set>ItemIsSelectable|ItemIsUserCheckable|ItemIsEnabled</set>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="2">
+ <widget class="QStackedWidget" name="stackedWidget">
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="page">
+ <layout class="QGridLayout" name="gridLayout_7">
+ <item row="0" column="3">
+ <widget class="QTextEdit" name="te_Help_1">
+ <property name="minimumSize">
+ <size>
+ <width>200</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>200</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;Diese Seite dient der Konfiguration der Hardware bzw. der verschiedenen Funktionen des Mikrokopters.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Höhenregler&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: Häkchen setzen, wenn der Luftdrucksensor bestückt ist und die Höhenregelung benutzt werden soll. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Höhenfunktion per Schalter&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: wenn die Fernsteuerung mit einem Kippschalter auf einem freien Kanal erweitert wurde, kann die Funktion „Halten der aktuell geflogenen Höhe“ zugeschaltet werden. Wenn dies nicht angewählt wird, gilt der Setpoint (siehe unten), also z.B. ein Poti. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Heading Hold&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: In diesem Modus richtet sich der MikroKopter nicht waagerecht aus wenn der Stick in Neutralstellung ist. Diese Funktion ist eher etwas für erfahrenen Piloten, oder Piloten, die an X-3D-Steuerung gewöhnt sind. Mit dieser Einstellung sind alle Arten der Loopings möglich. &lt;/span&gt;&lt;/p&gt;
+&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; font-size:11pt;&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;--&amp;gt; Achtung: Wer HH fliegen möchte, muss den I-Anteil des Hauptreglers erhöhen (auf 30 z.B.)! &lt;/li&gt;&lt;/ul&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Kompass&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: Häkchen setzen, wenn das Kompassmodul angeschlossen ist und genutzt werden soll. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Kompass Ausrichtung fest&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: Der MikroKopter richtet sich dann immer wieder in die Richtung aus, in die er beim Start gestanden hat. Ist das Feld nicht markiert, lässt sich die Richtung mit dem Gier-Stick ändern. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;GPS&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: alternative Software-Versionen unterstützen ein ublox-GPS-Modul. Damit sind dann GPS-Funktionen wie Position halten, Position anfliegen, coming home und das Abfliegen von Waypoints möglich. Stichwort &amp;quot;Autonomes Fliegen&amp;quot;.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Achsenkopplung&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;:Hier lässt sich die Achsenkopplung global aktivieren oder deaktivieren. Die Achsenkopplung verhindert, dass der MikroKopter nach einer Kurve schief steht, weil die Winkel intern beim Gieren korrigiert werden. Sollte immer aktiviert sein. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Drehratenbegrenzung&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: Zusätzliche Begrenzung der Drehrate. Mit dieser Option wird die Kennlinie des Gyros an den Enden angehoben. Dies verhindert schnelle Manöver, da ab einer bestimmten Drehrate stärker gegengeregelt wird. Betrifft nur Nick und Roll. (Nur für Anfänger interessant) &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QFrame" name="frame_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_13">
+ <item row="0" column="0" colspan="3">
+ <widget class="QCheckBox" name="s_1_1_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Höhenregelung</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="3">
+ <widget class="QCheckBox" name="s_1_4_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>GPS aktiv</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" rowspan="2" colspan="3">
+ <widget class="QCheckBox" name="s_1_2_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Kompass</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_22">
+ <property name="minimumSize">
+ <size>
+ <width>10</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>10</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="3">
+ <widget class="QCheckBox" name="s_1_5_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Erweiterte Empfangssignalprüfung</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="3">
+ <widget class="QCheckBox" name="s_1_6_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Achs-(ent-)kopplung</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0" colspan="3">
+ <widget class="QCheckBox" name="s_1_7_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Drehratenbegrenzung</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0" colspan="3">
+ <widget class="QCheckBox" name="s_1_8_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Heading Hold (Nick/Roll)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <spacer name="verticalSpacer_17">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="1">
+ <widget class="QCheckBox" name="s_1_3_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Feste Ausrichtung</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_2">
+ <layout class="QGridLayout" name="gridLayout_21">
+ <item row="0" column="0">
+ <widget class="QFrame" name="frame_2">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_9">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gas:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QComboBox" name="cb_2_1">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="label_11">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Poti 3:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QComboBox" name="cb_2_7">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gier:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QComboBox" name="cb_2_2">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="label_12">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Poti 4:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QComboBox" name="cb_2_8">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Nick:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QComboBox" name="cb_2_3">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QLabel" name="label_32">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Poti 5:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="4">
+ <widget class="QComboBox" name="cb_2_9">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Roll:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QComboBox" name="cb_2_4">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QLabel" name="label_34">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Poti 6:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="4">
+ <widget class="QComboBox" name="cb_2_10">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Poti 1:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QComboBox" name="cb_2_5">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="4" column="3">
+ <widget class="QLabel" name="label_33">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Poti 7:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="4">
+ <widget class="QComboBox" name="cb_2_11">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Poti 2:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QComboBox" name="cb_2_6">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="5" column="3">
+ <widget class="QLabel" name="label_35">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Poti 8:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="4">
+ <widget class="QComboBox" name="cb_2_12">
+ <item>
+ <property name="text">
+ <string>RC 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>RC 12</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 9</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 10</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 11</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ser 12</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <spacer name="verticalSpacer_21">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>1</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="8" column="0" colspan="5">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QLabel" name="label_155">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Empfänger wählen:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="s_2_13_cb">
+ <item>
+ <property name="text">
+ <string>Multisignal (PPM)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Spectrum Satellit</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Spectrum Satellit (HiRes)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Spectrum Satellit (LowRes)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Jeti Satellit</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>ACT DSL</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="7" column="0" colspan="5">
+ <widget class="Line" name="line_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>Fernsteuerung</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="8" column="2">
+ <widget class="QProgressBar" name="pb_K7">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <widget class="QLabel" name="label_17">
+ <property name="text">
+ <string>7</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="4">
+ <widget class="QProgressBar" name="pb_K2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="invertedAppearance">
+ <bool>false</bool>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="4">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>2</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QProgressBar" name="pb_K1">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>1</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="4">
+ <widget class="QProgressBar" name="pb_K8">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="4">
+ <widget class="QLabel" name="label_18">
+ <property name="text">
+ <string>8</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="6">
+ <widget class="QProgressBar" name="pb_K10">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="6">
+ <widget class="QLabel" name="label_36">
+ <property name="text">
+ <string>10</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="7">
+ <widget class="QProgressBar" name="pb_K11">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="8">
+ <widget class="QProgressBar" name="pb_K12">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="8">
+ <widget class="QLabel" name="label_47">
+ <property name="text">
+ <string>12</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="5">
+ <widget class="QProgressBar" name="pb_K3">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="5">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>3</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="6">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>4</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="6">
+ <widget class="QProgressBar" name="pb_K4">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="8">
+ <widget class="QProgressBar" name="pb_K6">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="7">
+ <widget class="QProgressBar" name="pb_K5">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="7">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>5</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="8">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>6</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="5">
+ <widget class="QProgressBar" name="pb_K9">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="5">
+ <widget class="QLabel" name="label_49">
+ <property name="text">
+ <string>9</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="7">
+ <widget class="QLabel" name="label_46">
+ <property name="text">
+ <string>11</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_4">
+ <attribute name="title">
+ <string>Seriell</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_18">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_132">
+ <property name="text">
+ <string>1</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_78">
+ <property name="text">
+ <string>2</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_76">
+ <property name="text">
+ <string>3</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="label_136">
+ <property name="text">
+ <string>4</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QLabel" name="label_133">
+ <property name="text">
+ <string>5</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="5">
+ <widget class="QLabel" name="label_154">
+ <property name="text">
+ <string>6</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QProgressBar" name="pb_K1_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QProgressBar" name="pb_K2_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="invertedAppearance">
+ <bool>false</bool>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QProgressBar" name="pb_K3_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QProgressBar" name="pb_K4_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QProgressBar" name="pb_K5_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="5">
+ <widget class="QProgressBar" name="pb_K6_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_117">
+ <property name="text">
+ <string>7</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_50">
+ <property name="text">
+ <string>8</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_111">
+ <property name="text">
+ <string>9</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QLabel" name="label_128">
+ <property name="text">
+ <string>10</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="4">
+ <widget class="QLabel" name="label_121">
+ <property name="text">
+ <string>11</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="5">
+ <widget class="QLabel" name="label_118">
+ <property name="text">
+ <string>12</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QProgressBar" name="pb_K7_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QProgressBar" name="pb_K8_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QProgressBar" name="pb_K9_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QProgressBar" name="pb_K10_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="4">
+ <widget class="QProgressBar" name="pb_K11_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="5">
+ <widget class="QProgressBar" name="pb_K12_2">
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>-128</number>
+ </property>
+ <property name="maximum">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="textVisible">
+ <bool>false</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="textDirection">
+ <enum>QProgressBar::TopToBottom</enum>
+ </property>
+ <property name="format">
+ <string> %v</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="0" column="2" rowspan="2">
+ <widget class="QTextEdit" name="te_Help_2">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>180</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;Hier können die vom Sender übertragenen Kanäle den Funktionen des MikroKopters zugeordnet werden. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Port 1-8 sind per Sender frei einstellbare Werte.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Die Balken zeigen den Ausschlag des jeweiligen Kanals an.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QCheckBox" name="s_2_9_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Erweiterte Empfangssignalprüfung</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_3">
+ <layout class="QGridLayout" name="gridLayout_19">
+ <item row="0" column="0">
+ <widget class="QFrame" name="frame_5">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_19">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Nick / Roll P-Anteil:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="sb_3_1">
+ <property name="maximum">
+ <number>64</number>
+ </property>
+ <property name="value">
+ <number>4</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_20">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Nick / Roll D-Anteil:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="sb_3_2">
+ <property name="maximum">
+ <number>64</number>
+ </property>
+ <property name="value">
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <spacer name="verticalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_21">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gier P-Anteil:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="cb_3_3">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="label_24">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="3">
+ <widget class="Line" name="line_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_51">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Externe Kontrolle:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="cb_3_4">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <spacer name="verticalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>85</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="6" column="1">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="label_52">
+ <property name="text">
+ <string>0=OFF, Dubwise: Gain, </string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_53">
+ <property name="text">
+ <string>Riddim &gt; 128 = ON</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QTextEdit" name="te_Help_3">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>180</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;Diese Parameter dienen zur Einstellung der Stickwirkung.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;P-Anteil:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Stick-Verstärkung. Je grösser, desto stärker reagiert der MK auf die Stickbewegungen. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;D-Anteil:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Der MikroKopter folgt den Bewegungen des Sticks umso spontaner, je grösser dieser Wert ist. Genaugenommen wirkt hier zusätzlich die Stick&lt;/span&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;geschwindigkeit&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; auf den MK. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Gier-P: &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Verhältnis Gier-Geschwindigkeit zum Stickausschlag.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_4">
+ <layout class="QGridLayout" name="gridLayout_42">
+ <item row="0" column="2">
+ <widget class="QTextEdit" name="te_Help_4">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>180</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;Hier kann der Höhenregler parametriert werden.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Soll-Höhe:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Gibt die maximale Höhe an. Normalerweise wird hier ein Poti als Kanal der Funke eingetragen. Kleine Werte ermöglichen nur niedrige Maximalhöhen.&lt;/span&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Fluganfänger sollten das Feature nutzen, hier evtl. 0 eintragen und den Höhenregler aktivieren (siehe oben). Dann kann es nicht passieren, dass der MikroKopter zu hoch steigt. Bei Nutzung des Höhenreglers als Schalter ist hier auch das entsprechende Poti einzutragen, um den Kanal der Funke damit festzulegen. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Min Gas:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; unter diesen Wert wird das Gas nicht gestellt, wenn die Höhe überschritten wurde. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;P-Anteil:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Abhängigkeit von Rücknahme von Gas bei Höhe über. Je höher dieser Wert, desto kleiner ist der Flugbereich oberhalb der Maximalhöhe. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Luftdruck-D:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Dämpft das Schwingverhalten des Höhenreglers. Geringste Luftdruckänderungen haben damit grosse Wirkung auf Gas. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Z-ACC:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Dämpft das Schwingverhalten mittels des Beschleunigungssensors. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Verstärkung:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; ermöglicht grössere Flughöhen, wenn dieser Wert vergrößert wird. Der Setpiont wird mit diesem Wert multipliziert. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QFrame" name="frame_6">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_17">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="s_4_1_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Höhenregelung aktiv</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="2" colspan="2">
+ <widget class="QFrame" name="Frame_4">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_11">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_23">
+ <property name="minimumSize">
+ <size>
+ <width>10</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>10</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" colspan="2">
+ <widget class="QRadioButton" name="s_4_2_rb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Höhenbegrenzung</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3" colspan="3">
+ <widget class="QCheckBox" name="s_4_4_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Schalter für Höhe</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="2">
+ <widget class="QRadioButton" name="s_4_3_rb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Vario-Höhe</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3" colspan="3">
+ <widget class="QCheckBox" name="s_4_5_cb">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>akustisches Variometer</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QLabel" name="label_25">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Sollwert:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QComboBox" name="cb_4_1">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QLabel" name="label_26">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Min. Gas:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QSpinBox" name="sb_4_2">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="2">
+ <widget class="QLabel" name="label_27">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Höhe P-Anteil:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QComboBox" name="cb_4_3">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="13" column="0" colspan="2">
+ <widget class="QLabel" name="label_29">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Z-ACC Wirkung:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="2">
+ <widget class="QComboBox" name="cb_4_5">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <widget class="QComboBox" name="cb_4_4">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="2">
+ <widget class="QLabel" name="label_28">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Luftdruck D-Anteil:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <spacer name="verticalSpacer_8">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="3">
+ <widget class="QLabel" name="label_30">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Verstärkung/Rate:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="4">
+ <widget class="QSpinBox" name="sb_4_6">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maximum">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3">
+ <widget class="QLabel" name="label_109">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Schwebe-Gas +/-:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="4">
+ <widget class="QSpinBox" name="sb_4_7">
+ <property name="maximum">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="3">
+ <widget class="QLabel" name="label_114">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>GPS Z:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="4">
+ <widget class="QComboBox" name="cb_4_8">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="6" column="3">
+ <widget class="QLabel" name="label_147">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Stick Neutral-Punkt:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="4">
+ <widget class="QSpinBox" name="sb_4_9">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maximum">
+ <number>240</number>
+ </property>
+ <property name="value">
+ <number>120</number>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="3" colspan="2">
+ <widget class="QLabel" name="label_31">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string> 0 = automatisch
+ 120 = Mittelposition</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <spacer name="verticalSpacer_14">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_5">
+ <layout class="QGridLayout" name="gridLayout_41">
+ <item row="0" column="4">
+ <widget class="QTextEdit" name="te_Help_5">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>180</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;Hier werden die Parameter für die Gyroskope eingestellt.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Gyro-P: &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Einfluss des Gyros auf die Nick- und Rollgeschwindigkeit. Je höher wer Wert, desto träger bewegt sich der MikroKopter. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Gyro&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;-I: Lagestabilisierung. Je höher der Wert, desto stärker der Zusammenhang von Stickwinkel und Lagewinkel. Führt bei zu grossen Werten (gegenüber Gyro-P) zum Schwingen. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Gyro-D:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; TEXT&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Dynamic Stability&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Mit diesem Wert lässt sich nun einstellen, wieviel Schub die Achsenregelung zur Verfügung hat, um zu Regeln Einige haben sich daran gestört, dass der MK beim starken Regeln steigt. Das war auch der Grund für das Steigen bei Wind oder sonstigen Phänomenen wie Lagerschaden zum Beispiel. Ausserdem haben Anfänger Probleme mit dem Springen bei der Landung, was auch diese Ursache hat. Kleiner 64 -&amp;gt; der Schub wird auf unter Gas limitiert -&amp;gt; kein Steigen bei starkem Regeln Grösser 64 -&amp;gt; der Schub darf grösser werden als Gas -&amp;gt; hartes Regeln der Achsen -&amp;gt; Steigen bei starken Regeln In den Settings ist es so verteilt: 1.Sport: 100 -&amp;gt; steigt 2.Normal: 75 -&amp;gt; steigt etwas 3.Beginner: 50 -&amp;gt; steigt nicht &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;ACC/Gyro-Faktor: &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: Abhängigkeit zwischen ACC-Sensorwert und Gyrointegral. Wird der MK einige Grad gekippt, müssen ACC-Linie und Gyro-Integral deckungsgleich sein. Ggf. kann das hier korrigiert werden. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;ACC/Gyro-Comp.: &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Grad des Fusion zwischen ACC und Gyro (reziprok). Je kleiner der Wert, desto schneller wird der Gyrowinkel dem ACC-Sensor angepasst. Zum Schweben sind größere Werte vorteilhaft (&amp;gt;100). Zum Heizen sollte man kleine Werte nehmen (10-50) &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Hauptregler I:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Summe der Winkelfehler. Sorgt für grössere Präzision zwischen Stick und Lage. Sollte beim Fliegen mit Heading Hold (oben) erhöht werden. Kann bei zu grossen Werten überschwingen. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Driftkompensation:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Gibt an, wieviel Digits pro 500ms der Drift nachgeführt werden darf. Hier sollte ein kleiner Wert (1-3) angestrebt werden. Wert zu klein -&amp;gt; Gyrodrift (z.B. bei Temperaturänderungen) zieht den MK stark in eine Richtung. Wert zu gross -&amp;gt; MK schwebt nicht so gern still auf einer Stelle. Null -&amp;gt; Driftkompensation aus, Standart ist 4, also eher konservativ &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QFrame" name="frame_7">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_25">
+ <item row="0" column="0">
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_37">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gyro P-Anteil:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="cb_5_1">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_44">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gier P-Anteil</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QComboBox" name="cb_5_9">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_38">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gyro I-Anteil:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="cb_5_2">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="label_45">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gier I-Anteil</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QComboBox" name="cb_5_10">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_135">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gyro D-Anteil:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="cb_5_8">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_160">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_39">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Dynamische Stabilität:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="cb_5_3">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLabel" name="label_43">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Driftkompensation:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3">
+ <widget class="QSpinBox" name="sb_5_7">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_108">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_40">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>ACC/Gyro-Faktor:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QSpinBox" name="sb_5_4">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <widget class="QLabel" name="label_41">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>ACC/Gyro-Komp.:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="3">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QSpinBox" name="sb_5_5">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_48">
+ <property name="text">
+ <string>(1/x)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="label_42">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Hauptregler I-Anteil:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <widget class="QComboBox" name="cb_5_6">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="8" column="2">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Gyro stabilität</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="3">
+ <widget class="QComboBox" name="cb_5_11">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_161">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <spacer name="verticalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_6">
+ <layout class="QGridLayout" name="gridLayout_39">
+ <item row="0" column="5">
+ <widget class="QTextEdit" name="te_Help_6">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>180</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;Einstellungen für das Kamera-Servo an J7 der FlightCtrl.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Servo-Control: &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Servowert zum Schwenken der Kamera. Entweder fixen Wert, oder Poti eintragen. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Nick-Kompensation: &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Einfluss des Nickwinkels auf den Servo. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Invert direction:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Drehrichtung invertieren. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Servo Min:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Minimalwert als Anschlag. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Servo Max:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Maximalwert als Anschlag. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Servo Refresh-Rate:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Ansteuergeschwindigkeit. Einige Servos können nicht mit schnellen Werten angesteuert werden &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="4">
+ <widget class="QFrame" name="frame_8">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_24">
+ <item row="0" column="0" rowspan="2">
+ <layout class="QGridLayout" name="gridLayout_22">
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_137">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Nick</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QLabel" name="label_138">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Roll</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_55">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Servo Ansteuerung:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="cb_6_1">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QComboBox" name="cb_6_7">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_56">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Kompensation:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QSpinBox" name="sb_6_2">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QSpinBox" name="sb_6_8">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_130">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Richtung umkehren</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QCheckBox" name="cb_6_6">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QCheckBox" name="cb_6_9">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_57">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Servo min:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QSpinBox" name="sb_6_3">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3">
+ <widget class="QSpinBox" name="sb_6_10">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_58">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Servo max:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QSpinBox" name="sb_6_4">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="3">
+ <widget class="QSpinBox" name="sb_6_11">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" rowspan="6">
+ <widget class="Line" name="line_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_54">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="label_61">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <spacer name="horizontalSpacer_10">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_59">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Ansteuergeschwindigkeit</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="sb_6_5">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_11">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_62">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="Line" name="line_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_10">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_156">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Servo 3:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="cb_6_12">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_157">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Servo 4:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QComboBox" name="cb_6_13">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_158">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Servo 5:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="cb_6_14">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_9">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="6" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>1</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_7">
+ <layout class="QGridLayout" name="gridLayout_38">
+ <item row="0" column="1">
+ <widget class="QTextEdit" name="te_Help_7">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>180</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Bei Empfangsverlust: Geht der Funkempfang verloren (außer Reichweite oder Sender aus), tritt die Not-Gas-Regelung in Kraft um dem Piloten Zeit für Gegenmaßnahmen zu geben. Die gesamte Not-Gas-Regelung wird allerdings erst aktiv, wenn ein Gas-Wert von 40 für mindestens 4 Sekunden überschritten war (d.h. der Kopter wahrscheinlich fliegt)! &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:1px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Min.Gas &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Minimaler Gaswert, der an die Motoren geht &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:1px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Max.Gas &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Maximaler Gaswert, der an die Motoren geht. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:1px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Kompasswirkung &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;:Ist ein Kompass angeschlossen, kann hiermit der Einfluss auf Gier eingestellt werden &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:1px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Unterspannung &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Schwellwert in 0,1V zum Melden der Akku-Unterspannung &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:1px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Not-Gas Zeit [0.1s]:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Hier wird die Zeit in Zehntelsekunden eingetragen, für die das Not-Gas nach Empfangsverlust aktiv wird. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:1px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Not-Gas:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Wert für das Not-Gas. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QFrame" name="frame_9">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_26">
+ <item row="0" column="0">
+ <layout class="QGridLayout" name="gridLayout_23">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_68">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Min. Gas:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="sb_7_1">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_67">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_65">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Max. Gas:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="sb_7_2">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="label_64">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_60">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_66">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Kompass-Wirkung:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_159">
+ <property name="text">
+ <string>Carefree Seuerung</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="cb_7_7">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <widget class="QLabel" name="label_69">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_70">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Unterspannung [0.1V]:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QSpinBox" name="sb_7_4">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="2">
+ <widget class="QLabel" name="label_71">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="label_75">
+ <property name="text">
+ <string>Bei Empfangsverlust:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="2">
+ <widget class="QLabel" name="label_73">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0">
+ <widget class="QLabel" name="label_72">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Not-Gas Zeit [0.1s]:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="1">
+ <widget class="QSpinBox" name="sb_7_5">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="0">
+ <widget class="QLabel" name="label_74">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Not-Gas:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1">
+ <widget class="QSpinBox" name="sb_7_6">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="cb_7_3">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="8" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_13">
+ <item>
+ <widget class="QLabel" name="label_142">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#550000;&quot;&gt;Eine Zelle oder Total &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="lb_7_4">
+ <property name="text">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600; color:#550000;&quot;&gt;(3s = 0.0V 4s = 0.0V)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_8">
+ <layout class="QGridLayout" name="gridLayout_37">
+ <item row="0" column="0">
+ <widget class="QFrame" name="frame_10">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_20">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="s_8_4_cb">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Achs-(ent-)kopplung</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" rowspan="2">
+ <widget class="QFrame" name="frame_15">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_80">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gier pos. Rückkopplung:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="cb_8_1">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_79">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Nick/Roll Rückkopplung:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="cb_8_2">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_81">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gier-Korrektur:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="cb_8_3">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <spacer name="verticalSpacer_11">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>156</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QTextEdit" name="te_Help_8">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>180</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;Achskopplung&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Eine Gierbewegung verkoppelt jetzt Nick und Roll. Das bedeutet, dass der MK jetzt eine Kurve fliegt, wenn man z.B. nickt und gleichzeitig giert. Es verhindert, dass dem MK nach Kurven schwindelig wird &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:1px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Gier-Feedback &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: Der Grad der Achsenkopplung. Ist der Wert zu klein, hängt der MK bei (und nach) einer Linkskurve nach rechts &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:1px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Nick/Roll-Feedback&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;: TEXT&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:1px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Gier-Korrektion: &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Damit versucht der MK, der (evtl. ungewollten) Richtungsänderung (siehe Video) entgegenzuwirken. Das funktioniert allerdings nur bei langsamen Manövern, weil Gier erheblich träger ist, als Nick oder Roll.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_9">
+ <layout class="QGridLayout" name="gridLayout_36">
+ <item row="0" column="0">
+ <widget class="QFrame" name="frame_11">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_31">
+ <item row="0" column="0" colspan="4">
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <item>
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_104">
+ <property name="text">
+ <string>loop, while stick up</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_7">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_105">
+ <property name="text">
+ <string>Loop, while&lt;br&gt; stick left</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tb_9_8">
+ <property name="text">
+ <string>0</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Settings.qrc">
+ <normaloff>:/Arrows/Global/Images/Arrows/Left-1.png</normaloff>
+ <normalon>:/Arrows/Global/Images/Arrows/Left-2.png</normalon>:/Arrows/Global/Images/Arrows/Left-1.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="tb_9_6">
+ <property name="text">
+ <string>0</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Settings.qrc">
+ <normaloff>:/Arrows/Global/Images/Arrows/Up-1.png</normaloff>
+ <normalon>:/Arrows/Global/Images/Arrows/Up-2.png</normalon>:/Arrows/Global/Images/Arrows/Up-1.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tb_9_7">
+ <property name="text">
+ <string>0</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Settings.qrc">
+ <normaloff>:/Arrows/Global/Images/Arrows/Down-1.png</normaloff>
+ <normalon>:/Arrows/Global/Images/Arrows/Down-2.png</normalon>:/Arrows/Global/Images/Arrows/Down-1.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QToolButton" name="tb_9_9">
+ <property name="text">
+ <string>0</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../QMK-Settings.qrc">
+ <normaloff>:/Arrows/Global/Images/Arrows/Right-1.png</normaloff>
+ <normalon>:/Arrows/Global/Images/Arrows/Right-2.png</normalon>:/Arrows/Global/Images/Arrows/Right-1.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="popupMode">
+ <enum>QToolButton::DelayedPopup</enum>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ <property name="arrowType">
+ <enum>Qt::NoArrow</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_106">
+ <property name="text">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p align=&quot;right&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Loop, while&lt;br /&gt;stick right&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <item>
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_103">
+ <property name="text">
+ <string>Loop, while stick down</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_8">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_99">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Gas limit:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="cb_9_1">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_98">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Ansprechschwelle:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QSpinBox" name="sb_9_2">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_102">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Hysterese:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QSpinBox" name="sb_9_4">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_100">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Turn over Nick:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QSpinBox" name="sb_9_3">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QSpinBox" name="sb_9_5">
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="label_101">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Turn over Roll:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <spacer name="verticalSpacer_19">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QTextEdit" name="te_Help_9">
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>200</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Pfeile:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Der Looping wird in diese entsprechende Richtung zugelassen. Dabei zeigt der Pfeil den entsprechenden Stickanschlag an &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Gas Limit:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Auf diesen Wert wird das Gas während des Loopings begrenzt &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Ansprechschwelle:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Ab diesen Stickwert wird aus der Lageregelung eine Drehratenregelung, um den Looping durchzuführen &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Hysteresis:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Stick-Hysterese für die Ansprechschwelle. In der Regel immer niedriger, als die Ansprechschwelle &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;TurnOver Nick: &lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;100 bedeutet 100% einer 360° Drehung. Wenn nach dem Looping der MK zu weit dreht, muss der Wert verringert werden. Dreht er nicht weit genug, muss der Wert vergrößert werden. Also entspricht 1 einem Winkel von 3,6° &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;TurnOver Roll:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; analog &lt;/span&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;TurnOver Nick&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Wichtig:&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt; Ansprechschwelle - Hysteresis sollte etwa bei 20-40 liegen, da sonst der Kopter beim verlassen der Loopingfunktion versucht, sehr schnell die Schräglage, die man mit dem Stick vorgibt, einzunehmen. Dies kann gerade bei sehr flotten Settings dazu führen, das der Kopter bei der Drehung &amp;quot;springt&amp;quot; und einige Gerade der Winkelbewegung nicht mitbekommt, was dazu führt, das sich der Kopter sehr schräg steht. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_10">
+ <layout class="QGridLayout" name="gridLayout_35">
+ <item row="0" column="0">
+ <widget class="QFrame" name="frame_12">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_14">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_83">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Parameter 1:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="cb_10_1">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="label_82">
+ <property name="text">
+ <string>[0..250]</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_85">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Parameter 2:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="cb_10_2">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="label_84">
+ <property name="text">
+ <string>[0..250]</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_87">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Parameter 3:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="cb_10_3">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="label_86">
+ <property name="text">
+ <string>[0..250]</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_89">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Parameter 4:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="cb_10_4">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="label_88">
+ <property name="text">
+ <string>[0..250]</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_91">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Parameter 5:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="cb_10_5">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLabel" name="label_90">
+ <property name="text">
+ <string>[0..250]</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_93">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Parameter 6:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="cb_10_6">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QLabel" name="label_92">
+ <property name="text">
+ <string>[0..250]</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_95">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Parameter 7:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QComboBox" name="cb_10_7">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <widget class="QLabel" name="label_94">
+ <property name="text">
+ <string>[0..250]</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_97">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Parameter 8:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QComboBox" name="cb_10_8">
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ <item>
+ <property name="text">
+ <string>Poti 1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 7</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Poti 8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="7" column="2">
+ <widget class="QLabel" name="label_96">
+ <property name="text">
+ <string>[0..250]</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <spacer name="verticalSpacer_18">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QTextEdit" name="te_Help_10">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>180</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;Frei definierbare Parameter für eigene Erweiterungen im Quellcode. &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Die Werte sind für Softwareentwickler zur freien Verfügung &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="Seite_11">
+ <layout class="QGridLayout" name="gridLayout_34">
+ <item row="1" column="2">
+ <widget class="QTextEdit" name="te_Help_11">
+ <property name="minimumSize">
+ <size>
+ <width>180</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>180</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600; text-decoration: underline;&quot;&gt;Einstellungen für die Ausgänge J16 und J17.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Blinkmuster&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;&lt;br /&gt;Man kann ein Blinkmuster (von links nach rechts) und das Timing dafür im Koptertool einstellen. Automatisches Schalten von 10ms bis 20sek ist damit möglich&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Schaltfunktion&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;&lt;br /&gt;Wenn man als Timing einen Schalter auf der Funke belegt, kann man auch den Ausgang damit schalten. Dann nimmt der Ausgang den Pegel des obersten Bits (in der Darstellung links) an. Wenn damit etwas geschaltet werden soll (z.B. Kameraauslöser usw.), ist es besser, kein Blinkmuster einzugeben, sondern dann alle Bits entweder ein- oder auszuschalten. Ansonsten könnte das Blinkmuster während des Umschaltens einmal kurz durchlaufen.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QFrame" name="frame_13">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_12">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_116">
+ <property name="font">
+ <font/>
+ </property>
+ <property name="text">
+ <string>Ausgang J16</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="sb_11_1">
+ <property name="maximum">
+ <number>255</number>