新版本PSDK3.0.0用于OSDK设备,fc_subscription等模块功能无法初始化,无论是否在dji_sd...
Completed-
该部分测试代码与效果如下:
USER_LOG_ERROR("INSIDE MAIN LOGGING13");
returnCode = ChangeAlias();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("set alias error");
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
}if (aircraftInfoBaseInfo.mountPosition == DJI_MOUNT_POSITION_EXTENSION_PORT) {
USER_LOG_ERROR("INSIDE MAIN LOGGING14");
returnCode = DjiTest_DataTransmissionStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("data transmission init error");
}USER_LOG_ERROR("INSIDE MAIN LOGGING15");
returnCode = DjiTest_WidgetInteractionStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("widget interaction sample init error");
}
} else {
#ifdef CONFIG_MODULE_SAMPLE_POWER_MANAGEMENT_ON
T_DjiTestApplyHighPowerHandler applyHighPowerHandler = {
.pinInit = DjiTest_HighPowerApplyPinInit,
.pinWrite = DjiTest_WriteHighPowerApplyPin,
};USER_LOG_ERROR("INSIDE MAIN LOGGING16");
returnCode = DjiTest_RegApplyHighPowerHandler(&applyHighPowerHandler);
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("regsiter apply high power handler error");
}USER_LOG_ERROR("INSIDE MAIN LOGGING17");
returnCode = DjiTest_PowerManagementStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("power management init error");
}
#endif#ifdef CONFIG_MODULE_SAMPLE_CAMERA_EMU_ON
if(!strncmp(mega.model, "MP140", 5)){
USER_LOG_ERROR("INSIDE MAIN LOGGING18");
returnCode = DjiTest_CameraEmuBaseStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("camera emu common init error");
}
}
#endif#ifdef CONFIG_MODULE_SAMPLE_CAMERA_MEDIA_ON
// if(!strncmp(mega.model, "MP140", 5)){
USER_LOG_ERROR("INSIDE MAIN LOGGING19");
returnCode = DjiTest_CameraEmuMediaStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("camera emu media init error");
}
// }
#endif#ifdef CONFIG_MODULE_SAMPLE_FC_SUBSCRIPTION_ON
USER_LOG_ERROR("INSIDE MAIN LOGGING20");
returnCode = DjiTest_FcSubscriptionStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("data subscription sample init error\n");
USER_LOG_ERROR("INSIDE MAIN LOGGINGGGG");
}
#endif#ifdef CONFIG_MODULE_SAMPLE_GIMBAL_ON
if (aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_SKYPORT_V2 ||
aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_NONE) {
if (DjiTest_GimbalStartService() != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("psdk gimbal init error");
}
}
#endif#ifdef CONFIG_MODULE_SAMPLE_XPORT_ON
if (aircraftInfoBaseInfo.djiAdapterType == DJI_SDK_ADAPTER_TYPE_XPORT) {
if (DjiTest_XPortStartService() != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("psdk xport init error");
}
}
#endif#ifdef CONFIG_MODULE_SAMPLE_WIDGET_ON
#if DJI_USE_WIDGET_INTERACTION
USER_LOG_ERROR("INSIDE MAIN LOGGING1");
returnCode = DjiTest_WidgetInteractionStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("widget interaction test init error");
}
#else
USER_LOG_ERROR("INSIDE MAIN LOGGING1");
returnCode = DjiTest_WidgetStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("widget sample init error");
}
#endif
#endif#ifdef CONFIG_MODULE_SAMPLE_DATA_TRANSMISSION_ON
USER_LOG_ERROR("INSIDE MAIN LOGGING21");
returnCode = DjiTest_DataTransmissionStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("widget sample init error");
}
#endif#ifdef CONFIG_MODULE_SAMPLE_MOP_CHANNEL_ON
USER_LOG_ERROR("INSIDE MAIN LOGGING22");
returnCode = DjiTest_MopChannelStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("mop channel sample init error");
}
#endif#ifdef CONFIG_MODULE_SAMPLE_PAYLOAD_COLLABORATION_ON
USER_LOG_ERROR("INSIDE MAIN LOGGING23");
returnCode = DjiTest_PayloadCollaborationStartService();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("Payload collaboration sample init error\n");
}
#endif#ifdef CONFIG_MODULE_SAMPLE_UPGRADE_ON
T_DjiTestUpgradePlatformOpt linuxUpgradePlatformOpt = {
.rebootSystem = DjiUpgradePlatformLinux_RebootSystem,
.cleanUpgradeProgramFileStoreArea = DjiUpgradePlatformLinux_CleanUpgradeProgramFileStoreArea,
.createUpgradeProgramFile = DjiUpgradePlatformLinux_CreateUpgradeProgramFile,
.writeUpgradeProgramFile = DjiUpgradePlatformLinux_WriteUpgradeProgramFile,
.readUpgradeProgramFile = DjiUpgradePlatformLinux_ReadUpgradeProgramFile,
.closeUpgradeProgramFile = DjiUpgradePlatformLinux_CloseUpgradeProgramFile,
.replaceOldProgram = DjiUpgradePlatformLinux_ReplaceOldProgram,
.setUpgradeRebootState = DjiUpgradePlatformLinux_SetUpgradeRebootState,
.getUpgradeRebootState = DjiUpgradePlatformLinux_GetUpgradeRebootState,
.cleanUpgradeRebootState = DjiUpgradePlatformLinux_CleanUpgradeRebootState,
};
T_DjiTestUpgradeConfig testUpgradeConfig = {
.firmwareVersion = {1, 0, 0, 0},
.transferType = DJI_FIRMWARE_TRANSFER_TYPE_FTP,
.needReplaceProgramBeforeReboot = true
};
if (DjiTest_UpgradeStartService(&linuxUpgradePlatformOpt, testUpgradeConfig) !=
DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("psdk upgrade init error");
}
#endif
}USER_LOG_ERROR("INSIDE MAIN LOGGING24");
returnCode = DjiCore_ApplicationStart();
if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
USER_LOG_ERROR("start sdk application error");
}USER_LOG_ERROR("INSIDE MAIN LOGGING25");
if (pthread_create(&s_monitorThread, NULL, DjiUser_MonitorTask, NULL) != 0) {
USER_LOG_ERROR("create monitor task fail.");
}USER_LOG_ERROR("INSIDE MAIN LOGGING26");
if (pthread_setname_np(s_monitorThread, "monitor task") != 0) {
USER_LOG_ERROR("set name for monitor task fail.");
} -
OSDK设备开发可以不需要使用宏定义,直接调用FC相关的API即可,参考sample中的使用。 ![](https://djisdksupport.zendesk.com/attachments/token/uCtpwhYu6Jp5jengXY7OgSoLt/?name=inline-1650046138.png) -
实际调用的SDK从飞机获取订阅数据的接口是一样的,这个是sample实作直接开宏定义,对应的PSDK云台接口的功能。 进入这个服务接口中,调用的API与前面提供的API是一样的。 ![](https://djisdksupport.zendesk.com/attachments/token/LOvshedj3jJV9Wy9QH60tgqkT/?name=inline-1460106408.png)
Please sign in to leave a comment.
Comments
6 comments