Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 226 → Rev 227

/QMK-Groundstation/trunk/Forms/dlg_Config.h
22,8 → 22,8
#include <QCheckBox>
 
#include "ui_dlg_Config.h"
#include "../cSettings.h"
#include "../global.h"
#include "../Classes/cSettings.h"
//#include "../global.h"
 
class dlg_Config : public QDialog, public Ui::dlg_Config_UI
{
/QMK-Groundstation/trunk/Forms/dlg_LCD.cpp
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. *
***************************************************************************/
#include "dlg_LCD.h"
 
dlg_LCD::dlg_LCD(QWidget *parent) : QDialog(parent)
{
setupUi(this);
}
 
void dlg_LCD::show_Data(int *Data)
{
le_LCD0->setText(ToolBox::Data2QString(Data,2,22));
le_LCD1->setText(ToolBox::Data2QString(Data,22,42));
le_LCD2->setText(ToolBox::Data2QString(Data,42,62));
le_LCD3->setText(ToolBox::Data2QString(Data,62,82));
}
/QMK-Groundstation/trunk/Forms/dlg_LCD.h
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 DLG_LCD_H
#define DLG_LCD_H
 
#include <QObject>
 
#include "ui_dlg_LCD.h"
#include "../Classes/ToolBox.h"
 
class dlg_LCD : public QDialog, public Ui::dlg_LCD_UI
{
Q_OBJECT
 
public:
dlg_LCD(QWidget *parent = 0);
void show_Data(int *Data);
};
 
#endif // DLG_LCD_H
/QMK-Groundstation/trunk/Forms/dlg_LCD.ui
0,0 → 1,208
<ui version="4.0" >
<class>dlg_LCD_UI</class>
<widget class="QDialog" name="dlg_LCD_UI" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>250</width>
<height>205</height>
</rect>
</property>
<property name="windowTitle" >
<string>LCD-Display</string>
</property>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<layout class="QGridLayout" name="gridLayout_41" >
<item row="0" column="0" colspan="3" >
<widget class="QLineEdit" name="le_LCD0" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>240</width>
<height>0</height>
</size>
</property>
<property name="font" >
<font>
<family>Courier 10 Pitch</family>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string/>
</property>
<property name="maxLength" >
<number>22</number>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" colspan="3" >
<widget class="QLineEdit" name="le_LCD1" >
<property name="minimumSize" >
<size>
<width>240</width>
<height>0</height>
</size>
</property>
<property name="font" >
<font>
<family>Courier 10 Pitch</family>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string/>
</property>
<property name="maxLength" >
<number>22</number>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
<property name="readOnly" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0" colspan="3" >
<widget class="QLineEdit" name="le_LCD2" >
<property name="minimumSize" >
<size>
<width>240</width>
<height>0</height>
</size>
</property>
<property name="font" >
<font>
<family>Courier 10 Pitch</family>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string/>
</property>
<property name="maxLength" >
<number>22</number>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
<property name="readOnly" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="0" colspan="3" >
<widget class="QLineEdit" name="le_LCD3" >
<property name="minimumSize" >
<size>
<width>240</width>
<height>0</height>
</size>
</property>
<property name="font" >
<font>
<family>Courier 10 Pitch</family>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string/>
</property>
<property name="maxLength" >
<number>22</number>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0" >
<widget class="QCheckBox" name="cb_LCD" >
<property name="text" >
<string>Auto-Refresh </string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="1" >
<widget class="QPushButton" name="pb_LCDdown" >
<property name="text" >
<string/>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Arrows/Images/Arrows/Left-1.png</normaloff>:/Arrows/Images/Arrows/Left-1.png</iconset>
</property>
</widget>
</item>
<item row="4" column="2" >
<widget class="QPushButton" name="pb_LCDup" >
<property name="text" >
<string/>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Arrows/Images/Arrows/Right-1.png</normaloff>:/Arrows/Images/Arrows/Right-1.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" >
<widget class="QPushButton" name="pushButton" >
<property name="text" >
<string>Schließen</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../MKTool.qrc" />
</resources>
<connections>
<connection>
<sender>pushButton</sender>
<signal>clicked()</signal>
<receiver>dlg_LCD_UI</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel" >
<x>124</x>
<y>187</y>
</hint>
<hint type="destinationlabel" >
<x>124</x>
<y>102</y>
</hint>
</hints>
</connection>
</connections>
</ui>
/QMK-Groundstation/trunk/Forms/dlg_Motortest.h
22,7 → 22,7
#include <QObject>
 
#include "ui_dlg_Motortest.h"
#include "../global.h"
//#include "../global.h"
 
class dlg_Motortest : public QDialog, public Ui::dlg_Motortest_UI
{
/QMK-Groundstation/trunk/Forms/dlg_Preferences.cpp
42,21 → 42,25
le_ServerPort->setText(Settings->Server.Port);
cb_StartServer->setChecked(Settings->Server.StartServer);
cb_ToGround->setChecked(Settings->Server.ToGround);
le_Login->setText(Settings->Server.QMKS_Login);
le_Password->setText(Settings->Server.QMKS_Password);
}
 
cSettings *dlg_Preferences::get_Settings()
{
Settings->TTY.Port = le_TTY->text();
Settings->Data.Plotter_Count = sp_Plotter_Count->value();
Settings->Data.Debug_Fast = sp_Debug_Fast->value();
Settings->Data.Debug_Slow = sp_Debug_Slow->value();
Settings->Data.Debug_Off = sp_Debug_Off->value();
Settings->Data.Navi_Fast = sp_Navi_Fast->value();
Settings->Data.Navi_Slow = sp_Navi_Slow->value();
Settings->Data.Navi_Off = sp_Navi_Off->value();
Settings->Server.Port = le_ServerPort->text();
Settings->Server.StartServer = cb_StartServer->isChecked();
Settings->Server.ToGround = cb_ToGround->isChecked();
Settings->TTY.Port = le_TTY->text();
Settings->Data.Plotter_Count = sp_Plotter_Count->value();
Settings->Data.Debug_Fast = sp_Debug_Fast->value();
Settings->Data.Debug_Slow = sp_Debug_Slow->value();
Settings->Data.Debug_Off = sp_Debug_Off->value();
Settings->Data.Navi_Fast = sp_Navi_Fast->value();
Settings->Data.Navi_Slow = sp_Navi_Slow->value();
Settings->Data.Navi_Off = sp_Navi_Off->value();
Settings->Server.Port = le_ServerPort->text();
Settings->Server.StartServer = cb_StartServer->isChecked();
Settings->Server.ToGround = cb_ToGround->isChecked();
Settings->Server.QMKS_Login = le_Login->text();
Settings->Server.QMKS_Password = le_Password->text();
 
return Settings;
}
/QMK-Groundstation/trunk/Forms/dlg_Preferences.h
23,7 → 23,7
#include <QFileDialog>
 
#include "ui_dlg_Preferences.h"
#include "../cSettings.h"
#include "../Classes/cSettings.h"
//#include "../global.h"
 
class dlg_Preferences : public QDialog, public Ui::dlg_Preferences_UI
/QMK-Groundstation/trunk/Forms/dlg_Preferences.ui
5,7 → 5,7
<rect>
<x>0</x>
<y>0</y>
<width>402</width>
<width>395</width>
<height>298</height>
</rect>
</property>
317,9 → 317,6
<layout class="QGridLayout" name="gridLayout_11" >
<item row="0" column="0" >
<widget class="QGroupBox" name="groupBox_9" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="title" >
<string>Navi-Daten Intervall</string>
</property>
558,6 → 555,89
</item>
</layout>
</widget>
<widget class="QWidget" name="Seite_2" >
<attribute name="title" >
<string>QMK-Datenserver</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_14" >
<item row="0" column="0" >
<widget class="QGroupBox" name="groupBox_10" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="title" >
<string>Server</string>
</property>
<layout class="QGridLayout" name="gridLayout_12" >
<item row="0" column="0" >
<widget class="QLabel" name="label_12" >
<property name="text" >
<string>Server:</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QLineEdit" name="lineEdit" >
<property name="text" >
<string>nimari.de</string>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_13" >
<property name="text" >
<string>Port:</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QLineEdit" name="lineEdit_3" >
<property name="text" >
<string>16441</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0" >
<widget class="QGroupBox" name="groupBox_11" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="title" >
<string>Logindaten</string>
</property>
<layout class="QGridLayout" name="gridLayout_13" >
<item row="0" column="0" >
<widget class="QLabel" name="label_14" >
<property name="text" >
<string>Loginname:</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QLineEdit" name="le_Login" />
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_15" >
<property name="text" >
<string>Password:</string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QLineEdit" name="le_Password" >
<property name="echoMode" >
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
/QMK-Groundstation/trunk/Forms/mktool.cpp
26,6 → 26,7
#include <QToolButton>
#include <QSpinBox>
#include <QAction>
#include <QPalette>
 
#include "mktool.h"
#include "dlg_Config.h"
32,7 → 33,7
#include "dlg_Motortest.h"
#include "dlg_Preferences.h"
#include "../global.h"
#include "../ToolBox.h"
#include "../Classes/ToolBox.h"
 
#include <stdlib.h>
 
56,34 → 57,82
setWindowTitle(QA_NAME + " v" + QA_VERSION);
 
// Tab mit Debug-Elementen verbergen
tab_Main->removeTab(5);
tab_Main->removeTab(6);
 
// Tab mit Wegpunkte-Elementen verbergen
tab_Main->removeTab(5);
 
// Settings-Tab hinzufügen.
f_Settings = new wdg_Settings( this );
tab_Main->insertTab ( 2, f_Settings, "FC-Settings");
f_Settings->set_Config(Settings);
tab_Main->insertTab ( 2, f_Settings, ac_View2->icon(), "FC-Settings");
tab_Main->widget(2)->setObjectName("Tab_2");
 
// Develop - Nicht gebrauchte sachen abschalten.
box_Flugdaten->hide();
box_System->hide();
pb_SettingsReset->hide();
pb_Flash->hide();
rb_NC->hide();
 
// Zusätzliche Widgets in die Toolbar.
toolBar->addWidget(lb_Port);
toolBar->addWidget(le_Port);
toolBar->addSeparator();
tb_TTY->addWidget(lb_Port);
tb_TTY->addWidget(le_Port);
 
toolBar->addWidget(rb_SelFC);
toolBar->addWidget(rb_SelNC);
toolBar->addWidget(rb_SelMag);
tb_Hardware->addWidget(rb_SelFC);
tb_Hardware->addWidget(rb_SelNC);
tb_Hardware->addWidget(rb_SelMag);
 
tb_Allgemein->setVisible(Settings->GUI.ToolViews[0]);
tb_Werkzeuge->setVisible(Settings->GUI.ToolViews[1]);
tb_Debug->setVisible(Settings->GUI.ToolViews[2]);
tb_TTY->setVisible(Settings->GUI.ToolViews[3]);
tb_Hardware->setVisible(Settings->GUI.ToolViews[4]);
 
lb_Status->setText(tr("Hallo bei QMK-Groundstation...!!!"));
 
QPalette newPalette;
 
newPalette.setColor(QPalette::Base, Qt::darkBlue);
newPalette.setColor(QPalette::Foreground, QColor(Qt::darkBlue).dark(120));
newPalette.setColor(QPalette::Text, Qt::white);
 
Compass->setScaleOptions(QwtDial::ScaleTicks | QwtDial::ScaleLabel);
Compass->setScaleTicks(0, 0, 3);
Compass->setScale(36, 5, 0);
 
// Compass->setNeedle(new QwtCompassMagnetNeedle(QwtCompassMagnetNeedle::ThinStyle));
Compass->setNeedle(new QwtDialSimpleNeedle(QwtDialSimpleNeedle::Arrow, true, Qt::red, QColor(Qt::gray).light(130)));
Compass->setPalette(newPalette);
Compass->setMaximumSize(QSize(MeterSize, MeterSize));
Compass->setMinimumSize(QSize(MeterSize, MeterSize));
 
QPalette newPalette1;
 
newPalette1.setColor(QPalette::Base, Qt::darkBlue);
newPalette1.setColor(QPalette::Foreground, QColor(255,128,0).dark(120));
newPalette1.setColor(QPalette::Text, Qt::white);
 
Attitude = new AttitudeIndicator(this);
Attitude->setMaximumSize(QSize(MeterSize, MeterSize));
Attitude->setMinimumSize(QSize(MeterSize, MeterSize));
Attitude->setPalette(newPalette1);
 
verticalLayout->addWidget(Attitude);
 
qwt_Rate->setRange(-10.0, 10.0, 0.1, 0);
 
newPalette1.setColor(QPalette::Foreground, QColor(Qt::darkBlue).dark(120));
 
SpeedMeter = new cSpeedMeter(this);
SpeedMeter->setMaximumSize(QSize(MeterSize, MeterSize));
SpeedMeter->setMinimumSize(QSize(MeterSize, MeterSize));
SpeedMeter->setPalette(newPalette1);
SpeedMeter->setRange(0.0, 5.0);
SpeedMeter->setScale(1, 2, 0.5);
SpeedMeter->setProperty("END", 5);
 
LayOut_Speed->addWidget(SpeedMeter);
 
#ifdef _EEEPC_
toolBar->hide();
lb_Status->hide();
#endif
 
102,6 → 151,7
}
 
