Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 710 → Rev 711

/QMK-Groundstation/trunk/Global/Class_HandlerIP/HandlerIP.h
24,7 → 24,12
static const int ID_COMMUNICATOR = 1;
static const int ID_SCOPE = 11;
static const int ID_SETTINGS = 12;
static const int ID_MAPS = 13;
static const int ID_VOICE = 14;
static const int ID_LOGGER = 15;
static const int ID_SERVER = 100;
 
 
class HandlerIP
{
public:
/QMK-Groundstation/trunk/Global/Class_Input/Input_TCP.cpp
81,6 → 81,7
Temp = QByteArray(t_Data.toAscii());
 
TCP_Socket->write(Temp);
TCP_Socket->flush();
 
// qDebug(t_Data.toLatin1().data());
}
138,32 → 139,21
 
void Input_TCP::slot_TCP_ReadLine()
{
// if (TCP_Socket->canReadLine())
{
QString t_Data = QString(TCP_Socket->readLine(TCP_Socket->bytesAvailable())).remove(QChar('\n'));
// QString t_Data = QString(TCP_Socket->readLine(TCP_Socket->bytesAvailable())).remove(QChar('\n'));
QString t_Data = QString(TCP_Socket->readAll());
 
if ((t_Data.length() > 3) && (t_Data[t_Data.length() - 1] == '\r'))
{
emit(sig_NewData(t_Data));
}
}
QStringList l_Data;
l_Data = t_Data.split('\n');
 
for (int z = 0; z < l_Data.count(); z++)
{
 
/* int Len = Input.length();
 
for (int z = 0; z < Len; z++)
{
if (Input[z] == '\r')
if ((l_Data[z].length() > 3) && (t_Data[l_Data[z].length() - 1] == '\r'))
{
new_Data(QString(""));
RxData.String = QString("");
emit(sig_NewData(l_Data[z]));
// qDebug(QString("DATA: _" + l_Data[z] + "_ < END").toLatin1().data());
}
else
{
RxData.String = RxData.String + Input[z];
}
}
*/
}
 
void Input_TCP::slot_TCP_Error(QAbstractSocket::SocketError Error)
/QMK-Groundstation/trunk/Global/Class_Input/Input_TCP.h
23,6 → 23,7
#include <QTcpServer>
#include <QTcpSocket>
#include <QTimer>
#include <QStringList>
 
#include "Input.h"
 
/QMK-Groundstation/trunk/Global/Kopter.h
20,7 → 20,6
#define KOPTER_H
 
#include <QString>
#include <QRgb>
 
#include <stdint.h>
 
47,6 → 46,4
 
static const QString DEF_DebugNames[] = {"Integral Nick", "Integral Roll", "ACC Nick", "ACC Roll", "Gyro Gier", "Hoehen-Wert", "ACC Z", "GAS", "Kompass-Value", "Spannung", "Empfang", "Ersatzkompass", "Motor Vorne", "Motor Hinten", "Motor Links", "Motor Rechts", "Analog 16", "Distance", "OSD-Bar", "MK3Mag", "Servo", "Nick", "Roll", "Analog 23", "Analog 24", "Analog 25", "Analog 26", "Kalman Max", "Analog 28", "Kalman K", "GPS Nick", "GPS Roll"};
 
static const QRgb DEF_DebugColors[] = {0x00FF0000, 0x0000FF00, 0x00FFFF00, 0x000000FF, 0x00FF00FF, 0x0000FFFF, 0x00FFFFFF, 0x00660000, 0x00006600, 0x00666600, 0x00000066, 0x00660066, 0x000066, 0x00666666, 0x00990000, 0x00009900, 0x00999900, 0x00000099, 0x00990099, 0x00009999, 0x00999999, 0x00CC0000, 0x0000CC00, 0x00CCCC00, 0x000000CC, 0x00CC00CC, 0x0000CCCC, 0x00CCCCCC, 0x0066FF99, 0x009966FF, 0x00FF9966, 0x0099FF66};
 
#endif // KOPTER_H
/QMK-Groundstation/trunk/QMK-Communicator/Classes/cSettings.cpp
50,6 → 50,14
{
CLIENT.TTY_DEVICES[z] = Setting.value("TTY_DEVICE_" + QString("%1").arg(z), QString("/dev/ttyS3")).toString();
}
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");
76,11 → 84,20
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");
/QMK-Groundstation/trunk/QMK-Communicator/Classes/cSettings.h
37,6 → 37,11
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
/QMK-Groundstation/trunk/QMK-Communicator/Defines.h
24,7 → 24,7
#include "../Global/Kopter.h"
 
static const QString QA_NAME = "QMK-Communicator";
static const QString QA_VERSION_NR = "1.1.0";
static const QString QA_VERSION_NR = "1.1.4";
 
#ifdef _BETA_
static const QString QA_VERSION = QA_VERSION_NR + " (BETA)";
32,7 → 32,7
static const QString QA_VERSION = QA_VERSION_NR;
#endif
 
static const QString QA_DATE = "30.10.2009";
static const QString QA_DATE = "30.11.2009";
static const QString QA_YEAR = "2008-2009";
 
static const QString QA_ABOUT =
/QMK-Groundstation/trunk/QMK-Communicator/Dialogs/dlg_Main.cpp
4,7 → 4,7
* *
* 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. *
* 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 *
13,11 → 13,12
* *
* 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., *
* Free Software Con_Server, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
 
#include <QMessageBox>
#include <QCryptographicHash>
 
#include "dlg_Main.h"
 
30,6 → 31,7
o_Settings = new cSettings();
 
o_Input = new Input();
o_Output = new Input();
 
f_Terminal = new dlg_Terminal(this);
 
65,10 → 67,10
 
for (int z = 0; z < DEV_IP_MAX; z++)
{
Item[z][0] = new QListWidgetItem();
Item[z][1] = new QListWidgetItem();
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)
78,6 → 80,21
}
 
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);
 
}
 
// Signale mit Slots verbinden
93,7 → 110,8
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_Terminal, SIGNAL(clicked()), this, SLOT(slot_btn_Terminal()));
connect(btn_ConnectServer, SIGNAL(clicked()), this, SLOT(slot_btn_ConnectServer()));
 
