我正在使用带有树莓派的PX4Flow光流控制模块,我通过通用异步收发器接收Mavlink消息,并需要对它们进行解码。有人知道我在哪里可以找到代码来做这件事吗?我是用C写的。
我在谷歌上搜索了几个小时,虽然有关于这个话题的帖子,但似乎没有一个有我需要的信息,也没有一个指向找到它们的方向。
谢谢你的帮助。
发布于 2015-04-30 04:46:47
官方的mavlink项目包括C(和Python)的编码/解码代码:https://github.com/mavlink/mavlink
在http://qgroundcontrol.org/dev/mavlink_linux_integration_tutorial上有一个使用mavlink C代码的示例
memset(buf, 0, BUFFER_LENGTH);
recsize = recvfrom(sock,
(void *)buf, BUFFER_LENGTH,
0,
(struct sockaddr *)&gcAddr, &fromlen);
if (recsize > 0) {
// Something received - print out all bytes and parse packet
mavlink_message_t msg;
mavlink_status_t status;
printf("Bytes Received: %d\nDatagram: ", (int)recsize);
for (i = 0; i < recsize; ++i)
{
temp = buf[i];
printf("%02x ", (unsigned char)temp);
if (mavlink_parse_char(MAVLINK_COMM_0, buf[i], &msg, &status))
{
// Packet received
printf("\nReceived packet: SYS: %d, COMP: %d, LEN: %d, MSG ID: %d\n",
msg.sysid, msg.compid, msg.len, msg.msgid);
}
}
}https://stackoverflow.com/questions/28020971
复制相似问题