207,7 → 207,8 |
handler = new Handler(com, data); |
|
// QTimer-Instanzen |
Ticker = new QTimer(this); |
//FIXME: Move Ticker to libMK/QTCommunication.cpp |
//Ticker = new QTimer(this); |
|
// Verbindungsobject |
//o_Connection = new cConnection(); |
306,7 → 307,8 |
connect(ac_RecordCSV, SIGNAL(triggered()), this, SLOT(slot_RecordLog())); |
|
// Timer-Events |
connect(Ticker, SIGNAL(timeout()), SLOT(slot_Ticker())); |
//FIXME: Move Ticker to libMK/QTCommunication.cpp |
//connect(Ticker, SIGNAL(timeout()), SLOT(slot_Ticker())); |
|
// Seitenwechsel |
connect(tab_Main, SIGNAL(currentChanged(int)), this, SLOT(slot_TabChanged(int))); |
352,6 → 354,38 |
lb_Analog[29] = lb_A_29; |
lb_Analog[30] = lb_A_30; |
lb_Analog[31] = lb_A_31; |
le_Analog[0] = le_A_0; |
le_Analog[1] = le_A_1; |
le_Analog[2] = le_A_2; |
le_Analog[3] = le_A_3; |
le_Analog[4] = le_A_4; |
le_Analog[5] = le_A_5; |
le_Analog[6] = le_A_6; |
le_Analog[7] = le_A_7; |
le_Analog[8] = le_A_8; |
le_Analog[9] = le_A_9; |
le_Analog[10] = le_A_10; |
le_Analog[11] = le_A_11; |
le_Analog[12] = le_A_12; |
le_Analog[13] = le_A_13; |
le_Analog[14] = le_A_14; |
le_Analog[15] = le_A_15; |
le_Analog[16] = le_A_16; |
le_Analog[17] = le_A_17; |
le_Analog[18] = le_A_18; |
le_Analog[19] = le_A_19; |
le_Analog[20] = le_A_20; |
le_Analog[21] = le_A_21; |
le_Analog[22] = le_A_22; |
le_Analog[23] = le_A_23; |
le_Analog[24] = le_A_24; |
le_Analog[25] = le_A_25; |
le_Analog[26] = le_A_26; |
le_Analog[27] = le_A_27; |
le_Analog[28] = le_A_28; |
le_Analog[29] = le_A_29; |
le_Analog[30] = le_A_30; |
le_Analog[31] = le_A_31; |
} |
|
void MKTool::init_Plot() |
416,8 → 450,7 |
} |
} |
|
// Waypoint zur NC Senden. |
//FIXME: put this in cpp/NaviCtrl.cpp? |
// send waypoint to NaviCtrl. |
void MKTool::slot_pb_SendTarget() |
{ |
sNaviData navi = data->navi; |
430,11 → 463,11 |
return; |
} |
|
//erstelle einen Wegpunkt, den die NaviCtrl auswerten kann |
//create a waypoint that can be understood by NaviCtrl |
Waypoint_t desired_pos; |
bool ok_lat, ok_lon; |
|
//eingegebene Daten holen |
//get data from QT-GUI |
double desired_long, desired_lat; |
|
desired_long = le_TarLong->text().toDouble(&ok_lon); |
446,7 → 479,7 |
if (ok_lat && desired_lat < 100) |
desired_lat *= 10000000+0.5; |
|
//fülle Wegpunkt-Daten |
//fill WayPoint struct |
desired_pos.Position.Altitude = 0; |
desired_pos.Position.Longitude = int32_t(desired_long); |
desired_pos.Position.Latitude = int32_t(desired_lat); |
460,7 → 493,7 |
desired_pos.reserve[2] = 0; // reserve |
desired_pos.reserve[3] = 0; // reserve |
|
//...und sende ihn an die NaviCtrl |
//...and send it to NaviCtrl |
int max_radius = 10000; |
if (ok_lat && ok_lon && |
abs((double)(navi.Current.Longitude - desired_pos.Position.Longitude)) < max_radius && |
677,10 → 710,10 |
// connect(f_Motortest, SIGNAL(updateMotor(int, int, int, int)), this, SLOT(slot_Motortest(int, int, int, int))); |
connect(f_Motortest, SIGNAL(updateMotor(sMotor)), this, SLOT(slot_Motortest(sMotor))); |
|
//FIXME: Move Ticker to libMK/QTCommunication.cpp |
// Ticker->setInterval(500); |
// TickerEvent[4] = true; |
|
Ticker->setInterval(500); |
TickerEvent[4] = true; |
|
if (f_Motortest->exec()==QDialog::Accepted) |
{ |
} |
688,9 → 721,9 |
disconnect(f_Motortest, 0,0,0); |
|
handler->reset_motor(); |
|
Ticker->setInterval(2000); |
TickerEvent[4] = false; |
//FIXME: Move Ticker to libMK/QTCommunication.cpp |
// Ticker->setInterval(2000); |
// TickerEvent[4] = false; |
} |
|
void MKTool::slot_Motortest(sMotor p_Motor) |
720,12 → 753,11 |
// LCD auf / ab |
connect(f_LCD->pb_LCDup, SIGNAL(clicked()), this, SLOT(slot_LCD_UP())); |
connect(f_LCD->pb_LCDdown, SIGNAL(clicked()), this, SLOT(slot_LCD_DOWN())); |
//FIXME: put this in libMK/Handler.cpp |
f_LCD->show(); |
handler->show_lcd(); |
//FIXME: replace ticker with something else??? |
Ticker->setInterval(500); |
TickerEvent[2] = true; |
//Ticker->setInterval(500); |
//TickerEvent[2] = true; |
} |
} |
|
987,13 → 1019,14 |
if (ac_NoDebug->isChecked()) |
{ |
lb_Status->setText(tr("DebugDaten abstellen.")); |
TickerEvent[3] = false; |
//FIXME: Move Ticker to libMK/QTCommunication.cpp |
// TickerEvent[3] = false; |
handler->stop_all_debug(); |
} |
else |
{ |
// Wenn MK3MAG dann andauernd Daten neu anfragen. |
//FIXME: TickerEvent in Communication oder so |
//FIXME: Move Ticker to libMK/QTCommunication.cpp |
/* if (Mode.ID == ADDRESS_MK3MAG) |
TickerEvent[3] = true;*/ |
|
1189,14 → 1222,15 |
// http://www.mikrokopter.com/ucwiki/en/SerialCommands |
// is WRONG! |
handler->get_ppm_channels(); |
|
Ticker->setInterval(500); |
TickerEvent[1] = true; |
//FIXME: Move Ticker to libMK/QTCommunication.cpp |
// Ticker->setInterval(500); |
// TickerEvent[1] = true; |
} |
else |
{ |
Ticker->setInterval(2000); |
TickerEvent[1] = false; |
//FIXME: Move Ticker to libMK/QTCommunication.cpp |
// Ticker->setInterval(2000); |
// TickerEvent[1] = false; |
} |
} |
} |
1257,7 → 1291,7 |
|
void MKTool::show_DebugData() |
{ |
//FIXME: log analogdata in Communication |
//FIXME: log analogdata in libMK/Communication.h or libMK/Parser.h |
/* if (logger->is_active()) |
logger->write(AnalogData);*/ |
|
1276,51 → 1310,24 |
update_Plot(); |
} |
|
//FIXME: get analogdata from handler |
/* |
le_A_0->setText(QString("%1").arg(AnalogData[0])); |
le_A_1->setText(QString("%1").arg(AnalogData[1])); |
le_A_2->setText(QString("%1").arg(AnalogData[2])); |
le_A_3->setText(QString("%1").arg(AnalogData[3])); |
le_A_4->setText(QString("%1").arg(AnalogData[4])); |
le_A_5->setText(QString("%1").arg(AnalogData[5])); |
le_A_6->setText(QString("%1").arg(AnalogData[6])); |
le_A_7->setText(QString("%1").arg(AnalogData[7])); |
le_A_8->setText(QString("%1").arg(AnalogData[8])); |
le_A_9->setText(QString("%1").arg(AnalogData[9])); |
le_A_10->setText(QString("%1").arg(AnalogData[10])); |
le_A_11->setText(QString("%1").arg(AnalogData[11])); |
le_A_12->setText(QString("%1").arg(AnalogData[12])); |
le_A_13->setText(QString("%1").arg(AnalogData[13])); |
le_A_14->setText(QString("%1").arg(AnalogData[14])); |
le_A_15->setText(QString("%1").arg(AnalogData[15])); |
le_A_16->setText(QString("%1").arg(AnalogData[16])); |
le_A_17->setText(QString("%1").arg(AnalogData[17])); |
le_A_18->setText(QString("%1").arg(AnalogData[18])); |
le_A_19->setText(QString("%1").arg(AnalogData[19])); |
le_A_20->setText(QString("%1").arg(AnalogData[20])); |
le_A_21->setText(QString("%1").arg(AnalogData[21])); |
le_A_22->setText(QString("%1").arg(AnalogData[22])); |
le_A_23->setText(QString("%1").arg(AnalogData[23])); |
le_A_24->setText(QString("%1").arg(AnalogData[24])); |
le_A_25->setText(QString("%1").arg(AnalogData[25])); |
le_A_26->setText(QString("%1").arg(AnalogData[26])); |
le_A_27->setText(QString("%1").arg(AnalogData[27])); |
le_A_28->setText(QString("%1").arg(AnalogData[28])); |
le_A_29->setText(QString("%1").arg(AnalogData[29])); |
le_A_30->setText(QString("%1").arg(AnalogData[30])); |
le_A_31->setText(QString("%1").arg(AnalogData[31])); |
//fill labels with analog values from data |
for (int i = 0; i < 32; i++) { |
le_Analog[i]->setText(QString("%1").arg(data->analogData[i])); |
} |
|
if ((Mode.ID == ADDRESS_FC) && (FCSettings[P_GYRO_ACC_FAKTOR] > 0)) |
if ((data->mode.ID == ADDRESS_FC) && (FCSettings[P_GYRO_ACC_FAKTOR] > 0)) |
{ |
bar_UBAT->setValue(AnalogData[9]); |
bar_RX->setValue(AnalogData[10]); |
//set battery |
//TODO: save battery, compas and link quality directly in data (data->battery) |
bar_UBAT->setValue(data->analogData[9]); |
//link quality |
bar_RX->setValue(data->analogData[10]); |
//compas |
Compass->setValue(data->analogData[8]); |
|
Compass->setValue(AnalogData[8]); |
int Roll = (data->analogData[1] * FCSettings[P_GYRO_ACC_FAKTOR]) / 1024; |
int Nick = (data->analogData[0] * FCSettings[P_GYRO_ACC_FAKTOR]) / 1024; |
|
int Roll = (AnalogData[1] * FCSettings[P_GYRO_ACC_FAKTOR]) / 1024; |
int Nick = (AnalogData[0] * FCSettings[P_GYRO_ACC_FAKTOR]) / 1024; |
|
if (Roll > 128) |
Roll = Roll - 255; |
|
1330,7 → 1337,6 |
Attitude->setAngle(Roll); |
Attitude->setGradient(double(double(Nick) / 100.0)); |
} |
*/ |
} |
|
void MKTool::new_NaviData(sRxData RX) |