添加RTK和RC输入显示,防止没有数据输入
This commit is contained in:
@@ -170,14 +170,14 @@ StatusUI::StatusUI(QWidget *parent) :
|
||||
{3,StateWidget::state::red},
|
||||
{5,StateWidget::state::orange},
|
||||
{15,StateWidget::state::green}});
|
||||
|
||||
/*
|
||||
install(battery,0,"左轮速[RPM]",0,
|
||||
QMap<QVariant, StateWidget::state>{{1,StateWidget::state::red},
|
||||
{120,StateWidget::state::green}});
|
||||
install(battery,0,"右轮速[RPM]",0,
|
||||
QMap<QVariant, StateWidget::state>{{1,StateWidget::state::red},
|
||||
{120,StateWidget::state::green}});
|
||||
|
||||
*/
|
||||
|
||||
install(communication,0,"信号[%]",0,
|
||||
QMap<QVariant, StateWidget::state>{{50,StateWidget::state::red},
|
||||
|
||||
+35
-8
@@ -165,8 +165,12 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
|
||||
|
||||
|
||||
qRegisterMetaType<QList<uint16_t>>("QList<uint16_t>");
|
||||
qRegisterMetaType<uint32_t>("uint32_t");
|
||||
qRegisterMetaType<uint16_t>("uint16_t");
|
||||
qRegisterMetaType<uint8_t>("uint8_t");
|
||||
|
||||
|
||||
qRegisterMetaType<MavLinkNode::_vehicle>("MavLinkNode::_vehicle");
|
||||
|
||||
|
||||
|
||||
@@ -366,6 +370,12 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
toolsui->remotecontrol,SLOT(setChannelOveride(QList<uint16_t>)));
|
||||
*/
|
||||
|
||||
|
||||
//dlink --- this
|
||||
connect(dlink,SIGNAL(RC_Byte(uint32_t)),this,SLOT(RC_Byte(uint32_t)));
|
||||
connect(dlink,SIGNAL(RTCM_Byte(uint32_t)),this,SLOT(RTCM_Byte(uint32_t)));
|
||||
|
||||
|
||||
//dlink --- toolui-index3
|
||||
connect(dlink->mavlinknode->Terminal,SIGNAL(Recieve(QString)),
|
||||
toolsui->index3,SLOT(Recieve(QString)));
|
||||
@@ -375,10 +385,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
|
||||
|
||||
//dlink ---- rc
|
||||
qRegisterMetaType<QList<uint16_t>>("QList<uint16_t>");
|
||||
qRegisterMetaType<uint32_t>("uint32_t");
|
||||
qRegisterMetaType<uint16_t>("uint16_t");
|
||||
qRegisterMetaType<uint8_t>("uint8_t");
|
||||
|
||||
|
||||
connect(dlink->mavlinknode->RC,SIGNAL(new_remote_ctrl(QList<uint16_t>)),
|
||||
toolsui->remotecontrol,SLOT(setChannelOveride(QList<uint16_t>)));
|
||||
@@ -440,6 +447,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
|
||||
|
||||
|
||||
|
||||
//tools -------- dlink
|
||||
connect(dlink->mavlinknode,SIGNAL(recieveData(int,QByteArray)),
|
||||
toolsui,SIGNAL(recieveData(int,QByteArray)));
|
||||
@@ -475,7 +483,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
this,SLOT(updateUI()));
|
||||
*/
|
||||
|
||||
qRegisterMetaType<MavLinkNode::_vehicle>("MavLinkNode::_vehicle");
|
||||
|
||||
connect(dlink->mavlinknode,SIGNAL(signal_vehicle(MavLinkNode::_vehicle)),
|
||||
this,SLOT(updateVehicle(MavLinkNode::_vehicle)));
|
||||
|
||||
@@ -1280,6 +1288,25 @@ void MainWindow::setCommunicationLostState(bool flag)
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::RTCM_Byte(uint32_t count)
|
||||
{
|
||||
if(copk)
|
||||
{
|
||||
copk->setRTCMByte(count);
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::RC_Byte(uint32_t count)
|
||||
{
|
||||
|
||||
if(copk)
|
||||
{
|
||||
copk->setRCByte(count);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::updateDlink(float rssi, uint64_t in,uint64_t out)
|
||||
{
|
||||
statusui->setValue(1,1,0,QString::number(rssi,'f',0));
|
||||
@@ -2632,12 +2659,12 @@ void MainWindow::actuator_info_brake(Parse::_actuator info)
|
||||
if(info.left_brake == 0x11)
|
||||
{
|
||||
healthui->setValue(18,tr("变体抱死"));
|
||||
healthui->setColor(18,HealthUI::state::failure);//变体抱死
|
||||
healthui->setColor(18,HealthUI::state::success);//变体抱死
|
||||
}
|
||||
else
|
||||
{
|
||||
healthui->setValue(18,tr("变体解锁"));
|
||||
healthui->setColor(18,HealthUI::state::success);//变体解锁
|
||||
healthui->setColor(18,HealthUI::state::failure);//变体解锁
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,6 +122,11 @@ public slots:
|
||||
|
||||
void onTabIndexChanged(const int &index);
|
||||
|
||||
|
||||
void RTCM_Byte(uint32_t count);
|
||||
void RC_Byte(uint32_t count);
|
||||
|
||||
|
||||
protected slots:
|
||||
|
||||
bool event(QEvent *event);
|
||||
|
||||
@@ -585,6 +585,20 @@ void Cockpit::setLed(QColor LED)
|
||||
m_Target.isUpdate = true;
|
||||
}
|
||||
|
||||
void Cockpit::setRCByte(uint32_t byte)
|
||||
{
|
||||
|
||||
m_State.rc_byte = byte;
|
||||
m_State.isUpdate = true;
|
||||
}
|
||||
|
||||
void Cockpit::setRTCMByte(uint32_t byte)
|
||||
{
|
||||
|
||||
m_State.rtcm_byte = byte;
|
||||
m_State.isUpdate = true;
|
||||
}
|
||||
|
||||
|
||||
void Cockpit::paintEvent(QPaintEvent *)
|
||||
{
|
||||
@@ -617,6 +631,7 @@ void Cockpit::paintEvent(QPaintEvent *)
|
||||
drawVRate(&painter);
|
||||
drawYawScale(&painter);
|
||||
drawTopStatuts(&painter);
|
||||
drawRC_RTCM(&painter);
|
||||
}
|
||||
else//简单显示
|
||||
{
|
||||
@@ -2162,3 +2177,52 @@ void Cockpit::drawTopStatuts(QPainter *painter)
|
||||
|
||||
painter->restore();//所有结束
|
||||
}
|
||||
|
||||
void Cockpit::drawRC_RTCM(QPainter *painter)
|
||||
{
|
||||
painter->save();
|
||||
//平移坐标
|
||||
painter->translate(600,800);
|
||||
|
||||
QPen ePen;
|
||||
QFont font;
|
||||
//画一个半透明的小方块
|
||||
painter->save();
|
||||
// painter->setOpacity(0.3);
|
||||
|
||||
ePen.setWidth(8);
|
||||
ePen.setColor(Qt::green);
|
||||
painter->setPen(ePen);
|
||||
|
||||
painter->setBrush(QColor("#000000"));
|
||||
painter->drawRect(QRect(0,0,550,150));
|
||||
painter->drawRect(QRect(0,200,550,150));
|
||||
painter->restore();//画底部结束
|
||||
|
||||
//画刻度
|
||||
painter->save();
|
||||
|
||||
ePen.setColor(Qt::white);
|
||||
ePen.setWidth(12);
|
||||
font.setPixelSize(90);
|
||||
font.setWeight(QFont::Bold);
|
||||
font.setFamily("黑体");//非衬线
|
||||
|
||||
painter->setPen(ePen);
|
||||
painter->setFont(font);
|
||||
//在下方显示当前值
|
||||
painter->drawText(QRect(10,0,530,150),Qt::AlignVCenter|Qt::AlignLeft,tr("RCin:") + QString::number(m_State.rc_byte));
|
||||
painter->drawText(QRect(10,200,530,150),Qt::AlignVCenter|Qt::AlignLeft,tr("RTCM:") + QString::number(m_State.rtcm_byte));
|
||||
painter->restore();//画当前值结束
|
||||
|
||||
|
||||
|
||||
painter->restore();//全部结束
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+7
-1
@@ -92,7 +92,8 @@ typedef struct {
|
||||
quint8 AltitudeFlag = 0;
|
||||
|
||||
|
||||
|
||||
uint32_t rc_byte;
|
||||
uint32_t rtcm_byte;
|
||||
|
||||
bool isUpdate;
|
||||
|
||||
@@ -202,6 +203,10 @@ public Q_SLOTS:
|
||||
void setWP_dist(double value);
|
||||
void setAlt_err(double value);
|
||||
|
||||
void setRCByte(uint32_t byte);
|
||||
void setRTCMByte(uint32_t byte);
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
void mouseMoveEvent(QMouseEvent *e);
|
||||
@@ -230,6 +235,7 @@ protected:
|
||||
|
||||
void drawTopStatuts(QPainter *painter);
|
||||
|
||||
void drawRC_RTCM(QPainter *painter);
|
||||
private slots:
|
||||
|
||||
void UpdateTimeout(void);
|
||||
|
||||
+29
-1
@@ -61,6 +61,9 @@ DLink::DLink(QObject *parent) : QObject(parent)
|
||||
}
|
||||
|
||||
|
||||
RecieveRCtime = QDateTime::currentMSecsSinceEpoch();
|
||||
RecieveRTCMtime = QDateTime::currentMSecsSinceEpoch();
|
||||
|
||||
}
|
||||
DLink::~DLink()
|
||||
{
|
||||
@@ -137,6 +140,18 @@ void DLink::bitTimerout(void)
|
||||
last = QDateTime::currentMSecsSinceEpoch();
|
||||
|
||||
emit info(rssi_bits,in_bits,out_bits);
|
||||
|
||||
|
||||
if((QDateTime::currentMSecsSinceEpoch() - RecieveRCtime) > 2000)
|
||||
{
|
||||
emit RC_Byte(0);
|
||||
}
|
||||
|
||||
if((QDateTime::currentMSecsSinceEpoch() - RecieveRTCMtime) > 2000)
|
||||
{
|
||||
emit RTCM_Byte(0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -846,7 +861,15 @@ void DLink::readRTKPendingDatagrams(void)
|
||||
|
||||
if(datagram.size() > 0)
|
||||
{
|
||||
emit getRTK(SourceType::s_port,datagram);
|
||||
emit RTCM_Byte(datagram.size());
|
||||
|
||||
RecieveRTCMtime = QDateTime::currentMSecsSinceEpoch();
|
||||
|
||||
isRecieveRTCM = true;
|
||||
if(sendRTCM == true)
|
||||
{
|
||||
emit getRTK(SourceType::s_port,datagram);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -865,6 +888,11 @@ void DLink::readRemotePendingDatagrams(void)
|
||||
|
||||
if(datagram.size() > 0)
|
||||
{
|
||||
emit RC_Byte(datagram.size());
|
||||
|
||||
RecieveRCtime = QDateTime::currentMSecsSinceEpoch();
|
||||
|
||||
isRecieveRC = true;
|
||||
emit getRemote(SourceType::s_port,datagram);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,6 +111,10 @@ signals:
|
||||
void getRTK(quint32,QByteArray);
|
||||
|
||||
|
||||
void RTCM_Byte(uint32_t);
|
||||
void RC_Byte(uint32_t);
|
||||
|
||||
|
||||
void info(double rssi,double in,double out);
|
||||
|
||||
public slots:
|
||||
@@ -140,6 +144,18 @@ public slots:
|
||||
|
||||
//void replay(QString file);
|
||||
|
||||
|
||||
void setSendRTCM(bool flag)
|
||||
{
|
||||
sendRTCM = flag;
|
||||
}
|
||||
|
||||
bool isSendRTCM(void)
|
||||
{
|
||||
return sendRTCM;
|
||||
}
|
||||
|
||||
|
||||
private slots:
|
||||
|
||||
void bitTimerout(void);
|
||||
@@ -196,6 +212,14 @@ protected:
|
||||
double in_bits = 0;
|
||||
double rssi_bits = 0;
|
||||
|
||||
bool sendRTCM = false;
|
||||
|
||||
|
||||
bool isRecieveRC = false;
|
||||
bool isRecieveRTCM = false;
|
||||
|
||||
uint64_t RecieveRCtime = 0;
|
||||
uint64_t RecieveRTCMtime = 0;
|
||||
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user