Subversion Repositories Projects

Rev

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

Rev 397 Rev 399
Line 412... Line 412...
412
        //le_TarLat->setText(ToolBox::get_Float((List[1].toDouble() * 10000000), 7));
412
        //le_TarLat->setText(ToolBox::get_Float((List[1].toDouble() * 10000000), 7));
413
    }
413
    }
414
}
414
}
Line 415... Line 415...
415
 
415
 
416
// Waypoint zur NC Senden.
416
// Waypoint zur NC Senden.
417
//FIXME: put this in cpp/NaviCtrl.cpp
417
//FIXME: put this in cpp/NaviCtrl.cpp?
418
void MKTool::slot_pb_SendTarget()
418
void MKTool::slot_pb_SendTarget()
419
{
419
{
420
    if ((Navi.Current.Longitude == 0) && (Navi.Current.Latitude == 0))
420
    if ((Navi.Current.Longitude == 0) && (Navi.Current.Latitude == 0))
421
    {
421
    {
Line 460... Line 460...
460
    int max_radius = 10000;
460
    int max_radius = 10000;
461
    if (ok_lat && ok_lon &&
461
    if (ok_lat && ok_lon &&
462
        abs((double)(Navi.Current.Longitude - desired_pos.Position.Longitude)) < max_radius &&
462
        abs((double)(Navi.Current.Longitude - desired_pos.Position.Longitude)) < max_radius &&
463
        abs((double)(Navi.Current.Latitude  - desired_pos.Position.Latitude)) < max_radius)
463
        abs((double)(Navi.Current.Latitude  - desired_pos.Position.Latitude)) < max_radius)
464
    {
464
    {
465
//FIXME: Put this in com/Handler.cpp
-
 
466
//            o_Connection->send_Cmd('s', ADDRESS_NC, (char *)&desired_pos, sizeof(desired_pos), false);
465
        handler->send_waypoint(desired_pos);
467
    }
466
    }
468
    else
467
    else
469
    {
468
    {
470
        QMessageBox msgB;
469
        QMessageBox msgB;
471
        QString msg;
470
        QString msg;
Line 496... Line 495...
496
}
495
}
Line 497... Line 496...
497
 
496
 
498
// Hardware Auswahl und umschalten
497
// Hardware Auswahl und umschalten
499
void MKTool::slot_rb_Hardware()
498
void MKTool::slot_rb_Hardware()
500
{
-
 
501
//FIXME:put this in Handler.cpp
499
{
502
    if ((rb_SelNC->isChecked() == false) && (Mode.ID != ADDRESS_NC))
500
    if ((rb_SelNC->isChecked() == false) && (Mode.ID != ADDRESS_NC))
503
    {
501
    {
504
        lb_Status->setText(tr("Schalte um auf NaviCtrl."));
502
        lb_Status->setText(tr("Schalte um auf NaviCtrl."));
505
        /*TX_Data[0] = 0x1B;
-
 
506
        TX_Data[1] = 0x1B;
503
        handler->switch_navictrl();
507
        TX_Data[2] = 0x55;
-
 
508
        TX_Data[3] = 0xAA;
-
 
509
        TX_Data[4] = 0x00;
-
 
510
        TX_Data[5] = '\r';
-
 
511
        o_Connection->send_Cmd('#', ADDRESS_NC, TX_Data, 6, false);
504
        //FIXME: remove wait?
512
        ToolBox::wait(SLEEP);*/
505
        ToolBox::wait(SLEEP);
Line 513... Line 506...
513
    }
506
    }
514
 
507
 
515
    if (rb_SelFC->isChecked())
508
    if (rb_SelFC->isChecked())
516
    {
509
    {
517
        lb_Status->setText(tr("Schalte um auf FlightCtrl."));
-
 
518
        /*TX_Data[0] = 0;
510
        lb_Status->setText(tr("Schalte um auf FlightCtrl."));
519
        o_Connection->send_Cmd('u', ADDRESS_NC, TX_Data, 1, false);*/
511
        handler->switch_flightctrl();
520
    }
512
    }
521
    else
513
    else
522
    if (rb_SelMag->isChecked())
514
    if (rb_SelMag->isChecked())
523
    {
515
    {
524
        lb_Status->setText(tr("Schalte um auf MK3MAG."));
-
 
525
        /*TX_Data[0] = 1;
516
        lb_Status->setText(tr("Schalte um auf MK3MAG."));
526
        o_Connection->send_Cmd('u', ADDRESS_NC, TX_Data, 1, false);*/
517
        handler->switch_mk3mag();
527
    }
518
    }
528
    else
519
    else
529
    if (rb_SelNC->isChecked())
520
    if (rb_SelNC->isChecked())
530
    {
-
 
531
        lb_Status->setText(tr("Schalte um auf NaviCtrl."));
-
 
532
        /*TX_Data[0] = 0x1B;
-
 
533
        TX_Data[1] = 0x1B;
-
 
534
        TX_Data[2] = 0x55;
-
 
535
        TX_Data[3] = 0xAA;
521
    {
536
        TX_Data[4] = 0x00;
-
 
537
        TX_Data[5] = '\r';
522
        lb_Status->setText(tr("Schalte um auf NaviCtrl."));
538
        o_Connection->send_Cmd('#', ADDRESS_NC, TX_Data, 6, false);*/
523
        handler->switch_navictrl();
Line 539... Line 524...
539
    }
524
    }
540
    ToolBox::wait(SLEEP);
525
    ToolBox::wait(SLEEP);
541
 
526
 
Line 542... Line 527...
542
//    qDebug("Select RB Hardware");
527
//    qDebug("Select RB Hardware");
543
    //o_Connection->send_Cmd('v', ADDRESS_ALL, TX_Data, 0, true);
528
    handler->get_version();
544
}
529
}
Line 709... Line 694...
709
    TickerEvent[4] = false;
694
    TickerEvent[4] = false;
710
}
695
}
Line 711... Line 696...
711
 
696
 
712
void MKTool::slot_Motortest(sMotor p_Motor)
697
void MKTool::slot_Motortest(sMotor p_Motor)
713
{
-
 
714
//FIXME: put this in com/Handler.cpp
-
 
715
/*
698
{
716
    Motor = p_Motor;
-
 
717
 
-
 
718
    for (int z = 0; z<12; z++)
-
 
719
    {
-
 
720
        TX_Data[z] = Motor.Speed[z];
-
 
721
    }
-
 
722
    o_Connection->send_Cmd('t', ADDRESS_FC, TX_Data, 12, false);
-
 
723
*/
699
    handler->motor_test(p_Motor);
Line 724... Line 700...
724
}
700
}
725
 
701
 
726
// Motormixer-Einstellungen anzeigen
702
// Motormixer-Einstellungen anzeigen
Line 745... Line 721...
745
        // LCD auf / ab
721
        // LCD auf / ab
746
        connect(f_LCD->pb_LCDup,   SIGNAL(clicked()), this, SLOT(slot_LCD_UP()));
722
        connect(f_LCD->pb_LCDup,   SIGNAL(clicked()), this, SLOT(slot_LCD_UP()));
747
        connect(f_LCD->pb_LCDdown, SIGNAL(clicked()), this, SLOT(slot_LCD_DOWN()));
723
        connect(f_LCD->pb_LCDdown, SIGNAL(clicked()), this, SLOT(slot_LCD_DOWN()));
748
        //FIXME: put this in com/Handler.cpp
724
        //FIXME: put this in com/Handler.cpp
749
        f_LCD->show();
725
        f_LCD->show();
750
        /*TX_Data[0] = 0;
726
        handler->show_lcd();
751
        TX_Data[1] = 0;
-
 
752
        o_Connection->send_Cmd('l', ADDRESS_ALL, TX_Data, 1, true);
-
 
753
        */
-
 
754
        //FIXME: replace ticker with something else
727
        //FIXME: replace ticker with something else
755
        Ticker->setInterval(500);
