载入功能完成

This commit is contained in:
hm
2022-04-24 16:35:27 +08:00
parent 16e4d0cb75
commit 97cfde6aee
13 changed files with 62 additions and 42 deletions
+17 -3
View File
@@ -1005,7 +1005,6 @@ void MainWindow::setServoOffset(QVariant dirla, QVariant dirra, QVariant dirle,
// 16~20Hz左右 运行频率可能太高
void MainWindow::updateUI()//事件驱动式更新数据
{
static uint32_t custommode_old = 0;
static uint8_t state_old = 0;
bool isCustomChanged = false;
@@ -1293,6 +1292,10 @@ void MainWindow::updateUI()//事件驱动式更新数据
dlink->mavlinknode->vehicle.attitude.yaw * 57.3);
uint64_t time = ((uint64_t)dlink->mavlinknode->vehicle.ins2.time)% 1000000;
uint64_t date = ((uint64_t)dlink->mavlinknode->vehicle.ins2.time)/ 1000000;
@@ -1442,6 +1445,8 @@ void MainWindow::updateUI()//事件驱动式更新数据
toolsui->servosystem->setCheckState(10,getBit(health,26)?(HealthUI::state::failure):(HealthUI::state::success));
toolsui->servosystem->setCheckState(11,getBit(health,27)?(HealthUI::state::failure):(HealthUI::state::success));
/*
qDebug() << getBit(health,22)
<< getBit(health,23)
@@ -1465,6 +1470,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
//qDebug() << getBit(health,16);
uint16_t servoHealt = dlink->mavlinknode->vehicle.servo_output_raw.servo10_raw;
healthui->setState(11,getBit(health,16)?(getBit(servoHealt,3)?(HealthUI::state::success):(HealthUI::state::warning)):(HealthUI::state::failure));//LA
@@ -1714,6 +1720,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
if(toolsui->senser)
{
toolsui->senser->setAltChart("海拔高度",dlink->mavlinknode->vehicle.global_position_int.alt * 10e-4,2);
toolsui->senser->setAltChart("气压高度",dlink->mavlinknode->vehicle.vfr_hud.alt,1);
@@ -1740,6 +1747,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
toolsui->senser->setSpeedChart("目标表速",dlink->mavlinknode->vehicle.vfr_hud.airspeed
+dlink->mavlinknode->vehicle.nav_controller_output.aspd_error,1);
}
@@ -1768,7 +1776,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
statusui->setServo(5,QString::number(ru_command,'f',2),
QString::number(ru_angle,'f',2));
/*
if(toolsui->senser)
{
@@ -1783,7 +1791,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
toolsui->senser->setServoChart("方向舵",ru_angle,2);
//toolsui->senser->setServoChart("方向舵角度",ru_command);
}
*/
statusui->setEngine(1,QString::number((dlink->mavlinknode->vehicle.servo_output_raw.servo6_raw - 1000) * 0.1,'f',0),
QString::number(dlink->mavlinknode->vehicle.turbinstate.RPM_mea,'f',0));
@@ -1921,6 +1929,8 @@ void MainWindow::updateUI()//事件驱动式更新数据
*/
/*
QString Fix;
switch (dlink->mavlinknode->vehicle.gps_raw_int.fix_type) {
case 0:
@@ -1941,6 +1951,9 @@ void MainWindow::updateUI()//事件驱动式更新数据
Fix.append(tr("%1").arg(dlink->mavlinknode->vehicle.gps_raw_int.fix_type));
break;
}
*/
/*
toolsui->diagram->setNavigation(1,Fix);//定位状态
toolsui->diagram->setNavigation(2,QString::number(dlink->mavlinknode->vehicle.gps_raw_int.satellites_visible));//微型数
@@ -1983,6 +1996,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
//dlink->mavlinknode->vehicle.turbinstate.RPM_mea = 12000;
if((isEngineStartUp == false)&&(dlink->mavlinknode->vehicle.turbinstate.RPM_mea >= 10000))
{
StartupTime->setTime(QDateTime::currentDateTime().time());
+2 -2
View File
@@ -26,8 +26,8 @@ void terminal::process()//线程函数
{
default:
case Nop_Mode : QThread::msleep(1000/frq());break;
case RecieveMode : ReadStateMachine();break;
case TransmitMode : WriteStateMachine();break;
case RecieveMode : ReadStateMachine();QApplication::processEvents();break;
case TransmitMode : WriteStateMachine();QApplication::processEvents();break;
}
if(isInterruptionRequested())//退出
+3
View File
@@ -4,6 +4,9 @@ ThreadTemplet::ThreadTemplet(QObject *parent) : QObject(parent)
{
running_flag = false;
thread = new QThread();
thread->setPriority(QThread::IdlePriority);
this->moveToThread(thread);
connect(thread, &QThread::started, this, &ThreadTemplet::process);
+2 -2
View File
@@ -31,8 +31,8 @@ void commandprocess::process()//线程函数
{
default:
case Nop_Mode : QThread::msleep(1000.0/frq());break;
case RecieveMode : ReadStateMachine();break;//QApplication::processEvents();break;
case TransmitMode : WriteStateMachine();break;//QApplication::processEvents();break;
case RecieveMode : ReadStateMachine();QApplication::processEvents();break;
case TransmitMode : WriteStateMachine();QApplication::processEvents();break;
}
if(isInterruptionRequested())//退出
+13 -14
View File
@@ -480,6 +480,7 @@ void MavLinkNode::process()//线程函数
uint8_t count = 0;
QByteArray datagram = nullptr;
bool isIdle = true;
while (running_flag)
{
count ++;
@@ -493,12 +494,6 @@ void MavLinkNode::process()//线程函数
{
//qDebug() << "client parse";
Mavlinkparse(SourceType::c_sock,datagram);
//QApplication::processEvents();
}
else
{
QThread::msleep(1000/running_frq);
//QThread::yieldCurrentThread();
}
//解码从串口来的
@@ -507,21 +502,23 @@ void MavLinkNode::process()//线程函数
//qDebug() << "serial port parse";
if(!datagram.isEmpty())
{
//isIdle
//qDebug() << "serial port parse";
Mavlinkparse(SourceType::s_port,datagram);
//QApplication::processEvents();
}
else
{
QThread::msleep(1000/running_frq);
//QThread::yieldCurrentThread();//打开这个CPU占用50%
}
if(isInterruptionRequested())//退出
{
break;
}
//QApplication::processEvents();
QApplication::processEvents();
//QThread::yieldCurrentThread();//打开这个CPU占用50%
if(isIdle)
{
// QThread::msleep(1000/running_frq);
}
}
}
@@ -610,6 +607,8 @@ void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
for (QByteArray::const_iterator i = datagram.cbegin(); i != datagram.cend(); ++i)
{
//QApplication::processEvents();
if(MAVLINK_FRAMING_OK == mavlink_parse_char(src,*i,&msg,&status))
{
@@ -1157,7 +1156,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
emit signal_vehicle(vehicle);
//emit signal_vehicle(vehicle);
emit state_updated();
+2 -2
View File
@@ -27,10 +27,10 @@ void MissionProcess::process()//线程函数
{
default:
case Nop_Mode : QThread::msleep(1000/frq());break;
case RecieveMode : ReadStateMachine();break;//QApplication::processEvents();break;
case RecieveMode : ReadStateMachine();QApplication::processEvents();break;
case TransmitMode :
{
//QApplication::processEvents();
QApplication::processEvents();
if(mission_status.transmit.type == 0)//航线传输
{
WriteStateMachine();
+2 -2
View File
@@ -24,8 +24,8 @@ void ParameterProcess::process()//线程函数
{
default:
case Nop_Mode : QThread::msleep(1000/frq());break;
case RecieveMode : ReadStateMachine();break;//QApplication::processEvents();break;
case TransmitMode : WriteStateMachine();break;//QApplication::processEvents();break;
case RecieveMode : ReadStateMachine();QApplication::processEvents();break;
case TransmitMode : WriteStateMachine();QApplication::processEvents();break;
}
if(isInterruptionRequested())//退出
+3 -1
View File
@@ -49,9 +49,11 @@ void rcprocess::process()//线程函数
//解码从串口来的
datagram.clear();
datagram = readbuff(SourceType::s_port);//每次全部读取
//qDebug() << "serial port parse";
if(datagram.size() > 0)
{
QApplication::processEvents();
parse(SourceType::s_port,datagram);
}
+2
View File
@@ -108,6 +108,8 @@ void Replay::process()//线程函数
emit readReady();
lastTimestamp = currentTimestamp;
QApplication::processEvents();
}
else
{
+1
View File
@@ -29,6 +29,7 @@ void rtkprocess::process()//线程函数
datagram = readbuff(SourceType::s_port);//每次全部读取
if(datagram.size() > 0)
{
QApplication::processEvents();
rtkrawdata.append(datagram);
}
+2 -1
View File
@@ -33,9 +33,10 @@ void statusprocess::process()//线程函数
{
default:
case Nop_Mode : QThread::msleep(1000.0/frq());break;
case RecieveMode : ReadStateMachine();break;
case RecieveMode : ReadStateMachine();QApplication::processEvents();break;
case TransmitMode :
{
QApplication::processEvents();
if((QTime::currentTime().msecsSinceStartOfDay() - time) > (1000.0/running_frq))
{
heartbeat(m_heartbeat.custom_mode,
+10 -15
View File
@@ -557,7 +557,7 @@ void OPMapWidget::SetUseOpenGL(const bool &value)
{
useOpenGL = value;
if (useOpenGL) {
setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
setViewport(new QGLWidget(QGLFormat(QGL::DoubleBuffer)));
} else {
setupViewport(new QWidget());
}
@@ -1828,20 +1828,6 @@ void OPMapWidget::WPLoad(QString path)//带文件目录参数
Item->SetNumber(seq);
if(command > MAV_CMD::MAV_CMD_NAV_LAST)
{
}
else
{
//WPLineCreate(WPFind(Item->Number() - 1),Item,Qt::green,false,2);
}
//Item->setParent(map);
//qDebug() << "autocontinue" << autocontinue;
emit setWPProperty(param1,param2,param3,param4,
x,y,z,
seq,
@@ -1857,6 +1843,15 @@ void OPMapWidget::WPLoad(QString path)//带文件目录参数
Item->emitWPProperty();
WayPointItem *w_last = WPFind(Item->MissionType(),Item->Number() - 1);
if(w_last)
{
WPLineCreate(w_last,Item,Qt::green,false,2);
}
}
}
+3
View File
@@ -34,6 +34,9 @@ TrailLineItem::TrailLineItem(internals::PointLatLng const & coord1, internals::P
pen.setBrush(m_brush);
pen.setWidth(2);
this->setPen(pen);
}
int TrailLineItem::type() const