// Kopie der Tabs anlegen
// for (int b = 0; b < 7; b++)
for (int b = 0; b < 6; b++)
{
TabWidgets[b] = tab_Main->widget(b);
108,6 → 158,7
}
 
// Ausgeblendete Tabs ausblenden
// for (int c = 0; c < 7; c++)
for (int c = 0; c < 6; c++)
{
if (Settings->GUI.TabViews[c] == false)
130,6 → 181,7
ac_View3->setChecked(Settings->GUI.TabViews[3]);
ac_View4->setChecked(Settings->GUI.TabViews[4]);
ac_View5->setChecked(Settings->GUI.TabViews[5]);
// ac_View6->setChecked(Settings->GUI.TabViews[6]);
 
le_Port->setText(Settings->TTY.Port);
 
149,11 → 201,18
// QFile-Instanz (Log-Datei)
CSVFile = new QFile("");
 
// LCD-Dialog
f_LCD = new dlg_LCD(this);
 
// Senden erlauben (Warum auch immer)
AllowSend = true;
 
Server = new cServer();
 
MyServer = new cQMK_Server();
MyServer->setProperty("Connect", false);
 
 
if (Settings->Server.StartServer)
{
ac_StartServer->setChecked(true);
171,18 → 230,18
// Serielle Verbundung öffnen / schließen
connect(ac_ConnectTTY, SIGNAL(triggered()), this, SLOT(slot_OpenPort()));
 
// TCP-Connection verbinden / trennen
connect(ac_QMKServer, SIGNAL(triggered()), this, SLOT(slot_QMKS_Connect()));
 
// Buttons Settings lesen / schreiben
connect(f_Settings->pb_Read, SIGNAL(clicked()), this, SLOT(slot_GetFCSettings()));
connect(f_Settings->pb_Write, SIGNAL(clicked()), this, SLOT(slot_SetFCSettings()));
 
// LCD auf / ab
connect(pb_LCDup, SIGNAL(clicked()), this, SLOT(slot_LCD_UP()));
connect(pb_LCDdown, SIGNAL(clicked()), this, SLOT(slot_LCD_DOWN()));
 
// Actions
connect(ac_Config, SIGNAL(triggered()), this, SLOT(slot_ac_Config()));
connect(ac_Preferences, SIGNAL(triggered()), this, SLOT(slot_ac_Preferences()));
connect(ac_Motortest, SIGNAL(triggered()), this, SLOT(slot_ac_Motortest()));
connect(ac_LCD, SIGNAL(triggered()), this, SLOT(slot_ac_LCD()));
connect(ac_FastDebug, SIGNAL(triggered()), this, SLOT(slot_ac_FastDebug()));
connect(ac_NoDebug, SIGNAL(triggered()), this, SLOT(slot_ac_NoDebug()));
connect(ac_FastNavi, SIGNAL(triggered()), this, SLOT(slot_ac_FastNavi()));
201,6 → 260,7
connect(ac_View3, SIGNAL(triggered()), this, SLOT(slot_ac_View()));
connect(ac_View4, SIGNAL(triggered()), this, SLOT(slot_ac_View()));
connect(ac_View5, SIGNAL(triggered()), this, SLOT(slot_ac_View()));
connect(ac_View6, SIGNAL(triggered()), this, SLOT(slot_ac_View()));
 
connect(ac_SelNC, SIGNAL(triggered()), this, SLOT(slot_ac_Hardware()));
connect(ac_SelFC, SIGNAL(triggered()), this, SLOT(slot_ac_Hardware()));
295,6 → 355,7
 
void MKTool::slot_Test()
{
/*
sRxData RX;
 
RX.String = IN->text();
301,6 → 362,7
RX.Input = IN->text().toLatin1().data();
 
new_RXData(RX);
*/
}
 
void MKTool::slot_ac_Hardware()
313,7 → 375,6
}
 
slot_rb_Hardware();
// qDebug("Select AC Hardware");
}
 
void MKTool::slot_rb_Hardware()
328,7 → 389,7
TX_Data[4] = 0x00;
TX_Data[5] = '\r';
send_Data('#', ADDRESS_NC, TX_Data, 6, false);
usleep(Sleep);
ToolBox::Wait(SLEEP);
}
 
if (rb_SelFC->isChecked())
356,7 → 417,7
TX_Data[5] = '\r';
send_Data('#', ADDRESS_NC, TX_Data, 6, false);
}
usleep(Sleep);
ToolBox::Wait(SLEEP);
 
// qDebug("Select RB Hardware");
send_Data('v', ADDRESS_ALL, TX_Data, 0, true);
389,8 → 450,13
send_Data('p', ADDRESS_FC, TX_Data, 0, false);
break;
case 2 :
if (cb_LCD->isChecked())
if (f_LCD->cb_LCD->isChecked())
{
if (!f_LCD->isVisible())
{
Ticker->setInterval(2000);
TickerEvent[2] = false;
}
TX_Data[0] = LCD_Page;
TX_Data[1] = 0;
send_Data('l', ADDRESS_ALL, TX_Data, 1, true);
413,7 → 479,74
}
}
 
