Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 271 → Rev 272

/QMK-Groundstation/trunk/Forms/mktool.cpp
59,11 → 59,12
setWindowTitle(QA_NAME + " v" + QA_VERSION);
 
// Tab mit Debug-Elementen verbergen
tab_Main->removeTab(6);
tab_Main->removeTab(6);
// Develop - Nicht gebrauchte sachen abschalten.
pb_SettingsReset->hide();
pb_Flash->hide();
rb_NC->hide();
 
// Tab mit Wegpunkte-Elementen verbergen
// tab_Main->removeTab(5);
 
// Settings-Tab hinzufügen.
f_Settings = new wdg_Settings( this );
f_Settings->set_Config(Settings);
70,11 → 71,6
tab_Main->insertTab ( 2, f_Settings, ac_View2->icon(), "FC-Settings");
tab_Main->widget(2)->setObjectName("Tab_2");
 
// Develop - Nicht gebrauchte sachen abschalten.
pb_SettingsReset->hide();
pb_Flash->hide();
rb_NC->hide();
 
// Zusätzliche Widgets in die Toolbar.
tb_TTY->addWidget(lb_Port);
tb_TTY->addWidget(le_Port);
89,8 → 85,13
tb_TTY->setVisible(Settings->GUI.ToolViews[3]);
tb_Hardware->setVisible(Settings->GUI.ToolViews[4]);
 
#ifdef _EEEPC_
lb_Status->hide();
#endif
 
lb_Status->setText(tr("Hallo bei QMK-Groundstation...!!!"));
 
// Cockpit-Elemente
QPalette newPalette;
 
newPalette.setColor(QPalette::Base, Qt::darkBlue);
133,10 → 134,6
 
LayOut_Speed->addWidget(SpeedMeter);
 
#ifdef _EEEPC_
lb_Status->hide();
#endif
 
resize(Settings->GUI.Size);
move(Settings->GUI.Point);
 
152,15 → 149,13
}
 
// Kopie der Tabs anlegen
// for (int b = 0; b < 7; b++)
for (int b = 0; b < 6; b++)
for (int b = 0; b < 7; b++)
{
TabWidgets[b] = tab_Main->widget(b);
}
 
// Ausgeblendete Tabs ausblenden
// for (int c = 0; c < 7; c++)
for (int c = 0; c < 6; c++)
for (int c = 0; c < 7; c++)
{
if (Settings->GUI.TabViews[c] == false)
{
182,7 → 177,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]);
ac_View6->setChecked(Settings->GUI.TabViews[6]);
 
le_Port->setText(Settings->TTY.Port);
 
196,9 → 191,6
// QTimer-Instanzen
Ticker = new QTimer(this);
 
// Seriell-Port
// serialPort = new ManageSerialPort;
 
Conn = new cConnection();
 
// neuer Logger
207,19 → 199,15
// LCD-Dialog
f_LCD = new dlg_LCD(this);
 
// Senden erlauben (Warum auch immer)
// AllowSend = true;
GE_Server = new cServer();
 
Server = new cServer();
QMK_Server = new cQMK_Server();
QMK_Server->setProperty("Connect", false);
 
MyServer = new cQMK_Server();
MyServer->setProperty("Connect", false);
 
 
if (Settings->Server.StartServer)
{
ac_StartServer->setChecked(true);
Server->start_Server(Settings->Server.Port.toInt(), Settings);
GE_Server->start_Server(Settings->Server.Port.toInt(), Settings);
}
}
 
361,8 → 349,26
 
void MKTool::slot_Test()
{
// qDebug("Decode Data");
sRxData RX;
 
RX.String = IN->text();
 
// qDebug(RX.String.toLatin1().data());
 
// if (ToolBox::check_CRC(RX.String))
{
qDebug("Decode Data CRC OK");
RX.Input = RX.String.toLatin1().data();
 
// qDebug(RX.Input);
 
slot_newData(RX);
}
}
 
// KML-Datei nach Wegpunkt parsen
// TODO: Richtigen KML-Parser bauen
void MKTool::parse_TargetKML()
{
QString Tmp = te_KML->toPlainText().simplified();
378,6 → 384,7
}
}
 
// Waypoint zur NC Senden.
void MKTool::slot_pb_SendWaypoint()
{
if ((Navi.Current.Longitude == 0) && (Navi.Current.Latitude == 0))
388,8 → 395,8
msgB.exec();
return;
}
 
//erstelle einen Wegpunkt, den die NaviCtrl auswerten kann
 
Waypoint_t desired_pos;
bool ok_lat, ok_lon;
 
575,20 → 582,20
{
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)));
QMK_Server->Connect(Settings->Server.QMKS_Host, Settings->Server.QMKS_Port.toInt(), Settings->Server.QMKS_Login, Settings->Server.QMKS_Password);
 
connect(QMK_Server, SIGNAL(sig_Connected()), this, SLOT(slot_QMKS_Connected()));
connect(QMK_Server, SIGNAL(sig_Disconnected(int)), this, SLOT(slot_QMKS_Disconnected(int)));
}
else
{
if ((MyServer->property("Connect")) == true)
if ((QMK_Server->property("Connect")) == true)
{
disconnect(MyServer, SIGNAL(sig_Disconnected(int)), 0, 0);
disconnect(QMK_Server, SIGNAL(sig_Disconnected(int)), 0, 0);
lb_Status->setText(tr("Trenne vom QMK-Datenserver."));
 
MyServer->Disconnect();
MyServer->setProperty("Connect", false);
QMK_Server->Disconnect();
QMK_Server->setProperty("Connect", false);
ac_QMKServer->setText("QMK-Server Verbinden");
}
}
596,7 → 603,7
 