728
        Ticker->setInterval(500);
756
        TickerEvent[2] = true;
729
        TickerEvent[2] = true;
757
    }
730
    }
758
}
731
}
Line 766... Line 739...
766
    }
739
    }
767
}
740
}
Line 768... Line 741...
768
 
741
 
769
void MKTool::slot_MAP_SetWayPoints(QList<sWayPoint> l_WayPoints)
742
void MKTool::slot_MAP_SetWayPoints(QList<sWayPoint> l_WayPoints)
770
{
743
{
771
//FIXME: Put this in com/Handler.cpp or com/NaviCtrlHandler.cpp
744
//FIXME: Put this in com/Handler.cpp or com/NaviCtrl.cpp
772
/*
-
 
773
    Waypoint_t WayPoint;
745
 
Line 774... Line 746...
774
    double Longitude, Latitude;
746
    double Longitude, Latitude;
775
 
747
 
776
    // Waypoint-Liste löschen
-
 
777
    WayPoint.Position.Status = INVALID;
748
    // delete waypoint-list
Line 778... Line 749...
778
    o_Connection->send_Cmd('w', ADDRESS_NC, (char *)&WayPoint, sizeof(WayPoint), false);
749
    handler->delete_waypoints();
779
    ToolBox::wait(SLEEP);
750
    ToolBox::wait(SLEEP);
780
 
751
 
Line 787... Line 758...
787
            Longitude *= 10000000+0.5;
758
            Longitude *= 10000000+0.5;
Line 788... Line 759...
788
 
759
 
789
        if (Latitude < 100)
760
        if (Latitude < 100)
Line -... Line 761...
-
 
761
            Latitude *= 10000000+0.5;
790
            Latitude *= 10000000+0.5;
762
 
791
 
763
        Waypoint_t WayPoint;
792
        //fülle Wegpunkt-Daten
764
        //fülle Wegpunkt-Daten
793
        WayPoint.Position.Altitude = 0;
765
        WayPoint.Position.Altitude = 0;
794
        WayPoint.Position.Longitude = int32_t(Longitude);
766
        WayPoint.Position.Longitude = int32_t(Longitude);
Line 801... Line 773...
801
        WayPoint.reserve[0] = 0; // reserve
773
        WayPoint.reserve[0] = 0; // reserve
802
        WayPoint.reserve[1] = 0; // reserve
774
        WayPoint.reserve[1] = 0; // reserve
803
        WayPoint.reserve[2] = 0; // reserve
775
        WayPoint.reserve[2] = 0; // reserve
804
        WayPoint.reserve[3] = 0; // reserve
776
        WayPoint.reserve[3] = 0; // reserve
Line 805... Line 777...
805
 
777
 
806
        o_Connection->send_Cmd('w', ADDRESS_NC, (char *)&WayPoint, sizeof(WayPoint), false);
778
        handler->add_waypoint(WayPoint);
807
//        ToolBox::Wait(SLEEP);
779
//        ToolBox::Wait(SLEEP);
808
    }
-
 
809
*/
780
    }
Line 810... Line 781...
810
}
781
}
811
 
782
 
Line 961... Line 932...
961
    if (!ac_NoNavi->isChecked())
932
    if (!ac_NoNavi->isChecked())
962
    {
933
    {
963
        if (ac_FastNavi->isChecked())
934
        if (ac_FastNavi->isChecked())
964
        {
935
        {
965
            lb_Status->setText(tr("Fordere schnelle NaviDaten an."));
936
            lb_Status->setText(tr("Fordere schnelle NaviDaten an."));
966
            //TX_Data[0] = Settings->Data.Navi_Fast / 10;
937
            handler->set_navictrl_debug(Settings->Data.Navi_Fast / 10);
967
        }
938
        }
968
        else
939
        else
969
        {
940
        {
970
            lb_Status->setText(tr("Fordere langsame NaviDaten an."));
941
            lb_Status->setText(tr("Fordere langsame NaviDaten an."));
971
            //TX_Data[0] = Settings->Data.Navi_Slow / 10;
942
            handler->set_navictrl_debug(Settings->Data.Navi_Slow / 10);
972
        }
943
        }
973
        //FIXME: put this in com/Handler.cpp / com/NaviCtrl.cpp
-
 
974
        //o_Connection->send_Cmd('o', ADDRESS_NC, TX_Data, 1, false);
-
 
975
    }
944
    }