void MKTool::slot_QMKS_Connect()
{
if (ac_QMKServer->isChecked())
{
lb_Status->setText(tr("Verbinde zum QMK-Datenserver."));
 
MyServer->Connect("nimari.de", 16441, Settings->Server.QMKS_Login, Settings->Server.QMKS_Password);
connect(MyServer, SIGNAL(sig_Connected()), this, SLOT(slot_QMKS_Connected()));
connect(MyServer, SIGNAL(sig_Disconnected(int)), this, SLOT(slot_QMKS_Disconnected(int)));
 
}
else
{
if ((MyServer->property("Connect")) == true)
{
disconnect(MyServer, SIGNAL(sig_Disconnected(int)), 0, 0);
lb_Status->setText(tr("Trenne vom QMK-Datenserver."));
 
MyServer->Disconnect();
MyServer->setProperty("Connect", false);
ac_QMKServer->setText("QMK-Server Verbinden");
}
}
}
 
void MKTool::slot_QMKS_Connected()
{
MyServer->setProperty("Connect", true);
ac_QMKServer->setText("QMK-Server Trennnen");
lb_Status->setText(tr("Verbunden mit QMK-Datenserver."));
}
 
void MKTool::slot_QMKS_Disconnected(int Error)
{
MyServer->setProperty("Connect", false);
ac_QMKServer->setText("QMK-Server Verbinden");
ac_QMKServer->setChecked(false);
 
disconnect(MyServer, SIGNAL(sig_Disconnected(int)), 0, 0);
 
switch (Error)
{
case 1 :
{
lb_Status->setText(tr("Verbindung vom Server beendet."));
QMessageBox::warning(this, QA_NAME,"QMK-Datenserver: Verbindung wurde vom Server beendet.", QMessageBox::Ok);
}
break;
case 2 :
{
lb_Status->setText(tr("Server nicht gefunden."));
QMessageBox::warning(this, QA_NAME,"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,"QMK-Datenserver: Loginname oder Password falsch.", QMessageBox::Ok);
}
break;
default :
{
lb_Status->setText(tr("Getrennt vom QMK-Datenserver."));
}
break;
}
}
 
// Slots der Actions (Menüpunkte, Buttons)
//////////////////////////////////////////
void MKTool::slot_ac_Motortest()
430,6 → 563,26
slot_Motortest(0,0,0,0);
}
 
void MKTool::slot_ac_LCD()
{
if (!f_LCD->isVisible())
{
f_LCD = new dlg_LCD(this);
 
// LCD auf / ab
connect(f_LCD->pb_LCDup, SIGNAL(clicked()), this, SLOT(slot_LCD_UP()));
connect(f_LCD->pb_LCDdown, SIGNAL(clicked()), this, SLOT(slot_LCD_DOWN()));
 
f_LCD->show();
TX_Data[0] = 0;
TX_Data[1] = 0;
send_Data('l', ADDRESS_ALL, TX_Data, 1, true);
 
Ticker->setInterval(500);
TickerEvent[2] = true;
}
}
 
void MKTool::slot_Motortest(int Motor1, int Motor2, int Motor3, int Motor4)
{
TX_Data[0] = Motor1;
503,7 → 656,7
 
void MKTool::slot_ac_View()
{
int Aktive;
int Aktive = -1;
 
QAction *Action = (QAction*)sender();
 
519,6 → 672,8
Aktive = 4;
if (Action->objectName() == QString("ac_View5"))
Aktive = 5;
// if (Action->objectName() == QString("ac_View6"))
// Aktive = 6;
 
QString TabName = QString("Tab_%1").arg(Aktive);
 
531,13 → 686,10
tab_Main->removeTab(a);
}
}
 
// Action->setChecked(false);
}
else
{
// Action->setChecked(true);
tab_Main->insertTab(Aktive, TabWidgets[Aktive], Action->text());
tab_Main->insertTab(Aktive, TabWidgets[Aktive], Action->icon(), Action->text());
}
}
 
654,6 → 806,7
}
}
 
 
// Daten-Plotter
/////////////////
void MKTool::update_Plot()
812,7 → 965,7
Ticker->setInterval(2000);
TickerEvent[1] = false;
}
 
/*
if ((tab_Main->currentWidget()->objectName() == QString("Tab_4")))
{
TX_Data[0] = 0;
827,6 → 980,7
Ticker->setInterval(2000);
TickerEvent[2] = false;
}
*/
}
}
 
840,6 → 994,7
 
TX_Data[1] = 0;
send_Data('l', ADDRESS_ALL, TX_Data, 1, true);
 
}
 
void MKTool::slot_LCD_DOWN() // DONE 0.71g
851,6 → 1006,9
 
TX_Data[1] = 0;
send_Data('l', ADDRESS_ALL, TX_Data, 1, true);
 
aa--;
 
}
 
// Settings aus MK lesen / in MK schreiben
882,7 → 1040,14
Settings->GUI.TabViews.setBit(3, ac_View3->isChecked());
Settings->GUI.TabViews.setBit(4, ac_View4->isChecked());
Settings->GUI.TabViews.setBit(5, ac_View5->isChecked());
Settings->GUI.TabViews.setBit(6, ac_View6->isChecked());
 
Settings->GUI.ToolViews.setBit(0, tb_Allgemein->isVisibleTo(this));
Settings->GUI.ToolViews.setBit(1, tb_Werkzeuge->isVisibleTo(this));
Settings->GUI.ToolViews.setBit(2, tb_Debug->isVisibleTo(this));
Settings->GUI.ToolViews.setBit(3, tb_TTY->isVisibleTo(this));
Settings->GUI.ToolViews.setBit(4, tb_Hardware->isVisibleTo(this));
 
Settings->GUI.Term_Info = cb_ShowMSG->isChecked();
Settings->GUI.Term_Data = cb_ShowData->isChecked();
Settings->GUI.Term_Always = cb_ShowAlways->isChecked();
942,9 → 1107,9
CSVFile->open(QIODevice::Append | QIODevice::Text);
}
 
pb_Record->setIcon(ToolBox::Icon(6));
pb_Record->setText("CSV Stop");
ac_RecordCSV->setIcon(ToolBox::Icon(6));
// pb_Record->setIcon(ToolBox::Icon(6));
// pb_Record->setText("CSV Stop");
// ac_RecordCSV->setIcon(ToolBox::Icon(6));
ac_RecordCSV->setText("CSV Stop");
lb_Status->setText(tr("CVS-Record gestartet."));
}
951,9 → 1116,9
else
{
CSVFile->close();
pb_Record->setIcon(ToolBox::Icon(7));
pb_Record->setText("CSV Aufzeichnen");
ac_RecordCSV->setIcon(ToolBox::Icon(7));
// pb_Record->setIcon(ToolBox::Icon(7));
// pb_Record->setText("CSV Aufzeichnen");
// ac_RecordCSV->setIcon(ToolBox::Icon(7));
ac_RecordCSV->setText("CSV Aufzeichnen");
lb_Status->setText(tr("CVS-Record gestopt."));
}
1012,6 → 1177,26
le_A_29->setText(QString("%1").arg(AnalogData[29]));
le_A_30->setText(QString("%1").arg(AnalogData[30]));
le_A_31->setText(QString("%1").arg(AnalogData[31]));
 
if ((Mode.ID == ADDRESS_FC) && (FCSettings[P_GYRO_ACC_FAKTOR] > 0))
{
bar_UBAT->setValue(AnalogData[9]);
bar_RX->setValue(AnalogData[10]);
 
Compass->setValue(AnalogData[8]);
 
int Roll = (AnalogData[1] * FCSettings[P_GYRO_ACC_FAKTOR]) / 1024;
int Nick = (AnalogData[0] * FCSettings[P_GYRO_ACC_FAKTOR]) / 1024;
 
if (Roll > 128)
Roll = Roll - 255;
 
if (Nick > 128)
Nick = Nick - 255;
 
Attitude->setAngle(Roll);
Attitude->setGradient(double(double(Nick) / 100.0));
}
}
 
 
1020,10 → 1205,55
Navi.Current.Longitude = ToolBox::Data2Long(RX.Decode, 0, true);
Navi.Current.Latitude = ToolBox::Data2Long(RX.Decode, 4, true);
Navi.Current.Altitude = ToolBox::Data2Long(RX.Decode, 8, true);
Navi.Target.Longitude = ToolBox::Data2Long(RX.Decode, 10, true);
Navi.Target.Latitude = ToolBox::Data2Long(RX.Decode, 14, true);
Navi.Target.Altitude = ToolBox::Data2Long(RX.Decode, 18, true);
Navi.Target.Longitude = ToolBox::Data2Long(RX.Decode, 16, true);
Navi.Target.Latitude = ToolBox::Data2Long(RX.Decode, 20, true);
Navi.Target.Altitude = ToolBox::Data2Long(RX.Decode, 24, true);
 
le_CDistance->setText(QString("%1 cm").arg(ToolBox::Data2Int(RX.Decode, 52)));
le_CWPA->setText(QString("%1").arg(RX.Decode[56]));
le_CWPT->setText(QString("%1").arg(RX.Decode[57]));
le_CSats->setText(QString("%1").arg(RX.Decode[58]));
 
qwt_Rate->setValue(double(ToolBox::Data2Int(RX.Decode, 61, true)));
 
