在DJI SDK中使用“ fromMobileSDKCallback”

时间:2019-01-19 06:17:13

标签: dji-sdk

在此answer中指出: 当您想从dji-mobile sdk接收数据时,可以设置一个回调函数。

然后:

  

只要从MSDK接收到数据,OSDK就会调用用户定义的回调。

这是否意味着,如果我有这样的代码:

void fromMobileSDKCallback(
Vehicle* vehicle, RecvContainer recvFrame, UserData userData) {
 //statements with recvFrame;
 // update a global variable recvGlobal
}

vehicle->moc->setFromMSDKCallback(fromMobileSDKCallback, linuxEnvironment);

然后,在以后的程序中,像这样的块:

while(true) {
// check if recvGlobal is updated
}

将起作用,并且我将能够无限期地看到recvGlobal中反映的更改?

谢谢。

1 个答案:

答案 0 :(得分:0)

我对Onboard SDK没有太多经验,但是从理论上讲,我相信答案是肯定的,您的方法应该可行。

在相反的情况下,我使用移动SDK和sendDataToOnboardSDKDevice(参见我的currently unanswered question)以及通过其他移动回调(startMission,SdCardCallbacks等)做了类似的操作,在这些回调中,我更改了全局变量并更新了其他地方的东西。

因此,原则上答案是肯定的,但是我对板载sdk(c ++?)的了解还不够,知道您的特定代码是否已正确实现。