976
}
945
}
Line 977... Line 946...
977
 
946
 
978
void MKTool::slot_ac_NoNavi() // DONE NC 0.12i
947
void MKTool::slot_ac_NoNavi() // DONE NC 0.12i
979
{
948
{
980
    if (ac_NoNavi->isChecked())
949
    if (ac_NoNavi->isChecked())
981
    {
950
    {
982
        lb_Status->setText(tr("NaviDaten abstellen."));
951
        lb_Status->setText(tr("NaviDaten abstellen."));
983
//        TX_Data[0] = 0;
952
        handler->stop_navictrl_debug();
984
    }
953
    }
985
    else
954
    else
986
    {
955
    {
987
        if (ac_FastNavi->isChecked())
956
        if (ac_FastNavi->isChecked())
988
        {
957
        {
989
            lb_Status->setText(tr("Fordere schnelle NaviDaten an."));
958
            lb_Status->setText(tr("Fordere schnelle NaviDaten an."));
990
//            TX_Data[0] = Settings->Data.Navi_Fast / 10;
959
            handler->set_navictrl_debug(Settings->Data.Navi_Fast / 10);
991
        }
960
        }
992
        else
961
        else
993
        {
962
        {
994
            lb_Status->setText(tr("Fordere langsame NaviDaten an."));
963
            lb_Status->setText(tr("Fordere langsame NaviDaten an."));
995
//            TX_Data[0] = Settings->Data.Navi_Slow / 10;
964
            handler->set_navictrl_debug(Settings->Data.Navi_Slow / 10);
996
        }
965
        }
997
    }
-
 
998
//FIXME: Put this in com/Handler.cpp
-
 
999
//    o_Connection->send_Cmd('o', ADDRESS_NC, TX_Data, 1, false);
966
    }
Line 1000... Line 967...
1000
}
967
}
1001
 
968
 
1002
void MKTool::slot_ac_FastDebug() // DONE 0.71g
969
void MKTool::slot_ac_FastDebug() // DONE 0.71g
1003
{
970
{
1004
    if (!ac_NoDebug->isChecked())
971
    if (!ac_NoDebug->isChecked())
1005
    {
972
    {
1006
        if (ac_FastDebug->isChecked())
973
        if (ac_FastDebug->isChecked())
1007
        {
974
        {
1008
            lb_Status->setText(tr("Fordere schnelle DebugDaten an."));
975
            lb_Status->setText(tr("Fordere schnelle DebugDaten an."));
1009
            //TX_Data[0] = Settings->Data.Debug_Fast / 10;
976
            handler->set_all_debug(Settings->Data.Debug_Fast / 10);
1010
        }
977
        }
1011
        else
978
        else
1012
        {
979
        {
1013
            lb_Status->setText(tr("Fordere langsame DebugDaten an."));
980
            lb_Status->setText(tr("Fordere langsame DebugDaten an."));
1014
            //TX_Data[0] = Settings->Data.Debug_Slow / 10;
-
 
1015
        }
-
 
1016
//FIXME: Put this in com/Handler.cpp
981
            handler->set_all_debug(Settings->Data.Debug_Slow / 10);
1017
//        o_Connection->send_Cmd('d', ADDRESS_ALL, TX_Data, 1, false);
982
        }
Line 1018... Line 983...
1018
    }
983
    }
1019
}
984
}
1020
 
985
 