// About QMK-Kernel & About-QT Dialog einfügen
connect(ac_About, SIGNAL(triggered()), this, SLOT(slot_ac_About()));
107,12 → 125,15
bool dlg_Main::init_TCP()
{
Connect_Count = 0;
Connection[0].TCP = false;
Connection[0].UDP = false;
 
Con_Server[0].Status = 0;
 
Con_Server[0].TCP = false;
Con_Server[0].UDP = false;
 
for (int a = 0; a < DEV_IP_MAX; a++)
{
Connection[a].Open = false;
Con_Server[a].Status = 0;
}
 
TCP_Server = new QTcpServer(this);
165,17 → 186,36
// An alle offenen TCP-Sockets senden.
for (int a = 1; a < DEV_IP_MAX; a++)
{
if (Connection[a].Open == true)
if (Con_Server[a].Status > 0)
{
if (Connection[a].TCP == true)
if (Con_Server[a].TCP == true)
{
send_TCP(o_TCP[a], t_Data + "\r");
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_Data(QString t_Data, int t_ID)
void dlg_Main::parse_TCP_Server_Data(QString t_Data, int t_ID)
{
QStringList Data;
Data = t_Data.split(":");
183,44 → 223,187
if (Data.count() > 1)
{
int CMD = Data[2].toInt();
QString A = Data[2];
// qDebug(A.toLatin1().data());
 
switch(CMD)
{
case 101 :
{
Item[t_ID][1]->setText(Data[3]);
if (Connection[t_ID].Auth == true)
Item[t_ID][1]->setText("* " + Data[3]);
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 (Connection[t_ID].Auth == false)
if (Con_Server[t_ID].Status != 2)
{
if ((o_Settings->SERVER.Password != "") && (Data[3] == o_Settings->SERVER.Password))
// 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"));
 
Connection[t_ID].Auth = true;
Item[t_ID][1]->setText("* " + Item[t_ID][1]->text());
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-Input-Daten verarbeiten.
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("madlen").toAscii(),QCryptographicHash::Md5);
 
s_MD5PW = QString(a_MD5PW.toHex().data());
 
o_Output->send_Data(HandlerIP::make_Frame(ID_COMMUNICATOR, 104, "keyoz@c64-power.net;" + 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 (Connection[a].Open == false)
if (Con_Server[a].Status == 0)
return a;
}
return 0;
232,9 → 415,12
QByteArray SendText = Data.toAscii();
 
Socket->write(SendText + "\n");
Socket->flush();
 
// qDebug(SendText.data());
}
 
///////////ettings
///////////
// Slots //
///////////
 
311,7 → 497,107
}
}
 
// Verbindung herstellen
// Verbindung herstellen zum Datenserver
void dlg_Main::slot_btn_ConnectServer()
{
if (!o_Output->IsOpen())
{
Con_Output = Con_Server[0];
 
s_Output.Main = "127.0.0.1";//Server[0];
s_Output.Sub = "64410";//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_Output_Disconnected(int Error)
{
// cb_Server->setEnabled(true);
// le_Password->setEnabled(true);
 
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)));
 
// o_Output->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"));
}
 
void dlg_Main::slot_Output_Data(QString t_Data)
{
if ((t_Data[0] == '#'))
{
}
else if (o_Output->Mode() == TCP)
{
show_Terminal(6, t_Data);
parse_TCP_Output_Data(t_Data);
}
}
 
// Verbindung herstellen zum Kopter
void dlg_Main::slot_btn_Connect()
{
if (!o_Input->IsOpen())
339,18 → 625,137
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
{
if (rb_Device->isChecked())
{
cb_Device->setEnabled(true);
cb_Server->setEnabled(true);
le_Password->setEnabled(true);
 
o_Input->Close();
btn_Connect->setText(tr("Verbinden"));
cb_Device->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);
}
}
}
}
 
// 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()
{
370,7 → 775,6
}
}
 
// Neue Daten empfangen.
void dlg_Main::show_Terminal(int t_Typ, QString t_Data)
{
if (f_Terminal->isVisible())
379,28 → 783,16
}
}
 
void dlg_Main::slot_Input_Data(QString t_Data)
{
if (HandlerMK::Check_CRC(t_Data.toLatin1().data(), t_Data.length()))
{
show_Terminal(1, t_Data);
parse_Input_Data(t_Data);
route_Input_Data(t_Data);
}
else
{
show_Terminal(2, t_Data);
}
}
/////////////////////
// IP-Slots Server //
/////////////////////
 
//////////////
// IP-Slots //
//////////////
 
void dlg_Main::slot_TCP_NewConnection()
{
if (!o_Input->IsOpen())
{
slot_btn_Connect();
}
 
int ID = get_FreeSocket();
 
407,39 → 799,46
if (ID != 0)
{
Connect_Count++;
// Leeres Connection erzeugen
Connection[ID] = Connection[0];
Connection[ID].Open = true;
Connection[ID].TCP = true;
Connection[ID].Auth = false;
 
// 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, 501, QA_NAME + " " + QA_VERSION));
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][0]->setText(o_TCP[ID]->peerAddress().toString());
lw_ClientsIP->addItem(Item[ID][0]);
Item[ID][1]->setText("n/a");
lw_Clients->addItem(Item[ID][1]);
Item[ID]->setText(" " + QString(o_TCP[ID]->peerAddress().toString()).leftJustified(15,' ') + " - n/a");
lw_Clients->addItem(Item[ID]);
 
if (Item[ID][0]->text() == "127.0.0.1")
Connection[ID].Auth = true;
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 (Connection[ID].Auth)
Item[ID][1]->setText("* n/a");
if (o_Input->IsOpen())
{
// send_TCP(o_TCP[ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 520, cb_Device->currentText()));
}
 
}
else
{ // Server voll
else // Server voll
{
o_TCP[ID] = TCP_Server->nextPendingConnection();
o_TCP[ID]->setProperty("ID", ID);
 
// send_TCP(o_TCP[ID], QString("SERVER FULL\n"));
send_TCP(o_TCP[ID],HandlerIP::make_Frame(ID_COMMUNICATOR, 521, "Sorry, Server full."));
o_TCP[ID]->disconnectFromHost();
}
}
453,20 → 852,47
int ID = Socket->property("ID").toUInt();
ID = ID;
 
// QString t_Data = QString(TCP_Socket->readLine(TCP_Socket->bytesAvailable())).remove(QChar('\n'));
QString t_Data = QString(Socket->readAll());
 
QStringList l_Data = t_Data.split('\r');
 
for (int z = 0; z < l_Data.count(); z++)
{
if ((l_Data[z].length() > 3))
{
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]);
}
}
}
}
 
/*
QString t_Data = QString(Socket->readLine((Socket->bytesAvailable())));
 
QStringList s_Data = t_Data.split('\r');
 
for (int z = 0; z < s_Data.length() - 1; z++)
for (int z = 0; z < s_Data.count() - 1; z++)
{
if (s_Data[z][0] == '$')
{
// qDebug(QString("TCP: " + s_Data[z]).toLatin1().data());
parse_TCP_Data(s_Data[z], ID);
parse_TCP_Server_Data(s_Data[z], ID);
show_Terminal(5, "IP: " + s_Data[z]);
 
}
else
{ // Daten vom Client an den MK. todo: Nur erlauben wenn autemtifiziert oder Localhost
if ((Connection[ID].Auth == true))
else
{
if ((Con_Server[ID].Status >= 2))
{
show_Terminal(3, s_Data[z]);
o_Input->send_Data(s_Data[z]);
474,6 → 900,8
}
}
}
*/
}
}
 
