A3飞控 OSDK3.9.0 当中获取HOME_POSITION失败
0
我使用的是A3的飞控,用的OSDK3.9.0,
TopicName topicList1Hz[] = { TOPIC_BATTERY_INFO ,TOPIC_HOME_POINT_INFO };
// Verify the subscription
subscribeStatus = m_djiVehicle->subscribe->verify(responseTimeout);
if (ACK::getError(subscribeStatus) != ACK::SUCCESS)
{
std::cerr << "Fail to verify DJI" <<std::endl;
ACK::getErrorCodeMessage(subscribeStatus, __func__);
return QGC_NG;
}
// Set the Info to get 1Hz
numTopic = sizeof(topicList1Hz) / sizeof(topicList1Hz[0]);
packageID = 0;
freq = 1;//1Hz
pkgStatus = m_djiVehicle->subscribe->initPackageFromTopicList(
packageID, numTopic, topicList1Hz, enableTimestamp, freq);
if (!(pkgStatus))
{
std::cerr << "Fail to Init 1Hz DJI Info" <<std::endl;
return QGC_NG;
}
subscribeStatus = m_djiVehicle->subscribe->startPackage(packageID, responseTimeout);
if (ACK::getError(subscribeStatus) != ACK::SUCCESS)
{
ACK::getErrorCodeMessage(subscribeStatus, __func__);
// Cleanup before return
m_djiVehicle->subscribe->removePackage(packageID, responseTimeout);
std::cerr << "Fail to start 1Hz DJI Info" <<std::endl;
return QGC_NG;
}
结果每次都是在initPackageFromTopicList的时候出错。
topicList1Hz[] = { TOPIC_BATTERY_INFO ,TOPIC_HOME_POINT_INFO }; 当中去掉TOPIC_HOME_POINT_INFO的话,就一切正常。
看了一下OSDK自带例子当中关于TOPIC_HOME_POINT_INFO的用法,和我上面的差不多。
唯一区别是OSDK自带例子当中 虽然调用了 TOPIC_HOME_POINT_INFO 但是 最上层调用的地方 有 这么一句注释 only support for m210 V2
是不是A3不支持 TOPIC_HOME_POINT_INFO啊
|
|
|
|