/** ******************************************************************** * @file psdk_error.h * @brief This is the header file for "psdk_error.c", defining the structure and * (exported) function prototypes. * * @copyright (c) 2021 DJI. All rights reserved. * * All information contained herein is, and remains, the property of DJI. * The intellectual and technical concepts contained herein are proprietary * to DJI and may be covered by U.S. and foreign patents, patents in process, * and protected by trade secret or copyright law. Dissemination of this * information, including but not limited to data and other proprietary * material(s) incorporated within the information, in any form, is strictly * prohibited without the express written consent of DJI. * * If you receive this source code without DJI’s authorization, you may not * further disseminate the information, and you must immediately remove the * source code and notify DJI of its removal. DJI reserves the right to pursue * legal actions against you for any loss(es) or damage(s) caused by your * failure to do so. * ********************************************************************* */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef PSDK_ERROR_H #define PSDK_ERROR_H /* Includes ------------------------------------------------------------------*/ #include #include "dji_error.h" #ifdef __cplusplus extern "C" { #endif /* Exported constants --------------------------------------------------------*/ #define PSDK_ERROR_MODULE_INDEX_OFFSET DJI_ERROR_MODULE_INDEX_OFFSET #define PSDK_ERROR_MODULE_INDEX_MASK DJI_ERROR_MODULE_INDEX_MASK #define PSDK_ERROR_RAW_CODE_OFFSET DJI_ERROR_RAW_CODE_OFFSET #define PSDK_ERROR_RAW_CODE_MASK DJI_ERROR_RAW_CODE_MASK #define PSDK_ERROR_CODE(moduleIndex, rawErrCode) DJI_ERROR_CODE(moduleIndex, rawErrCode) /** * @brief Error objects, specifying error code, error description, error reason and error recovery suggestion below. * @attention Require arrange by error code from small to large. */ #define PSDK_ERROR_OBJECTS DJI_ERROR_OBJECTS #define PSDK_RETURN_CODE_OK DJI_RETURN_CODE_OK /*!< Payload SDK return code represents as status is ok. */ #define PSDK_RETURN_CODE_ERR_ALLOC DJI_RETURN_CODE_ERR_ALLOC /*!< Payload SDK return code represents as status alloc error. */ #define PSDK_RETURN_CODE_ERR_TIMEOUT DJI_RETURN_CODE_ERR_TIMEOUT /*!< Payload SDK return code represents as status timeout error. */ #define PSDK_RETURN_CODE_ERR_NOT_FOUND DJI_RETURN_CODE_ERR_NOT_FOUND /*!< Payload SDK return code represents as status not found error. */ #define PSDK_RETURN_CODE_ERR_OUT_OF_RANGE DJI_RETURN_CODE_ERR_OUT_OF_RANGE /*!< Payload SDK return code represents as status out of range error. */ #define PSDK_RETURN_CODE_ERR_PARAM DJI_RETURN_CODE_ERR_PARAM /*!< Payload SDK return code represents as status parameter error. */ #define PSDK_RETURN_CODE_ERR_SYSTEM DJI_RETURN_CODE_ERR_SYSTEM /*!< Payload SDK return code represents as status system error. */ #define PSDK_RETURN_CODE_ERR_BUSY DJI_RETURN_CODE_ERR_BUSY /*!< Payload SDK return code represents as status busy error. */ #define PSDK_RETURN_CODE_ERR_UNSUPPORT DJI_RETURN_CODE_ERR_UNSUPPORT /*!< Payload SDK return code represents as status nonsupport error. */ #define PSDK_RETURN_CODE_ERR_UNKNOWN DJI_RETURN_CODE_ERR_UNKNOWN /*!< Payload SDK return code represents as status unknown error. */ /* Exported types ------------------------------------------------------------*/ /** * @brief PSDK module enum for defining error code. */ typedef E_DjiErrorModule E_PsdkErrorModule; #define PSDK_ERROR_MODULE_SYSTEM DJI_ERROR_MODULE_SYSTEM #define PSDK_ERROR_MODULE_PLATFORM DJI_ERROR_MODULE_PLATFORM #define PSDK_ERROR_MODULE_LOGGER DJI_ERROR_MODULE_LOGGER #define PSDK_ERROR_MODULE_TIME_SYNC DJI_ERROR_MODULE_TIME_SYNC #define PSDK_ERROR_MODULE_COMMAND DJI_ERROR_MODULE_COMMAND #define PSDK_ERROR_MODULE_CAMERA DJI_ERROR_MODULE_CAMERA #define PSDK_ERROR_MODULE_GIMBAL DJI_ERROR_MODULE_GIMBAL #define PSDK_ERROR_MODULE_XPORT DJI_ERROR_MODULE_XPORT #define PSDK_ERROR_MODULE_PAYLOAD_COLLABORATION DJI_ERROR_MODULE_PAYLOAD_COLLABORATION #define PSDK_ERROR_MODULE_WIDGET DJI_ERROR_MODULE_WIDGET #define PSDK_ERROR_MODULE_CORE DJI_ERROR_MODULE_CORE #define PSDK_ERROR_MODULE_IDENTITY DJI_ERROR_MODULE_IDENTITY #define PSDK_ERROR_MODULE_TRANSMISSION DJI_ERROR_MODULE_TRANSMISSION #define PSDK_ERROR_MODULE_DATA_CHANNEL DJI_ERROR_MODULE_DATA_CHANNEL #define PSDK_ERROR_MODULE_SUBSCRIPTION DJI_ERROR_MODULE_SUBSCRIPTION #define PSDK_ERROR_MODULE_MOP_CHANNEL DJI_ERROR_MODULE_MOP_CHANNEL #define PSDK_ERROR_MODULE_POSITIONING DJI_ERROR_MODULE_POSITIONING #define PSDK_ERROR_MODULE_POWER_MANAGEMENT DJI_ERROR_MODULE_POWER_MANAGEMENT #define PSDK_ERROR_MODULE_AIRCRAFTINFO DJI_ERROR_MODULE_AIRCRAFTINFO #define PSDK_ERROR_MODULE_PRODUCTINFO DJI_ERROR_MODULE_PRODUCTINFO #define PSDK_ERROR_MODULE_FLOWCONTROLLER DJI_ERROR_MODULE_FLOWCONTROLLER #define PSDK_ERROR_MODULE_DOWNLOADER DJI_ERROR_MODULE_DOWNLOADER #define PSDK_ERROR_MODULE_PARAMETER DJI_ERROR_MODULE_PARAMETER #define PSDK_ERROR_MODULE_UTIL DJI_ERROR_MODULE_UTIL #define PSDK_ERROR_MODULE_USER DJI_ERROR_MODULE_USER #define PSDK_ERROR_MODULE_NEGOTIATE DJI_ERROR_MODULE_NEGOTIATE #define PSDK_ERROR_MODULE_UPGRADE DJI_ERROR_MODULE_UPGRADE #define PSDK_ERROR_MODULE_ERROR DJI_ERROR_MODULE_ERROR /** * @brief Raw error code of system module. */ typedef E_DjiErrorSystemModuleRawCode E_PsdkErrorSystemModuleRawCode; #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_SUCCESS DJI_ERROR_SYSTEM_MODULE_RAW_CODE_SUCCESS #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_INVALID_REQUEST_PARAMETER DJI_ERROR_SYSTEM_MODULE_RAW_CODE_INVALID_REQUEST_PARAMETER #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_EXECUTING_HIGHER_PRIORITY_TASK DJI_ERROR_SYSTEM_MODULE_RAW_CODE_EXECUTING_HIGHER_PRIORITY_TASK #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_NONSUPPORT DJI_ERROR_SYSTEM_MODULE_RAW_CODE_NONSUPPORT #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_TIMEOUT DJI_ERROR_SYSTEM_MODULE_RAW_CODE_TIMEOUT #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_MEMORY_ALLOC_FAILED DJI_ERROR_SYSTEM_MODULE_RAW_CODE_MEMORY_ALLOC_FAILED #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_INVALID_PARAMETER DJI_ERROR_SYSTEM_MODULE_RAW_CODE_INVALID_PARAMETER #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_NONSUPPORT_IN_CURRENT_STATE DJI_ERROR_SYSTEM_MODULE_RAW_CODE_NONSUPPORT_IN_CURRENT_STATE #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_SYSTEM_ERROR DJI_ERROR_SYSTEM_MODULE_RAW_CODE_SYSTEM_ERROR #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_HARDWARE_ERR DJI_ERROR_SYSTEM_MODULE_RAW_CODE_HARDWARE_ERR #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_INSUFFICIENT_ELECTRICITY DJI_ERROR_SYSTEM_MODULE_RAW_CODE_INSUFFICIENT_ELECTRICITY #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_UNKNOWN DJI_ERROR_SYSTEM_MODULE_RAW_CODE_UNKNOWN #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_NOT_FOUND DJI_ERROR_SYSTEM_MODULE_RAW_CODE_NOT_FOUND #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_OUT_OF_RANGE DJI_ERROR_SYSTEM_MODULE_RAW_CODE_OUT_OF_RANGE #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_BUSY DJI_ERROR_SYSTEM_MODULE_RAW_CODE_BUSY #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_DUPLICATE DJI_ERROR_SYSTEM_MODULE_RAW_CODE_DUPLICATE #define PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_ADAPTER_NOT_MATCH DJI_ERROR_SYSTEM_MODULE_RAW_CODE_ADAPTER_NOT_MATCH /** * @brief Raw error code of gimbal module. */ typedef E_DjiErrorGimbalModuleRawCode E_PsdkErrorGimbalModuleRawCode; #define PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_PITCH_REACH_POSITIVE_LIMIT DJI_ERROR_GIMBAL_MODULE_RAW_CODE_PITCH_REACH_POSITIVE_LIMIT #define PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_PITCH_REACH_NEGATIVE_LIMIT DJI_ERROR_GIMBAL_MODULE_RAW_CODE_PITCH_REACH_NEGATIVE_LIMIT #define PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_ROLL_REACH_POSITIVE_LIMIT DJI_ERROR_GIMBAL_MODULE_RAW_CODE_ROLL_REACH_POSITIVE_LIMIT #define PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_ROLL_REACH_NEGATIVE_LIMIT DJI_ERROR_GIMBAL_MODULE_RAW_CODE_ROLL_REACH_NEGATIVE_LIMIT #define PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_YAW_REACH_POSITIVE_LIMIT DJI_ERROR_GIMBAL_MODULE_RAW_CODE_YAW_REACH_POSITIVE_LIMIT #define PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_YAW_REACH_NEGATIVE_LIMIT DJI_ERROR_GIMBAL_MODULE_RAW_CODE_YAW_REACH_NEGATIVE_LIMIT #define PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_NON_CONTROL_AUTHORITY DJI_ERROR_GIMBAL_MODULE_RAW_CODE_NON_CONTROL_AUTHORITY /** * @brief Raw error code of payload collaboration module. */ typedef E_DjiErrorPayloadCollaborationModuleRawCode E_PsdkErrorPayloadCollaborationModuleRawCode; #define PSDK_ERROR_PAYLOAD_COLLABORATION_MODULE_RAW_CODE_POSITION_NOT_MATCH DJI_ERROR_PAYLOAD_COLLABORATION_MODULE_RAW_CODE_POSITION_NOT_MATCH /** * @brief Raw error code of subscription module. */ typedef E_DjiErrorSubscriptionModuleRawCode E_PsdkErrorSubscriptionModuleRawCode; #define PSDK_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_INVALID_TOPIC_FREQ DJI_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_INVALID_TOPIC_FREQ #define PSDK_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_TOPIC_DUPLICATE DJI_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_TOPIC_DUPLICATE #define PSDK_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_TOPIC_NOT_SUBSCRIBED DJI_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_TOPIC_NOT_SUBSCRIBED #define PSDK_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_TIMESTAMP_NOT_ENABLE DJI_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_TIMESTAMP_NOT_ENABLE /** * @brief Raw error code of mop channel module. */ typedef E_DjiErrorMopChannelModuleRawCode E_PsdkErrorMopChannelModuleRawCode; #define PSDK_ERROR_MOP_CHANNEL_MODULE_RAW_CODE_CONNECTION_CLOSE DJI_ERROR_MOP_CHANNEL_MODULE_RAW_CODE_CONNECTION_CLOSE //@formatter:off /** * @brief PSDK error code complete works. Users can search all error messages here. * @details Please get error description, error reason and error recovery suggestion of every error code from * ::PSDK_ERROR_OBJECTS macro. */ enum PsdkErrorCode { /* system module error code, including some common error code */ PSDK_ERROR_SYSTEM_MODULE_CODE_SUCCESS = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_SUCCESS), PSDK_ERROR_SYSTEM_MODULE_CODE_INVALID_REQUEST_PARAMETER = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_INVALID_REQUEST_PARAMETER), PSDK_ERROR_SYSTEM_MODULE_CODE_EXECUTING_HIGHER_PRIORITY_TASK = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_EXECUTING_HIGHER_PRIORITY_TASK), PSDK_ERROR_SYSTEM_MODULE_CODE_NONSUPPORT = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_NONSUPPORT), PSDK_ERROR_SYSTEM_MODULE_CODE_TIMEOUT = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_TIMEOUT), PSDK_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_MEMORY_ALLOC_FAILED), PSDK_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_INVALID_PARAMETER), PSDK_ERROR_SYSTEM_MODULE_CODE_NONSUPPORT_IN_CURRENT_STATE = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_NONSUPPORT_IN_CURRENT_STATE), PSDK_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_SYSTEM_ERROR), PSDK_ERROR_SYSTEM_MODULE_CODE_HARDWARE_ERR = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_HARDWARE_ERR), PSDK_ERROR_SYSTEM_MODULE_CODE_INSUFFICIENT_ELECTRICITY = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_INSUFFICIENT_ELECTRICITY), PSDK_ERROR_SYSTEM_MODULE_CODE_UNKNOWN = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_UNKNOWN), PSDK_ERROR_SYSTEM_MODULE_CODE_NOT_FOUND = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_NOT_FOUND), PSDK_ERROR_SYSTEM_MODULE_CODE_OUT_OF_RANGE = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_OUT_OF_RANGE), PSDK_ERROR_SYSTEM_MODULE_CODE_BUSY = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_BUSY), PSDK_ERROR_SYSTEM_MODULE_CODE_DUPLICATE = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_DUPLICATE), PSDK_ERROR_SYSTEM_MODULE_CODE_ADAPTER_NOT_MATCH = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SYSTEM, PSDK_ERROR_SYSTEM_MODULE_RAW_CODE_ADAPTER_NOT_MATCH), /* gimbal module error code */ PSDK_ERROR_GIMBAL_MODULE_CODE_PITCH_REACH_POSITIVE_LIMIT = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_GIMBAL, PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_PITCH_REACH_POSITIVE_LIMIT), PSDK_ERROR_GIMBAL_MODULE_CODE_PITCH_REACH_NEGATIVE_LIMIT = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_GIMBAL, PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_PITCH_REACH_NEGATIVE_LIMIT), PSDK_ERROR_GIMBAL_MODULE_CODE_ROLL_REACH_POSITIVE_LIMIT = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_GIMBAL, PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_ROLL_REACH_POSITIVE_LIMIT), PSDK_ERROR_GIMBAL_MODULE_CODE_ROLL_REACH_NEGATIVE_LIMIT = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_GIMBAL, PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_ROLL_REACH_NEGATIVE_LIMIT), PSDK_ERROR_GIMBAL_MODULE_CODE_YAW_REACH_POSITIVE_LIMIT = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_GIMBAL, PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_YAW_REACH_POSITIVE_LIMIT), PSDK_ERROR_GIMBAL_MODULE_CODE_YAW_REACH_NEGATIVE_LIMIT = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_GIMBAL, PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_YAW_REACH_NEGATIVE_LIMIT), PSDK_ERROR_GIMBAL_MODULE_CODE_NON_CONTROL_AUTHORITY = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_GIMBAL, PSDK_ERROR_GIMBAL_MODULE_RAW_CODE_NON_CONTROL_AUTHORITY), /* payload collaboration module error code */ PSDK_ERROR_PAYLOAD_COLLABORATION_MODULE_CODE_POSITION_NOT_MATCH = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_PAYLOAD_COLLABORATION, PSDK_ERROR_PAYLOAD_COLLABORATION_MODULE_RAW_CODE_POSITION_NOT_MATCH), /* subscription module error code */ PSDK_ERROR_SUBSCRIPTION_MODULE_CODE_INVALID_TOPIC_FREQ = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SUBSCRIPTION, PSDK_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_INVALID_TOPIC_FREQ), PSDK_ERROR_SUBSCRIPTION_MODULE_CODE_TOPIC_DUPLICATE = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SUBSCRIPTION, PSDK_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_TOPIC_DUPLICATE), PSDK_ERROR_SUBSCRIPTION_MODULE_CODE_TOPIC_NOT_SUBSCRIBED = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SUBSCRIPTION, PSDK_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_TOPIC_NOT_SUBSCRIBED), PSDK_ERROR_SUBSCRIPTION_MODULE_CODE_TIMESTAMP_NOT_ENABLE = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_SUBSCRIPTION, PSDK_ERROR_SUBSCRIPTION_MODULE_RAW_CODE_TIMESTAMP_NOT_ENABLE), /* mop channel module error code */ PSDK_ERROR_MOP_CHANNEL_MODULE_CODE_CONNECTION_CLOSE = PSDK_ERROR_CODE(PSDK_ERROR_MODULE_MOP_CHANNEL, PSDK_ERROR_MOP_CHANNEL_MODULE_RAW_CODE_CONNECTION_CLOSE), }; //@formatter:on /* Exported functions --------------------------------------------------------*/ #ifdef __cplusplus } #endif #endif // PSDK_ERROR_H /************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/