1021
void MKTool::slot_ac_NoDebug() // DONE 0.71g
986
void MKTool::slot_ac_NoDebug() // DONE 0.71g
1022
{
987
{
1023
    if (ac_NoDebug->isChecked())
988
    if (ac_NoDebug->isChecked())
1024
    {
989
    {
1025
        lb_Status->setText(tr("DebugDaten abstellen."));
990
        lb_Status->setText(tr("DebugDaten abstellen."));
1026
        TickerEvent[3] = false;
991
        TickerEvent[3] = false;
1027
        //TX_Data[0] = 0;
992
        handler->stop_all_debug();
1028
    }
993
    }
1029
    else
994
    else
1030
    {
995
    {
Line 1031... Line 996...
1031
        // Wenn MK3MAG dann andauernd Daten neu anfragen.
996
        // Wenn MK3MAG dann andauernd Daten neu anfragen.
1032
        if (Mode.ID == ADDRESS_MK3MAG)
997
        if (Mode.ID == ADDRESS_MK3MAG)
1033
            TickerEvent[3] = true;
998
            TickerEvent[3] = true;
1034
 
999
 
1035
        if (ac_FastDebug->isChecked())
1000
        if (ac_FastDebug->isChecked())
1036
        {
1001
        {
1037
            lb_Status->setText(tr("Fordere schnelle DebugDaten an."));
1002
            lb_Status->setText(tr("Fordere schnelle DebugDaten an."));
1038
            //TX_Data[0] = Settings->Data.Debug_Fast / 10;
1003
            handler->set_all_debug(Settings->Data.Debug_Fast / 10);
1039
        }
1004
        }
1040
        else
1005
        else
1041
        {
1006
        {
1042
            lb_Status->setText(tr("Fordere langsame DebugDaten an."));
-
 
1043
            //TX_Data[0] = Settings->Data.Debug_Slow / 10;
-
 
1044
        }
1007
            lb_Status->setText(tr("Fordere langsame DebugDaten an."));
Line 1045... Line 1008...
1045
    }
1008
            handler->set_all_debug(Settings->Data.Debug_Slow / 10);
1046
//FIXME: Put this in com/Handler.cpp
1009
        }
1047
//    o_Connection->send_Cmd('d', ADDRESS_ALL, TX_Data, 1, false);
1010
    }
1048
}
1011
}
Line 1049... Line 1012...
1049
 
1012
 
