DjiCore_ApplicationStart和DjiTest_FcSubscriptionStartService的位置前后关系
我看到下列文档https://developer.dji.com/doc/payload-sdk-api-reference/cn/core/dji-core.html#6中说的是:
- function DjiCore_ApplicationStart
- 说明: 该接口的调用位置需要特别注意,需要在所有模块初始化和注册接口后完成调用。
T_DjiReturnCode DjiCore_ApplicationStart(void);
同时示例代码中DjiCore_ApplicationStart()也是在
DjiTest_FcSubscriptionStartService()之后
订阅的操作建议放在DjiCore_ApplicationStart之后,避免PSDK未初始化完导致无法成功拿到正确的数据。
DjiCore_ApplicationStart和DjiTest_FcSubscriptionStartService正确的位置前后关系是什么?
-
您好,不好意思,这个是我们文档没有说明清楚, 先DjiTest_FcSubscriptionStartService(),后DjiCore_ApplicationStart() DjiTest_FcSubscriptionStartService函数主要是初始化订阅模块,以及订阅一些TOPIC(这些TOPIC开发者可以自行去掉),实际上我们需要的是这个函数中的DjiFcSubscription_Init(),初始化订阅模块以后,您才能使用订阅功能。而知识库中的文档想表明的意思是,您必须要先等DjiFcSubscription_Init()调用完,才能开始订阅,而DjiFcSubscription_Init包含在DjiTest_FcSubscriptionStartService中,DjiTest_FcSubscriptionStartService在DjiCore_ApplicationStart()函数之前,因此您只要在DjiCore_ApplicationStart()之后才开始订阅,可以确保流程和拿到的数据是正确的。
Please sign in to leave a comment.
Comments
1 comment