状态显示完成
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -86,6 +86,7 @@ private:
|
||||
|
||||
int w = 300;
|
||||
int h = 20;
|
||||
int offset = 2;
|
||||
|
||||
double max = 99999999999999999;
|
||||
double min = -99999999999999999;
|
||||
|
||||
+158
-56
@@ -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
@@ -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;
|
||||
|
||||
|
||||
};
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user