void dlg_Main::slot_TCP_Disconnect()
482,16 → 910,16
 
int ID = Socket->property("ID").toUInt();
 
Item[ID][1]->setText("Disconected");
Item[ID]->setText(" " + QString(o_TCP[ID]->peerAddress().toString()).leftJustified(15,' ') + " - Disconected");
 
Connection[ID] = Connection[0];
Connection[ID].Open = false;
Con_Server[ID] = Con_Server[0];
Con_Server[ID].Status = 0;
 
Connect_Count--;
 
Socket->setProperty("ID", 0);
 
if (Connect_Count == 0)
if ((Connect_Count == 0) && (o_Input->IsOpen()))
slot_btn_Connect();
}
 
515,7 → 943,17
}
}
 
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->write_Settings();
 
// qDebug("Ende.");
/QMK-Groundstation/trunk/QMK-Communicator/Dialogs/dlg_Main.h
38,6 → 38,7
#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"
56,8 → 57,12
 
// Input Device.
Input *o_Input;
Input *o_Output;
 
set_Input s_Input;
set_Input s_Output;
 
 
// Settings-Object
cSettings *o_Settings;
 
75,9 → 80,10
 
//Liste alle IP-Verbindungen und deren Parameter.
int Connect_Count;
sConnection Connection[DEV_IP_MAX];
sConnection Con_Server[DEV_IP_MAX];
sConnection Con_Output;
 
QListWidgetItem *Item[DEV_IP_MAX][2];
QListWidgetItem *Item[DEV_IP_MAX];
 
s_Hardware VersionInfo;
 
96,7 → 102,9
// Einkommende Datenpackete weiterleiten
void route_Input_Data(QString t_Data);
 
void parse_TCP_Data(QString t_Data, int t_ID);
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();
120,13 → 128,21
void slot_btn_cLogger();
 
void slot_btn_Terminal();
void slot_btn_ConnectServer();
 
// 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
/QMK-Groundstation/trunk/QMK-Communicator/Dialogs/dlg_Main.ui
6,8 → 6,8
<rect>
<x>0</x>
<y>0</y>
<width>446</width>
<height>350</height>
<width>447</width>
<height>372</height>
</rect>
</property>
<property name="windowTitle">
57,9 → 57,6
</item>
<item>
<widget class="QRadioButton" name="rb_TCP">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>T CP</string>
</property>
126,60 → 123,7
</layout>
</widget>
</item>
<item row="1" column="1">
<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_IP">
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QComboBox" name="cb_Port">
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Port:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>IP:</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="0" colspan="2">
<item row="4" column="0" colspan="2">
<widget class="QFrame" name="frame_2">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
228,7 → 172,7
</layout>
</widget>
</item>
<item row="2" column="0" colspan="2">
<item row="3" column="0" colspan="2">
<widget class="QPushButton" name="btn_Connect">
<property name="text">
<string>Verbinden</string>
235,6 → 179,59
</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>
248,16 → 245,6
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QListWidget" name="lw_ClientsIP">
<property name="font">
<font>
<family>Courier 10 Pitch</family>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QListWidget" name="lw_Clients">
<property name="font">
<font>
265,6 → 252,18
<pointsize>12</pointsize>
</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>
414,6 → 413,13
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QPushButton" name="btn_ConnectServer">
<property name="text">
<string>Verbinde Server</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
424,7 → 430,7
<rect>
<x>0</x>
<y>0</y>
<width>446</width>
<width>447</width>
<height>21</height>
</rect>
</property>
499,5 → 505,37
</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>
/QMK-Groundstation/trunk/QMK-Communicator/Dialogs/dlg_Terminal.cpp
60,6 → 60,30
}
}
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;
}
}
 
/QMK-Groundstation/trunk/QMK-Communicator/Dialogs/dlg_Terminal.ui
6,7 → 6,7
<rect>
<x>0</x>
<y>0</y>
<width>671</width>
<width>720</width>
<height>365</height>
</rect>
</property>
105,7 → 105,7
</property>
</widget>
</item>
<item row="0" column="4">
<item row="0" column="5">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
118,7 → 118,7
</property>
</spacer>
</item>
<item row="0" column="5">
<item row="0" column="6">
<widget class="QPushButton" name="btn_Delete">
<property name="text">
<string>Löschen</string>
125,6 → 125,16
</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>
/QMK-Groundstation/trunk/QMK-Communicator/QMK-Communicator.pro
5,6 → 5,9
TARGET = QMK-Communicator
TEMPLATE = app
DEFINES += _TTY_POSIX_
 
include(../Global/Class_SerialPort.pri)
 
DESTDIR = ../Binary
debug:DEFINES += _BETA_
OBJECTS_DIR = ../Binary/.build/QMK-Communicator
15,26 → 18,20
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 \
../Global/Class_SerialPort/qextserialbase.cpp \
../Global/Class_SerialPort/qextserialport.cpp \
../Global/Class_SerialPort/ManageSerialPort.cpp \
Dialogs/dlg_Main.cpp \
Classes/cSettings.cpp \
Dialogs/dlg_Preferences.cpp \
Dialogs/dlg_Terminal.cpp
win32:SOURCES += ../Global/Class_SerialPort/win_qextserialport.cpp
unix:SOURCES += ../Global/Class_SerialPort/posix_qextserialport.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 \
../Global/Class_SerialPort/qextserialbase.h \
../Global/Class_SerialPort/qextserialport.h \
../Global/Class_SerialPort/ManageSerialPort.h \
Dialogs/dlg_Main.h \
Classes/cSettings.h \
TypeDefs.h \
41,8 → 38,6
../Global/Global.h \
Dialogs/dlg_Preferences.h \
Dialogs/dlg_Terminal.h
win32:HEADERS += ../Global/Class_SerialPort/win_qextserialport.h
unix:HEADERS += ../Global/Class_SerialPort/posix_qextserialport.h
FORMS += Dialogs/dlg_Main.ui \
Dialogs/dlg_Preferences.ui \
Dialogs/dlg_Terminal.ui
/QMK-Groundstation/trunk/QMK-Communicator/TypeDefs.h
23,11 → 23,14
 
struct sConnection
{
bool Open;
// bool Open;
bool TCP;
bool UDP;
// bool Auth;
QString Fields;
bool Auth;
QString Version;
 
int Status;
};
 
#endif // TYPEDEFS_H
/QMK-Groundstation/trunk/QMK-Maps/Defines.h
24,7 → 24,7
#include "../Global/Kopter.h"
 
