外场测试2
This commit is contained in:
+111
-3
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user