外场测试2

This commit is contained in:
hm
2020-08-07 17:15:58 +08:00
parent 898ca8f7a5
commit bc56a3f1ec
14 changed files with 375 additions and 64 deletions
+111 -3
View File
@@ -79,6 +79,11 @@ MainWindow::MainWindow(QWidget *parent)
missionUI = new propertyui(this);
missionUI->hide();
//this ----- dlink
connect(dlink->mavlinknode,SIGNAL(beep()),
this,SLOT(beep()));
//this ----- map
connect(map,SIGNAL(TotalDistanceUpdate(double)),
this,SLOT(TotalDistance(double)));
@@ -508,11 +513,22 @@ void MainWindow::showMessage(const QString &message, int TimeOut)
menuBarUI->showMessage(message,TimeOut);
}
void MainWindow::beep(void)
{
QApplication::beep();
}
void MainWindow::updateUI()//事件驱动式更新数据
{
static uint32_t custommode_old = 0;
static uint8_t state_old = 0;
bool isCustomChanged = false;
bool isStateChanged = false;
copk->setAttitude(dlink->mavlinknode->vehicle.attitude.pitch * 57.3,
dlink->mavlinknode->vehicle.attitude.roll * 57.3,
@@ -570,6 +586,16 @@ void MainWindow::updateUI()//事件驱动式更新数据
state = (dlink->mavlinknode->vehicle.heartbeat.base_mode&MAV_MODE_FLAG::MAV_MODE_FLAG_SAFETY_ARMED);
if(state != state_old)
{
isStateChanged = true;
}
else
{
isStateChanged = false;
}
state_old = state;
switch (state) {
case MAV_MODE_FLAG_SAFETY_ARMED:
arm_str.append(tr("ARM"));
@@ -582,6 +608,88 @@ void MainWindow::updateUI()//事件驱动式更新数据
}
copk->setState(arm_str);
uint32_t custommode = dlink->mavlinknode->vehicle.heartbeat.custom_mode;
if(custommode != custommode_old)
{
isCustomChanged = true;
}
else
{
isCustomChanged = false;
}
custommode_old = custommode;
QString mode_str;
switch (custommode) {
case 1<<16:
mode_str.append(tr("MANUAL"));
break;
case 2<<16:
mode_str.append(tr("ALTCTL"));
break;
case 3<<16:
mode_str.append(tr("POSCTL"));
break;
case 4<<16:
mode_str.append(tr("AUTO"));
break;
case 5<<16:
mode_str.append(tr("ACRO"));
break;
case 6<<16:
mode_str.append(tr("OFFBOARD"));
break;
case 7<<16:
mode_str.append(tr("STABILIZED"));
break;
case 8<<16:
mode_str.append(tr("RATTITUDE"));
break;
case (4<<16)+(1<<24):
mode_str.append(tr("AUTO_READY"));
break;
case (4<<16)+(2<<24):
mode_str.append(tr("AUTO_TAKEOFF"));
break;
case (4<<16)+(3<<24):
mode_str.append(tr("AUTO_LOITER"));
break;
case (4<<16)+(4<<24):
mode_str.append(tr("AUTO_MISSION"));
break;
case (4<<16)+(5<<24):
mode_str.append(tr("AUTO_RTL"));
break;
case (4<<16)+(6<<24):
mode_str.append(tr("AUTO_LAND"));
break;
case (4<<16)+(7<<24):
mode_str.append(tr("AUTO_RTGS"));
break;
case (4<<16)+(8<<24):
mode_str.append(tr("AUTO_FOLLOW_TARGET"));
break;
default:
mode_str.append(tr("unsported"));
break;
}
copk->setMode(mode_str);
QTextToSpeech *tts = new QTextToSpeech();
if(isStateChanged == true)
{
tts->say(arm_str);
}
if(isCustomChanged == true)
{
mode_str.append(tr("flight mode"));
tts->say(mode_str);
}
map->setUAVPos(dlink->mavlinknode->vehicle.sysid,
@@ -608,7 +716,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
message.append(tr("定位类型:<font color=red>%1</font>\t").arg(gps_str));
message.append(tr("卫星数目:<font color=red>%1</font>颗</h6>").arg(QString::number(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible)));
message.append(tr("<h6>电池电压:<font color=red>%1</font>V\t").arg(QString::number(dlink->mavlinknode->vehicle.sys_status.voltage_battery * 0.01)));
message.append(tr("剩余时间:<font color=red>%1</font></h6>").arg(QString::number(100)));
message.append(tr("剩余时间:<font color=red>%1</font></h6>").arg(QString::number(0)));
showMessage(message);
@@ -623,8 +731,8 @@ void MainWindow::TotalDistance(double value)
QString message;
message.append(tr("<h6>总航程:<font color=red>%1</font>米\t</h6>").arg(value));
message.append(tr("<h6>最远距离:<font color=red>%1</font>米\t</h6>").arg(value));
message.append(tr("<h6>预计飞行时间:<font color=red>%1</font>小时\t</h6>").arg(value));
message.append(tr("<h6>最远距离:<font color=red>%1</font>米\t</h6>").arg(0));
message.append(tr("<h6>预计飞行时间:<font color=red>%1</font>小时\t</h6>").arg(0));
showMessage(message);