在此以订阅RTK的位置信息为例:
可以在payload-sdk\modules\fc_subscription\include\dji_fc_subscription.h 中找到要对应的TOPIC,需注意,不是所有机型都支持所有TOPIC,可以在此处查看不同机型支持订阅的TOPIC和频率:
首先需要了解到的是该TOPIC对应的数据结构体;
一般在TOPIC上方会有datastruct这样的字眼,后面的就是对应数据结构体。
在此处为T_DjiFcSubscriptionRtkPosition。
然后也可以在该文件中搜索此字眼,也能搜到相关的比如单位、精度等信息。
需要用到的是DjiFcSubscription_SubscribeTopic(设置要订阅的TOPIC名称、订阅频率、回调函数)和DjiFcSubscription_GetLatestValueOfTopic(要订阅的TOPIC名称、用于存储数据的指针、用于存储数据的内存大小、用于存储时间的指针)函数;大家可以参考下方,此处我们是直接在main.c中DjiCore_ApplicationStart主线程起来以后再操作了,
另:订阅的操作在sample中也是有应用的,可以参考payload-sdk\samples\sample_c\module_sample\fc_subscription\test_fc_subscription.c中的DjiTest_FcSubscriptionRunSample,该函数主要是订阅数据,以供参考。
注:订阅的操作建议放在DjiCore_ApplicationStart之后,避免PSDK未初始化完导致无法成功拿到正确的数据。
评论
0 条评论
请登录写评论。