fix loss data
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
#include "CharInputter.h"
|
#include "CharInputter.h"
|
||||||
#include "ui_CharInputter.h"
|
#include "ui_CharInputter.h"
|
||||||
|
|
||||||
CharInputter::CharInputter(QWidget *parent) :
|
CharInputter::CharInputter(QWidget *parent) :
|
||||||
@@ -27,10 +27,28 @@ CharInputter::CharInputter(QWidget *parent) :
|
|||||||
|
|
||||||
setLower();
|
setLower();
|
||||||
|
|
||||||
|
DoubleClickTimer = new QTimer(this);
|
||||||
|
DoubleClickTimer->setInterval(200);//0.2s之内再点击,那就相当于双击
|
||||||
|
connect(DoubleClickTimer,SIGNAL(timeout()),
|
||||||
|
this,SLOT(DoubleClickTimeout()));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CharInputter::~CharInputter()
|
CharInputter::~CharInputter()
|
||||||
{
|
{
|
||||||
|
if(DoubleClickTimer)
|
||||||
|
{
|
||||||
|
if(DoubleClickTimer->isActive())
|
||||||
|
{
|
||||||
|
DoubleClickTimer->stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
delete DoubleClickTimer;
|
||||||
|
}
|
||||||
|
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,6 +79,11 @@ void CharInputter::on_Clicked(QString str)
|
|||||||
ui->lineEdit->setText(curentStr);
|
ui->lineEdit->setText(curentStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CharInputter::DoubleClickTimeout()
|
||||||
|
{
|
||||||
|
DoubleClickTimer->stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void CharInputter::on_pushButton_1_clicked()
|
void CharInputter::on_pushButton_1_clicked()
|
||||||
{
|
{
|
||||||
@@ -441,6 +464,21 @@ void CharInputter::on_pushButton_Delete_clicked()
|
|||||||
{
|
{
|
||||||
curentStr = curentStr.mid(0,curentStr.size() - 1);
|
curentStr = curentStr.mid(0,curentStr.size() - 1);
|
||||||
ui->lineEdit->setText(curentStr);
|
ui->lineEdit->setText(curentStr);
|
||||||
|
|
||||||
|
if(DoubleClickTimer)
|
||||||
|
{
|
||||||
|
if(DoubleClickTimer->isActive())
|
||||||
|
{
|
||||||
|
curentStr.clear();
|
||||||
|
ui->lineEdit->clear();
|
||||||
|
DoubleClickTimer->stop();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DoubleClickTimer->start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CharInputter::on_pushButton_Space_clicked()
|
void CharInputter::on_pushButton_Space_clicked()
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#ifndef CHARINPUTTER_H
|
#ifndef CHARINPUTTER_H
|
||||||
#define CHARINPUTTER_H
|
#define CHARINPUTTER_H
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
@@ -7,6 +7,8 @@
|
|||||||
#include "QTextStream"
|
#include "QTextStream"
|
||||||
#include <QCommonStyle>
|
#include <QCommonStyle>
|
||||||
#include "QStyle"
|
#include "QStyle"
|
||||||
|
#include "QTimer"
|
||||||
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class CharInputter;
|
class CharInputter;
|
||||||
@@ -37,6 +39,8 @@ protected:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
|
||||||
|
void DoubleClickTimeout();
|
||||||
|
|
||||||
void setUpper(void);
|
void setUpper(void);
|
||||||
|
|
||||||
void setLower(void);
|
void setLower(void);
|
||||||
@@ -127,6 +131,7 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::CharInputter *ui;
|
Ui::CharInputter *ui;
|
||||||
|
QTimer *DoubleClickTimer = nullptr;
|
||||||
|
|
||||||
bool isCapsLock = false;
|
bool isCapsLock = false;
|
||||||
|
|
||||||
|
|||||||
@@ -25,17 +25,25 @@ Inputter::Inputter(QWidget *parent) :
|
|||||||
|
|
||||||
|
|
||||||
DoubleClickTimer = new QTimer(this);
|
DoubleClickTimer = new QTimer(this);
|
||||||
DoubleClickTimer->setInterval(300);//0.5s之内再点击,那就相当于双击
|
DoubleClickTimer->setInterval(200);//0.2s之内再点击,那就相当于双击
|
||||||
connect(DoubleClickTimer,SIGNAL(timeout()),
|
connect(DoubleClickTimer,SIGNAL(timeout()),
|
||||||
this,SLOT(DoubleClickTimeout()));
|
this,SLOT(DoubleClickTimeout()));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Inputter::~Inputter()
|
Inputter::~Inputter()
|
||||||
{
|
{
|
||||||
|
if(DoubleClickTimer)
|
||||||
|
{
|
||||||
|
if(DoubleClickTimer->isActive())
|
||||||
|
{
|
||||||
|
DoubleClickTimer->stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
delete DoubleClickTimer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,11 +56,6 @@ Scope::Scope(QWidget *parent) :
|
|||||||
connect(updateTimer,SIGNAL(timeout()),
|
connect(updateTimer,SIGNAL(timeout()),
|
||||||
this,SLOT(timeout()));
|
this,SLOT(timeout()));
|
||||||
updateTimer->start(50);//20hz刷新
|
updateTimer->start(50);//20hz刷新
|
||||||
|
|
||||||
//不要轻易使用singleShot,容易引起内存超限
|
|
||||||
//QTimer::singleShot(10,this,SLOT(timeout()));
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Scope::~Scope()
|
Scope::~Scope()
|
||||||
@@ -80,16 +75,12 @@ void Scope::mouseReleaseEvent(QMouseEvent *e)
|
|||||||
{
|
{
|
||||||
qDebug() << "Scope release" << e;
|
qDebug() << "Scope release" << e;
|
||||||
isPress = false;
|
isPress = false;
|
||||||
//setCursor(Qt::ArrowCursor);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scope::mousePressEvent(QMouseEvent *e)
|
void Scope::mousePressEvent(QMouseEvent *e)
|
||||||
{
|
{
|
||||||
qDebug() << "Scope press" << e;
|
qDebug() << "Scope press" << e;
|
||||||
isPress = true;
|
isPress = true;
|
||||||
//setCursor(Qt::ClosedHandCursor);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scope::mouseDoubleClickEvent(QMouseEvent *e)
|
void Scope::mouseDoubleClickEvent(QMouseEvent *e)
|
||||||
@@ -174,7 +165,6 @@ void Scope::timeout(void)//100Hz
|
|||||||
{
|
{
|
||||||
timeseries += 0.01;
|
timeseries += 0.01;
|
||||||
chartUpdate();
|
chartUpdate();
|
||||||
QTimer::singleShot(10,this,SLOT(timeout()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -422,7 +412,7 @@ void Scope::on_pushButton_Close_clicked()
|
|||||||
{
|
{
|
||||||
// delete ui;
|
// delete ui;
|
||||||
|
|
||||||
emit willcloase();
|
emit willclose();
|
||||||
this->hide();
|
this->hide();
|
||||||
// this->deleteLater();
|
// this->deleteLater();
|
||||||
// this->close();
|
// this->close();
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ protected:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void clearall(void);
|
void clearall(void);
|
||||||
void willcloase(void);
|
void willclose(void);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void setUseOpenGL(const bool &value);
|
void setUseOpenGL(const bool &value);
|
||||||
|
|||||||
Binary file not shown.
+2
-2
@@ -990,12 +990,12 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.cpp" line="600"/>
|
<location filename="mainwindow.cpp" line="600"/>
|
||||||
<source>ARM</source>
|
<source>ARM</source>
|
||||||
<translation>已解锁</translation>
|
<translation>解锁</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.cpp" line="603"/>
|
<location filename="mainwindow.cpp" line="603"/>
|
||||||
<source>DISARM</source>
|
<source>DISARM</source>
|
||||||
<translation>未解锁</translation>
|
<translation>上锁</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.cpp" line="626"/>
|
<location filename="mainwindow.cpp" line="626"/>
|
||||||
|
|||||||
@@ -62,6 +62,15 @@ MenuBarUI::MenuBarUI(QWidget *parent) :
|
|||||||
|
|
||||||
MenuBarUI::~MenuBarUI()
|
MenuBarUI::~MenuBarUI()
|
||||||
{
|
{
|
||||||
|
if(MessageTimer)
|
||||||
|
{
|
||||||
|
if(MessageTimer->isActive())
|
||||||
|
{
|
||||||
|
MessageTimer->stop();
|
||||||
|
}
|
||||||
|
delete MessageTimer;
|
||||||
|
}
|
||||||
|
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,10 +34,7 @@ ParameterInspector::ParameterInspector(QWidget *parent) :
|
|||||||
flushTimer = new QTimer(this);
|
flushTimer = new QTimer(this);
|
||||||
connect(flushTimer,SIGNAL(timeout()),
|
connect(flushTimer,SIGNAL(timeout()),
|
||||||
this,SLOT(mReflush()));
|
this,SLOT(mReflush()));
|
||||||
flushTimer->start(1000);
|
flushTimer->start(50);
|
||||||
|
|
||||||
//不要轻易使用这个,容易引起超限
|
|
||||||
//QTimer::singleShot(1000,this,SLOT(mReflush()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ParameterInspector::~ParameterInspector()
|
ParameterInspector::~ParameterInspector()
|
||||||
@@ -59,11 +56,6 @@ void ParameterInspector::mReflush()
|
|||||||
|
|
||||||
refreshView();
|
refreshView();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(TimerRunningFlag == true)
|
|
||||||
{
|
|
||||||
QTimer::singleShot(10,this,SLOT(mReflush()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -37,24 +37,8 @@ MAVLinkInspector::MAVLinkInspector(const QString& title, QAction* action,QWidget
|
|||||||
|
|
||||||
ui->treeWidget->header()->setStretchLastSection(true);
|
ui->treeWidget->header()->setStretchLastSection(true);
|
||||||
|
|
||||||
//ui->treeWidget->header()->resizeSection();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Connect the UI
|
|
||||||
/*
|
|
||||||
connect(ui->systemComboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
|
|
||||||
this, &MAVLinkInspector::selectDropDownMenuSystem);
|
|
||||||
connect(ui->componentComboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
|
|
||||||
this, &MAVLinkInspector::selectDropDownMenuComponent);
|
|
||||||
*/
|
|
||||||
|
|
||||||
connect(ui->clearButton, &QPushButton::clicked, this, &MAVLinkInspector::clearView);
|
connect(ui->clearButton, &QPushButton::clicked, this, &MAVLinkInspector::clearView);
|
||||||
|
|
||||||
// Connect external connections
|
|
||||||
//connect(qApp()->toolbox()->multiVehicleManager(), &MAVLinkInspector::vehicleAdded, this, &QGCMAVLinkInspector::_vehicleAdded);
|
|
||||||
//connect(protocol, &MAVLinkInspector::messageReceived, this, &MAVLinkInspector::receiveMessage);
|
|
||||||
|
|
||||||
// Attach the UI's refresh rate to a timer.
|
// Attach the UI's refresh rate to a timer.
|
||||||
connect(&updateTimer, &QTimer::timeout, this, &MAVLinkInspector::refreshView);
|
connect(&updateTimer, &QTimer::timeout, this, &MAVLinkInspector::refreshView);
|
||||||
updateTimer.start(updateInterval);
|
updateTimer.start(updateInterval);
|
||||||
@@ -112,13 +96,12 @@ void MAVLinkInspector::on_pushButton_system_clicked()
|
|||||||
ui->pushButton_system->hide();
|
ui->pushButton_system->hide();
|
||||||
ui->clearButton->hide();
|
ui->clearButton->hide();
|
||||||
|
|
||||||
|
|
||||||
if(!scope)
|
if(!scope)
|
||||||
{
|
{
|
||||||
scope = new Scope(this);
|
scope = new Scope(this);
|
||||||
|
|
||||||
|
|
||||||
connect(scope,SIGNAL(willcloase()),
|
connect(scope,SIGNAL(willclose()),
|
||||||
this,SLOT(ScopeClose()));
|
this,SLOT(ScopeClose()));
|
||||||
|
|
||||||
connect(scope,SIGNAL(clearall()),
|
connect(scope,SIGNAL(clearall()),
|
||||||
@@ -132,9 +115,6 @@ void MAVLinkInspector::on_pushButton_system_clicked()
|
|||||||
{
|
{
|
||||||
scope->show();
|
scope->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MAVLinkInspector::ScopeClose(void)//可能有点问题
|
void MAVLinkInspector::ScopeClose(void)//可能有点问题
|
||||||
@@ -336,8 +316,6 @@ void MAVLinkInspector::addUAStoTree(int sysId)
|
|||||||
{
|
{
|
||||||
if(!uasTreeWidgetItems.contains(sysId))
|
if(!uasTreeWidgetItems.contains(sysId))
|
||||||
{
|
{
|
||||||
// Add the UAS to the main tree after it has been created
|
|
||||||
//Vehicle* vehicle = qgcApp()->toolbox()->multiVehicleManager()->getVehicleById(sysId);
|
|
||||||
if (1)//vehicle)
|
if (1)//vehicle)
|
||||||
{
|
{
|
||||||
//UASInterface* uas = vehicle->uas();
|
//UASInterface* uas = vehicle->uas();
|
||||||
@@ -757,7 +735,7 @@ void MAVLinkInspector::updateField(mavlink_message_t* msg, const mavlink_message
|
|||||||
{
|
{
|
||||||
if(scope)
|
if(scope)
|
||||||
{
|
{
|
||||||
//scope->setSerieData(item->data(0,Qt::DisplayRole).toString(),item->data(1,Qt::DisplayRole));
|
scope->setSerieData(item->data(0,Qt::DisplayRole).toString(),item->data(1,Qt::DisplayRole));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-5
@@ -7,8 +7,7 @@
|
|||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent)
|
MainWindow::MainWindow(QWidget *parent)
|
||||||
: QMainWindow(parent)
|
: QMainWindow(parent)
|
||||||
{
|
{
|
||||||
|
|
||||||
//setGeometry();
|
//setGeometry();
|
||||||
|
|
||||||
//检测qml文件夹,如果不存在,那么就新建一个,这里存着所有的qml文件
|
//检测qml文件夹,如果不存在,那么就新建一个,这里存着所有的qml文件
|
||||||
@@ -414,6 +413,7 @@ void MainWindow::keyPressEvent(QKeyEvent *event) //键盘按下事件
|
|||||||
bool MainWindow::event(QEvent *event)
|
bool MainWindow::event(QEvent *event)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
switch (event->type()) {
|
switch (event->type()) {
|
||||||
case QEvent::TouchBegin:
|
case QEvent::TouchBegin:
|
||||||
case QEvent::TouchUpdate:
|
case QEvent::TouchUpdate:
|
||||||
@@ -448,6 +448,7 @@ bool MainWindow::event(QEvent *event)
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
return QWidget::event(event);
|
return QWidget::event(event);
|
||||||
}
|
}
|
||||||
@@ -701,9 +702,6 @@ void MainWindow::updateUI()//事件驱动式更新数据
|
|||||||
dlink->mavlinknode->vehicle.compid,
|
dlink->mavlinknode->vehicle.compid,
|
||||||
dlink->mavlinknode->vehicle.attitude.yaw * 57.3);
|
dlink->mavlinknode->vehicle.attitude.yaw * 57.3);
|
||||||
|
|
||||||
//QTimer::singleShot
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(MainIndex == 3)//飞行界面
|
if(MainIndex == 3)//飞行界面
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -76,7 +76,7 @@ protected slots:
|
|||||||
void resizeEvent(QResizeEvent *event);
|
void resizeEvent(QResizeEvent *event);
|
||||||
void mousePressEvent(QMouseEvent* event);
|
void mousePressEvent(QMouseEvent* event);
|
||||||
void keyPressEvent(QKeyEvent *event);
|
void keyPressEvent(QKeyEvent *event);
|
||||||
|
//void mouseMoveEvent();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onTabIndexChanged(const int &index);
|
void onTabIndexChanged(const int &index);
|
||||||
@@ -112,7 +112,7 @@ protected:
|
|||||||
|
|
||||||
QQuickWidget *quick = nullptr;
|
QQuickWidget *quick = nullptr;
|
||||||
|
|
||||||
QTimer *updateTimer;
|
QTimer *updateTimer = nullptr;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
+6
-6
@@ -25,14 +25,14 @@ VS_VERSION_INFO VERSIONINFO
|
|||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "080404b0"
|
BLOCK "080404b0"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "...公司\0"
|
VALUE "CompanyName", "xxx\0"
|
||||||
VALUE "FileDescription", "...\0"
|
VALUE "FileDescription", "无人机地面站系统\0"
|
||||||
VALUE "FileVersion", "1.0.0.0\0"
|
VALUE "FileVersion", "1.0.0.0\0"
|
||||||
VALUE "ProductVersion", "1.0.0.0\0"
|
VALUE "ProductVersion", "0.0.0.1\0"
|
||||||
VALUE "LegalCopyright", "版权所有 (C)...公司\0"
|
VALUE "LegalCopyright", "xxx\0"
|
||||||
VALUE "LegalTrademarks", "...公司\0"
|
VALUE "LegalTrademarks", "xxx\0"
|
||||||
VALUE "OriginalFilename", "Version.exe\0"
|
VALUE "OriginalFilename", "Version.exe\0"
|
||||||
VALUE "ProductName", "...查看系统\0"
|
VALUE "ProductName", "GCS\0"
|
||||||
VALUE "InternalName", "Version.exe\0"
|
VALUE "InternalName", "Version.exe\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|||||||
+2
-2
@@ -60,10 +60,10 @@ Cockpit::Cockpit(QWidget *parent): QWidget(parent)
|
|||||||
|
|
||||||
|
|
||||||
//初始化完成后打开定时器开始计数刷新
|
//初始化完成后打开定时器开始计数刷新
|
||||||
UpdateTimer = new QTimer;
|
UpdateTimer = new QTimer(this);
|
||||||
connect(UpdateTimer,SIGNAL(timeout()),
|
connect(UpdateTimer,SIGNAL(timeout()),
|
||||||
this,SLOT(UpdateTimeout()));
|
this,SLOT(UpdateTimeout()));
|
||||||
UpdateTimer->start(50);//50Hz
|
UpdateTimer->start(100);//10Hz
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -276,6 +276,7 @@ QByteArray MavLinkNode::readbuff(quint32 src)
|
|||||||
|
|
||||||
void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
|
void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
|
||||||
{
|
{
|
||||||
|
static int count = 0;
|
||||||
mavlink_message_t msg;
|
mavlink_message_t msg;
|
||||||
mavlink_status_t status;
|
mavlink_status_t status;
|
||||||
|
|
||||||
@@ -283,10 +284,25 @@ void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
|
|||||||
{
|
{
|
||||||
if(MAVLINK_FRAMING_OK == mavlink_parse_char(src,*i,&msg,&status))
|
if(MAVLINK_FRAMING_OK == mavlink_parse_char(src,*i,&msg,&status))
|
||||||
{
|
{
|
||||||
if(msg.compid != Current_CompID) //过滤地面站发过来的数据
|
//qDebug() << "fifo parse:" << count << msg.msgid;
|
||||||
|
|
||||||
|
count++;
|
||||||
|
|
||||||
|
if(msg.compid == Current_CompID) //过滤地面站发过来的数据
|
||||||
{
|
{
|
||||||
emit recievemsg(msg); //将信息广播出去
|
//不能使用这种方法过滤,不正确
|
||||||
|
//qDebug() << msg.msgid << "msg come from groundstation";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//if(msg.compid != Current_CompID) //过滤地面站发过来的数据
|
||||||
|
{
|
||||||
|
|
||||||
MAVLinkRcv_Handler(msg); //接收完一帧数据并处理
|
MAVLinkRcv_Handler(msg); //接收完一帧数据并处理
|
||||||
|
//QThread::sleep(5);
|
||||||
|
//qDebug() << "msg.sysid" <<msg.sysid << "msg.compid" << msg.compid << "fifo parse:" << count << msg.msgid;
|
||||||
|
|
||||||
|
emit recievemsg(msg); //将信息广播出去
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -350,7 +366,7 @@ void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
|
|||||||
void MavLinkNode::MAVLinkRcv_Handler(mavlink_message_t msg)
|
void MavLinkNode::MAVLinkRcv_Handler(mavlink_message_t msg)
|
||||||
{
|
{
|
||||||
//用于给参数添加设备,便于读取
|
//用于给参数添加设备,便于读取
|
||||||
//qDebug() << "msg.sysid" <<msg.sysid << "msg.compid" << msg.compid;
|
|
||||||
CheckVehicle(msg.sysid,msg.compid);
|
CheckVehicle(msg.sysid,msg.compid);
|
||||||
|
|
||||||
vehicle.sysid = msg.sysid;
|
vehicle.sysid = msg.sysid;
|
||||||
|
|||||||
+37
-2
@@ -263,9 +263,23 @@ bool DLink::setupClient(const QHostAddress &local_addr,int local_port,const QHos
|
|||||||
|
|
||||||
void DLink::readPendingDatagramsSerialPort(void)
|
void DLink::readPendingDatagramsSerialPort(void)
|
||||||
{
|
{
|
||||||
|
static int count = 0;
|
||||||
|
|
||||||
QByteArray datagram = serialPort->readAll();
|
QByteArray datagram = serialPort->readAll();
|
||||||
mavlinknode->setbuff(SourceType::s_port,datagram);
|
mavlinknode->setbuff(SourceType::s_port,datagram);
|
||||||
|
|
||||||
|
mavlink_message_t msg;
|
||||||
|
mavlink_status_t status;
|
||||||
|
|
||||||
|
for (QByteArray::const_iterator i = datagram.cbegin(); i != datagram.cend(); ++i)
|
||||||
|
{
|
||||||
|
if(MAVLINK_FRAMING_OK == mavlink_parse_char(3,*i,&msg,&status))
|
||||||
|
{
|
||||||
|
//qDebug() << "direct parse:" << count << msg.msgid;
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
QString num;
|
QString num;
|
||||||
for (int i = 0; i < datagram.size(); ++i) {
|
for (int i = 0; i < datagram.size(); ++i) {
|
||||||
@@ -275,21 +289,42 @@ void DLink::readPendingDatagramsSerialPort(void)
|
|||||||
qDebug() << num;
|
qDebug() << num;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
qDebug() << "port recieve";
|
//qDebug() << "port recieve";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DLink::readPendingDatagramsClient(void)
|
void DLink::readPendingDatagramsClient(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
static int count = 0;
|
||||||
|
|
||||||
//轮番查询
|
//轮番查询
|
||||||
while (Clientsock->hasPendingDatagrams()) {
|
while (Clientsock->hasPendingDatagrams()) {
|
||||||
QByteArray datagram;
|
QByteArray datagram;
|
||||||
datagram.resize(Clientsock->pendingDatagramSize());
|
datagram.resize(Clientsock->pendingDatagramSize());
|
||||||
Clientsock->readDatagram(datagram.data(), datagram.size());
|
Clientsock->readDatagram(datagram.data(), datagram.size());
|
||||||
mavlinknode->setbuff(SourceType::c_sock,datagram);
|
mavlinknode->setbuff(SourceType::c_sock,datagram);
|
||||||
|
|
||||||
|
|
||||||
|
mavlink_message_t msg;
|
||||||
|
mavlink_status_t status;
|
||||||
|
|
||||||
|
for (QByteArray::const_iterator i = datagram.cbegin(); i != datagram.cend(); ++i)
|
||||||
|
{
|
||||||
|
if(MAVLINK_FRAMING_OK == mavlink_parse_char(2,*i,&msg,&status))
|
||||||
|
{
|
||||||
|
//qDebug() << "direct parse:" << count << msg.msgid;
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug() << "client recieve";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//qDebug() << "client recieve";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ OPMapWidget::OPMapWidget(QWidget *parent, Configuration *config) : QGraphicsView
|
|||||||
altitudeitem->hide();
|
altitudeitem->hide();
|
||||||
|
|
||||||
|
|
||||||
NoOperationTimer = new QTimer();
|
NoOperationTimer = new QTimer(this);
|
||||||
connect(NoOperationTimer,SIGNAL(timeout()),
|
connect(NoOperationTimer,SIGNAL(timeout()),
|
||||||
this,SLOT(NOPTimeout()));
|
this,SLOT(NOPTimeout()));
|
||||||
NoOperationTimer->start(20000);//20s不操作
|
NoOperationTimer->start(20000);//20s不操作
|
||||||
|
|||||||
Reference in New Issue
Block a user