le_CTime->setText(QString("%1 sec.").arg(ToolBox::Data2Int(RX.Decode, 63)));
 
bar_UBAT->setValue(RX.Decode[65]);
 
double Speed = double((ToolBox::Data2Int(RX.Decode, 66)) / 10.0);
 
if ((Speed > 4.5) && SpeedMeter->property("END") == 5)
{
SpeedMeter->setRange(0.0, 10.0);
SpeedMeter->setScale(1, 2, 1);
SpeedMeter->setProperty("END", 10);
}
 
if ((Speed > 9) && SpeedMeter->property("END") == 10)
{
SpeedMeter->setRange(0.0, 20.0);
SpeedMeter->setScale(1, 2, 2);
SpeedMeter->setProperty("END", 20);
}
 
SpeedMeter->setValue(Speed);
 
Compass->setValue(ToolBox::Data2Int(RX.Decode, 70)); //(68)
 
bar_RX->setValue(RX.Decode[74]);
 
int Nick = RX.Decode[72];
int Roll = RX.Decode[73];
 
if (Roll > 128)
Roll = Roll - 255;
 
if (Nick > 128)
Nick = Nick - 255;
 
Attitude->setAngle(Roll);
Attitude->setGradient(double(double(Nick) / 100.0));
 
sNaviString NaviString;
 
NaviString.Longitude = ToolBox::get_Float(Navi.Current.Longitude,10000000);
1032,6 → 1262,11
 
Server->store_NaviString(NaviString);
 
if ((MyServer->property("Connect")) == true)
{
MyServer->NewPosition(NaviString);
}
 
