Subversion Repositories Projects

Rev

Rev 358 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 358 Rev 391
Line 34... Line 34...
34
#include "dlg_Config.h"
34
#include "dlg_Config.h"
35
#include "dlg_Motortest.h"
35
#include "dlg_Motortest.h"
36
#include "dlg_Preferences.h"
36
#include "dlg_Preferences.h"
37
#include "../global.h"
37
#include "../global.h"
38
#include "../Classes/ToolBox.h"
38
#include "../Classes/ToolBox.h"
-
 
39
#include "../com/Parser.h"
Line 39... Line 40...
39
 
40
 
Line 40... Line 41...
40
#include <stdlib.h>
41
#include <stdlib.h>
41
 
42
 
Line 378... Line 379...
378
 
379
 
379
void MKTool::slot_Test()
380
void MKTool::slot_Test()
380
{
381
{
Line 381... Line 382...
381
    sRxData RX;
382
    sRxData RX;
Line 382... Line 383...
382
 
383
 
Line 383... Line 384...
383
    RX.String = IN->text();
384
    RX.str = IN->text().toLatin1().data();
384
 
385
 
Line 385... Line 386...
385
    RX.Input = RX.String.toLatin1().data();
386
    RX.input = (char *)RX.str.c_str();
Line 447... Line 448...
447
    desired_pos.reserve[3] = 0; // reserve
448
    desired_pos.reserve[3] = 0; // reserve
Line 448... Line 449...
448
 
449
 
449
    //...und sende ihn an die NaviCtrl
450
    //...und sende ihn an die NaviCtrl
450
    int max_radius = 10000;
451
    int max_radius = 10000;
451
    if (ok_lat && ok_lon &&
452
    if (ok_lat && ok_lon &&
452
        abs(Navi.Current.Longitude - desired_pos.Position.Longitude) < max_radius &&
453
        abs((double)(Navi.Current.Longitude - desired_pos.Position.Longitude)) < max_radius &&
453
        abs(Navi.Current.Latitude  - desired_pos.Position.Latitude) < max_radius)
454
        abs((double)(Navi.Current.Latitude  - desired_pos.Position.Latitude)) < max_radius)
454
    {
455
    {
455
            o_Connection->send_Cmd('s', ADDRESS_NC, (char *)&desired_pos, sizeof(desired_pos), false);
456
            o_Connection->send_Cmd('s', ADDRESS_NC, (char *)&desired_pos, sizeof(desired_pos), false);
456
    }
457
    }
457
    else
458
    else
Line 495... Line 496...
495
        TX_Data[2] = 0x55;
496
        TX_Data[2] = 0x55;
496
        TX_Data[3] = 0xAA;
497
        TX_Data[3] = 0xAA;
497
        TX_Data[4] = 0x00;
498
        TX_Data[4] = 0x00;
498
        TX_Data[5] = '\r';
499
        TX_Data[5] = '\r';
499
        o_Connection->send_Cmd('#', ADDRESS_NC, TX_Data, 6, false);
500
        o_Connection->send_Cmd('#', ADDRESS_NC, TX_Data, 6, false);
500
        ToolBox::Wait(SLEEP);
501
        ToolBox::wait(SLEEP);
501
    }
502
    }
Line 502... Line 503...
502
 
503
 
503
    if (rb_SelFC->isChecked())
504
    if (rb_SelFC->isChecked())
504
    {
505
    {
Line 523... Line 524...
523
        TX_Data[3] = 0xAA;
524
        TX_Data[3] = 0xAA;
524
        TX_Data[4] = 0x00;
525
        TX_Data[4] = 0x00;
525
        TX_Data[5] = '\r';
526
        TX_Data[5] = '\r';
526
        o_Connection->send_Cmd('#', ADDRESS_NC, TX_Data, 6, false);
527
        o_Connection->send_Cmd('#', ADDRESS_NC, TX_Data, 6, false);
527
    }
528
    }
528
    ToolBox::Wait(SLEEP);
529
    ToolBox::wait(SLEEP);
Line 529... Line 530...
529
 
530
 
530
//    qDebug("Select RB Hardware");
531
//    qDebug("Select RB Hardware");
531
    o_Connection->send_Cmd('v', ADDRESS_ALL, TX_Data, 0, true);
532
    o_Connection->send_Cmd('v', ADDRESS_ALL, TX_Data, 0, true);