1050
void MKTool::slot_ac_About()
1013
void MKTool::slot_ac_About()
1051
{
1014
{
1052
    QMessageBox::about(this, trUtf8(("Über ")) + QA_NAME, QA_ABOUT);
-
 
1053
}
1015
    QMessageBox::about(this, trUtf8(("Über ")) + QA_NAME, QA_ABOUT);
1054
 
-
 
1055
void MKTool::slot_ac_GetLabels() // DONE 0.71g
1016
}
Line 1056... Line 1017...
1056
{
1017
 
1057
    lb_Status->setText(tr("Analoglabels auslesen."));
1018
void MKTool::slot_ac_GetLabels() // DONE 0.71g
1058
//FIXME: Put this in com/Handler.cpp
1019
{
Line 1221... Line 1182...
1221
    Tab = Tab;
1182
    Tab = Tab;
1222
    if (tab_Main->count() != 0)
1183
    if (tab_Main->count() != 0)
1223
    {
1184
    {
1224
        if ((tab_Main->currentWidget()->objectName() == QString("Tab_2")) && (f_Settings->listWidget->currentRow() == 1))
1185
        if ((tab_Main->currentWidget()->objectName() == QString("Tab_2")) && (f_Settings->listWidget->currentRow() == 1))
1225
        {
1186
        {
-
 
1187
//FIXME: Do we really need the ppm-channels if we change the page?
1226
//            TX_Data[0] = 0;
1188
// maybe this is a bug or the description on 
1227
//FIXME: Put this in com/Handler.cpp
1189
// http://www.mikrokopter.com/ucwiki/en/SerialCommands
-
 
1190
// is WRONG!
1228
//            o_Connection->send_Cmd('p', ADDRESS_FC, TX_Data, 0, false);
1191
            handler->get_ppm_channels();
Line 1229... Line 1192...
1229
 
1192
 
1230
            Ticker->setInterval(500);
1193
            Ticker->setInterval(500);
1231
            TickerEvent[1] = true;
1194
            TickerEvent[1] = true;
1232
        }
1195
        }
Line 1239... Line 1202...
1239
}
1202
}
Line 1240... Line 1203...
1240
 
1203
 
1241
// LCD-Seiten weiterschalten
1204
// LCD-Seiten weiterschalten
1242
void MKTool::slot_LCD_UP() // DONE 0.71g
1205
void MKTool::slot_LCD_UP() // DONE 0.71g
1243
{
-
 
1244
//FIXME: Put this in com/Handler.cpp
-
 
1245
/*    if (LCD_Page == LCD_MAX_Page)
1206
{
1246
        TX_Data[0] = 0;
-
 
1247
    else
-
 
1248
        TX_Data[0] = LCD_Page + 1;
-
 
1249
 
-
 
1250
    TX_Data[1] = 0;
-
 
1251
    o_Connection->send_Cmd('l', ADDRESS_ALL, TX_Data, 1, true);
-
 
1252
*/
1207
    handler->lcd_up();
Line 1253... Line 1208...
1253
}
1208
}
1254
 
1209
 
1255
void MKTool::slot_LCD_DOWN() // DONE 0.71g
-
 
1256
{
-
 
1257
//FIXME: Put this in com/Handler.cpp
1210
void MKTool::slot_LCD_DOWN() // DONE 0.71g
1258
/*
-
 
1259
    if (LCD_Page == 0)
-
 
1260
        TX_Data[0] = LCD_MAX_Page;
-
 
1261
    else
-
 
1262
        TX_Data[0] = LCD_Page - 1;
-
 
1263
 
-
 
1264
    TX_Data[1] = 0;
-
 
1265
    o_Connection->send_Cmd('l', ADDRESS_ALL, TX_Data, 1, true);
1211
{
Line 1266... Line 1212...
1266
*/
1212
    handler->lcd_down();
1267
}
1213
}
1268
 
1214
 
1269
// Settings aus MK lesen / in MK schreiben
1215
// Settings aus MK lesen / in MK schreiben
1270
void MKTool::slot_GetFCSettings() // DONE 0.71g
-
 
1271
{
-
 
1272
    lb_Status->setText(tr("Lese FlightCtrl-Settings aus."));
1216
void MKTool::slot_GetFCSettings() // DONE 0.71g
1273
//FIXME: Put this in com/Handler.cpp
-
 
1274
/*
-
 
1275
    TX_Data[0] = f_Settings->sb_Set->value();
-
 
1276
    TX_Data[1] = 0;
1217
{
Line 1277... Line 1218...
1277
    o_Connection->send_Cmd('q', ADDRESS_FC, TX_Data, 1, true);
1218
    lb_Status->setText(tr("Lese FlightCtrl-Settings aus."));
1278
*/
1219
    handler->get_flightctrl_settings(f_Settings->sb_Set->value());
1279
}
-
 
1280
 
-
 
1281
void MKTool::slot_SetFCSettings() // DONE 0.71g
1220
}
1282
{
-
 
1283
//FIXME: Put this in com/Handler.cpp
1221
 
1284
/*
-
 
1285
    char *TX_Data2 = f_Settings->GetFCSettings();
-
 
1286
 
-
 
1287
    lb_Status->setText(tr("Schreibe FlightCtrl-Settings."));
1222
void MKTool::slot_SetFCSettings() // DONE 0.71g
Line 1288... Line 1223...
1288
 
1223
{
1289
    o_Connection->send_Cmd('s', ADDRESS_FC, TX_Data2, MaxParameter + 2, true);
1224
    handler->set_flightctrl_settings(f_Settings->GetFCSettings());