正在上传图片(0/1)

onboard sdk 与无人机失去连接 OSDK lost connection with Drone

 0
手机看帖 7 1352
void
Vehicle::fcLostConnectCallBack(void)
{
    DSTATUS("OSDK lost connection with Drone!");
}

uint8_t
Vehicle::sendHeartbeatToFCFunc(Linker *linker)
{
    if (linker) {
        uint8_t ackData[1024];
        uint8_t *data = (uint8_t *) &heartBeatPack;
        T_CmdInfo heatBeatCmdInfo    = {0};
        T_CmdInfo heatBeatAckCmdInfo = {0};
        heatBeatCmdInfo.cmdSet     = OpenProtocolCMD::CMDSet::Activation::heatBeatCmd[0];
        heatBeatCmdInfo.cmdId      = OpenProtocolCMD::CMDSet::Activation::heatBeatCmd[1];
        heatBeatCmdInfo.dataLen    = sizeof(HeartBeatPack);
        heatBeatCmdInfo.needAck    = OSDK_COMMAND_NEED_ACK_FINISH_ACK;
        heatBeatCmdInfo.packetType = OSDK_COMMAND_PACKET_TYPE_REQUEST;
        heatBeatCmdInfo.protoType  = PROTOCOL_SDK;
        heatBeatCmdInfo.addr       = GEN_ADDR(0, ADDR_SDK_COMMAND_INDEX);
        heatBeatCmdInfo.channelId  = 0;

        linker->sendSync(&heatBeatCmdInfo, data,
                         &heatBeatAckCmdInfo, ackData, 500, 2);
        HeartBeatPack *ack = (HeartBeatPack *)ackData;
        if (ack->seqNumber == heartBeatPack.seqNumber) {
            fcLostConnectCount = 0;
            osdkConnectFCFlag = 1;
        } else {
            fcLostConnectCount++;
        }
        if (fcLostConnectCount > kMaxFCLostConnectCount) {
            osdkConnectFCFlag = 0;
            DJI::OSDK::Vehicle::fcLostConnectCallBack();
        }
        heartBeatPack.seqNumber++;

        return true;
    } else {
        return false;
    }
}
经过代码查找,发现是 ack->seqNumber == heartBeatPack.seqNumber 这个条件一直不满足从而导致一直 OSDK lost connection with Drone 这个错误,哪个大神能够解决。



微信图片_20200522091417.jpg (87.94 KB, 下载次数: 6)

微信图片_20200522091417.jpg
评论
上传
你需要登录之后才能回帖    登录 | 注册
xiao long  DJI FPV认证用户 2020-5-22 3#
使用OSDK 4.0?
飞行器型号和固件版本是多少?
楼主   2020-5-28 4#
xiao long5-22 15:37
使用OSDK 4.0?
飞行器型号和固件版本是多少?
osdk4.0  M210 v2-rtk  v01.00.620 遥控器 v1.7.2
张小龙  DJI FPV认证用户 2020-5-29 5#
stevezhou5-28 14:33
osdk4.0  M210 v2-rtk  v01.00.620 遥控器 v1.7.2
建议提供完整的运行log,硬件连接照片等。
OSDK的运行平台(系统版本/架构),复现步骤,这样才能尝试复现和帮助你解决问题。。。
djiuser_iVRfmnC   2020-6-8 6#
同样遇到了这个问题,OSDK lost connection。
M300 RTK ,OSDK 4.0 固件版本 v01.00.0109
张小龙  DJI FPV认证用户 2020-6-8 7#
djiuser_iVRfmnC6-8 10:45
同样遇到了这个问题,OSDK lost connection。
M300 RTK ,OSDK 4.0 固件版本 v01.00.0109
可以把完整log,硬件平台/系统环境贴出来看看~
djiuser_iVRfmnC   2020-6-13 8#
保证接线对的情况下,第一次要联网激活,等的时间比较长,也会提示OSDK lost connection with Drone
Tdbfy   2020-11-25 9#
遇到了相同的问题,已经解决了,但是可能不是相同的原因。可以参考下:

当初遇到这个问题时,使用的是虚拟机。虽然一直报lost问题,但是一些数据更新还是可以读到。但是关键是onboard sdk与mobile sdk通讯时,经常收不到mobile sdk的数据。

更换了linux系统的电脑后,问题解决了。所以感觉是pc端数据处理跟不上导致的。
收藏 点赞 评论
分享至:
回复:
上传
取消 评论
快速回复 返回顶部 返回列表