Rev 358 | 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 | } |