This commit is contained in:
hm
2020-03-05 21:20:30 +08:00
parent a27878ce87
commit 540627aa95
4 changed files with 57 additions and 9 deletions
+1
View File
@@ -138,6 +138,7 @@ void MainWindow::dlink_triggered()
if (QDialog::Accepted == ret) if (QDialog::Accepted == ret)
{ {
dlink->setupPort(dlg.port, dlg.baudrate,dlg.parity); dlink->setupPort(dlg.port, dlg.baudrate,dlg.parity);
//qDebug() << "setup serial port";
} }
} }
+51 -7
View File
@@ -88,8 +88,10 @@ void MavLinkNode::process()//线程函数
//解码从串口来的 //解码从串口来的
datagram.clear(); datagram.clear();
datagram = readbuff(SourceType::s_port);//每次全部读取 datagram = readbuff(SourceType::s_port);//每次全部读取
//qDebug() << "serial port parse";
if(!datagram.isEmpty()) if(!datagram.isEmpty())
{ {
//qDebug() << "serial port parse";
Mavlinkparse(SourceType::s_port,datagram); Mavlinkparse(SourceType::s_port,datagram);
} }
@@ -170,14 +172,10 @@ QByteArray MavLinkNode::readbuff(quint32 src)
} }
break; break;
} }
//qDebug() << datagram;
return datagram; return datagram;
} }
void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram) void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
{ {
mavlink_message_t msg; mavlink_message_t msg;
@@ -191,9 +189,56 @@ void MavLinkNode::Mavlinkparse(quint32 src,QByteArray datagram)
} }
else else
{ {
if (status.parse_state == MAVLINK_PARSE_STATE_GOT_BAD_CRC1) switch(status.parse_state)
{ {
qDebug() << "mavlink recieve crc error"; case MAVLINK_PARSE_STATE_UNINIT:{
qDebug() << "MAVLINK_PARSE_STATE_UNINIT";
}break;
case MAVLINK_PARSE_STATE_IDLE:{
qDebug() << "MAVLINK_PARSE_STATE_IDLE";
}break;
case MAVLINK_PARSE_STATE_GOT_STX:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_STX";
}break;
case MAVLINK_PARSE_STATE_GOT_LENGTH:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_LENGTH";
}break;
case MAVLINK_PARSE_STATE_GOT_INCOMPAT_FLAGS:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_INCOMPAT_FLAGS";
}break;
case MAVLINK_PARSE_STATE_GOT_COMPAT_FLAGS:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_COMPAT_FLAGS";
}break;
case MAVLINK_PARSE_STATE_GOT_SEQ:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_SEQ";
}break;
case MAVLINK_PARSE_STATE_GOT_SYSID:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_SYSID";
}break;
case MAVLINK_PARSE_STATE_GOT_COMPID:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_COMPID";
}break;
case MAVLINK_PARSE_STATE_GOT_MSGID1:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_MSGID1";
}break;
case MAVLINK_PARSE_STATE_GOT_MSGID2:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_MSGID2";
}break;
case MAVLINK_PARSE_STATE_GOT_MSGID3:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_MSGID3";
}break;
case MAVLINK_PARSE_STATE_GOT_PAYLOAD:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_PAYLOAD";
}break;
case MAVLINK_PARSE_STATE_GOT_CRC1:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_CRC1";
}break;
case MAVLINK_PARSE_STATE_GOT_BAD_CRC1:{
qDebug() << "MAVLINK_PARSE_STATE_GOT_BAD_CRC1";
}break;
case MAVLINK_PARSE_STATE_SIGNATURE_WAIT:{
qDebug() << "MAVLINK_PARSE_STATE_SIGNATURE_WAIT";
}break;
} }
} }
} }
@@ -253,7 +298,6 @@ void MavLinkNode::MAVLinkRcv_Handler(mavlink_message_t msg)
void MavLinkNode::StatusParse(mavlink_message_t msg) void MavLinkNode::StatusParse(mavlink_message_t msg)
{ {
//qDebug() << "msgid:" << msg.msgid;
switch (msg.msgid) { switch (msg.msgid) {
case MAVLINK_MSG_ID_AUTOPILOT_VERSION: { case MAVLINK_MSG_ID_AUTOPILOT_VERSION: {
mavlink_msg_autopilot_version_decode(&msg,&vehicle.autopilot_version); mavlink_msg_autopilot_version_decode(&msg,&vehicle.autopilot_version);
+1 -2
View File
@@ -58,11 +58,11 @@ void DLink::setupPort(const QString port, qint32 baudrate, QSerialPort::Parity p
mavlinknode->start(); mavlinknode->start();
connect(serialPort, SIGNAL(readyRead()), this, SLOT(readPendingDatagramsSerialPort())); connect(serialPort, SIGNAL(readyRead()), this, SLOT(readPendingDatagramsSerialPort()));
qDebug() << "Serial Port Open Success"; qDebug() << "Serial Port Open Success";
} }
else else
{ {
qDebug() << "Serial Port Open Fail";
delete serialPort; delete serialPort;
serialPort = nullptr; serialPort = nullptr;
} }
@@ -132,7 +132,6 @@ void DLink::readPendingDatagramsClient(void)
Clientsock->readDatagram(datagram.data(), datagram.size()); Clientsock->readDatagram(datagram.data(), datagram.size());
mavlinknode->setbuff(SourceType::c_sock,datagram); mavlinknode->setbuff(SourceType::c_sock,datagram);
} }
} }
+4
View File
@@ -8,6 +8,10 @@ CONFIG += c++11
TARGET = Dlink TARGET = Dlink
TEMPLATE = lib TEMPLATE = lib
#DEFINES += DEBUG
DEFINES += DLINK_LIBRARY DEFINES += DLINK_LIBRARY