static const QString QA_NAME = "QMK-Maps";
static const QString QA_VERSION_NR = "1.1.0";
static const QString QA_VERSION_NR = "1.1.4";
 
#ifdef _BETA_
static const QString QA_VERSION = QA_VERSION_NR + " (BETA)";
32,7 → 32,7
static const QString QA_VERSION = QA_VERSION_NR;
#endif
 
static const QString QA_DATE = "30.10.2009";
static const QString QA_DATE = "30.11.2009";
static const QString QA_YEAR = "2008-2009";
 
static const QString QA_ABOUT =
49,4 → 49,6
"Dieses Programm wird unter den Bedingungen der GPL v2 ver&ouml;ffentlicht."
"</HTML>";
 
static const QString DataFields = "VWXO";
 
#endif // DEFINES_H
/QMK-Groundstation/trunk/QMK-Maps/Dialogs/dlg_Main.cpp
17,6 → 17,7
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
 
#include <QCryptographicHash>
#include <QMessageBox>
#include <QDomDocument>
#include <QFile>
94,10 → 95,6
connect(ac_Connect, SIGNAL(triggered()), this, SLOT(slot_ac_Connect()));
connect(ac_Toolbar, SIGNAL(triggered()), this, SLOT(slot_ac_Toolbar()));
 
// 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(sb_Intervall, SIGNAL(valueChanged(int)), this, SLOT(slot_sb_Intervall(int)));
 
connect(sl_Zoom, SIGNAL(valueChanged(int)), this, SLOT(slot_Zoom(int)));
115,6 → 112,10
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()));
}
 
void dlg_Main::init_Directorys()
163,11 → 164,35
 
switch(CMD)
{
case 501 :
case 101 :
{
o_Input->send_Data(HandlerIP::make_Frame(0, 105, le_Password->text()));
o_Input->send_Data(HandlerIP::make_Frame(ID_MAPS, 101, QA_NAME + " " + QA_VERSION));
}
break;
case 502 :
{
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_MAPS, 105, s_MD5PW));
}
break;
case 106 :
{
o_Input->send_Data(HandlerIP::make_Frame(ID_MAPS, 106, DataFields));
}
break;
}
}
break;
case 505 :
{
if (Data[3] == "OK")
534,7 → 559,7
// TODO: Check auf Entfernung zur IST-Position.
void dlg_Main::send_Target(Point *t_Target)
{
if (l_Track.length() > 0)
if (l_Track.count() > 0)
{
s_MK_WayPoint s_WayPoint;
 
681,7 → 706,7
}
 
}
else
else // Connect über TCPIP
{
o_Input = new Input_TCP();
o_Input->Init();
730,7 → 755,7
// qDebug(QString("CRC-Error - " + t_Data).toLatin1().data());
}
}
else if (o_Input->Mode() == TCP)
else if ((o_Input->Mode() == TCP) && (t_Data[0] == '$'))
{
parse_IP_Data(t_Data);
}
742,13 → 767,10
cb_Server->setEnabled(true);
le_Password->setEnabled(true);
 
// qDebug("Close");
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);
}
disconnect(o_Input, SIGNAL(sig_Disconnected(int)), 0, 0);
disconnect(o_Input, SIGNAL(sig_Connected()), 0, 0);
 
ac_Connect->setChecked(false);
ac_Connect->setText(tr("Verbinden"));
btn_Connect->setChecked(false);
787,7 → 809,6
{
connect(o_Input, SIGNAL(sig_NewData(QString)), this, SLOT(slot_Input_Data(QString)));
 
o_Input->send_Data(HandlerIP::make_Frame(0, 101, QA_NAME + " " + QA_VERSION));
o_Input->send_Data(HandlerMK::make_Frame('v', 0, c_Data, 0).toLatin1().data(), DATA_VERSION);
ac_Connect->setText(tr("Trennen"));
}
1003,14 → 1024,10
{
if (Show == true)
{
// qDebug("Error 1");
if (l_RouteWP->hasPoints())
{
// qDebug("Error 2");
o_RouteWP->addGeometry(l_RouteWP);
// qDebug("Error 3");
o_Map->updateRequestNew();
// qDebug("Error 4");
}
}
else
/QMK-Groundstation/trunk/QMK-Scope/Defines.h
24,7 → 24,7
#include "../Global/Kopter.h"
 
static const QString QA_NAME = "QMK-Scope";
static const QString QA_VERSION_NR = "1.1.0";
static const QString QA_VERSION_NR = "1.1.4";
 
#ifdef _BETA_
static const QString QA_VERSION = QA_VERSION_NR + " (BETA)";
32,7 → 32,7
static const QString QA_VERSION = QA_VERSION_NR;
#endif
 
static const QString QA_DATE = "30.10.2009";
static const QString QA_DATE = "30.11.2009";
static const QString QA_YEAR = "2008-2009";
 
static const QString QA_ABOUT =
49,4 → 49,6
"Dieses Programm wird unter den Bedingungen der GPL v2 ver&ouml;ffentlicht."
"</HTML>";
 
static const QString DataFields = "VAD";
 
#endif // DEFINES_H
/QMK-Groundstation/trunk/QMK-Scope/Dialogs/dlg_Main.cpp
18,6 → 18,7
***************************************************************************/
 
#include <QMessageBox>
#include <QCryptographicHash>
 
#include "dlg_Main.h"
 
197,6 → 198,7
qwt_Plotter->replot();
}
 
// IP-Input-Daten verarbeiten.
void dlg_Main::parse_IP_Data(QString t_Data)
{
QStringList Data;
208,10 → 210,33
 
switch(CMD)
{
case 501 :
case 101 :
{
o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 105, le_Password->text()));
o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 101, QA_NAME + " " + QA_VERSION));
}
case 502 :
{
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_SCOPE, 105, s_MD5PW));
}
break;
case 106 :
{
o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 106, DataFields));
}
break;
}
}
break;
case 505 :
{
228,7 → 253,7
}
}
 
// Eingangsdaten verarbeiten
// MK-Eingangsdaten verarbeiten
void dlg_Main::parse_MK_Data(QString t_Data)
{
unsigned char OutData[150];
457,6 → 482,7
cb_Server->setEnabled(false);
le_Password->setEnabled(false);
 
// Connect über Device
if (cb_Server->currentText().startsWith('/'))
{
o_Input = new Input_TTY();
479,7 → 505,7
}
 
}
else
else // Connect über TCPIP
{
o_Input = new Input_TCP();
o_Input->Init();
525,10 → 551,10
}
else
{
// qDebug(QString("CRC-Error - " + t_Data).toLatin1().data());
qDebug(QString("CRC-Error - " + t_Data).toLatin1().data());
}
}
else if (o_Input->Mode() == TCP)
else if ((o_Input->Mode() == TCP) && (t_Data[0] == '$'))
{
parse_IP_Data(t_Data);
}
539,13 → 565,10
cb_Server->setEnabled(true);
le_Password->setEnabled(true);
 