Line 764... Line 765...
764
    double Longitude, Latitude;
765
    double Longitude, Latitude;
Line 765... Line 766...
765
 
766
 
766
    // Waypoint-Liste löschen
767
    // Waypoint-Liste löschen
767
    WayPoint.Position.Status = INVALID;
768
    WayPoint.Position.Status = INVALID;
768
    o_Connection->send_Cmd('w', ADDRESS_NC, (char *)&WayPoint, sizeof(WayPoint), false);
769
    o_Connection->send_Cmd('w', ADDRESS_NC, (char *)&WayPoint, sizeof(WayPoint), false);
Line 769... Line 770...
769
    ToolBox::Wait(SLEEP);
770
    ToolBox::wait(SLEEP);
770
 
771
 
771
    for (int z = 0; z < l_WayPoints.count(); z++)
772
    for (int z = 0; z < l_WayPoints.count(); z++)
772
    {
773
    {
Line 1367... Line 1368...
1367
 
1368
 
1368
void MKTool::new_NaviData(sRxData RX)
1369
void MKTool::new_NaviData(sRxData RX)
1369
{
1370
{
Line 1370... Line 1371...
1370
//    qDebug("Navi-Data");
1371
//    qDebug("Navi-Data");
1371
 
1372
 
1372
    switch(RX.Decode[N_NC_FLAGS])
1373
    switch(RX.decode[N_NC_FLAGS])
1373
    {
1374
    {
1374
        case 0x01 : lb_Mode->setText(tr("Free")); break;
1375
        case 0x01 : lb_Mode->setText(tr("Free")); break;
1375
        case 0x02 : lb_Mode->setText(tr("Position Hold")); break;
1376
        case 0x02 : lb_Mode->setText(tr("Position Hold")); break;
1376
        case 0x04 : lb_Mode->setText(tr("Coming Home")); break;
1377
        case 0x04 : lb_Mode->setText(tr("Coming Home")); break;
1377
        case 0x08 : lb_Mode->setText(tr("Range Limit")); break;
1378
        case 0x08 : lb_Mode->setText(tr("Range Limit")); break;
1378
        case 0x10 : lb_Mode->setText(tr("Serial Error")); break;
1379
        case 0x10 : lb_Mode->setText(tr("Serial Error")); break;
1379
        case 0x20 : lb_Mode->setText(tr("Target reached")); break;
1380
        case 0x20 : lb_Mode->setText(tr("Target reached")); break;
Line 1380... Line 1381...
1380
        case 0x40 : lb_Mode->setText(tr("Manual Control")); break;
1381
        case 0x40 : lb_Mode->setText(tr("Manual Control")); break;
1381
    }
1382
    }
1382
 
1383
 
1383
    Navi.Current.Longitude = ToolBox::Data2Long(RX.Decode, N_CUR_LONGITUDE, true);
1384
    Navi.Current.Longitude = Parser::dataToLong(RX.decode, N_CUR_LONGITUDE, true);
1384
    Navi.Current.Latitude  = ToolBox::Data2Long(RX.Decode, N_CUR_LATITUDE,  true);
1385
    Navi.Current.Latitude  = Parser::dataToLong(RX.decode, N_CUR_LATITUDE,  true);
1385
    Navi.Current.Altitude  = ToolBox::Data2Long(RX.Decode, N_CUR_ALTITUDE,  true);
1386
    Navi.Current.Altitude  = Parser::dataToLong(RX.decode, N_CUR_ALTITUDE,  true);
Line 1386... Line 1387...
1386
    Navi.Target.Longitude  = ToolBox::Data2Long(RX.Decode, N_TAR_LONGITUDE, true);
1387
    Navi.Target.Longitude  = Parser::dataToLong(RX.decode, N_TAR_LONGITUDE, true);
1387
    Navi.Target.Latitude   = ToolBox::Data2Long(RX.Decode, N_TAR_LATITUDE,  true);
1388
    Navi.Target.Latitude   = Parser::dataToLong(RX.decode, N_TAR_LATITUDE,  true);
1388
    Navi.Target.Altitude   = ToolBox::Data2Long(RX.Decode, N_TAR_ALTITUDE,  true);
1389
    Navi.Target.Altitude   = Parser::dataToLong(RX.decode, N_TAR_ALTITUDE,  true);
1389
 
1390
 
Line 1390... Line 1391...
1390
    le_CDistance->setText(QString("%1 cm").arg(ToolBox::Data2Int(RX.Decode, N_HOME_DISTANCE)));
1391
    le_CDistance->setText(QString("%1 cm").arg(Parser::dataToInt(RX.decode, N_HOME_DISTANCE)));
Line 1391... Line 1392...
1391
    le_CWPA->setText(QString("%1").arg(RX.Decode[N_WP_INDEX]));
1392
    le_CWPA->setText(QString("%1").arg(RX.decode[N_WP_INDEX]));
Line 1392... Line 1393...
1392
    le_CWPT->setText(QString("%1").arg(RX.Decode[N_WP_NUMBER]));
1393
    le_CWPT->setText(QString("%1").arg(RX.decode[N_WP_NUMBER]));
Line 1393... Line 1394...
1393
    le_CSats->setText(QString("%1").arg(RX.Decode[N_SATS_IN_USER]));
1394
    le_CSats->setText(QString("%1").arg(RX.decode[N_SATS_IN_USER]));
Line 1394... Line 1395...
1394
 
1395
 
1395
    qwt_Rate->setValue(double(ToolBox::Data2Int(RX.Decode, N_VARIOMETER, true)));
1396
    qwt_Rate->setValue(double(Parser::dataToInt(RX.decode, N_VARIOMETER, true)));
1396
 
1397
 
1397
    le_CTime->setText(QString("%1 sec.").arg(ToolBox::Data2Int(RX.Decode, N_FLYING_TIME)));
1398
    le_CTime->setText(QString("%1 sec.").arg(Parser::dataToInt(RX.decode, N_FLYING_TIME)));
Line 1414... Line 1415...
1414
        SpeedMeter->setProperty("END", 20);
1415
        SpeedMeter->setProperty("END", 20);
1415
    }
1416
    }
Line 1416... Line 1417...
1416
 
1417
 
Line 1417... Line 1418...
1417
    SpeedMeter->setValue(Speed);
1418
    SpeedMeter->setValue(Speed);
Line 1418... Line 1419...
1418
 
1419
 
Line 1419... Line 1420...
1419
    Compass->setValue(ToolBox::Data2Int(RX.Decode, N_COMAPSS_HEADING)); //(68)
1420
    Compass->setValue(Parser::dataToInt(RX.decode, N_COMAPSS_HEADING)); //(68)
1420
 
1421
 
Line 1421... Line 1422...
1421
    bar_RX->setValue(RX.Decode[N_RC_QUALITY]);
1422
    bar_RX->setValue(RX.decode[N_RC_QUALITY]);
1422
 
1423
 
Line 1423... Line 1424...
1423
    int Nick = RX.Decode[N_ANGLE_NICK];
1424
    int Nick = RX.decode[N_ANGLE_NICK];
Line 1432... Line 1433...
1432
    Attitude->setAngle(Roll);
1433
    Attitude->setAngle(Roll);
1433
    Attitude->setGradient(double(0.0 - (double(Nick) / 100.0)));
1434
    Attitude->setGradient(double(0.0 - (double(Nick) / 100.0)));
Line 1434... Line 1435...
1434
 
1435
 
Line 1435... Line 1436...
1435
    sNaviString NaviString;
1436
    sNaviString NaviString;
1436
 
1437
 
1437
    NaviString.Longitude = ToolBox::get_Float(Navi.Current.Longitude,7);
1438
    NaviString.Longitude = Parser::getFloat(Navi.Current.Longitude,7);
Line 1438... Line 1439...
1438
    NaviString.Latitude  = ToolBox::get_Float(Navi.Current.Latitude,7);
1439
    NaviString.Latitude  = Parser::getFloat(Navi.Current.Latitude,7);
1439
    NaviString.Altitude  = ToolBox::get_Float(Navi.Current.Altitude,3);
1440
    NaviString.Altitude  = Parser::getFloat(Navi.Current.Altitude,3);
Line 1440... Line 1441...
1440
 
1441
 
Line 1441... Line 1442...
1441
    le_CurLong->setText(NaviString.Longitude);
1442
    le_CurLong->setText(QString::number(NaviString.Longitude));
Line 1442... Line 1443...
1442
    le_CurLat->setText(NaviString.Latitude);
1443
    le_CurLat->setText(QString::number(NaviString.Latitude));
1443
 
1444
 
1444
    KML_Server->store_NaviString(NaviString);
1445
    KML_Server->store_NaviString(NaviString);
1445
 
1446
 
Line 1459... Line 1460...
1459
void MKTool::slot_newData(sRxData RX) // DONE 0.71g
1460
void MKTool::slot_newData(sRxData RX) // DONE 0.71g
1460
{
1461
{
1461
    if (LastSend.length() > 2)
1462
    if (LastSend.length() > 2)
1462
    {
1463
    {
1463
    }
1464
    }
1464
    int HardwareID = RX.Input[1] - 'a';
1465
    int HardwareID = RX.input[1] - 'a';
Line 1465... Line 1466...
1465
 
1466
 
1466
    switch(HardwareID)
1467
    switch(HardwareID)
1467
    {
1468
    {
1468
        case ADDRESS_FC :
1469
        case ADDRESS_FC :
1469
            switch(RX.Input[2])
1470
            switch(RX.input[2])
1470
            {
1471
            {
1471
                // Motor-Mixer
1472
                // Motor-Mixer
1472
                case 'N' :
1473
                case 'N' :
1473
                    if (ToolBox::Decode64(RX))
1474
                    if (Parser::decode64(RX))
1474
                    {
1475
                    {
Line 1475... Line 1476...
1475
                        o_Connection->stop_ReSend();
1476
                        o_Connection->stop_ReSend();
1476
 
1477
 
1477
                        if (RX.Decode[0] == VERSION_MIXER)
1478
                        if (RX.decode[0] == VERSION_MIXER)
1478
                        {
1479
                        {
1479
                            f_MotorMixer->set_MotorConfig(RX);
1480
                            f_MotorMixer->set_MotorConfig(RX);
1480
                        }
1481
                        }
1481
                    }
1482
                    }
1482
                break;
1483
                break;
1483
                // Motor-Mixer Schreib-Bestätigung
1484
                // Motor-Mixer Schreib-Bestätigung
1484
                case 'M' :
1485
                case 'M' :
1485
                    if (ToolBox::Decode64(RX))
1486
                    if (Parser::decode64(RX))
Line 1486... Line 1487...
1486
                    {
1487
                    {
1487
                        o_Connection->stop_ReSend();
1488
                        o_Connection->stop_ReSend();
1488
 
1489
 
1489
                        if (RX.Decode[0] == 1)
1490
                        if (RX.decode[0] == 1)
1490
                        {
1491
                        {
1491
                            lb_Status->setText(tr("MotorMixer-Daten in FC geschrieben."));
1492
                            lb_Status->setText(tr("MotorMixer-Daten in FC geschrieben."));
Line 1492... Line 1493...
1492
                        }
1493
                        }
1493
                    }
1494
                    }
1494
                break;
1495
                break;
1495
 
1496
 
1496
                // Stick-Belegung der Fernsteuerung
1497
                // Stick-Belegung der Fernsteuerung
1497
                case 'P' : // DONE 0.71g
1498
                case 'P' : // DONE 0.71g
1498
                    if (ToolBox::Decode64(RX))
1499
                    if (Parser::decode64(RX))
1499
                    {
1500
                    {
1500
                        f_Settings->pb_K1->setValue(ToolBox::Data2Int(RX.Decode,  2,true));
1501
                        f_Settings->pb_K1->setValue(Parser::dataToInt(RX.decode,  2,true));
1501
                        f_Settings->pb_K2->setValue(ToolBox::Data2Int(RX.Decode,  4,true));
1502
                        f_Settings->pb_K2->setValue(Parser::dataToInt(RX.decode,  4,true));
1502
                        f_Settings->pb_K3->setValue(ToolBox::Data2Int(RX.Decode,  6,true));
1503
                        f_Settings->pb_K3->setValue(Parser::dataToInt(RX.decode,  6,true));
1503
                        f_Settings->pb_K4->setValue(ToolBox::Data2Int(RX.Decode,  8,true));
1504
                        f_Settings->pb_K4->setValue(Parser::dataToInt(RX.decode,  8,true));
1504
                        f_Settings->pb_K5->setValue(ToolBox::Data2Int(RX.Decode, 10 ,true));
1505
                        f_Settings->pb_K5->setValue(Parser::dataToInt(RX.decode, 10 ,true));
1505
                        f_Settings->pb_K6->setValue(ToolBox::Data2Int(RX.Decode, 12,true));
1506
                        f_Settings->pb_K6->setValue(Parser::dataToInt(RX.decode, 12,true));
1506
                        f_Settings->pb_K7->setValue(ToolBox::Data2Int(RX.Decode, 14,true));
1507
                        f_Settings->pb_K7->setValue(Parser::dataToInt(RX.decode, 14,true));
1507
                        f_Settings->pb_K8->setValue(ToolBox::Data2Int(RX.Decode, 16,true));
1508
                        f_Settings->pb_K8->setValue(Parser::dataToInt(RX.decode, 16,true));
1508
                    }
1509
                    }
1509
                break;
1510
                break;
1510
                // Settings lesen
1511
                // Settings lesen
Line 1511... Line 1512...
1511
                case 'Q' : // DONE 0.71g
1512
                case 'Q' : // DONE 0.71g
1512
                    if (ToolBox::Decode64(RX))
1513
                    if (Parser::decode64(RX))
1513
                    {
1514
                    {
1514
                        o_Connection->stop_ReSend();
1515
                        o_Connection->stop_ReSend();
1515
 
1516
 
1516
                        if (RX.Decode[1] == VERSION_SETTINGS)
1517
                        if (RX.decode[1] == VERSION_SETTINGS)
1517
                        {
1518
                        {
1518
                            int Settings_ID = RX.Decode[0];
1519
                            int Settings_ID = RX.decode[0];
1519
                            for (int a = 0; a < MaxParameter; a++)
1520
                            for (int a = 0; a < MaxParameter; a++)
1520
                            {
1521
                            {
1521
                                FCSettings[a] = RX.Decode[a + 2];
1522
                                FCSettings[a] = RX.decode[a + 2];
1522
                            }
1523
                            }
1523
                            f_Settings->show_FCSettings(Settings_ID, FCSettings);
1524
                            f_Settings->show_FCSettings(Settings_ID, FCSettings);
1524
                            f_Settings->pb_Read->setEnabled(true);
1525
                            f_Settings->pb_Read->setEnabled(true);
1525
                            f_Settings->pb_Write->setEnabled(true);
1526
                            f_Settings->pb_Write->setEnabled(true);
Line -... Line 1527...
-
 
1527
                        }
-
 
1528
                        else
-
 
1529
                        {
-
 
1530
                            f_Settings->pb_Read->setDisabled(true);
-
 
1531
                            f_Settings->pb_Write->setDisabled(true);
-
 
1532
 
1526
                        }
1533
                            QString name = QString("Versionen inkompatibel.\n") +
1527
                        else
1534
                                      QString("Version von GroundStation benoetigt: ") +
1528
                        {
1535
                                      QString(VERSION_SETTINGS) +
1529
                            f_Settings->pb_Read->setDisabled(true);
1536
                                      QString("\nVersion auf der FlightCtrl: ") +
1530
                            f_Settings->pb_Write->setDisabled(true);
1537
                                      QString(RX.decode[1]) +
1531
 
1538
                                      QString("\nParameterbearbeitung nicht moeglich.");
1532
                            QMessageBox::warning(this, QA_NAME,
1539
                            QMessageBox::warning(this, QA_NAME,
1533
                                   tr("Versionen inkompatibel. \nParameterbearbeitung nicht moeglich."), QMessageBox::Ok);
1540
                                   name, QMessageBox::Ok);
1534
                        }
1541
                        }
1535
                    }
1542
                    }
Line 1536... Line 1543...
1536
                break;
1543
                break;
1537
                // Settings geschrieben
1544
                // Settings geschrieben
1538
                case 'S' : // DONE 0.71g
1545
                case 'S' : // DONE 0.71g
1539
                    o_Connection->stop_ReSend();
1546
                    o_Connection->stop_ReSend();
1540
                break;
1547
                break;
1541
            }
1548
            }
1542
 
1549
 
1543
        case ADDRESS_NC :
1550
        case ADDRESS_NC :
1544
            switch(RX.Input[2])
1551
            switch(RX.input[2])
1545
            {
1552
            {
1546
                // Navigationsdaten
1553
                // Navigationsdaten
1547
                case 'O' : // NOT DONE 0.12h
1554
                case 'O' : // NOT DONE 0.12h
Line 1548... Line 1555...
1548
                    if (ToolBox::Decode64(RX))
1555
                    if (Parser::decode64(RX))
1549
                    {
1556
                    {
1550
                        new_NaviData(RX);
1557
                        new_NaviData(RX);
1551
                    }
1558
                    }
1552
                break;
1559
                break;
1553
            }
1560
            }
1554
//        case ADDRESS_MK3MAG :
1561
//        case ADDRESS_MK3MAG :
1555
 
1562
 
Line 1556... Line 1563...
1556
        default :
1563
        default :
1557
            switch(RX.Input[2])
1564
            switch(RX.input[2])
Line 1558... Line 1565...
1558
            {
1565
            {
Line 1559... Line 1566...
1559
                // LCD-Anzeige
1566
                // LCD-Anzeige
1560
                case 'L' : // DONE 0.71g
1567
                case 'L' : // DONE 0.71g
1561
                    if (ToolBox::Decode64(RX))
1568
                    if (Parser::decode64(RX))
1562
                    {
1569
                    {
1563
                        o_Connection->stop_ReSend();
1570
                        o_Connection->stop_ReSend();
1564
 
1571
 
1565
                        int LCD[150];
1572
                        int LCD[150];
1566
                        memcpy(LCD,RX.Decode, sizeof(RX.Decode));
1573
                        memcpy(LCD,RX.decode, sizeof(RX.decode));
1567
 
1574
 
Line 1568... Line 1575...
1568
                        f_LCD->show_Data(LCD);
1575
                        f_LCD->show_Data(LCD);
1569
 
1576
 
1570
                        LCD_Page     = RX.Decode[0];
1577
                        LCD_Page     = RX.decode[0];
1571
                        LCD_MAX_Page = RX.Decode[1];
1578
                        LCD_MAX_Page = RX.decode[1];
1572
                    }
1579
                    }
1573
                break;
1580
                break;
1574
                // Analoglabels
1581
                // Analoglabels
1575
                case 'A' : // DONE 0.71g
1582
                case 'A' : // DONE 0.71g
1576
                    if (ToolBox::Decode64(RX))
1583
                    if (Parser::decode64(RX))
Line 1601... Line 1608...
1601
                        }
1608
                        }
1602
                    }
1609
                    }
1603
                break;
1610
                break;
1604
                // Debug-Daten
1611
                // Debug-Daten
1605
                case 'D' : // DONE 0.71g
1612
                case 'D' : // DONE 0.71g
1606
                    if (ToolBox::Decode64(RX))
1613
                    if (Parser::decode64(RX))
1607
                    {
1614
                    {
1608
                        for (int i = 0; i < MaxAnalog; i++)
1615
                        for (int i = 0; i < MaxAnalog; i++)
1609
                        {
1616
                        {
1610
                            AnalogData[i] = ToolBox::Data2Int(RX.Decode, (i * 2) + 2);
1617
                            AnalogData[i] = Parser::dataToInt(RX.decode, (i * 2) + 2);
1611
                        }
1618
                        }
1612
                        show_DebugData();
1619
                        show_DebugData();
1613
                    }
1620
                    }
1614
                break;
1621
                break;
1615
                // Version
1622
                // Version
1616
                case 'V' : // DONE 0.71h
1623
                case 'V' : // DONE 0.71h
1617
                    if (ToolBox::Decode64(RX))
1624
                    if (Parser::decode64(RX))
1618
                    {
1625
                    {
1619
                        o_Connection->stop_ReSend();
1626
                        o_Connection->stop_ReSend();
Line 1620... Line 1627...
1620
 
1627
 
1621
                        Mode.ID            = HardwareID;
1628
                        Mode.ID            = HardwareID;
1622
                        Mode.VERSION_MAJOR = RX.Decode[0];
1629
                        Mode.VERSION_MAJOR = RX.decode[0];
1623
                        Mode.VERSION_MINOR = RX.Decode[1];
1630
                        Mode.VERSION_MINOR = RX.decode[1];
1624
                        Mode.VERSION_PATCH = RX.Decode[4];
1631
                        Mode.VERSION_PATCH = RX.decode[4];
1625
                        Mode.VERSION_SERIAL_MAJOR = RX.Decode[2];
1632
                        Mode.VERSION_SERIAL_MAJOR = RX.decode[2];
Line 1626... Line 1633...
1626
                        Mode.VERSION_SERIAL_MINOR = RX.Decode[3];
1633
                        Mode.VERSION_SERIAL_MINOR = RX.decode[3];
-
 
1634
 
1627
 
1635
                        Mode.Hardware   = HardwareType[Mode.ID];
1628
                        Mode.Hardware   = HardwareType[Mode.ID];
-
 
-
 
1636
                        //TODO: Funktion im Handler get_version() oder sowas
-
 
1637
                        QString version = QString("%1").arg(RX.decode[0]) + "." +
-
 
1638
                                          QString("%1").arg(RX.decode[1]) +
1629
                        Mode.Version    = QString("%1").arg(RX.Decode[0]) + "." + QString("%1").arg(RX.Decode[1]) + QString(RX.Decode[4] + 'a');
1639
                                          QString(RX.decode[4] + 'a');
-
 
1640
                        Mode.Version = version.toLatin1();
Line 1630... Line 1641...
1630
 
1641
                        setWindowTitle(QA_NAME + " v" + QA_VERSION + " - " +
1631
                        setWindowTitle(QA_NAME + " v" + QA_VERSION + " - " + Mode.Hardware + " " + Mode.Version);
1642
                                 QString(Mode.Hardware) + " " + Mode.Version);
1632
 
1643
 
1633
                        if (Mode.VERSION_SERIAL_MAJOR != VERSION_SERIAL_MAJOR)
1644
                        if (Mode.VERSION_SERIAL_MAJOR != VERSION_SERIAL_MAJOR)
Line 1727... Line 1738...
1727
    if ((QMK_Server->property("Connect")) == true)
1738
    if ((QMK_Server->property("Connect")) == true)
1728
    {
1739
    {
1729
//        QMK_Server->send_RawData(RX.String);
1740
//        QMK_Server->send_RawData(RX.String);
1730
    }
1741
    }
Line 1731... Line 1742...
1731
 
1742
 
1732
    slot_showTerminal(1, RX.String);
1743
    slot_showTerminal(1, RX.str);
Line 1733... Line 1744...
1733
}
1744
}
1734
 
1745
 
1735
void MKTool::slot_showTerminal(int Typ, QString Text)
1746
void MKTool::slot_showTerminal(int Typ, QString Text)
Line 1774... Line 1785...
1774
{
1785
{
1775
    if (o_Connection->isOpen())
1786
    if (o_Connection->isOpen())
1776
    {
1787
    {
1777
        TX_Data[0] = Settings->Data.Debug_Off / 10;
1788
        TX_Data[0] = Settings->Data.Debug_Off / 10;
1778
        o_Connection->send_Cmd('d', ADDRESS_ALL, TX_Data, 1, false);
1789
        o_Connection->send_Cmd('d', ADDRESS_ALL, TX_Data, 1, false);
1779
        ToolBox::Wait(SLEEP);
1790
        ToolBox::wait(SLEEP);
Line 1780... Line 1791...
1780
 
1791
 
1781
        if (Mode.ID == ADDRESS_NC)
1792
        if (Mode.ID == ADDRESS_NC)
1782
        {
1793
        {
1783
            TX_Data[0] = Settings->Data.Navi_Off / 10;
1794
            TX_Data[0] = Settings->Data.Navi_Off / 10;
1784
            o_Connection->send_Cmd('o', ADDRESS_NC, TX_Data, 1, false);
1795
            o_Connection->send_Cmd('o', ADDRESS_NC, TX_Data, 1, false);
1785
            ToolBox::Wait(SLEEP);
1796
            ToolBox::wait(SLEEP);
Line 1786... Line 1797...
1786
        }
1797
        }
1787
 
1798
 
1788
        if (Mode.ID == ADDRESS_FC)
1799
        if (Mode.ID == ADDRESS_FC)
1789
        {
1800
        {
1790
            TX_Data[0] = 0;
1801
            TX_Data[0] = 0;
1791
            TX_Data[1] = 0;
1802
            TX_Data[1] = 0;
1792
            TX_Data[2] = 0;
1803
            TX_Data[2] = 0;
1793
            TX_Data[3] = 0;
1804
            TX_Data[3] = 0;
1794
            o_Connection->send_Cmd('t', ADDRESS_FC, TX_Data, 4, false);
1805
            o_Connection->send_Cmd('t', ADDRESS_FC, TX_Data, 4, false);
Line 1795... Line 1806...
1795
            ToolBox::Wait(SLEEP);
1806
            ToolBox::wait(SLEEP);
Line 1796... Line 1807...
1796
        }
1807
        }