状态显示完成

This commit is contained in:
hm
2021-04-18 16:29:56 +08:00
parent a29cb30b61
commit aaf522bb24
10 changed files with 369 additions and 171 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ HealthUI::HealthUI(QWidget *parent) :
Install("航姿",2,state::inital);
Install("ECU",3,state::inital);
Install("舵控",4,state::inital);
Install("回收着陆",5,state::inital);
Install("发射回收器",5,state::inital);
Install("舵控上电自检",6,state::inital);
Install("舵控地面自检",7,state::inital);
+47 -4
View File
@@ -1,8 +1,24 @@
#include "StateGroup.h"
StateGroup::StateGroup(QWidget *parent) : QWidget(parent)
StateGroup::StateGroup(int index,QWidget *parent) : QWidget(parent)
{
id = index;
toplayout = new QGridLayout(this);
this->setLayout(toplayout);
toplayout->setMargin(0);
box = new QGroupBox(this);
toplayout->addWidget(box);
layout = new QGridLayout(box);
layout->setMargin(3);
layout->setHorizontalSpacing(6);
box->setLayout(layout);
}
@@ -11,17 +27,24 @@ StateGroup::~StateGroup()
foreach (StateWidget * w, ItemList) {
delete w;
}
}
void StateGroup::addItem(StateWidget * w)
{
ItemList.insert(ItemList.size(),w);//逐渐往上加
qDebug() << "w->ID()" << w->ID();
if(layout)
{
if(w->ID() >= 0)
{
layout->addWidget(w,w->ID(),0,1,1);
}
}
//检查界面,添加到界面
updateUI();
}
void StateGroup::addItems(QMap<int, StateWidget *> list)
@@ -31,6 +54,26 @@ void StateGroup::addItems(QMap<int, StateWidget *> list)
}
}
void StateGroup::removeItem(int index)
{
if(ItemList.contains(index))
{
StateWidget *w = ItemList.value(index);
delete w;
}
}
void StateGroup::removeItem(StateWidget * w)
{
if(ItemList.values().contains(w))
{
delete w;
}
}
void StateGroup::setValue(int index,QString value)
{
if(ItemList.contains(index))
@@ -39,7 +82,7 @@ void StateGroup::setValue(int index,QString value)
}
}
void StateGroup::setState(int index,StateWidget::state s)
void StateGroup::setColor(int index,StateWidget::state s)
{
if(ItemList.contains(index))
{
+20 -2
View File
@@ -3,12 +3,14 @@
#include <QWidget>
#include "StateWidget.h"
#include "QGroupBox"
#include "QGridLayout"
class StateGroup : public QWidget
{
Q_OBJECT
public:
explicit StateGroup(QWidget *parent = nullptr);
explicit StateGroup(int index, QWidget *parent = nullptr);
~StateGroup();
@@ -40,6 +42,9 @@ public slots:
void addItem(StateWidget * w);
void addItems(QMap<int,StateWidget *> list);
void removeItem(int index);
void removeItem(StateWidget * w);
StateWidget *Item(int key)
{
StateWidget *w = nullptr;
@@ -68,7 +73,13 @@ public slots:
void setValue(int index, QString value);
void setState(int index,StateWidget::state s);
void setColor(int index,StateWidget::state s);
int count(void)
{
return ItemList.size();
}
private slots:
@@ -76,6 +87,8 @@ private slots:
protected:
void updateUI(void);
private:
@@ -84,6 +97,11 @@ private:
QString title;
QGroupBox *box = nullptr;
QGridLayout *toplayout = nullptr;
QGridLayout *layout = nullptr;
};
#endif // STATEGROUP_H
+8 -10
View File
@@ -9,7 +9,7 @@ StateWidget::StateWidget(int flag,int index,QWidget *parent) : QWidget(parent)
title = new QLabel("new status");
title->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
title->setFixedSize(w/2,h);
title->setFixedSize(w/2,h+offset);
gridlayout->addWidget(title,0,0,1,1);
@@ -17,7 +17,7 @@ StateWidget::StateWidget(int flag,int index,QWidget *parent) : QWidget(parent)
{
label = new QLabel("0");
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
label->setFixedSize(w/2,h);
label->setFixedSize(w/2,h+offset);
setColor(state::gray);
gridlayout->addWidget(label,0,1,1,1);
}
@@ -27,11 +27,12 @@ StateWidget::StateWidget(int flag,int index,QWidget *parent) : QWidget(parent)
bar->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
bar->setRange(0,100);
bar->setValue(0);
bar->setFixedSize(w/2,h);
bar->setFixedSize(w/2,h+offset);
gridlayout->addWidget(bar,0,1,1,1);
}
this->setLayout(gridlayout);
this->resize(w,h+ 2 * offset);
}
StateWidget::StateWidget(int flag, QString t,QVariant v,state s,int index, QWidget *parent) : QWidget(parent)
@@ -46,7 +47,7 @@ StateWidget::StateWidget(int flag, QString t,QVariant v,state s,int index, QWidg
title = new QLabel(t);
title->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
title->setFixedSize(w/2,h);
title->setFixedSize(w/2,h+offset);
gridlayout->addWidget(title,0,0,1,1);
@@ -54,7 +55,7 @@ StateWidget::StateWidget(int flag, QString t,QVariant v,state s,int index, QWidg
{
label = new QLabel(v.toString());
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
label->setFixedSize(w/2,h);
label->setFixedSize(w/2,h+offset);
setColor(s);
gridlayout->addWidget(label,0,1,1,1);
}
@@ -65,11 +66,12 @@ StateWidget::StateWidget(int flag, QString t,QVariant v,state s,int index, QWidg
bar->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
bar->setRange(0,100);
bar->setValue(v.toDouble());
bar->setFixedSize(w/2,h);
bar->setFixedSize(w/2,h+offset);
gridlayout->addWidget(bar,0,1,1,1);
}
this->setLayout(gridlayout);
this->resize(w,h + 2 * offset);
}
@@ -94,9 +96,6 @@ StateWidget::~StateWidget()
{
delete gridlayout;
}
}
@@ -140,7 +139,6 @@ void StateWidget::setRange(double m_min,double m_max)
{
bar->setRange(m_min,m_max);
}
}
+1
View File
@@ -86,6 +86,7 @@ private:
int w = 300;
int h = 20;
int offset = 2;
double max = 99999999999999999;
double min = -99999999999999999;
+158 -56
View File
@@ -15,8 +15,99 @@ StatusUI::StatusUI(QWidget *parent) :
this->setStyleSheet(stylesheet);
file.close();
int id_count = 0;
StateGroup *mode = new StateGroup(id_count++,this);
StateGroup *base = new StateGroup(id_count++,this);
StateGroup *actuator = new StateGroup(id_count++,this);
StateGroup *e_fly = new StateGroup(id_count++,this);
StateGroup *state = new StateGroup(id_count++,this);
StateGroup *battery = new StateGroup(id_count++,this);
StateGroup *communication = new StateGroup(id_count++,this);
install(mode,0,"飞行模式",0);
install(base,0,"攻角[°]",0);
install(base,0,"侧滑角[°]",0);
install(base,0,"滚转角[°]",0);
install(base,0,"俯仰角[°]",0);
install(base,0,"航迹角[°]",0);
install(base,0,"海拔[m]",0);
install(base,0,"表速[m/s]",0);
install(base,0,"真空速[m/s]",0);
install(base,0,"地速[m/s]",0);
install(base,0,"马赫数[Ma]",0);
install(base,0,"爬升率[m/s]",0);
install(actuator,0,"舵机1[°]",0);
install(actuator,0,"舵机2[°]",0);
install(actuator,0,"舵机3[°]",0);
install(actuator,0,"舵机4[°]",0);
install(actuator,0,"舵机5[°]",0);
install(actuator,0,"舵机6[°]",0);
install(actuator,0,"舵机7[°]",0);
install(actuator,0,"舵机8[°]",0);
install(e_fly,0,"位置状态",0);
install(e_fly,0,"高度状态",0);
install(e_fly,0,"加速度状态",0);
install(e_fly,0,"姿态状态",0);
install(e_fly,0,"角速度状态",0);
install(e_fly,0,"时间状态",0);
install(e_fly,0,"航迹角",0);
install(e_fly,0,"天向加速度",0);
install(e_fly,0,"偏航加速度",0);
install(e_fly,0,"工作状态",0);
install(e_fly,0,"导航模式",0);
install(e_fly,0,"主惯导",0);
install(e_fly,0,"IMU状态",0);
install(e_fly,0,"DGPS状态",0);
install(state,0,"脱离状态1",0);
install(state,0,"脱离状态2",0);
install(state,0,"点火保险",0);
install(state,0,"加速度采集",0);
install(state,0,"开伞状态",0);
install(battery,0,"飞控电压[V]",0);
install(battery,0,"舵机电压[V]",0);
install(communication,0,"信号[%]",0);
install(communication,0,"接收[B/s]",0);
install(communication,0,"发送[B/s]",0);
GroupList.insert(mode->ID(),mode);
GroupList.insert(base->ID(),base);
GroupList.insert(actuator->ID(),actuator);
GroupList.insert(e_fly->ID(),e_fly);
GroupList.insert(state->ID(),state);
GroupList.insert(battery->ID(),battery);
GroupList.insert(communication->ID(),communication);
if(GroupList.size() > 0)
{
for( QMap<int,StateGroup *>::iterator i = GroupList.begin();i != GroupList.end();i++)
{
StateGroup *g = i.value();
ui->gridLayout->addWidget(g,g->ID(),0,1,1);
}
QVBoxLayout * vb = new QVBoxLayout;
vb->addStretch();
ui->gridLayout->addLayout(vb,GroupList.size(),0,1,1);
}
else
{
this->setFixedWidth(0);
}
install(0,"www",11);
}
@@ -27,71 +118,82 @@ StatusUI::~StatusUI()
//void StatusUI::setColor(QWidget *w,state s)
//{
/*
w->setProperty("state",s);
w->style()->unpolish(w);
w->style()->polish(w);
*/
//}
void StatusUI::setValue(QLabel *w,QString s)
void StatusUI::setColor(int group,int index,StateWidget::state s)
{
w->setText(s);
}
void StatusUI::install(int flag, QString name, QVariant value)
{
StateWidget *w = new StateWidget(flag,name,value);
StateList.insert(name,w);
}
void StatusUI::setValue(QString name,QVariant value)
{
if(StateList.keys().contains(name))
if(GroupList.contains(group))
{
StateGroup *g = GroupList.value(group);
if(g)
{
g->setColor(index,s);
}
}
}
void StatusUI::setServo(int index,double value)
void StatusUI::setValue(int group, int index, QString s)
{
switch (index) {
case 1:
// ui->label_Servo_1->setText(QString::number(value,'f',0));
break;
case 2:
// ui->label_Servo_2->setText(QString::number(value,'f',0));
break;
case 3:
// ui->label_Servo_3->setText(QString::number(value,'f',0));
break;
case 4:
// ui->label_Servo_4->setText(QString::number(value,'f',0));
break;
case 5:
// ui->label_Servo_5->setText(QString::number(value,'f',0));
break;
case 6:
//ui->label_Servo_6->setText(QString::number(value,'f',0));
break;
case 7:
//ui->label_Servo_7->setText(QString::number(value,'f',0));
break;
case 8:
//ui->label_Servo_8->setText(QString::number(value,'f',0));
break;
default:
break;
if(GroupList.contains(group))
{
StateGroup *g = GroupList.value(group);
if(g)
{
g->setValue(index,s);
}
}
}
bool StatusUI::addGroup(int index)//??
{
bool flag = false;
StateGroup *group = GroupList.value(index);
if(GroupList.contains(index))
{
group = GroupList.value(index);
}
else
{
group = new StateGroup(GroupList.size(),this);
GroupList.insert(index,group);
flag = true;
}
return flag;
}
void StatusUI::install(StateGroup *group,int flag, QString name, QVariant value)
{
StateWidget *w = new StateWidget(flag,name,value,StateWidget::state::gray,group->count());
group->addItem(w);
}
void StatusUI::install(int index,int flag, QString name, QVariant value)
{
StateGroup *group = GroupList.value(index);
if(GroupList.contains(index))
{
group = GroupList.value(index);
}
else
{
group = new StateGroup(GroupList.size(),this);
GroupList.insert(GroupList.size(),group);
}
StateWidget *w = new StateWidget(flag,name,value,StateWidget::state::gray,group->count());
group->addItem(w);
}
+11 -9
View File
@@ -10,9 +10,12 @@
#include "QLabel"
#include "mavlink.h"
#include "QSpacerItem"
#include "StateWidget.h"
//#include "StatusUI/StateLabel.h"
#include "StateGroup.h"
namespace Ui {
class StatusUI;
@@ -28,27 +31,26 @@ public:
~StatusUI();
void install(int flag, QString name, QVariant value);
void setServo(int index,double value);
public slots:
void setValue(QString name,QVariant value);
void setColor(int group,int index,StateWidget::state s);
void setValue(int group, int index, QString s);
private slots:
bool addGroup(int index);
void install(StateGroup *group, int flag, QString name, QVariant value);
void install(int index,int flag, QString name, QVariant value);
//void setColor(QWidget *w,state s);
void setValue(QLabel *w,QString s);
private:
Ui::StatusUI *ui;
QMap<QString,StateWidget *> StateList;
QMap<int,StateGroup *> GroupList;
};
+15 -2
View File
@@ -7,13 +7,26 @@
<x>0</x>
<y>0</y>
<width>289</width>
<height>859</height>
<height>389</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout"/>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
<resources/>
<connections/>
+11 -30
View File
@@ -25,51 +25,32 @@ ToolsUI::ToolsUI(QWidget *parent) :
ui->scrollArea->setFixedWidth(w);
ui->pushButton_ShowExtern->setFixedSize(w,h);
index0 = new Tools_Index0();
index1 = new Tools_Index1();
index2 = new Tools_Index2();
index3 = new Tools_Index3();
index4 = new tools_Index4();
powersystem = new PowerSystem();
servosystem = new ServoSystem();
command = new CommandBox();
diagram = new Diagram();
senser = new Senser();
Evtol = new evtol();
remotecontrol = new RemoteControl();
install(index0, 0,QIcon(":/img/warning.png"),tr("Inspector"));
install(index1, 1,QIcon(":/img/warning.png"),tr("Log"));
install(index2, 2,QIcon(":/img/warning.png"),tr("Replay"));
install(index3, 3,QIcon(":/img/warning.png"),tr("Terminal"));
install(index4, 4,QIcon(":/img/warning.png"),tr("Servos"));
install(powersystem, 5,QIcon(":/img/warning.png"),tr("PowerSystem"));
install(servosystem, 6,QIcon(":/img/warning.png"),tr("ServoSystem"));
install(command, 7,QIcon(":/img/warning.png"),tr("CommandBox"));
install(diagram, 8,QIcon(":/img/warning.png"),tr("Diagram"));
install(senser, 9,QIcon(":/img/warning.png"),tr("Senser"));
install(remotecontrol,10,QIcon(":/img/warning.png"),tr("RC"));
install(index0, 0,QIcon(":/img/warning.png"),tr("Inspector"));
install(index1, 1,QIcon(":/img/warning.png"),tr("Log"));
install(index2, 2,QIcon(":/img/warning.png"),tr("Replay"));
install(index3, 3,QIcon(":/img/warning.png"),tr("Terminal"));
install(index4, 4,QIcon(":/img/warning.png"),tr("Servos"));
install(powersystem,5,QIcon(":/img/warning.png"),tr("PowerSystem"));
install(servosystem,6,QIcon(":/img/warning.png"),tr("ServoSystem"));
install(command, 7,QIcon(":/img/warning.png"),tr("CommandBox"));
install(diagram, 8,QIcon(":/img/warning.png"),tr("Diagram"));
install(senser, 9,QIcon(":/img/warning.png"),tr("Senser"));
install(Evtol, 10,QIcon(":/img/warning.png"),tr("Evtol"));
install(remotecontrol,11,QIcon(":/img/warning.png"),tr("RC"));
connect(this,SIGNAL(IndexChanged(int)),
+97 -57
View File
@@ -987,10 +987,10 @@ void MainWindow::setCommunicationLostState(bool flag)
void MainWindow::updateDlink(float rssi, uint64_t bitrate)
{
/*
statusui->setDlink(1,QString::number(rssi,'f',0),
QString::number(bitrate));
*/
statusui->setValue(6,0,QString::number(rssi,'f',0));
statusui->setValue(6,1,QString::number(bitrate,'f',0));
statusui->setValue(6,2,QString::number(0,'f',0));
}
@@ -1045,20 +1045,21 @@ void MainWindow::update_servo_output_raw(mavlink_servo_output_raw_t servo)
{
//12-16
statusui->setValue(2,0,QString::number(servo.servo12_raw,'f',0));
statusui->setValue(2,1,QString::number(servo.servo13_raw,'f',0));
statusui->setValue(2,2,QString::number(servo.servo14_raw,'f',0));
statusui->setValue(2,3,QString::number(servo.servo15_raw,'f',0));
statusui->setValue(2,4,QString::number(servo.servo16_raw,'f',0));
statusui->setServo(1,servo.servo12_raw);
statusui->setServo(2,servo.servo13_raw);
statusui->setServo(3,servo.servo14_raw);
statusui->setServo(4,servo.servo15_raw);
statusui->setServo(5,servo.servo16_raw);
}
else if(servo.port == 1)
{
//17-19
statusui->setServo(6,servo.servo1_raw);
statusui->setServo(7,servo.servo2_raw);
statusui->setServo(8,servo.servo3_raw);
statusui->setValue(2,5,QString::number(servo.servo1_raw,'f',0));
statusui->setValue(2,6,QString::number(servo.servo2_raw,'f',0));
statusui->setValue(2,7,QString::number(servo.servo3_raw,'f',0));
}
@@ -1418,6 +1419,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
}
/*
else
{
healthui->setState(1,HealthUI::state::failure);
@@ -1456,62 +1458,100 @@ void MainWindow::updateUI()//事件驱动式更新数据
healthui->setState(29,HealthUI::state::failure);
healthui->setState(30,HealthUI::state::failure);
}
*/
//===================status ui =============================================
/*
statusui->setMode(1,mode_str,0);
statusui->setMode(2,1,2);
//========================
//========================0
statusui->setValue(0,0,mode_str);
//========================1
statusui->setValue(1,0,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).emb_atom_com.alpha,'f',1));
statusui->setValue(1,1,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).emb_atom_com.beta,'f',1));
statusui->setValue(1,2,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).attitude.roll * 57.3,'f',1));
statusui->setValue(1,3,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).attitude.pitch * 57.3,'f',1));
statusui->setValue(1,4,QString::number(to360deg(dlink->mavlinknode->vehicleList.value(currentUAV).gps_raw_int.cog * 0.01),'f',1));
statusui->setValue(1,5,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).gps_raw_int.alt * 10e-4,'f',1));
statusui->setValue(1,6,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).vfr_hud.airspeed,'f',1));
statusui->setValue(1,7,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).emb_atom_com.Airspeed,'f',1));
statusui->setValue(1,8,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).gps_raw_int.vel * 10e-3,'f',1));
statusui->setValue(1,9,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).emb_atom_com.mach,'f',2));
statusui->setValue(1,10,QString::number(-dlink->mavlinknode->vehicleList.value(currentUAV).global_position_int.vz * 10e-3,'f',1));
//========================3
statusui->setValue(3,0,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.sys_status & 0x80)?(tr("有效")):(tr("无效")));
statusui->setValue(3,1,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.sys_status & 0x40)?(tr("有效")):(tr("无效")));
statusui->setValue(3,2,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.sys_status & 0x20)?(tr("有效")):(tr("无效")));
statusui->setValue(3,3,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.sys_status & 0x10)?(tr("有效")):(tr("无效")));
statusui->setValue(3,4,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.sys_status & 0x08)?(tr("有效")):(tr("无效")));
statusui->setValue(3,5,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.sys_status & 0x04)?(tr("有效")):(tr("无效")));
statusui->setValue(3,6,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.sys_status & 0x02)?(tr("有效")):(tr("无效")));
statusui->setValue(3,7,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.sys_status & 0x01)?(tr("有效")):(tr("无效")));
statusui->setValue(3,8,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.com_status & 0x80)?(tr("有效")):(tr("无效")));
statusui->setState(1,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).emb_atom_com.alpha,'f',1),0);
statusui->setState(2,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).emb_atom_com.beta,'f',1),0);
uint8_t com = (dlink->mavlinknode->vehicleList.value(currentUAV).ins2.com_status & 0x30) >> 4;
QString com_str;
com_str.clear();
switch (com) {
case 0:
com_str = tr("准备");
break;
case 1:
com_str = tr("对准中");
break;
case 2:
com_str = tr("导航");
break;
case 3:
com_str = tr("对准失败");
break;
default:
com_str = tr("未知参数");
break;
}
statusui->setState(3,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).attitude.roll * 57.3,'f',1),
QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).nav_controller_output.nav_roll,'f',1));
statusui->setValue(3,9,com_str);
statusui->setState(4,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).attitude.pitch * 57.3,'f',1),
QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).nav_controller_output.nav_pitch,'f',1));
com = (dlink->mavlinknode->vehicleList.value(currentUAV).ins2.com_status & 0x0E) >> 1;
com_str.clear();
switch (com) {
case 0:
com_str = tr("N/A");
break;
case 1:
com_str = tr("INS/大气");
break;
case 2:
com_str = tr("INS/DGPS");
break;
case 3:
com_str = tr("INS/GNSS");
break;
case 5:
com_str = tr("GNSS");
break;
default:
com_str = tr("未知参数");
break;
}
statusui->setState(5,QString::number(to360deg(dlink->mavlinknode->vehicleList.value(currentUAV).gps_raw_int.cog * 0.01),'f',1),
QString::number(to360deg(dlink->mavlinknode->vehicleList.value(currentUAV).nav_controller_output.nav_bearing),'f',1));
statusui->setValue(3,10,com_str);
statusui->setState(6,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).gps_raw_int.alt * 10e-4,'f',1),
QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).gps_raw_int.alt * 10e-4
+dlink->mavlinknode->vehicleList.value(currentUAV).nav_controller_output.alt_error,'f',1));
statusui->setState(7,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).vfr_hud.airspeed,'f',1),tr(" "));
statusui->setState(8,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).emb_atom_com.Airspeed,'f',1),
QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).emb_atom_com.Airspeed
+dlink->mavlinknode->vehicleList.value(currentUAV).nav_controller_output.aspd_error,'f',1));
statusui->setState(9,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).gps_raw_int.vel * 10e-3,'f',1),tr(" "));
statusui->setState(10,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).emb_atom_com.mach,'f',2),tr(" "));
statusui->setState(11,QString::number(-dlink->mavlinknode->vehicleList.value(currentUAV).global_position_int.vz * 10e-3,'f',1),tr(" "));
*/
//statusui->setServo(6,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).sys_status.onboard_control_sensors_present),0);
/*
statusui->setServo(1,QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo14_raw),
QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo4_raw));
statusui->setServo(2,QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo11_raw),
QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo5_raw));
statusui->setServo(3,QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo15_raw),
QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo1_raw));
statusui->setServo(4,QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo12_raw),
QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo2_raw));
statusui->setServo(5,QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo13_raw),
QString::number((int16_t)dlink->mavlinknode->vehicleList.value(currentUAV).servo_output_raw.servo3_raw));
*/
statusui->setValue(3,11,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.gps_status & 0x80)?(tr("正常")):(tr("故障")));
statusui->setValue(3,12,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.gps_status & 0x40)?(tr("正常")):(tr("故障")));
statusui->setValue(3,13,(dlink->mavlinknode->vehicleList.value(currentUAV).ins2.gps_status & 0x20)?(tr("差分")):(tr("非差分")));
//========================4
statusui->setValue(4,0,(dlink->mavlinknode->vehicleList.value(currentUAV).rpm.rpm1 == 1)?(tr("脱离")):(tr("未脱离")));
statusui->setValue(4,1,(dlink->mavlinknode->vehicleList.value(currentUAV).rpm.rpm2 == 1)?(tr("脱离")):(tr("未脱离")));
statusui->setValue(4,2,(dlink->mavlinknode->vehicleList.value(currentUAV).rpm.rpm3 == 1)?(tr("去除保险")):(tr("保险正常")));
statusui->setValue(4,3,(dlink->mavlinknode->vehicleList.value(currentUAV).rpm.rpm1 == 1)?(tr("正常")):(tr("故障")));
statusui->setValue(4,4,(dlink->mavlinknode->vehicleList.value(currentUAV).rpm.rpm1 == 1)?(tr("正常")):(tr("故障")));
//========================5
statusui->setValue(5,0,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).sys_status.voltage_battery * 0.001,'f',1));
statusui->setValue(5,1,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).battery_status.voltages[1] * 0.001,'f',1));
statusui->setValue(5,2,QString::number(dlink->mavlinknode->vehicleList.value(currentUAV).battery_status.voltages[2] * 0.001,'f',1));
//========================6
//1-4 la le ra re 的指令, int16