修改数据连刷新

This commit is contained in:
hm
2021-04-28 15:39:44 +08:00
parent 8374802b69
commit fb8b30a11a
9 changed files with 84 additions and 54 deletions
+12 -12
View File
@@ -50,27 +50,27 @@ StatusUI::StatusUI(QWidget *parent) :
install(actuator,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,"时间状态",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(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,"脱离状态2",0);
install(state,0,"点火保险",0);
install(state,0,"加速度采集",0);
install(state,0,"开伞状态",0);
//install(state,0,"开伞状态",0);
install(battery,0,"飞控电压[V]",0);
install(battery,0,"舵机电压[V]",0);
+1 -1
View File
@@ -70,7 +70,7 @@ void tools_Index4::setChannel(int port,QMap<int,uint16_t> pwm)
if(!barlist.contains(port * 16 + 1))
{
addGroup(port);
//addGroup(port);
}
for (int var = 1; var <= 16; ++var) {
+7 -4
View File
@@ -57,14 +57,17 @@ QSize GetDesktopSize() {
int screen_height = mm.height();
qDebug()<<"availableGeometry:" << screen_width<<screen_height;
if(screen_width >= 1280)
int max_width = 1920;
int max_height = 1080;
if(screen_width >= max_width)
{
screen_width = 1280;
screen_width = max_width;
}
if(screen_height >= 840)
if(screen_height >= max_height)
{
screen_height = 840;
screen_height = max_height;
}
//return QSize(screen_width, screen_height);//最大1366*768
+41 -27
View File
@@ -270,11 +270,11 @@ MainWindow::MainWindow(QWidget *parent)
connect(dlink->mavlinknode,SIGNAL(CommuniationLost(bool)),
this,SLOT(setCommunicationLostState(bool)),Qt::DirectConnection);
connect(dlink->mavlinknode,SIGNAL(updateDlink(float,uint64_t)),
this,SLOT(updateDlink(float,uint64_t)),Qt::DirectConnection);
connect(dlink->mavlinknode,SIGNAL(updateDlink(float,uint64_t,uint64_t)),
this,SLOT(updateDlink(float,uint64_t,uint64_t)),Qt::DirectConnection);
// connect(dlink,SIGNAL(info(double,double,double)),
// this,SLOT(dlinkinfo(double,double,double)),Qt::DirectConnection);
/*
connect(dlink->mavlinknode,SIGNAL(signal_servo_output_raw(mavlink_servo_output_raw_t *)),
@@ -952,14 +952,26 @@ void MainWindow::setCommunicationLostState(bool flag)
}
void MainWindow::updateDlink(float rssi, uint64_t bitrate)
void MainWindow::updateDlink(float rssi, uint64_t in,uint64_t out)
{
qDebug() << "updateDlink";
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));
//statusui->setValue(6,1,QString::number(in,'f',0));
//statusui->setValue(6,2,QString::number(out,'f',0));
}
void MainWindow::dlinkinfo(double rssi,double in,double out)
{
qDebug() << "dlinkinfo";
//statusui->setValue(6,1,QString::number(in,'f',0));
//statusui->setValue(6,2,QString::number(out,'f',0));
}
void MainWindow::setServoOffset(QVariant la,QVariant ra,
QVariant le,QVariant re,
@@ -1009,10 +1021,11 @@ void MainWindow::update_servo_output_raw(mavlink_servo_output_raw_t servo)
if(servo.port == 0)
{
//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,0,QString::number(servo.servo12_raw,'f',0));//8000H~7FFFH -38°~38° 1LSB=38/32767
statusui->setValue(2,1,QString::number(servo.servo13_raw,'f',0));//88/32767
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));
}
@@ -1388,14 +1401,15 @@ void MainWindow::updateUI()//事件驱动式更新数据
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->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,1,(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("无效")));
uint8_t com = (dlink->mavlinknode->vehicleList.value(currentUAV).ins2.com_status & 0x30) >> 4;
QString com_str;
@@ -1418,7 +1432,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
break;
}
statusui->setValue(3,9,com_str);
statusui->setValue(3,2,com_str);
com = (dlink->mavlinknode->vehicleList.value(currentUAV).ins2.com_status & 0x0E) >> 1;
com_str.clear();
@@ -1443,18 +1457,18 @@ void MainWindow::updateUI()//事件驱动式更新数据
break;
}
statusui->setValue(3,10,com_str);
statusui->setValue(3,3,com_str);
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("非差分")));
//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("故障")));
//statusui->setValue(4,1,(dlink->mavlinknode->vehicleList.value(currentUAV).rpm.rpm2 == 1)?(tr("脱离")):(tr("未脱离")));
statusui->setValue(4,1,(dlink->mavlinknode->vehicleList.value(currentUAV).rpm.rpm3 == 1)?(tr("保险正常")):(tr("保险解除")));
statusui->setValue(4,2,(dlink->mavlinknode->vehicleList.value(currentUAV).rpm.rpm4 == 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));
+2 -2
View File
@@ -104,8 +104,8 @@ private slots:
void Timer_1s_out(void);
void updateDlink(float rssi,uint64_t bitrate);
void updateDlink(float rssi, uint64_t in, uint64_t out);
void dlinkinfo(double rssi,double in,double out);
void update_servo_output_raw(mavlink_servo_output_raw_t servo);
+1 -1
View File
@@ -651,7 +651,7 @@ void MavLinkNode::TimerOut(void)
}
emit updateDlink(rssi,rate_in);
emit updateDlink(rssi,rate_in,0);
}
void MavLinkNode::LogTimerOut(void)
+1 -1
View File
@@ -180,7 +180,7 @@ signals:
void new_remote_ctrl(QList<uint16_t>);
void updateDlink(float rssi,uint64_t byte);
void updateDlink(float rssi,uint64_t in,uint64_t out);
void CommuniationLost(bool);
void showMessage(const QString &message,int TimeOut = 0);
+18 -5
View File
@@ -37,9 +37,11 @@ DLink::DLink(QObject *parent) : QObject(parent)
//其他协议节点。。。
bitTimer = new QTimer();
bitTimer = new QTimer(this);
bitTimer->setInterval(1000);
connect(bitTimer,SIGNAL(timeout()),
this,SLOT(bitTimerout()));
bitTimer->start();
@@ -52,6 +54,13 @@ DLink::~DLink()
mavlinknode->stop();
mavlinknode->deleteLater();
mavlinknode = nullptr;
if(bitTimer)
{
bitTimer->stop();
delete bitTimer;
}
}
void DLink::bitTimerout(void)
@@ -61,15 +70,17 @@ void DLink::bitTimerout(void)
qint64 time = QDateTime::currentMSecsSinceEpoch() - last;
if(time >= 2000)
{
out_bits = outCount / (time * 0.001);
in_bits = inCount / (time * 0.001);
out_bits = (double)outCount / (time * 0.001);
in_bits = (double)inCount / (time * 0.001);
if(frameCount > 0)
{
rssi_bits = (double)errCount / frameCount;
rssi_bits = (double)errCount / frameCount * 100;
}
else
{
@@ -82,10 +93,12 @@ void DLink::bitTimerout(void)
last = QDateTime::currentMSecsSinceEpoch();
emit info(in_bits,out_bits,rssi_bits);
emit info(rssi_bits,in_bits,out_bits);
}
}
int DLink::SendMessageTo(quint8 ch, quint8 *msg, quint16 len)
+1 -1
View File
@@ -74,7 +74,7 @@ signals:
void getRTK(QByteArray);
void info(double in,double out,double rssi);
void info(double rssi,double in,double out);
public slots: