载入功能完成
This commit is contained in:
+17
-3
@@ -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());
|
||||
|
||||
@@ -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())//退出
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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())//退出
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -108,6 +108,8 @@ void Replay::process()//线程函数
|
||||
emit readReady();
|
||||
|
||||
lastTimestamp = currentTimestamp;
|
||||
|
||||
QApplication::processEvents();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -29,6 +29,7 @@ void rtkprocess::process()//线程函数
|
||||
datagram = readbuff(SourceType::s_port);//每次全部读取
|
||||
if(datagram.size() > 0)
|
||||
{
|
||||
QApplication::processEvents();
|
||||
rtkrawdata.append(datagram);
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user