/*
qDebug(NaviString.Longitude.toLatin1().data());
qDebug(NaviString.Latitude.toLatin1().data());
1128,14 → 1363,11
int LCD[150];
memcpy(LCD,RX.Decode, sizeof(RX.Decode));
 
f_LCD->show_Data(LCD);
 
LCD_Page = RX.Decode[0];
LCD_MAX_Page = RX.Decode[1];
 
le_LCD0->setText(ToolBox::Data2QString(LCD,2,22));
le_LCD1->setText(ToolBox::Data2QString(LCD,22,42));
le_LCD2->setText(ToolBox::Data2QString(LCD,42,62));
le_LCD3->setText(ToolBox::Data2QString(LCD,62,82));
 
TickerEvent[0] = false;
}
break;
1339,16 → 1571,16
void MKTool::slot_OpenPort()
{
if (serialPort->isOpen())
{
{
TX_Data[0] = Settings->Data.Debug_Off / 10;
send_Data('d', ADDRESS_ALL, TX_Data, 1, false);
usleep(Sleep);
ToolBox::Wait(SLEEP);
 
if (Mode.ID == ADDRESS_NC)
{
TX_Data[0] = Settings->Data.Navi_Off / 10;
send_Data('o', ADDRESS_NC, TX_Data, 1, false);
usleep(Sleep);
ToolBox::Wait(SLEEP);
}
 
if (Mode.ID == ADDRESS_NC)
1358,13 → 1590,13
TX_Data[2] = 0;
TX_Data[3] = 0;
send_Data('t', ADDRESS_FC, TX_Data, 4, false);
usleep(Sleep);
ToolBox::Wait(SLEEP);
}
serialPort->close();
pb_Open->setText("Verbinden");
ac_ConnectTTY->setText("Verbinden");
pb_Open->setIcon(ToolBox::Icon(9));
ac_ConnectTTY->setIcon(ToolBox::Icon(9));
// pb_Open->setText("Seriell Verbinden");
ac_ConnectTTY->setText("Seriell Verbinden");
// pb_Open->setIcon(ToolBox::Icon(9));
// ac_ConnectTTY->setIcon(ToolBox::Icon(9));
 
le_Port->setEnabled(true);
 
1392,10 → 1624,10
 
send_Data('v', ADDRESS_ALL, TX_Data, 0, true);
 
pb_Open->setText("Trennen");
ac_ConnectTTY->setText("Trennen");
pb_Open->setIcon(ToolBox::Icon(8));
ac_ConnectTTY->setIcon(ToolBox::Icon(8));
// pb_Open->setText("Seriell Trennen");
ac_ConnectTTY->setText("Seriell Trennen");
// pb_Open->setIcon(ToolBox::Icon(8));
// ac_ConnectTTY->setIcon(ToolBox::Icon(8));
 
Ticker->start(2000);
}
/QMK-Groundstation/trunk/Forms/mktool.h
33,13 → 33,22
#include <qwt_plot_grid.h>
#include <qwt_legend.h>
#include <qwt_plot.h>
#include <qwt_compass.h>
#include <qwt_compass_rose.h>
#include <qwt_dial_needle.h>
 
#include "ui_mktool.h"
#include "wdg_Settings.h"
#include "dlg_LCD.h"
 
#include "../SerialPort/ManageSerialPort.h"
#include "../cSettings.h"
#include "../Classes/cSettings.h"
#include "../Classes/cServer.h"
#include "../Classes/cQMK_Server.h"
#include "../Classes/cAttitude.h"
#include "../Classes/cSpeedMeter.h"
 
 
class QextSerialPort;
 
class MKTool : public QMainWindow, public Ui::dlg_mktool_UI
51,6 → 60,9
~MKTool();
 
private:
 
int aa;
 
bool AllowSend;
 
// Object für Serielport
62,14 → 74,23
// Settings-Widget (FC-Settings)
wdg_Settings *f_Settings;
 
// HTTp-Server-Object für Google Earth
// HTTP-Server-Object für Google Earth
cServer *Server;
 
// QMK-Serverobjekt
cQMK_Server *MyServer;
 
// LCD-Dialog
dlg_LCD *f_LCD;
 
//TCP-Socket
QTcpSocket *TcpSocket;
 
// Default-Ticker
QTimer *Ticker;
 
// Kopie der Tabs des Hauptfensters
QWidget *TabWidgets[6];
QWidget *TabWidgets[7];
 
// Analogwert-Beschreibungen
QLabel *lb_Analog[MaxAnalog];
78,7 → 99,7
int AnalogData[MaxAnalog];
 
// Plots für die Analogwerte
QwtPlotCurve *Plot[MaxAnalog];
QwtPlotCurve *Plot[MaxAnalog];
 
// Datenspeicher für die Plots
double aData[MaxAnalog][MaxPlot];
85,6 → 106,9
double aID[MaxPlot];
int NextPlot;
 
AttitudeIndicator *Attitude;
cSpeedMeter * SpeedMeter;
 
// Ticker-Event-Array
bool TickerEvent[MaxTickerEvents];
bool TickerDiv;
124,6 → 148,7
void config_Plot();
 
void new_NaviData(sRxData RX);
// void new_Debugdata();
 
// Daten Senden, Empfangen und verarbeiten
void send_Data(char CMD, int Address, char Data[150],unsigned int Length, bool Resend = true);
137,6 → 162,10
void set_Preferences();
 
private slots:
void slot_QMKS_Connect();
void slot_QMKS_Connected();
void slot_QMKS_Disconnected(int Error);
 
void slot_ac_Hardware();
void slot_rb_Hardware();
 
155,6 → 184,7
void slot_ac_About();
void slot_ac_GetLabels();
void slot_ac_Motortest();
void slot_ac_LCD();
void slot_pb_HexFile();
 
// Default-Ticker
/QMK-Groundstation/trunk/Forms/mktool.ui
5,8 → 5,8
<rect>
<x>0</x>
<y>0</y>
<width>785</width>
<height>415</height>
<width>699</width>
<height>428</height>
</rect>
</property>
<property name="windowTitle" >
14,16 → 14,16
</property>
<property name="windowIcon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Icon/Images/128X128/utilities-system-monitor.png</normaloff>:/Icon/Images/128X128/utilities-system-monitor.png</iconset>
<normaloff>:/Icon/Images/QMK-Groundstation.png</normaloff>:/Icon/Images/QMK-Groundstation.png</iconset>
</property>
<property name="toolButtonStyle" >
<enum>Qt::ToolButtonTextOnly</enum>
</property>
<property name="dockOptions" >
<set>QMainWindow::AllowNestedDocks|QMainWindow::AllowTabbedDocks|QMainWindow::AnimatedDocks|QMainWindow::ForceTabbedDocks|QMainWindow::VerticalTabs</set>
</property>
<widget class="QWidget" name="centralwidget" >
<layout class="QGridLayout" name="gridLayout_34" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>0</number>
</property>
<layout class="QGridLayout" name="gridLayout_12" >
<item row="0" column="0" >
<widget class="Line" name="line_2" >
<property name="orientation" >
31,7 → 31,7
</property>
</widget>
</item>
<item row="4" column="0" >
<item row="2" column="0" >
<widget class="QLabel" name="lb_Status" >
<property name="font" >
<font>
50,8 → 50,11
</property>
</widget>
</item>
<item row="3" column="0" >
<item row="1" column="0" >
<widget class="QTabWidget" name="tab_Main" >
<property name="toolTip" >
<string/>
</property>
<property name="currentIndex" >
<number>0</number>
</property>
59,6 → 62,10
<attribute name="title" >
<string>Debug-Daten </string>
</attribute>
<attribute name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Debug.png</normaloff>:/Actions/Images/Actions/Debug.png</iconset>
</attribute>
<layout class="QGridLayout" name="gridLayout_7" >
<item row="0" column="0" >
<layout class="QHBoxLayout" name="horizontalLayout" >
982,6 → 989,10
<attribute name="title" >
<string>Plotter</string>
</attribute>
<attribute name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Plotter-NO.png</normaloff>:/Actions/Images/Actions/Plotter-NO.png</iconset>
</attribute>
<layout class="QGridLayout" name="gridLayout_35" >
<item row="0" column="0" >
<widget class="QwtPlot" name="qwtPlot" />
1017,7 → 1028,7
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/utilities-system-monitor.png</normaloff>:/Actions/Images/22X22/utilities-system-monitor.png</iconset>
<normaloff>:/Actions/Images/Actions/Plotter-NO.png</normaloff>:/Actions/Images/Actions/Plotter-NO.png</iconset>
</property>
</widget>
</item>
1029,6 → 1040,10
<attribute name="title" >
<string>Terminal </string>
</attribute>
<attribute name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Terminal.png</normaloff>:/Actions/Images/Actions/Terminal.png</iconset>
</attribute>
<layout class="QGridLayout" name="gridLayout_2" >
<item row="0" column="0" colspan="8" >
<widget class="QTextEdit" name="te_RX" >
1108,189 → 1123,340
</layout>
</widget>
<widget class="QWidget" name="Tab_4" >
<property name="toolTip" >
<string>Motortest / LCD</string>
</property>
<attribute name="title" >
<string>Cockpit</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_38" >
<attribute name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Cockpit.png</normaloff>:/Actions/Images/Actions/Cockpit.png</iconset>
</attribute>
<layout class="QGridLayout" name="gridLayout_13" >
<item row="0" column="0" >
<widget class="QGroupBox" name="groupBox_2" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
<string>Informationen</string>
</property>
<layout class="QGridLayout" name="gridLayout_8" >
<item row="0" column="0" >
<widget class="QLabel" name="label_3" >
<property name="text" >
<string>Flugzeit:</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QLineEdit" name="le_CTime" >
<property name="minimumSize" >
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="alignment" >
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="label_6" >
<property name="text" >
<string>Satelliten: </string>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QLineEdit" name="le_CSats" >
<property name="minimumSize" >
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="alignment" >
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="label_7" >
<property name="text" >
<string>Entfernung:</string>
</property>
</widget>
</item>
<item row="2" column="1" >
<widget class="QLineEdit" name="le_CDistance" >
<property name="minimumSize" >
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="alignment" >
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0" >
<widget class="QLabel" name="label_4" >
<property name="text" >
<string>Wegpunkte Total:</string>
</property>
</widget>
</item>
<item row="3" column="1" >
<widget class="QLineEdit" name="le_CWPT" >
<property name="minimumSize" >
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="alignment" >
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0" >
<widget class="QLabel" name="label_5" >
<property name="text" >
<string>Aktueller Wegpunkt:</string>
</property>
</widget>
</item>
<item row="4" column="1" >
<widget class="QLineEdit" name="le_CWPA" >
<property name="minimumSize" >
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="alignment" >
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="1" >
<spacer name="verticalSpacer_3" >
<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" >
<spacer name="horizontalSpacer_14" >
<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="0" column="2" >
<widget class="QGroupBox" name="box_Flugdaten" >
<property name="title" >
<string>LCD</string>
<string>Flugdaten</string>
</property>
<layout class="QGridLayout" name="gridLayout_42" >
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" >
<layout class="QGridLayout" name="gridLayout_41" >
<item row="0" column="0" colspan="3" >
<widget class="QLineEdit" name="le_LCD0" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>240</width>
<height>0</height>
</size>
</property>
<layout class="QVBoxLayout" name="LayOut_Speed" >
<item>
<widget class="QLabel" name="label_145" >
<property name="font" >
<font>
<family>Courier 10 Pitch</family>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string/>
<string>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:11pt; font-weight:600; font-style:normal;">
&lt;p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Geschwindigkeit&lt;/p>
&lt;p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="maxLength" >
<number>22</number>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
<set>Qt::AlignHCenter|Qt::AlignTop</set>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" colspan="3" >
<widget class="QLineEdit" name="le_LCD1" >
<property name="minimumSize" >
<size>
<width>240</width>
<height>0</height>
</size>
</property>
</layout>
</item>
<item row="0" column="1" >
<layout class="QVBoxLayout" name="verticalLayout" >
<item>
<widget class="QLabel" name="label_143" >
<property name="font" >
<font>
<family>Courier 10 Pitch</family>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string/>
<string>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:11pt; font-weight:600; font-style:normal;">
&lt;p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ausrichtung&lt;/p>
&lt;p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="maxLength" >
<number>22</number>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
<set>Qt::AlignHCenter|Qt::AlignTop</set>
</property>
<property name="readOnly" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0" colspan="3" >
<widget class="QLineEdit" name="le_LCD2" >
<property name="minimumSize" >
<size>
<width>240</width>
<height>0</height>
</size>
</property>
</layout>
</item>
<item row="0" column="2" >
<layout class="QVBoxLayout" name="verticalLayout_6" >
<item>
<widget class="QLabel" name="label_142" >
<property name="font" >
<font>
<family>Courier 10 Pitch</family>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string/>
<string>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:11pt; font-weight:600; font-style:normal;">
&lt;p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Flugrichtung&lt;/p>
&lt;p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="maxLength" >
<number>22</number>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
<set>Qt::AlignHCenter|Qt::AlignTop</set>
</property>
<property name="readOnly" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="0" colspan="3" >
<widget class="QLineEdit" name="le_LCD3" >
<item>
<widget class="QwtCompass" name="Compass" >
<property name="minimumSize" >
<size>
<width>240</width>
<height>0</height>
<width>125</width>
<height>125</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>125</width>
<height>125</height>
</size>
</property>
<property name="lineWidth" >
<number>4</number>
</property>
<property name="frameShadow" >
<enum>QwtDial::Sunken</enum>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="3" >
<layout class="QVBoxLayout" name="verticalLayout_2" >
<item>
<widget class="QLabel" name="label_144" >
<property name="font" >
<font>
<family>Courier 10 Pitch</family>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string/>
<string>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:11pt; font-weight:600; font-style:normal;">
&lt;p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Höhen-&lt;/p>
&lt;p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">änderung&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="maxLength" >
<number>22</number>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
<set>Qt::AlignHCenter|Qt::AlignTop</set>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0" >
<widget class="QCheckBox" name="cb_LCD" >
<property name="text" >
<string>Auto-Refresh </string>
<item>
<widget class="QwtSlider" name="qwt_Rate" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="checked" >
<bool>true</bool>
<property name="scalePosition" >
<enum>QwtSlider::LeftScale</enum>
</property>
</widget>
</item>
<item row="4" column="1" >
<widget class="QPushButton" name="pb_LCDdown" >
<property name="text" >
<string/>
<property name="bgStyle" >
<enum>QwtSlider::BgTrough</enum>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Arrows/Images/32X32/arrow-left.png</normaloff>:/Arrows/Images/32X32/arrow-left.png</iconset>
<property name="thumbLength" >
<number>10</number>
</property>
</widget>
</item>
<item row="4" column="2" >
<widget class="QPushButton" name="pb_LCDup" >
<property name="text" >
<string/>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Arrows/Images/32X32/arrow-right.png</normaloff>:/Arrows/Images/32X32/arrow-right.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" >
<spacer name="verticalSpacer_14" >
<item row="1" column="1" >
<spacer name="verticalSpacer" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
1297,7 → 1463,7
<property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>0</height>
<height>40</height>
</size>
</property>
</spacer>
1305,78 → 1471,6
</layout>
</widget>
</item>
<item row="0" column="2" >
<layout class="QVBoxLayout" name="verticalLayout_8" >
<item>
<widget class="QGroupBox" name="box_Flugdaten" >
<property name="title" >
<string>Flugdaten</string>
</property>
<layout class="QGridLayout" name="gridLayout_39" >
<item row="0" column="0" >
<layout class="QVBoxLayout" name="verticalLayout_6" >
<item>
<widget class="QLabel" name="label_142" >
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Flugrichtung</string>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QwtCompass" name="Compass" >
<property name="minimumSize" >
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="lineWidth" >
<number>4</number>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_16" >
<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="0" column="1" >
<spacer name="horizontalSpacer_12" >
<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>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" colspan="3" >
<widget class="QGroupBox" name="box_System" >
<property name="title" >
1391,7 → 1485,7
</widget>
</item>
<item>
<widget class="QProgressBar" name="progressBar" >
<widget class="QProgressBar" name="bar_UBAT" >
<property name="maximum" >
<number>140</number>
</property>
1398,11 → 1492,8
<property name="value" >
<number>0</number>
</property>
<property name="textVisible" >
<bool>false</bool>
</property>
<property name="format" >
<string/>
<string>%v</string>
</property>
</widget>
</item>
1414,7 → 1505,7
</widget>
</item>
<item>
<widget class="QProgressBar" name="progressBar_2" >
<widget class="QProgressBar" name="bar_RX" >
<property name="maximum" >
<number>255</number>
</property>
1422,7 → 1513,7
<number>0</number>
</property>
<property name="format" >
<string/>
<string>%v</string>
</property>
</widget>
</item>
1429,28 → 1520,16
</layout>
</widget>
</item>
<item row="0" column="1" >
<spacer name="horizontalSpacer_14" >
<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>
</widget>
<widget class="QWidget" name="Tab_5" >
<property name="toolTip" >
<string>Firmeware Update</string>
</property>
<attribute name="title" >
<string>Firmeware Update </string>
<string>Firmware Update </string>
</attribute>
<attribute name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Firmware.png</normaloff>:/Actions/Images/Actions/Firmware.png</iconset>
</attribute>
<layout class="QGridLayout" name="gridLayout_37" >
<item row="0" column="0" >
<widget class="QTextEdit" name="te_Shell" >
1583,158 → 1662,109
</item>
</layout>
</widget>
<widget class="QWidget" name="Tab_6" >
<attribute name="title" >
<string>Wegpunkte</string>
</attribute>
<attribute name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Waypoints.png</normaloff>:/Actions/Images/Actions/Waypoints.png</iconset>
</attribute>
</widget>
<widget class="QWidget" name="Seite" >
<attribute name="title" >
<string>Debug</string>
</attribute>
<widget class="QPushButton" name="pb_Quit" >
<property name="geometry" >
<rect>
<x>550</x>
<y>0</y>
<width>141</width>
<height>26</height>
</rect>
</property>
<property name="text" >
<string>Beenden</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/application-exit.png</normaloff>:/Actions/Images/22X22/application-exit.png</iconset>
</property>
</widget>
<widget class="QPushButton" name="pb_Record" >
<property name="geometry" >
<rect>
<x>350</x>
<y>0</y>
<width>201</width>
<height>26</height>
</rect>
</property>
<property name="text" >
<string>CSV Aufzeichen</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/media-record.png</normaloff>:/Actions/Images/22X22/media-record.png</iconset>
</property>
</widget>
<widget class="QLabel" name="lb_Port" >
<property name="geometry" >
<rect>
<x>10</x>
<y>10</y>
<width>51</width>
<height>17</height>
</rect>
</property>
<property name="text" >
<string>Device: </string>
</property>
</widget>
<widget class="QLineEdit" name="le_Port" >
<property name="geometry" >
<rect>
<x>60</x>
<y>0</y>
<width>131</width>
<height>27</height>
</rect>
</property>
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>/dev/ttyUSB0</string>
</property>
</widget>
<widget class="QPushButton" name="pb_Open" >
<property name="geometry" >
<rect>
<x>190</x>
<y>0</y>
<width>151</width>
<height>26</height>
</rect>
</property>
<property name="text" >
<string>Verbinden</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/network-disconnect.png</normaloff>:/Actions/Images/22X22/network-disconnect.png</iconset>
</property>
</widget>
<widget class="QLineEdit" name="IN" >
<property name="geometry" >
<rect>
<x>0</x>
<y>270</y>
<width>751</width>
<height>31</height>
</rect>
</property>
<property name="text" >
<string>#cOD{br>Lozm^zgC]===M=============================================================\======>t=====?q>|=E====D============z^</string>
</property>
</widget>
<widget class="QPushButton" name="Dec" >
<property name="geometry" >
<rect>
<x>0</x>
<y>240</y>
<width>100</width>
<height>26</height>
</rect>
</property>
<property name="text" >
<string>Decode</string>
</property>
</widget>
<widget class="QRadioButton" name="rb_SelFC" >
<property name="geometry" >
<rect>
<x>250</x>
<y>90</y>
<width>91</width>
<height>25</height>
</rect>
</property>
<property name="text" >
<string>FlightCtrl</string>
</property>
</widget>
<widget class="QRadioButton" name="rb_SelNC" >
<property name="geometry" >
<rect>
<x>360</x>
<y>90</y>
<width>81</width>
<height>25</height>
</rect>
</property>
<property name="text" >
<string>NaviCtrl</string>
</property>
</widget>
<widget class="QRadioButton" name="rb_SelMag" >
<property name="geometry" >
<rect>
<x>460</x>
<y>90</y>
<width>81</width>
<height>25</height>
</rect>
</property>
<property name="text" >
<string>MK3Mag</string>
</property>
</widget>
<layout class="QGridLayout" name="gridLayout_9" >
<item row="0" column="0" >
<widget class="QLabel" name="lb_Port" >
<property name="text" >
<string>Device: </string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QLineEdit" name="le_Port" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>/dev/ttyUSB0</string>
</property>
</widget>
</item>
<item row="0" column="2" >
<widget class="QPushButton" name="pb_Open" >
<property name="text" >
<string>Verbinden</string>
</property>
<property name="icon" >
<iconset>
<normaloff>:/Actions/Images/22X22/network-disconnect.png</normaloff>:/Actions/Images/22X22/network-disconnect.png</iconset>
</property>
</widget>
</item>
<item row="0" column="3" colspan="2" >
<widget class="QPushButton" name="pb_Record" >
<property name="text" >
<string>CSV Aufzeichen</string>
</property>
<property name="icon" >
<iconset>
<normaloff>:/Actions/Images/22X22/media-record.png</normaloff>:/Actions/Images/22X22/media-record.png</iconset>
</property>
</widget>
</item>
<item row="0" column="5" >
<widget class="QPushButton" name="pb_Quit" >
<property name="text" >
<string>Beenden</string>
</property>
<property name="icon" >
<iconset>
<normaloff>:/Actions/Images/22X22/application-exit.png</normaloff>:/Actions/Images/22X22/application-exit.png</iconset>
</property>
</widget>
</item>
<item row="1" column="2" >
<widget class="QRadioButton" name="rb_SelFC" >
<property name="text" >
<string>FlightCtrl</string>
</property>
</widget>
</item>
<item row="1" column="3" >
<widget class="QRadioButton" name="rb_SelNC" >
<property name="text" >
<string>NaviCtrl</string>
</property>
</widget>
</item>
<item row="1" column="4" >
<widget class="QRadioButton" name="rb_SelMag" >
<property name="text" >
<string>MK3Mag</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2" >
<widget class="QPushButton" name="Dec" >
<property name="text" >
<string>Decode</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="6" >
<widget class="QLineEdit" name="IN" >
<property name="text" >
<string>#cO][`S>zNIP^y``====M==================================z[lS>|zGP^{]Y====M========[n======>o>m>omMq>|m`J==E=============yY </string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
1745,7 → 1775,7
<rect>
<x>0</x>
<y>0</y>
<width>785</width>
<width>699</width>
<height>25</height>
</rect>
</property>
1754,6 → 1784,7
<string>&amp;Programm</string>
</property>
<addaction name="ac_ConnectTTY" />
<addaction name="ac_QMKServer" />
<addaction name="separator" />
<addaction name="ac_Quit" />
</widget>
1797,6 → 1828,7
<addaction name="ac_View3" />
<addaction name="ac_View4" />
<addaction name="ac_View5" />
<addaction name="ac_View6" />
</widget>
<addaction name="menuBereiche" />
</widget>
1805,6 → 1837,7
<string>Werkzeuge</string>
</property>
<addaction name="ac_Motortest" />
<addaction name="ac_LCD" />
</widget>
<widget class="QMenu" name="menuHardware" >
<property name="title" >
1832,15 → 1865,55
<addaction name="menuWerkzeuge" />
<addaction name="menu_Help" />
</widget>
<widget class="QToolBar" name="toolBar" >
<property name="enabled" >
<bool>true</bool>
<widget class="QToolBar" name="tb_Allgemein" >
<property name="windowTitle" >
<string>Allgemein</string>
</property>
<property name="iconSize" >
<size>
<width>22</width>
<height>22</height>
</size>
</property>
<property name="toolButtonStyle" >
<enum>Qt::ToolButtonIconOnly</enum>
</property>
<attribute name="toolBarArea" >
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak" >
<bool>false</bool>
</attribute>
<addaction name="ac_ConnectTTY" />
<addaction name="ac_QMKServer" />
<addaction name="separator" />
<addaction name="ac_StartServer" />
</widget>
<widget class="QToolBar" name="tb_Werkzeuge" >
<property name="windowTitle" >
<string>toolBar</string>
<string>Werkzeuge</string>
</property>
<property name="movable" >
<property name="iconSize" >
<size>
<width>22</width>
<height>22</height>
</size>
</property>
<property name="toolButtonStyle" >
<enum>Qt::ToolButtonIconOnly</enum>
</property>
<attribute name="toolBarArea" >
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak" >
<bool>false</bool>
</attribute>
<addaction name="ac_Motortest" />
<addaction name="ac_LCD" />
</widget>
<widget class="QToolBar" name="tb_Debug" >
<property name="windowTitle" >
<string>Debug-Daten</string>
</property>
<property name="iconSize" >
<size>
1857,19 → 1930,32
<attribute name="toolBarBreak" >
<bool>false</bool>
</attribute>
<addaction name="ac_ConnectTTY" />
<addaction name="separator" />
<addaction name="ac_StartPlotter" />
<addaction name="ac_FastDebug" />
<addaction name="ac_RecordCSV" />
<addaction name="separator" />
<addaction name="ac_Motortest" />
<addaction name="separator" />
<addaction name="ac_StartServer" />
<addaction name="separator" />
<addaction name="ac_Quit" />
<addaction name="separator" />
</widget>
<widget class="QToolBar" name="tb_TTY" >
<property name="windowTitle" >
<string>Schnittstelle</string>
</property>
<attribute name="toolBarArea" >
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak" >
<bool>false</bool>
</attribute>
</widget>
<widget class="QToolBar" name="tb_Hardware" >
<property name="windowTitle" >
<string>Hardware</string>
</property>
<attribute name="toolBarArea" >
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak" >
<bool>false</bool>
</attribute>
</widget>
<action name="ac_LogDir" >
<property name="text" >
<string>Log-Verzeichniss</string>
1883,7 → 1969,7
<action name="ac_Quit" >
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/application-exit.png</normaloff>:/Actions/Images/22X22/application-exit.png</iconset>
<normaloff>:/Actions/Images/Actions/Exit.png</normaloff>:/Actions/Images/Actions/Exit.png</iconset>
</property>
<property name="text" >
<string>&amp;Beenden</string>
1895,12 → 1981,16
</property>
</action>
<action name="ac_ConnectTTY" >
<property name="checkable" >
<bool>true</bool>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/network-disconnect.png</normaloff>:/Actions/Images/22X22/network-disconnect.png</iconset>
<normaloff>:/Actions/Images/Actions/Seriell-NO.png</normaloff>
<normalon>:/Actions/Images/Actions/Seriell-OK.png</normalon>:/Actions/Images/Actions/Seriell-NO.png</iconset>
</property>
<property name="text" >
<string>Verbinden</string>
<string>Seriell Verbinden</string>
</property>
</action>
<action name="ac_RecordCSV" >
1909,7 → 1999,8
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/media-record.png</normaloff>:/Actions/Images/22X22/media-record.png</iconset>
<normaloff>:/Actions/Images/Actions/CVS-Record.png</normaloff>
<normalon>:/Actions/Images/Actions/CVS-Stop.png</normalon>:/Actions/Images/Actions/CVS-Record.png</iconset>
</property>
<property name="text" >
<string>CSV Aufzeichnen</string>
1921,7 → 2012,8
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/utilities-system-monitor.png</normaloff>:/Actions/Images/22X22/utilities-system-monitor.png</iconset>
<normaloff>:/Actions/Images/Actions/Plotter-NO.png</normaloff>
<normalon>:/Actions/Images/Actions/Plotter-OK.png</normalon>:/Actions/Images/Actions/Plotter-NO.png</iconset>
</property>
<property name="text" >
<string>Start Plotter</string>
1930,7 → 2022,7
<action name="ac_Config" >
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/preferences-system.png</normaloff>:/Actions/Images/22X22/preferences-system.png</iconset>
<normaloff>:/Actions/Images/Actions/Preferences-Data.png</normaloff>:/Actions/Images/Actions/Preferences-Data.png</iconset>
</property>
<property name="text" >
<string>Datenfelder wählen</string>
1942,7 → 2034,7
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/clock.png</normaloff>:/Actions/Images/22X22/clock.png</iconset>
<normaloff>:/Actions/Images/Actions/Fast-Data.png</normaloff>:/Actions/Images/Actions/Fast-Data.png</iconset>
</property>
<property name="text" >
<string>Schnelle Debugdaten</string>
1955,6 → 2047,10
<property name="checked" >
<bool>false</bool>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Debug.png</normaloff>:/Actions/Images/Actions/Debug.png</iconset>
</property>
<property name="text" >
<string>Debug-Daten</string>
</property>
1966,6 → 2062,10
<property name="checked" >
<bool>false</bool>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Plotter-NO.png</normaloff>:/Actions/Images/Actions/Plotter-NO.png</iconset>
</property>
<property name="text" >
<string>Plotter</string>
</property>
1977,6 → 2077,10
<property name="checked" >
<bool>false</bool>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/FC-Settings.png</normaloff>:/Actions/Images/Actions/FC-Settings.png</iconset>
</property>
<property name="text" >
<string>FC-Settings</string>
</property>
1988,6 → 2092,10
<property name="checked" >
<bool>false</bool>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Terminal.png</normaloff>:/Actions/Images/Actions/Terminal.png</iconset>
</property>
<property name="text" >
<string>Terminal</string>
</property>
1999,6 → 2107,10
<property name="checked" >
<bool>false</bool>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Cockpit.png</normaloff>:/Actions/Images/Actions/Cockpit.png</iconset>
</property>
<property name="text" >
<string>Cockpit</string>
</property>
2010,6 → 2122,10
<property name="checked" >
<bool>false</bool>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Firmware.png</normaloff>:/Actions/Images/Actions/Firmware.png</iconset>
</property>
<property name="text" >
<string>Firmware Update</string>
</property>
2022,7 → 2138,7
<action name="ac_Preferences" >
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/preferences-other.png</normaloff>:/Actions/Images/22X22/preferences-other.png</iconset>
<normaloff>:/Actions/Images/Actions/Preferences.png</normaloff>:/Actions/Images/Actions/Preferences.png</iconset>
</property>
<property name="text" >
<string>QMK Einrichten</string>
2031,7 → 2147,7
<action name="ac_Motortest" >
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/applications-system.png</normaloff>:/Actions/Images/22X22/applications-system.png</iconset>
<normaloff>:/Actions/Images/Actions/Motortest.png</normaloff>:/Actions/Images/Actions/Motortest.png</iconset>
</property>
<property name="text" >
<string>Motortest</string>
2075,7 → 2191,8
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/applications-internet.png</normaloff>:/Actions/Images/22X22/applications-internet.png</iconset>
<normaloff>:/Actions/Images/Actions/Google-NO.png</normaloff>
<normalon>:/Actions/Images/Actions/Google-OK.png</normalon>:/Actions/Images/Actions/Google-NO.png</iconset>
</property>
<property name="text" >
<string>Google Earth Server</string>
2087,7 → 2204,7
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/22X22/clock.png</normaloff>:/Actions/Images/22X22/clock.png</iconset>
<normaloff>:/Actions/Images/Actions/Fast-Data.png</normaloff>:/Actions/Images/Actions/Fast-Data.png</iconset>
</property>
<property name="text" >
<string>Schnelle Navi-Daten</string>
2101,6 → 2218,46
<string>Navidaten abschalten</string>
</property>
</action>
<action name="ac_QMKServer" >
<property name="checkable" >
<bool>true</bool>
</property>
<property name="enabled" >
<bool>false</bool>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Network-NO.png</normaloff>
<normalon>:/Actions/Images/Actions/Network-OK.png</normalon>:/Actions/Images/Actions/Network-NO.png</iconset>
</property>
<property name="text" >
<string>QMK Server Verbinden</string>
</property>
</action>
<action name="ac_View6" >
<property name="checkable" >
<bool>true</bool>
</property>
<property name="enabled" >
<bool>false</bool>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/Waypoints.png</normaloff>:/Actions/Images/Actions/Waypoints.png</iconset>
</property>
<property name="text" >
<string>Wegpunkte</string>
</property>
</action>
<action name="ac_LCD" >
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Actions/Images/Actions/LCD.png</normaloff>:/Actions/Images/Actions/LCD.png</iconset>
</property>
<property name="text" >
<string>LCD-Display</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>
2114,6 → 2271,11
<extends>QwtDial</extends>
<header>qwt_compass.h</header>
</customwidget>
<customwidget>
<class>QwtSlider</class>
<extends>QWidget</extends>
<header>qwt_slider.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../MKTool.qrc" />
/QMK-Groundstation/trunk/Forms/wdg_Settings.cpp
20,7 → 20,7
#include <QSettings>
 
#include "wdg_Settings.h"
#include "../ToolBox.h"
#include "../Classes/ToolBox.h"
 
wdg_Settings::wdg_Settings(QWidget *parent) : QWidget(parent)
{
59,6 → 59,11
connect(sb_11_3, SIGNAL(valueChanged(int)), this, SLOT(slot_ValuetoLED17(int)));
}
 
void wdg_Settings::set_Config(cSettings *pConfig)
{
Config = pConfig;
}
 
void wdg_Settings::set_LED(QToolButton *ToolButton, bool On)
{
if (ToolButton->text() == QString("0") && On)
232,12 → 237,12
{
if (tb_9_6->text() == QString("0"))
{
tb_9_6->setIcon(ToolBox::Icon(20));
// tb_9_6->setIcon(ToolBox::Icon(20));
tb_9_6->setText("1");
}
else
{
tb_9_6->setIcon(ToolBox::Icon(21));
// tb_9_6->setIcon(ToolBox::Icon(21));
tb_9_6->setText("0");
}
}
246,12 → 251,12
{
if (tb_9_7->text() == QString("0"))
{
tb_9_7->setIcon(ToolBox::Icon(22));
// tb_9_7->setIcon(ToolBox::Icon(22));
tb_9_7->setText("1");
}
else
{
tb_9_7->setIcon(ToolBox::Icon(23));
// tb_9_7->setIcon(ToolBox::Icon(23));
tb_9_7->setText("0");
}
}
260,12 → 265,12
{
if (tb_9_8->text() == QString("0"))
{
tb_9_8->setIcon(ToolBox::Icon(24));
// tb_9_8->setIcon(ToolBox::Icon(24));
tb_9_8->setText("1");
}
else
{
tb_9_8->setIcon(ToolBox::Icon(25));
// tb_9_8->setIcon(ToolBox::Icon(25));
tb_9_8->setText("0");
}
}
274,12 → 279,12
{
if (tb_9_9->text() == QString("0"))
{
tb_9_9->setIcon(ToolBox::Icon(26));
// tb_9_9->setIcon(ToolBox::Icon(26));
tb_9_9->setText("1");
}
else
{
tb_9_9->setIcon(ToolBox::Icon(27));
// tb_9_9->setIcon(ToolBox::Icon(27));
tb_9_9->setText("0");
}
}
286,7 → 291,7
 
void wdg_Settings::slot_LoadParameter() // DONE 0.71g
{
QString Filename = QFileDialog::getOpenFileName(this, "Mikrokopter Parameter laden", /*Settings->DIR.Parameter*/ "", "Mikrokopter Parameter(*.mkp);;Alle Dateien (*)");
QString Filename = QFileDialog::getOpenFileName(this, "Mikrokopter Parameter laden", Config->DIR.Parameter + "", "Mikrokopter Parameter(*.mkp);;Alle Dateien (*)");
 
if (!Filename.isEmpty())
{
572,12 → 577,11
ParameterSet[Set][P_NAV_ANGLE_LIMIT] = get_Value(cb_13_4);
}
 
 
void wdg_Settings::slot_SaveParameter() // DONE 0.71g
{
int Set = sb_Set->value() + 5;
 
QString Filename = QFileDialog::getSaveFileName(this, "Mikrokopter Parameter speichern", /*Settings->DIR.Parameter*/ "" + le_SetName->text(), "Mikrokopter Parameter(*.mkp);;Alle Dateien (*)");
QString Filename = QFileDialog::getSaveFileName(this, "Mikrokopter Parameter speichern", Config->DIR.Parameter + "" + le_SetName->text(), "Mikrokopter Parameter(*.mkp);;Alle Dateien (*)");
 
if (!Filename.isEmpty())
{
751,6 → 755,7
}
le_SetName->setText(QString(Name));
 
 
// Seite 1
{
cb_1_1->setChecked(FCSettings[P_GLOBAL_CONF] & 0x01);
827,45 → 832,39
{
if (FCSettings[P_LOOP_CONFIG] & 0x01)
{
tb_9_6->setIcon(ToolBox::Icon(20));
tb_9_6->setText("1");
tb_9_6->setChecked(true);
}
else
{
tb_9_6->setIcon(ToolBox::Icon(21));
tb_9_6->setText("0");
tb_9_6->setChecked(false);
}
 
if (FCSettings[P_LOOP_CONFIG] & 0x02)
{
tb_9_7->setIcon(ToolBox::Icon(22));
tb_9_7->setText("1");
}
else
{
tb_9_7->setIcon(ToolBox::Icon(23));
tb_9_7->setText("0");
}
 
if (FCSettings[P_LOOP_CONFIG] & 0x04)
{
tb_9_8->setIcon(ToolBox::Icon(24));
tb_9_8->setText("1");
}
else
{
tb_9_8->setIcon(ToolBox::Icon(25));
tb_9_8->setText("0");
}
 
if (FCSettings[P_LOOP_CONFIG] & 0x08)
{
tb_9_9->setIcon(ToolBox::Icon(26));
tb_9_9->setText("1");
}
else
{
tb_9_9->setIcon(ToolBox::Icon(27));
tb_9_9->setText("0");
}
 
/QMK-Groundstation/trunk/Forms/wdg_Settings.h
26,6 → 26,7
 
#include "ui_wdg_Settings.h"
#include "../global.h"
#include "../Classes/cSettings.h"
 
class wdg_Settings : public QWidget, public Ui::wdg_Settings_UI
{
37,10 → 38,12
 
void show_FCSettings(int Set, int FCSettings[MaxParameter]);
char *GetFCSettings();
void set_Config(cSettings *pConfig);
 
private:
int Settings[MaxParameter];
int ParameterSet[11][MaxParameter];
cSettings *Config;
 
void set_LED(QToolButton *ToolButton, bool On = false);
 
/QMK-Groundstation/trunk/Forms/wdg_Settings.ui
5,7 → 5,7
<rect>
<x>0</x>
<y>0</y>
<width>708</width>
<width>700</width>
<height>301</height>
</rect>
</property>
2599,8 → 2599,9
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Arrows/Images/32X32/arrow-left.png</normaloff>:/Arrows/Images/32X32/arrow-left.png</iconset>
<iconset>
<normaloff>:/Arrows/Images/Arrows/Left-1.png</normaloff>
<normalon>:/Arrows/Images/Arrows/Left-2.png</normalon>:/Arrows/Images/Arrows/Left-1.png</iconset>
</property>
<property name="iconSize" >
<size>
2608,6 → 2609,12
<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>
2626,8 → 2633,9
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Arrows/Images/32X32/arrow-up.png</normaloff>:/Arrows/Images/32X32/arrow-up.png</iconset>
<iconset>
<normaloff>:/Arrows/Images/Arrows/Up-1.png</normaloff>
<normalon>:/Arrows/Images/Arrows/Up-2.png</normalon>:/Arrows/Images/Arrows/Up-1.png</iconset>
</property>
<property name="iconSize" >
<size>
2635,6 → 2643,12
<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>
2646,8 → 2660,9
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Arrows/Images/32X32/arrow-down.png</normaloff>:/Arrows/Images/32X32/arrow-down.png</iconset>
<iconset>
<normaloff>:/Arrows/Images/Arrows/Down-1.png</normaloff>
<normalon>:/Arrows/Images/Arrows/Down-2.png</normalon>:/Arrows/Images/Arrows/Down-1.png</iconset>
</property>
<property name="iconSize" >
<size>
2655,8 → 2670,8
<height>32</height>
</size>
</property>
<property name="toolButtonStyle" >
<enum>Qt::ToolButtonIconOnly</enum>
<property name="checkable" >
<bool>true</bool>
</property>
<property name="autoRaise" >
<bool>true</bool>
2673,8 → 2688,9
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<normaloff>:/Arrows/Images/32X32/arrow-right.png</normaloff>:/Arrows/Images/32X32/arrow-right.png</iconset>
<iconset>
<normaloff>:/Arrows/Images/Arrows/Right-1.png</normaloff>
<normalon>:/Arrows/Images/Arrows/Right-2.png</normalon>:/Arrows/Images/Arrows/Right-1.png</iconset>
</property>
<property name="iconSize" >
<size>
2682,8 → 2698,8
<height>32</height>
</size>
</property>
<property name="checked" >
<bool>false</bool>
<property name="checkable" >
<bool>true</bool>
</property>
<property name="autoRaise" >
<bool>true</bool>
3462,7 → 3478,7
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3479,7 → 3495,7
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3496,7 → 3512,7
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3513,7 → 3529,7
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3530,7 → 3546,7
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3547,7 → 3563,7
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3564,7 → 3580,7
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3581,7 → 3597,7
<string>0</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3710,7 → 3726,7
<string>00</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3727,7 → 3743,7
<string>00</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3744,7 → 3760,7
<string>00</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3761,7 → 3777,7
<string>00</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3778,7 → 3794,7
<string>00</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3795,7 → 3811,7
<string>00</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3812,7 → 3828,7
<string>00</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
3829,7 → 3845,7
<string>00</string>
</property>
<property name="icon" >
<iconset resource="../MKTool.qrc" >
<iconset>
<normaloff>:/LED/Images/16X16/ledoff.png</normaloff>:/LED/Images/16X16/ledoff.png</iconset>
</property>
<property name="autoRaise" >
4664,7 → 4680,7
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600; text-decoration: underline;">Einstellungen für das Navi-Ctrl (Seite 2).&lt;/span>&lt;/p>
&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;">&lt;/p>
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;">&lt;span style=" text-decoration:none;">GPS-Wind-Correction: &lt;/span>&lt;span style=" font-weight:400; text-decoration:none;">soll den MK bei Coming-Home direkter zurückfliegen und die Drift durch Wind kompensieren&lt;/span>&lt;/p>
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600;">GPS-Wind-Correction: &lt;/span>soll den MK bei Coming-Home direkter zurückfliegen und die Drift durch Wind kompensieren&lt;/p>
&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;/p>
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600;">Speed Compensation: &lt;/span>Greift bei AID unterstützend ein, wenn man einen neuen Punkt anfliegt Wenn zuviel Geschwindigkeit aufgebaut wird, bremst das den MK&lt;/p>
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;br />&lt;span style=" font-weight:600;">GPS-Maxradius: &lt;/span>Soll eine virtuelle Grenze bilden, die mit GPS nicht überschritten wird.&lt;br />Wenn der MK ausserhalb des Kreises einloggen soll, nimmt er als neue Position einen Punkt auf dem Kreisrand.&lt;br />Man kann den Radius auch auf ein Poti legen. Wegpunkte und Soll-Positionen werden damit auch auf einen Kreis von max. 512m Durchmesser begrenzt.&lt;/p>
4679,8 → 4695,6
</item>
</layout>
</widget>
<resources>
<include location="../MKTool.qrc" />
</resources>
<resources/>
<connections/>
</ui>