void MKTool::slot_QMKS_Connected()
{
MyServer->setProperty("Connect", true);
QMK_Server->setProperty("Connect", true);
ac_QMKServer->setText("QMK-Server Trennnen");
lb_Status->setText(tr("Verbunden mit QMK-Datenserver."));
}
603,11 → 610,11
 
void MKTool::slot_QMKS_Disconnected(int Error)
{
MyServer->setProperty("Connect", false);
QMK_Server->setProperty("Connect", false);
ac_QMKServer->setText("QMK-Server Verbinden");
ac_QMKServer->setChecked(false);
 
disconnect(MyServer, SIGNAL(sig_Disconnected(int)), 0, 0);
disconnect(QMK_Server, SIGNAL(sig_Disconnected(int)), 0, 0);
 
switch (Error)
{
707,7 → 714,6
{
logger->close();
logger->start_Log();
// update_Log();
}
 
}
718,14 → 724,12
{
if (logger->is_active())
{
// logger->write(AnalogData);
// pb_Record->setText("Log Stop");
 
ac_RecordCSV->setText("Log Stop");
lb_Status->setText(tr("Log-Record gestartet."));
}
else
{
// pb_Record->setText("Log Aufzeichnen");
ac_RecordCSV->setText("Log Aufzeichnen");
lb_Status->setText(tr("Log-Record gestopt."));
}
792,8 → 796,8
Aktive = 4;
if (Action->objectName() == QString("ac_View5"))
Aktive = 5;
// if (Action->objectName() == QString("ac_View6"))
// Aktive = 6;
if (Action->objectName() == QString("ac_View6"))
Aktive = 6;
 
QString TabName = QString("Tab_%1").arg(Aktive);
 
917,12 → 921,12
if (ac_StartServer->isChecked())
{
lb_Status->setText(tr("GoogleEarth-Server gestartet."));
Server->start_Server(Settings->Server.Port.toInt(), Settings);
GE_Server->start_Server(Settings->Server.Port.toInt(), Settings);
}
else
{
lb_Status->setText(tr("GoogleEarth-Server gestopt."));
Server->stop_Server();
GE_Server->stop_Server();
}
}
 
1175,7 → 1179,6
Settings->TTY.Port = le_Port->text();
}
 
 
void MKTool::show_DebugData()
{
if (logger->is_active())
1249,7 → 1252,6
}
}
 
 
void MKTool::new_NaviData(sRxData RX)
{
Navi.Current.Longitude = ToolBox::Data2Long(RX.Decode, N_CUR_LONGITUDE, true);
1310,26 → 1312,24
NaviString.Latitude = ToolBox::get_Float(Navi.Current.Latitude,10000000);
NaviString.Altitude = ToolBox::get_Float(Navi.Current.Altitude,1000);
 
Server->store_NaviString(NaviString);
GE_Server->store_NaviString(NaviString);
 
if ((MyServer->property("Connect")) == true)
if ((QMK_Server->property("Connect")) == true)
{
MyServer->NewPosition(NaviString);
// qDebug("Send Data to Server..!!");
QMK_Server->NewPosition(NaviString);
}
}
 
// Seriel-Port Bereich, Befehle senden und Daten empfangen
//////////////////////////////////////////////////////////
// Kopter-Kommunikations-Bereich, Befehle senden und Daten empfangen
////////////////////////////////////////////////////////////////////
 
// Neues Datenpacket empfangen -> Verarbeiten
void MKTool::slot_newData(sRxData RX) // DONE 0.71g
{
slot_showTerminal(1, RX.String);
 
if (LastSend.length() > 2)
{
}
 
int HardwareID = RX.Input[1] - 'a';
 
switch(HardwareID)
1475,7 → 1475,7
 
if (Mode.VERSION_SERIAL_MAJOR != VERSION_SERIAL_MAJOR)
{
AllowSend = false;
// AllowSend = false;
QMessageBox::warning(this, QA_NAME,
"Serielles Protokoll Inkompatibel. \nBitte neue Programmversion installieren,", QMessageBox::Ok);
}
1565,6 → 1565,14
break;
}
}
 
// TODO: Roh-Daten senden zum QMK-Server dazu Sendebuffer bauen.
if ((QMK_Server->property("Connect")) == true)
{
// QMK_Server->send_RawData(RX.String);
}
 
slot_showTerminal(1, RX.String);
}
 
void MKTool::slot_showTerminal(int Typ, QString Text)
1601,7 → 1609,7
}
}
 
// Seriellen Port öffnen
// Verbindung zum Kopter herstellen / Trennen
void MKTool::slot_OpenPort()
{
if (Conn->isOpen())
1617,7 → 1625,7
ToolBox::Wait(SLEEP);
}
 
if (Mode.ID == ADDRESS_NC)
if (Mode.ID == ADDRESS_FC)
{
TX_Data[0] = 0;
TX_Data[1] = 0;