b
This commit is contained in:
@@ -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";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ CONFIG += c++11
|
|||||||
TARGET = Dlink
|
TARGET = Dlink
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
|
|
||||||
|
|
||||||
|
#DEFINES += DEBUG
|
||||||
|
|
||||||
|
|
||||||
DEFINES += DLINK_LIBRARY
|
DEFINES += DLINK_LIBRARY
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user