// qDebug("Close");
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);
}
disconnect(o_Input, SIGNAL(sig_Disconnected(int)), 0, 0);
disconnect(o_Input, SIGNAL(sig_Connected()), 0, 0);
 
ac_Connect->setChecked(false);
ac_Connect->setText(tr("Verbinden"));
 
582,7 → 605,7
{
connect(o_Input, SIGNAL(sig_NewData(QString)), this, SLOT(slot_Input_Data(QString)));
 
o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 101, QA_NAME + " " + QA_VERSION));
// o_Input->send_Data(HandlerIP::make_Frame(ID_SCOPE, 101, QA_NAME + " " + QA_VERSION));
o_Input->send_Data(HandlerMK::make_Frame('v', 0, c_Data, 0).toLatin1().data(), DATA_VERSION);
ac_Connect->setText(tr("Trennen"));
}
/QMK-Groundstation/trunk/QMK-Scope/TypeDefs.h
20,5 → 20,8
#define TYPEDEFS_H
 
#include <QString>
#include <QRgb>
 
static const QRgb DEF_DebugColors[] = {0x00FF0000, 0x0000FF00, 0x00FFFF00, 0x000000FF, 0x00FF00FF, 0x0000FFFF, 0x00FFFFFF, 0x00660000, 0x00006600, 0x00666600, 0x00000066, 0x00660066, 0x000066, 0x00666666, 0x00990000, 0x00009900, 0x00999900, 0x00000099, 0x00990099, 0x00009999, 0x00999999, 0x00CC0000, 0x0000CC00, 0x00CCCC00, 0x000000CC, 0x00CC00CC, 0x0000CCCC, 0x00CCCCCC, 0x0066FF99, 0x009966FF, 0x00FF9966, 0x0099FF66};
 
#endif // TYPEDEFS_H
/QMK-Groundstation/trunk/QMK-Settings/Defines.h
24,7 → 24,7
#include "../Global/Kopter.h"
 
static const QString QA_NAME = "QMK-Settings";
static const QString QA_VERSION_NR = "1.1.0";
static const QString QA_VERSION_NR = "1.1.4";
 
#ifdef _BETA_
static const QString QA_VERSION = QA_VERSION_NR + " (BETA)";
32,7 → 32,7
static const QString QA_VERSION = QA_VERSION_NR;
#endif
 
static const QString QA_DATE = "30.10.2009";
static const QString QA_DATE = "30.11.2009";
static const QString QA_YEAR = "2008-2009";
 
static const QString QA_ABOUT =
49,4 → 49,6
"Dieses Programm wird unter den Bedingungen der GPL v2 ver&ouml;ffentlicht."
"</HTML>";
 
static const QString DataFields = "VSQPMN";
 
#endif // DEFINES_H
/QMK-Groundstation/trunk/QMK-Settings/Dialogs/dlg_Main.cpp
17,6 → 17,7
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
 
#include <QCryptographicHash>
#include <QFileDialog>
#include <QMessageBox>
#include <QSettings>
167,11 → 168,35
 
switch(CMD)
{
case 501 :
case 101 :
{
o_Input->send_Data(HandlerIP::make_Frame(ID_SETTINGS, 105, le_Password->text()));
o_Input->send_Data(HandlerIP::make_Frame(ID_SETTINGS, 101, QA_NAME + " " + QA_VERSION));
}
break;
case 502 :
{
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_SETTINGS, 105, s_MD5PW));
}
break;
case 106 :
{
o_Input->send_Data(HandlerIP::make_Frame(ID_SETTINGS, 106, DataFields));
}
break;
}
}
break;
case 505 :
{
if (Data[3] == "OK")
389,13 → 414,10
cb_Server->setEnabled(true);
le_Password->setEnabled(true);
 
// qDebug("Close");
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);
}
disconnect(o_Input, SIGNAL(sig_Disconnected(int)), 0, 0);
disconnect(o_Input, SIGNAL(sig_Connected()), 0, 0);
 
ac_Connect->setChecked(false);
ac_Connect->setText(tr("Verbinden"));
 
432,7 → 454,6
{
connect(o_Input, SIGNAL(sig_NewData(QString)), this, SLOT(slot_Input_Data(QString)));
 
o_Input->send_Data(HandlerIP::make_Frame(ID_SETTINGS, 101, QA_NAME + " " + QA_VERSION));
o_Input->send_Data(HandlerMK::make_Frame('v', ADDRESS_ALL, c_Data, 0).toLatin1().data(), DATA_VERSION);
ac_Connect->setText(tr("Trennen"));
}
584,6 → 605,7
Setting.setValue("LoopHysteresis", t_Set.LoopHysterese);
Setting.setValue("TurnOverNick", t_Set.WinkelUmschlagNick);
Setting.setValue("TurnOverRoll", t_Set.WinkelUmschlagRoll);
Setting.endGroup();
 
Setting.beginGroup("User");
Setting.setValue("Parameter_1", t_Set.UserParam1);
/QMK-Groundstation/trunk/QMK-Settings/QMK-Settings.pro.user
1,10 → 1,6
<!DOCTYPE QtCreatorProject>
<qtcreator>
<data>
<variable>RunConfiguration0-BaseEnvironmentBase</variable>
<value type="int" >2</value>
</data>
<data>
<variable>RunConfiguration0-CommandLineArguments</variable>
<valuelist type="QVariantList" />
</data>
33,14 → 29,6
<value type="bool" >false</value>
</data>
<data>
<variable>RunConfiguration0-UserSetWorkingDirectory</variable>
<value type="bool" >false</value>
</data>
<data>
<variable>RunConfiguration0-UserWorkingDirectory</variable>
<value type="QString" ></value>
</data>
<data>
<variable>RunConfiguration0-type</variable>
<value type="QString" >Qt4ProjectManager.Qt4RunConfiguration</value>
</data>
81,83 → 69,75
<value type="QString" >CPU=x86_64</value>
<value type="QString" >CSHEDIT=emacs</value>
<value type="QString" >CVS_RSH=ssh</value>
<value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-bemAcsizF4,guid=358e4873c8a50f474f072d2c4ae946a0</value>
<value type="QString" >DESKTOP_SESSION=kde4</value>
<value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-vBMGctWIRs,guid=916e4992bf9a1f167aef3e9b4afd787a</value>
<value type="QString" >DESKTOP_SESSION=default</value>
<value type="QString" >DESKTOP_STARTUP_ID=</value>
<value type="QString" >DISPLAY=:0.0</value>
<value type="QString" >DM_CONTROL=/var/run/xdmctl</value>
<value type="QString" >ENV=/etc/bash.bashrc</value>
<value type="QString" >FROM_HEADER=</value>
<value type="QString" >GPG_AGENT_INFO=/tmp/gpg-R686e7/S.gpg-agent:5803:1</value>
<value type="QString" >GS_LIB=/home/Manuel/.fonts</value>
<value type="QString" >GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/usr/share/themes//QtCurve/gtk-2.0/gtkrc:/home/Manuel/.gtkrc-2.0-qtengine:/home/Manuel/.gtkrc-2.0:/home/Manuel/.kde4/share/config/gtkrc-2.0</value>
<value type="QString" >GPG_AGENT_INFO=/tmp/gpg-gYx9wP/S.gpg-agent:2023:1</value>
<value type="QString" >GS_LIB=/home/manuel/.fonts</value>
<value type="QString" >GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/usr/share/themes//QtCurve/gtk-2.0/gtkrc:/home/manuel/.gtkrc-2.0-qtengine:/home/manuel/.gtkrc-2.0:/home/manuel/.kde4/share/config/gtkrc-2.0</value>
<value type="QString" >GTK_IM_MODULE=cedilla</value>
<value type="QString" >GTK_RC_FILES=/etc/gtk/gtkrc:/home/Manuel/.gtkrc::/home/Manuel/.kde4/share/config/gtkrc</value>
<value type="QString" >GTK_RC_FILES=/etc/gtk/gtkrc:/home/manuel/.gtkrc::/home/manuel/.kde4/share/config/gtkrc</value>
<value type="QString" >G_BROKEN_FILENAMES=1</value>
<value type="QString" >G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252</value>
<value type="QString" >HISTSIZE=1000</value>
<value type="QString" >HOME=/home/Manuel</value>
<value type="QString" >HOST=KeyOz-WSL</value>
<value type="QString" >HOSTNAME=KeyOz-WSL</value>
<value type="QString" >HOME=/home/manuel</value>
<value type="QString" >HOST=Workstation</value>
<value type="QString" >HOSTNAME=Workstation</value>
<value type="QString" >HOSTTYPE=x86_64</value>
<value type="QString" >INFODIR=/usr/local/info:/usr/share/info:/usr/info</value>
<value type="QString" >INFOPATH=/usr/local/info:/usr/share/info:/usr/info</value>
<value type="QString" >INPUTRC=/etc/inputrc</value>
<value type="QString" >JAVA_BINDIR=/usr/lib64/jvm/java/bin</value>
<value type="QString" >JAVA_HOME=/usr/lib64/jvm/java</value>
<value type="QString" >JAVA_ROOT=/usr/lib64/jvm/java</value>
<value type="QString" >JDK_HOME=/usr/lib64/jvm/java</value>
<value type="QString" >JRE_HOME=/usr/lib64/jvm/java</value>
<value type="QString" >INPUTRC=/home/manuel/.inputrc</value>
<value type="QString" >JAVA_BINDIR=/usr/lib64/jvm/jre/bin</value>
<value type="QString" >JAVA_HOME=/usr/lib64/jvm/jre</value>
<value type="QString" >JAVA_ROOT=/usr/lib64/jvm/jre</value>
<value type="QString" >JRE_HOME=/usr/lib64/jvm/jre</value>
<value type="QString" >KDE_FULL_SESSION=true</value>
<value type="QString" >KDE_MULTIHEAD=false</value>
<value type="QString" >KDE_SESSION_UID=1002</value>
<value type="QString" >KDE_SESSION_UID=1000</value>
<value type="QString" >KDE_SESSION_VERSION=4</value>
<value type="QString" >LADSPA_PATH=/usr/lib64/ladspa</value>
<value type="QString" >LANG=de_DE.UTF-8</value>
<value type="QString" >LD_LIBRARY_PATH=/usr/lib/qtcreator-git:</value>
<value type="QString" >LD_LIBRARY_PATH=/usr/lib/qtcreator:/usr/lib64/mpi/gcc/openmpi/lib64</value>
<value type="QString" >LESS=-M -I</value>
<value type="QString" >LESSCLOSE=lessclose.sh %s %s</value>
<value type="QString" >LESSKEY=/etc/lesskey.bin</value>
<value type="QString" >LESSOPEN=lessopen.sh %s</value>
<value type="QString" >LESS_ADVANCED_PREPROCESSOR=no</value>
<value type="QString" >LOGNAME=Manuel</value>
<value type="QString" >LOGNAME=manuel</value>
<value type="QString" >LS_COLORS=no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.xz=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:</value>
<value type="QString" >LS_OPTIONS=-N --color=tty -T 0</value>
<value type="QString" >MACHTYPE=x86_64-suse-linux</value>
<value type="QString" >MAIL=/var/spool/mail/Manuel</value>
<value type="QString" >MANPATH=/usr/local/man:/usr/share/man:/opt/cross/share/man</value>
<value type="QString" >MAIL=/var/spool/mail/manuel</value>
<value type="QString" >MANPATH=/usr/lib64/mpi/gcc/openmpi/share/man:/usr/local/man:/usr/share/man</value>
<value type="QString" >MINICOM=-c on</value>
<value type="QString" >MORE=-sl</value>
<value type="QString" >NNTPSERVER=news</value>
<value type="QString" >OSTYPE=linux</value>
<value type="QString" >PAGER=less</value>
<value type="QString" >PATH=/usr/bin:/home/Manuel/CodeSourcery/Sourcery_G++_Lite/bin:/home/Manuel/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/opt/cross/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin</value>
<value type="QString" >PATH=/usr/bin:/usr/lib64/mpi/gcc/openmpi/bin:/home/manuel/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib64/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin</value>
<value type="QString" >PROFILEREAD=true</value>
<value type="QString" >PWD=/home/Manuel/Documents</value>
<value type="QString" >PWD=/home/manuel/Dokumente</value>
<value type="QString" >PYTHONSTARTUP=/etc/pythonstart</value>
<value type="QString" >QTDIR=/usr</value>
<value type="QString" >QT_IM_MODULE=xim</value>
<value type="QString" >QT_IM_SWITCHER=imsw-multi</value>
<value type="QString" >QT_PLUGIN_PATH=/home/Manuel/.kde4/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/</value>
<value type="QString" >QT_PLUGIN_PATH=/home/manuel/.kde4/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/</value>
<value type="QString" >QT_SYSTEM_DIR=/usr/share/desktop-data</value>
<value type="QString" >SDK_HOME=/usr/lib64/jvm/java</value>
<value type="QString" >SESSION_MANAGER=local/KeyOz-WSL:@/tmp/.ICE-unix/5898,unix/KeyOz-WSL:/tmp/.ICE-unix/5898</value>
<value type="QString" >SESSION_MANAGER=local/Workstation:@/tmp/.ICE-unix/2137,unix/Workstation:/tmp/.ICE-unix/2137</value>
<value type="QString" >SHELL=/bin/bash</value>
<value type="QString" >SHLVL=1</value>
<value type="QString" >SSH_AGENT_PID=5804</value>
<value type="QString" >SSH_ASKPASS=/usr/lib64/ssh/x11-ssh-askpass</value>
<value type="QString" >SSH_AUTH_SOCK=/tmp/ssh-gPQBk5724/agent.5724</value>
<value type="QString" >TERM=xterm</value>
<value type="QString" >TMPDIR=/tmp</value>
<value type="QString" >USER=Manuel</value>
<value type="QString" >USER=manuel</value>
<value type="QString" >USE_FAM=</value>
<value type="QString" >WINDOWMANAGER=/usr/bin/startkde</value>
<value type="QString" >WINDOWPATH=7</value>
<value type="QString" >XAUTHLOCALHOSTNAME=KeyOz-WSL</value>
<value type="QString" >XAUTHLOCALHOSTNAME=Workstation</value>
<value type="QString" >XCURSOR_THEME=Oxygen_White</value>
<value type="QString" >XDG_CONFIG_DIRS=/etc/xdg</value>
<value type="QString" >XDG_DATA_DIRS=/usr/share:/etc/opt/kde3/share:/opt/kde3/share</value>
<value type="QString" >XDG_SESSION_COOKIE=d2f223773c984c89331a62fa493ee8fd-1256801948.173169-483963220</value>
<value type="QString" >XDG_DATA_DIRS=/usr/share</value>
<value type="QString" >XDG_SESSION_COOKIE=bb8a098b5d04224d403dcb714aef6f78-1258125432.329734-1578655004</value>
<value type="QString" >XDM_MANAGED=method=classic</value>
<value type="QString" >XKEYSYMDB=/usr/share/X11/XKeysymDB</value>
<value type="QString" >XMODIFIERS=@im=local</value>
167,14 → 147,15
}</value>
</valuelist>
<valuelist key="abstractProcess.arguments" type="QVariantList" >
<value type="QString" >/home/Manuel/Documents/Entwicklung/QMK/QMK-Settings/QMK-Settings.pro</value>
<value type="QString" >/home/manuel/Dokumente/Entwicklung/QMK/QMK-Settings/QMK-Settings.pro</value>
<value type="QString" >-spec</value>
<value type="QString" >/usr/share/qt4/mkspecs/linux-g++-64</value>
<value type="QString" >-r</value>
<value type="QString" >CONFIG+=debug_and_release</value>
</valuelist>
<value key="abstractProcess.command" type="QString" >/usr/bin/qmake</value>
<value key="abstractProcess.enabled" type="bool" >false</value>
<value key="abstractProcess.workingDirectory" type="QString" >/home/Manuel/Documents/Entwicklung/QMK/QMK-Settings</value>
<value key="abstractProcess.enabled" type="bool" >true</value>
<value key="abstractProcess.workingDirectory" type="QString" >/home/manuel/Dokumente/Entwicklung/QMK/QMK-Settings</value>
<valuelist key="qmakeArgs" type="QVariantList" />
</valuemap>
</data>
187,83 → 168,75
<value type="QString" >CPU=x86_64</value>
<value type="QString" >CSHEDIT=emacs</value>
<value type="QString" >CVS_RSH=ssh</value>
<value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-bemAcsizF4,guid=358e4873c8a50f474f072d2c4ae946a0</value>
<value type="QString" >DESKTOP_SESSION=kde4</value>
<value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-vBMGctWIRs,guid=916e4992bf9a1f167aef3e9b4afd787a</value>
<value type="QString" >DESKTOP_SESSION=default</value>
<value type="QString" >DESKTOP_STARTUP_ID=</value>
<value type="QString" >DISPLAY=:0.0</value>
<value type="QString" >DM_CONTROL=/var/run/xdmctl</value>
<value type="QString" >ENV=/etc/bash.bashrc</value>
<value type="QString" >FROM_HEADER=</value>
<value type="QString" >GPG_AGENT_INFO=/tmp/gpg-R686e7/S.gpg-agent:5803:1</value>
<value type="QString" >GS_LIB=/home/Manuel/.fonts</value>
<value type="QString" >GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/usr/share/themes//QtCurve/gtk-2.0/gtkrc:/home/Manuel/.gtkrc-2.0-qtengine:/home/Manuel/.gtkrc-2.0:/home/Manuel/.kde4/share/config/gtkrc-2.0</value>
<value type="QString" >GPG_AGENT_INFO=/tmp/gpg-gYx9wP/S.gpg-agent:2023:1</value>
<value type="QString" >GS_LIB=/home/manuel/.fonts</value>
<value type="QString" >GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/usr/share/themes//QtCurve/gtk-2.0/gtkrc:/home/manuel/.gtkrc-2.0-qtengine:/home/manuel/.gtkrc-2.0:/home/manuel/.kde4/share/config/gtkrc-2.0</value>
<value type="QString" >GTK_IM_MODULE=cedilla</value>
<value type="QString" >GTK_RC_FILES=/etc/gtk/gtkrc:/home/Manuel/.gtkrc::/home/Manuel/.kde4/share/config/gtkrc</value>
<value type="QString" >GTK_RC_FILES=/etc/gtk/gtkrc:/home/manuel/.gtkrc::/home/manuel/.kde4/share/config/gtkrc</value>
<value type="QString" >G_BROKEN_FILENAMES=1</value>
<value type="QString" >G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252</value>
<value type="QString" >HISTSIZE=1000</value>
<value type="QString" >HOME=/home/Manuel</value>
<value type="QString" >HOST=KeyOz-WSL</value>
<value type="QString" >HOSTNAME=KeyOz-WSL</value>
<value type="QString" >HOME=/home/manuel</value>
<value type="QString" >HOST=Workstation</value>
<value type="QString" >HOSTNAME=Workstation</value>
<value type="QString" >HOSTTYPE=x86_64</value>
<value type="QString" >INFODIR=/usr/local/info:/usr/share/info:/usr/info</value>
<value type="QString" >INFOPATH=/usr/local/info:/usr/share/info:/usr/info</value>
<value type="QString" >INPUTRC=/etc/inputrc</value>
<value type="QString" >JAVA_BINDIR=/usr/lib64/jvm/java/bin</value>
<value type="QString" >JAVA_HOME=/usr/lib64/jvm/java</value>
<value type="QString" >JAVA_ROOT=/usr/lib64/jvm/java</value>
<value type="QString" >JDK_HOME=/usr/lib64/jvm/java</value>
<value type="QString" >JRE_HOME=/usr/lib64/jvm/java</value>
<value type="QString" >INPUTRC=/home/manuel/.inputrc</value>
<value type="QString" >JAVA_BINDIR=/usr/lib64/jvm/jre/bin</value>
<value type="QString" >JAVA_HOME=/usr/lib64/jvm/jre</value>
<value type="QString" >JAVA_ROOT=/usr/lib64/jvm/jre</value>
<value type="QString" >JRE_HOME=/usr/lib64/jvm/jre</value>
<value type="QString" >KDE_FULL_SESSION=true</value>
<value type="QString" >KDE_MULTIHEAD=false</value>
<value type="QString" >KDE_SESSION_UID=1002</value>
<value type="QString" >KDE_SESSION_UID=1000</value>
<value type="QString" >KDE_SESSION_VERSION=4</value>
<value type="QString" >LADSPA_PATH=/usr/lib64/ladspa</value>
<value type="QString" >LANG=de_DE.UTF-8</value>
<value type="QString" >LD_LIBRARY_PATH=/usr/lib/qtcreator-git:</value>
<value type="QString" >LD_LIBRARY_PATH=/usr/lib/qtcreator:/usr/lib64/mpi/gcc/openmpi/lib64</value>
<value type="QString" >LESS=-M -I</value>
<value type="QString" >LESSCLOSE=lessclose.sh %s %s</value>
<value type="QString" >LESSKEY=/etc/lesskey.bin</value>
<value type="QString" >LESSOPEN=lessopen.sh %s</value>
<value type="QString" >LESS_ADVANCED_PREPROCESSOR=no</value>
<value type="QString" >LOGNAME=Manuel</value>
<value type="QString" >LOGNAME=manuel</value>
<value type="QString" >LS_COLORS=no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.xz=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:</value>
<value type="QString" >LS_OPTIONS=-N --color=tty -T 0</value>
<value type="QString" >MACHTYPE=x86_64-suse-linux</value>
<value type="QString" >MAIL=/var/spool/mail/Manuel</value>
<value type="QString" >MANPATH=/usr/local/man:/usr/share/man:/opt/cross/share/man</value>
<value type="QString" >MAIL=/var/spool/mail/manuel</value>
<value type="QString" >MANPATH=/usr/lib64/mpi/gcc/openmpi/share/man:/usr/local/man:/usr/share/man</value>
<value type="QString" >MINICOM=-c on</value>
<value type="QString" >MORE=-sl</value>
<value type="QString" >NNTPSERVER=news</value>
<value type="QString" >OSTYPE=linux</value>
<value type="QString" >PAGER=less</value>
<value type="QString" >PATH=/usr/bin:/home/Manuel/CodeSourcery/Sourcery_G++_Lite/bin:/home/Manuel/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/opt/cross/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin</value>
<value type="QString" >PATH=/usr/bin:/usr/lib64/mpi/gcc/openmpi/bin:/home/manuel/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib64/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin</value>
<value type="QString" >PROFILEREAD=true</value>
<value type="QString" >PWD=/home/Manuel/Documents</value>
<value type="QString" >PWD=/home/manuel/Dokumente</value>
<value type="QString" >PYTHONSTARTUP=/etc/pythonstart</value>
<value type="QString" >QTDIR=/usr</value>
<value type="QString" >QT_IM_MODULE=xim</value>
<value type="QString" >QT_IM_SWITCHER=imsw-multi</value>
<value type="QString" >QT_PLUGIN_PATH=/home/Manuel/.kde4/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/</value>
<value type="QString" >QT_PLUGIN_PATH=/home/manuel/.kde4/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/</value>
<value type="QString" >QT_SYSTEM_DIR=/usr/share/desktop-data</value>
<value type="QString" >SDK_HOME=/usr/lib64/jvm/java</value>
<value type="QString" >SESSION_MANAGER=local/KeyOz-WSL:@/tmp/.ICE-unix/5898,unix/KeyOz-WSL:/tmp/.ICE-unix/5898</value>
<value type="QString" >SESSION_MANAGER=local/Workstation:@/tmp/.ICE-unix/2137,unix/Workstation:/tmp/.ICE-unix/2137</value>
<value type="QString" >SHELL=/bin/bash</value>
<value type="QString" >SHLVL=1</value>
<value type="QString" >SSH_AGENT_PID=5804</value>
<value type="QString" >SSH_ASKPASS=/usr/lib64/ssh/x11-ssh-askpass</value>
<value type="QString" >SSH_AUTH_SOCK=/tmp/ssh-gPQBk5724/agent.5724</value>
<value type="QString" >TERM=xterm</value>
<value type="QString" >TMPDIR=/tmp</value>
<value type="QString" >USER=Manuel</value>
<value type="QString" >USER=manuel</value>
<value type="QString" >USE_FAM=</value>
<value type="QString" >WINDOWMANAGER=/usr/bin/startkde</value>
<value type="QString" >WINDOWPATH=7</value>
<value type="QString" >XAUTHLOCALHOSTNAME=KeyOz-WSL</value>
<value type="QString" >XAUTHLOCALHOSTNAME=Workstation</value>
<value type="QString" >XCURSOR_THEME=Oxygen_White</value>
<value type="QString" >XDG_CONFIG_DIRS=/etc/xdg</value>
<value type="QString" >XDG_DATA_DIRS=/usr/share:/etc/opt/kde3/share:/opt/kde3/share</value>
<value type="QString" >XDG_SESSION_COOKIE=d2f223773c984c89331a62fa493ee8fd-1256801948.173169-483963220</value>
<value type="QString" >XDG_DATA_DIRS=/usr/share</value>
<value type="QString" >XDG_SESSION_COOKIE=bb8a098b5d04224d403dcb714aef6f78-1258125432.329734-1578655004</value>
<value type="QString" >XDM_MANAGED=method=classic</value>
<value type="QString" >XKEYSYMDB=/usr/share/X11/XKeysymDB</value>
<value type="QString" >XMODIFIERS=@im=local</value>
279,7 → 252,7
</valuelist>
<value key="abstractProcess.command" type="QString" >/usr/bin/make</value>
<value key="abstractProcess.enabled" type="bool" >true</value>
<value key="abstractProcess.workingDirectory" type="QString" >/home/Manuel/Documents/Entwicklung/QMK/QMK-Settings</value>
<value key="abstractProcess.workingDirectory" type="QString" >/home/manuel/Dokumente/Entwicklung/QMK/QMK-Settings</value>
<valuelist key="makeargs" type="QVariantList" >
<value type="QString" >-j2</value>
</valuelist>
/QMK-Groundstation/trunk/build-opensuse.sh
1,7 → 1,8
#!/bin/sh
 
QMAKE="qmake"
MAKEOPT="-j2"
MAKEOPT=""
#MAKEOPT="-j2"
 
case "$1" in
"beta")
/QMK-Groundstation/trunk/build-osx.sh
1,6 → 1,6
#!/bin/sh
 
QMAKE="qmake-osx"
QMAKE="qmake-mac"
MAKEOPT=""
 
case "$1" in