NEW: release DJI Payload-SDK version 3.8.1
This commit is contained in:
@ -133,24 +133,6 @@ typedef enum {
|
||||
DJI_CAMERA_MANAGER_EXPOSURE_MODE_EXPOSURE_UNKNOWN = 0xFF /*!< The camera exposure mode is unknown. */
|
||||
} E_DjiCameraManagerExposureMode;
|
||||
|
||||
/*! @brief the photo action of INTERVAL shooting photo mode
|
||||
*/
|
||||
typedef enum {
|
||||
/*! The number of pictures to continuously take at one time in AEB mode is 3
|
||||
*/
|
||||
DJI_CAMERA_MANAGER_PHOTO_AEB_COUNT_3 = 3,
|
||||
/*! The number of pictures to continuously take at one time in AEB mode is 5
|
||||
*/
|
||||
DJI_CAMERA_MANAGER_PHOTO_AEB_COUNT_5 = 5,
|
||||
/*! The number of pictures to continuously take at one time in AEB mode is 7
|
||||
*/
|
||||
DJI_CAMERA_MANAGER_PHOTO_AEB_COUNT_7 = 7,
|
||||
/*! The number of pictures to continuously take at one time in AEB mode is
|
||||
* unknown.
|
||||
*/
|
||||
DJI_CAMERA_MANAGER_PHOTO_AEB_COUNT_KNOWN = 0xFF,
|
||||
} E_DjiCameraManagerPhotoAEBCount;
|
||||
|
||||
/*! @breif CameraModule focus mode. If the physical AF switch on the camera is
|
||||
* set to auto.
|
||||
*/
|
||||
@ -454,7 +436,7 @@ typedef enum {
|
||||
DJI_CAMERA_MANAGER_SOURCE_ZOOM_CAM = 0x2,
|
||||
DJI_CAMERA_MANAGER_SOURCE_IR_CAM = 0x3,
|
||||
DJI_CAMERA_MANAGER_SOURCE_VISIBLE_CAM = 0x7,
|
||||
} E_DjiCameraManagerStreamSource;
|
||||
} E_DjiCameraManagerStreamSource, E_DjiCameraManagerStreamStorage;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_NIGHT_SCENE_MODE_DISABLE = 0,
|
||||
@ -526,12 +508,23 @@ typedef struct {
|
||||
} T_DjiCameraManagerFileAttributeData;
|
||||
|
||||
typedef struct {
|
||||
char fileName[256];
|
||||
char fileName[DJI_FILE_NAME_SIZE_MAX];
|
||||
uint32_t fileSize;
|
||||
uint32_t fileIndex;
|
||||
T_DjiCameraManagerFileCreateTime createTime;
|
||||
E_DjiCameraMediaFileSubType type;
|
||||
T_DjiCameraManagerFileAttributeData attributeData;
|
||||
} T_DjiCameraManagerSubFileListInfo;
|
||||
|
||||
typedef struct {
|
||||
char fileName[DJI_FILE_NAME_SIZE_MAX];
|
||||
uint32_t fileSize;
|
||||
uint32_t fileIndex;
|
||||
T_DjiCameraManagerFileCreateTime createTime;
|
||||
E_DjiCameraMediaFileType type;
|
||||
T_DjiCameraManagerFileAttributeData attributeData;
|
||||
uint8_t subFileListTotalNum;
|
||||
T_DjiCameraManagerSubFileListInfo* subFileListInfo;
|
||||
} T_DjiCameraManagerFileListInfo;
|
||||
|
||||
typedef struct {
|
||||
@ -548,6 +541,7 @@ typedef enum {
|
||||
DJI_DOWNLOAD_FILE_EVENT_START,
|
||||
DJI_DOWNLOAD_FILE_EVENT_TRANSFER,
|
||||
DJI_DOWNLOAD_FILE_EVENT_END,
|
||||
DJI_DOWNLOAD_FILE_EVENT_START_TRANSFER_END,
|
||||
} E_DjiDownloadFileEvent;
|
||||
|
||||
typedef enum {
|
||||
@ -608,9 +602,9 @@ typedef enum {
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_RECORDING_STATE_IDLE = 0,
|
||||
DJI_CAMERA_MANAGER_RECORDING_STATE_STARTING = 0,
|
||||
DJI_CAMERA_MANAGER_RECORDING_STATE_RECORDING = 0,
|
||||
DJI_CAMERA_MANAGER_RECORDING_STATE_STOPPING = 0,
|
||||
DJI_CAMERA_MANAGER_RECORDING_STATE_STARTING = 1,
|
||||
DJI_CAMERA_MANAGER_RECORDING_STATE_RECORDING = 2,
|
||||
DJI_CAMERA_MANAGER_RECORDING_STATE_STOPPING = 3,
|
||||
} E_DjiCameraManagerRecordingState;
|
||||
|
||||
/*!< Attention: when the remote control is in split-screen mode, the coordinate range of the x-axis is 0 ~ 0.5
|
||||
@ -651,6 +645,7 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
E_DjiDownloadFileEvent downloadFileEvent;
|
||||
uint8_t fileType;
|
||||
uint32_t fileIndex;
|
||||
uint32_t fileSize;
|
||||
dji_f32_t progressInPercent;
|
||||
@ -670,7 +665,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
uint32_t size;
|
||||
E_DjiCameraManagerStreamSource streamSource[4];
|
||||
E_DjiCameraManagerStreamSource streamStorage[4];
|
||||
E_DjiCameraManagerStreamStorage streamStorage[4];
|
||||
} T_DjiCameraManagerStreamList;
|
||||
|
||||
typedef struct {
|
||||
@ -685,7 +680,7 @@ typedef struct {
|
||||
E_DjiCameraManagerVideoStorageFormat videoStorageFormat[16];
|
||||
E_DjiCameraManagerPhotoRatio photoRatioFormat[16];
|
||||
E_DjiCameraManagerStreamSource streamSource[16];
|
||||
E_DjiCameraManagerStreamSource streamStorage[16];
|
||||
E_DjiCameraManagerStreamStorage streamStorage[16];
|
||||
E_DjiCameraManagerNightSceneMode nightSceneMode[16];
|
||||
};
|
||||
uint32_t minValue;
|
||||
@ -709,24 +704,24 @@ typedef struct {
|
||||
uint32_t seqNum;
|
||||
uint64_t timestamp;
|
||||
uint32_t dataByte; /* actual num of bytes used for points */
|
||||
} T_DjiCameraManagerPointCloudHeader;
|
||||
} __attribute__((packed)) T_DjiCameraManagerPointCloudHeader;
|
||||
|
||||
typedef struct {
|
||||
float x; /* the x-axis of NED coordinate system */
|
||||
float y; /* the y-axis of NED coordinate system */
|
||||
float z; /* the z-axis of NED coordinate system */
|
||||
dji_f32_t x; /* the x-axis of NED coordinate system */
|
||||
dji_f32_t y; /* the y-axis of NED coordinate system */
|
||||
dji_f32_t z; /* the z-axis of NED coordinate system */
|
||||
uint8_t intensity;
|
||||
uint8_t r;
|
||||
uint8_t g;
|
||||
uint8_t b;
|
||||
} T_DjiCameraManagerPointXYZRGBInfo;
|
||||
}__attribute__((packed)) T_DjiCameraManagerPointXYZRGBInfo;
|
||||
|
||||
typedef struct {
|
||||
T_DjiCameraManagerPointCloudHeader pointCloudHeader;
|
||||
uint32_t crc_header;
|
||||
uint32_t crc_rest;
|
||||
T_DjiCameraManagerPointXYZRGBInfo points[1];
|
||||
} T_DjiCameraManagerColorPointCloud;
|
||||
}__attribute__((packed)) T_DjiCameraManagerColorPointCloud;
|
||||
|
||||
typedef T_DjiReturnCode (*DjiCameraManagerDownloadFileDataCallback)(T_DjiDownloadFilePacketInfo packetInfo,
|
||||
const uint8_t *data,
|
||||
@ -853,33 +848,6 @@ T_DjiReturnCode DjiCameraManager_GetCapturingState(E_DjiMountPosition position,
|
||||
T_DjiReturnCode DjiCameraManager_SetPhotoBurstCount(E_DjiMountPosition position,
|
||||
E_DjiCameraBurstCount count);
|
||||
|
||||
/**
|
||||
* @brief Get the burst count in the burst take-photo mode.
|
||||
* @param position: camera mounted position
|
||||
* @param count: see reference of E_DjiCameraBurstCount.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetPhotoBurstCount(E_DjiMountPosition position,
|
||||
E_DjiCameraBurstCount *count);
|
||||
|
||||
/**
|
||||
* @brief Set the burst count in the AEB(Automatic Exposure Bracketing) take-photo mode.
|
||||
* @param position: camera mounted position
|
||||
* @param count: see reference of E_DjiCameraManagerPhotoAEBCount.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetPhotoAEBCount(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerPhotoAEBCount count);
|
||||
|
||||
/**
|
||||
* @brief Get the burst count in the AEB(Automatic Exposure Bracketing) take-photo mode.
|
||||
* @param position: camera mounted position
|
||||
* @param count: see reference of E_DjiCameraManagerPhotoAEBCount.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetPhotoAEBCount(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerPhotoAEBCount *count);
|
||||
|
||||
/**
|
||||
* @brief Set the parameters in the INTERVAL take-photo mode.
|
||||
* @note When in this shoot-photo mode, The camera will capture a photo, wait
|
||||
@ -1010,15 +978,6 @@ T_DjiReturnCode DjiCameraManager_GetOpticalZoomParam(E_DjiMountPosition position
|
||||
T_DjiReturnCode DjiCameraManager_SetInfraredZoomParam(E_DjiMountPosition position,
|
||||
dji_f32_t factor);
|
||||
|
||||
/**
|
||||
* @brief Stop camera optical zooming of the selected camera mounted position.
|
||||
* @note Called to stop focal length changing, when it currently is from
|
||||
* calling DjiCameraManager_StartContinuousOpticalZoom*.
|
||||
* @param position: camera mounted position
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_StopContinuousOpticalZoom(E_DjiMountPosition position);
|
||||
|
||||
/**
|
||||
* @brief Enable/Disable camera's tap-zoom function of the selected camera mounted position.
|
||||
* @note TapZoomAtTarget can only be called when tap-zoom is enabled.
|
||||
@ -1293,7 +1252,7 @@ T_DjiReturnCode DjiCameraManager_SetStreamSource(E_DjiMountPosition position,
|
||||
* @param rangeList: range list returned value
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetPhotoFormatStorageRange(E_DjiMountPosition position,
|
||||
T_DjiReturnCode DjiCameraManager_GetPhotoStorageFormatRange(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerRangeList *rangeList);
|
||||
|
||||
/**
|
||||
@ -1517,6 +1476,18 @@ T_DjiReturnCode DjiCameraManager_RegDownloadFileDataCallback(E_DjiMountPosition
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_DownloadFileByIndex(E_DjiMountPosition position, uint32_t fileIndex);
|
||||
|
||||
/**
|
||||
* @brief Download selected camera media file by file index and file type.
|
||||
* @note This API only supports L2 camera.
|
||||
* Only support download one file at the same time, the new file download need wait for the previous file
|
||||
* download finished.The interface is a synchronous interface, which occupies more CPU resources when using it.
|
||||
* If the download file fails, the timeout time is 3S.
|
||||
* @param position: the mount position of the camera
|
||||
* @param fileIndex: the index of the camera media file
|
||||
* @param fileType: the sub type of the camera media file
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_DownloadSubFileByIndexAndSubType(E_DjiMountPosition position, uint32_t index, E_DjiCameraMediaFileSubType fileType);
|
||||
/**
|
||||
* @brief Before downloading media file(s), downloader rights should be obtained.
|
||||
* @param position: the mount position of the camera
|
||||
|
||||
@ -439,16 +439,16 @@ extern "C" {
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRIGGER_NOT_FOUND, "Execute waypoint v3 failed due to trigger not found. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRIGGER_SINGLE_TIME_CHECK_FAIL, "Execute waypoint v3 failed due to single time check failed. ", NULL}, \
|
||||
|
||||
#define DJI_RETURN_CODE_OK DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS /*!< Payload SDK return code represents as status is ok. */
|
||||
#define DJI_RETURN_CODE_OK DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS /*!< Payload SDK return code represents as status is ok. */
|
||||
#define DJI_RETURN_CODE_ERR_ALLOC DJI_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED /*!< Payload SDK return code represents as status alloc error. */
|
||||
#define DJI_RETURN_CODE_ERR_TIMEOUT DJI_ERROR_SYSTEM_MODULE_CODE_TIMEOUT /*!< Payload SDK return code represents as status timeout error. */
|
||||
#define DJI_RETURN_CODE_ERR_NOT_FOUND DJI_ERROR_SYSTEM_MODULE_CODE_NOT_FOUND /*!< Payload SDK return code represents as status not found error. */
|
||||
#define DJI_RETURN_CODE_ERR_OUT_OF_RANGE DJI_ERROR_SYSTEM_MODULE_CODE_OUT_OF_RANGE /*!< Payload SDK return code represents as status out of range error. */
|
||||
#define DJI_RETURN_CODE_ERR_PARAM DJI_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER /*!< Payload SDK return code represents as status parameter error. */
|
||||
#define DJI_RETURN_CODE_ERR_SYSTEM DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR /*!< Payload SDK return code represents as status system error. */
|
||||
#define DJI_RETURN_CODE_ERR_BUSY DJI_ERROR_SYSTEM_MODULE_CODE_BUSY /*!< Payload SDK return code represents as status busy error. */
|
||||
#define DJI_RETURN_CODE_ERR_UNSUPPORT DJI_ERROR_SYSTEM_MODULE_CODE_NONSUPPORT /*!< Payload SDK return code represents as status nonsupport error. */
|
||||
#define DJI_RETURN_CODE_ERR_UNKNOWN DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN /*!< Payload SDK return code represents as status unknown error. */
|
||||
#define DJI_RETURN_CODE_ERR_TIMEOUT DJI_ERROR_SYSTEM_MODULE_CODE_TIMEOUT /*!< Payload SDK return code represents as status timeout error. */
|
||||
#define DJI_RETURN_CODE_ERR_NOT_FOUND DJI_ERROR_SYSTEM_MODULE_CODE_NOT_FOUND /*!< Payload SDK return code represents as status not found error. */
|
||||
#define DJI_RETURN_CODE_ERR_OUT_OF_RANGE DJI_ERROR_SYSTEM_MODULE_CODE_OUT_OF_RANGE /*!< Payload SDK return code represents as status out of range error. */
|
||||
#define DJI_RETURN_CODE_ERR_PARAM DJI_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER /*!< Payload SDK return code represents as status parameter error. */
|
||||
#define DJI_RETURN_CODE_ERR_SYSTEM DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR /*!< Payload SDK return code represents as status system error. */
|
||||
#define DJI_RETURN_CODE_ERR_BUSY DJI_ERROR_SYSTEM_MODULE_CODE_BUSY /*!< Payload SDK return code represents as status busy error. */
|
||||
#define DJI_RETURN_CODE_ERR_UNSUPPORT DJI_ERROR_SYSTEM_MODULE_CODE_NONSUPPORT /*!< Payload SDK return code represents as status nonsupport error. */
|
||||
#define DJI_RETURN_CODE_ERR_UNKNOWN DJI_ERROR_SYSTEM_MODULE_CODE_UNKNOWN /*!< Payload SDK return code represents as status unknown error. */
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/**
|
||||
@ -508,6 +508,7 @@ typedef enum {
|
||||
DJI_ERROR_SYSTEM_MODULE_RAW_CODE_INVALID_PARAMETER = 0x0E3,
|
||||
DJI_ERROR_SYSTEM_MODULE_RAW_CODE_NONSUPPORT_IN_CURRENT_STATE = 0x0E4,
|
||||
DJI_ERROR_SYSTEM_MODULE_RAW_CODE_SYSTEM_ERROR = 0x0EC,
|
||||
DJI_ERROR_SYSTEM_MODULE_RAW_CODE_MODULE_INACTIVATED = 0xEE, /*!< Module is too not activated yet */
|
||||
DJI_ERROR_SYSTEM_MODULE_RAW_CODE_HARDWARE_ERR = 0x0FA,
|
||||
DJI_ERROR_SYSTEM_MODULE_RAW_CODE_INSUFFICIENT_ELECTRICITY = 0x0FB,
|
||||
DJI_ERROR_SYSTEM_MODULE_RAW_CODE_UNKNOWN = 0x0FF,
|
||||
@ -673,7 +674,6 @@ typedef enum {
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_SENSOR_ERROR = 0xEB, /*!< Sensor go wrong */
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_SYSTEM_ERROR = 0xEC, /*!< System error */
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_PARAMETER_TOTAL_TOO_LONG = 0xED, /*!< Length of the parameter is too long */
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_MODULE_INACTIVATED = 0xEE, /*!< Module is too not activated yet */
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_FIRMWARE_DATA_NUM_DISCONTINUOUS = 0xF0, /*!< Fireware data number is a discontinuous number */
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_FIRMWARE_VERIFICATION_ERROR = 0xF2, /*!< Error verifying fireware */
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_FLASH_WRITE_ERROR = 0xF4, /*!< Error writing flash */
|
||||
@ -703,7 +703,6 @@ typedef enum {
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_SENSOR_ERROR = 0xEB, /*!< Sensor go wrong */
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_SYSTEM_ERROR = 0xEC, /*!< System error */
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_PARAMETER_TOTAL_TOO_LONG = 0xED, /*!< Length of the parameter is too long */
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_MODULE_INACTIVATED = 0xEE, /*!< Module is too not activated yet */
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_FIRMWARE_DATA_NUM_DISCONTINUOUS = 0xF0, /*!< Fireware data number is a discontinuous number */
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_FIRMWARE_VERIFICATION_ERROR = 0xF2, /*!< Error verifying fireware */
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_FLASH_WRITE_ERROR = 0xF4, /*!< Error writing flash */
|
||||
@ -1102,7 +1101,7 @@ enum DjiErrorCode {
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_CODE_SENSOR_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_CAMERA_MANAGER, DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_SENSOR_ERROR),
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_CODE_SYSTEM_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_CAMERA_MANAGER, DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_SYSTEM_ERROR),
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_CODE_PARAMETER_TOTAL_TOO_LONG = DJI_ERROR_CODE(DJI_ERROR_MODULE_CAMERA_MANAGER, DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_PARAMETER_TOTAL_TOO_LONG),
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_CODE_MODULE_INACTIVATED = DJI_ERROR_CODE(DJI_ERROR_MODULE_CAMERA_MANAGER, DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_MODULE_INACTIVATED),
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_CODE_MODULE_INACTIVATED = DJI_ERROR_CODE(DJI_ERROR_MODULE_CAMERA_MANAGER, DJI_ERROR_SYSTEM_MODULE_RAW_CODE_MODULE_INACTIVATED),
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_CODE_FIRMWARE_DATA_NUM_DISCONTINUOUS = DJI_ERROR_CODE(DJI_ERROR_MODULE_CAMERA_MANAGER, DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_FIRMWARE_DATA_NUM_DISCONTINUOUS),
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_CODE_FIRMWARE_VERIFICATION_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_CAMERA_MANAGER, DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_FIRMWARE_VERIFICATION_ERROR),
|
||||
DJI_ERROR_CAMERA_MANAGER_MODULE_CODE_FLASH_WRITE_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_CAMERA_MANAGER, DJI_ERROR_CAMERA_MANAGER_MODULE_RAW_CODE_FLASH_WRITE_ERROR),
|
||||
@ -1128,7 +1127,7 @@ enum DjiErrorCode {
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_CODE_SENSOR_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_GIMBAL_MANAGER, DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_SENSOR_ERROR),
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_CODE_SYSTEM_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_GIMBAL_MANAGER, DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_SYSTEM_ERROR),
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_CODE_PARAMETER_TOTAL_TOO_LONG = DJI_ERROR_CODE(DJI_ERROR_MODULE_GIMBAL_MANAGER, DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_PARAMETER_TOTAL_TOO_LONG),
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_CODE_MODULE_INACTIVATED = DJI_ERROR_CODE(DJI_ERROR_MODULE_GIMBAL_MANAGER, DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_MODULE_INACTIVATED),
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_CODE_MODULE_INACTIVATED = DJI_ERROR_CODE(DJI_ERROR_MODULE_GIMBAL_MANAGER, DJI_ERROR_SYSTEM_MODULE_RAW_CODE_MODULE_INACTIVATED),
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_CODE_FIRMWARE_DATA_NUM_DISCONTINUOUS = DJI_ERROR_CODE(DJI_ERROR_MODULE_GIMBAL_MANAGER, DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_FIRMWARE_DATA_NUM_DISCONTINUOUS),
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_CODE_FIRMWARE_VERIFICATION_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_GIMBAL_MANAGER, DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_FIRMWARE_VERIFICATION_ERROR),
|
||||
DJI_ERROR_GIMBAL_MANAGER_MODULE_CODE_FLASH_WRITE_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_GIMBAL_MANAGER, DJI_ERROR_GIMBAL_MANAGER_MODULE_RAW_CODE_FLASH_WRITE_ERROR),
|
||||
|
||||
@ -729,6 +729,64 @@ typedef enum {
|
||||
DJI_FC_SUBSCRIPTION_BATTERY_SOC_INVALID = 4, /*!< Battery SOC state is invalid. */
|
||||
} E_DJIFcSubscriptionBatterySocState;
|
||||
|
||||
/**
|
||||
* @brief Flight control mode.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_UNKNOWN = 0,
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_ANG_VER_VEL_YAW_ANG = 1, /*!< Horizontal mode is angle, vertical mode is velocity, yaw mode is angle. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_ANG_VER_VEL_YAW_RAT = 2, /*!< Horizontal mode is angle, vertical mode is velocity, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_VEL_VER_VEL_YAW_ANG = 3, /*!< Horizontal mode is velocity, vertical mode is velocity, yaw mode is angle. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_VEL_VER_VEL_YAW_RAT = 4, /*!< Horizontal mode is velocity, vertical mode is velocity, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_POS_VER_VEL_YAW_ANG = 5, /*!< Horizontal mode is position, vertical mode is velocity, yaw mode is angle. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_POS_VER_VEL_YAW_RAT = 6, /*!< Horizontal mode is position, vertical mode is velocity, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_ANG_VER_POS_YAW_ANG = 7, /*!< Horizontal mode is angle, vertical mode is position, yaw mode is angle. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_ANG_VER_POS_YAW_RAT = 8, /*!< Horizontal mode is angle, vertical mode is position, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_VEL_VER_POS_YAW_ANG = 9, /*!< Horizontal mode is velocity, vertical mode is position, yaw mode is angle. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_VEL_VER_POS_YAW_RAT = 10, /*!< Horizontal mode is velocity, vertical mode is position, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_POS_VER_POS_YAW_ANG = 11, /*!< Horizontal mode is position, vertical mode is position, yaw mode is angle. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_POS_VER_POS_YAW_RAT = 12, /*!< Horizontal mode is position, vertical mode is position, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_ANG_VER_THR_YAW_ANG = 13, /*!< Horizontal mode is angle, vertical mode is thrust, yaw mode is angle. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_ANG_VER_THR_YAW_RAT = 14, /*!< Horizontal mode is angle, vertical mode is thrust, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_VEL_VER_THR_YAW_ANG = 15, /*!< Horizontal mode is velocity, vertical mode is thrust, yaw mode is angle. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_VEL_VER_THR_YAW_RAT = 16, /*!< Horizontal mode is velocity, vertical mode is thrust, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_POS_VER_THR_YAW_ANG = 17, /*!< Horizontal mode is position, vertical mode is thrust, yaw mode is angle. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_POS_VER_THR_YAW_RAT = 18, /*!< Horizontal mode is position, vertical mode is thrust, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_AEL_VER_VEL_YAW_RAT = 19, /*!< Horizontal mode is angle-rate, vertical mode is velocity, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_AEL_VER_POS_YAW_RAT = 20, /*!< Horizontal mode is angle-rate, vertical mode is thrust, yaw mode is rate. */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_MODE_HOR_AEL_VER_THR_YAW_RAT = 21, /*!< Horizontal mode is angle-rate, vertical mode is velocity, yaw mode is rate. */
|
||||
} E_DJIFcSubscriptionControlMode;
|
||||
|
||||
/**
|
||||
* @brief Flight control authority.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_AUTHORITY_RC = 0, /*!< Authority is in remote control */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_AUTHORITY_MSDK = 1, /*!< Authority is in MSDK */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_AUTHORITY_PSDK = 4, /*!< Authority is in PSDK */
|
||||
DJI_FC_SUBSCRIPTION_CONTROL_AUTHORITY_DOCK = 5, /*!< Authority is in dock */
|
||||
} E_DJIFcSubscriptionControlAuthority;
|
||||
|
||||
/**
|
||||
* @brief Flight control authority change reason.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_UNKNOWN = 0, /*!< Reason unknown */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_MSDK_REQUEST = 1, /*!< Contro authority changed by MSDK request. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_USER_REQUEST = 2, /*!< Contro authority changed by user request. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_PSDK_REQUEST = 3, /*!< Contro authority changed by PSDK request. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_RC_LOST = 4, /*!< Contro authority changed for remote control lost. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_RC_NOT_P_MODE = 5, /*!< Contro authority changed for remote control not in P mode. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_RC_SWITCH = 6, /*!< Contro authority changed for remote control switching mode. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_RC_PAUSE_STOP = 7, /*!< Contro authority changed for remote control stop key paused. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_RC_ONE_KEY_GO_HOME = 8, /*!< Contro authority changed for remote control go-home key paused. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_BATTERY_LOW_GO_HOME = 9, /*!< Contro authority changed for remote control go-home key paused. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_BATTERY_SUPER_LOW_LANDING = 10, /*!< Contro authority changed for going home caused by low batter power. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_PSDK_LOST = 11, /*!< Contro authority changed for PSDK lost. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_NEAR_BOUNDARY = 13, /*!< Contro authority changed for nearing boundary. */
|
||||
DJI_FC_SUBSCRIPTION_AUTHORITY_CHANGE_REASON_AIRPORT_REQUEST = 14, /*!< Contro authority changed by airport request. */
|
||||
} E_DJIFcSubscriptionAuthorityChangeReason;
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
/**
|
||||
@ -1000,11 +1058,22 @@ typedef struct BatterySingleInfo {
|
||||
* @brief struct for TOPIC_CONTROL_DEVICE and data broadcast, return SDK info
|
||||
*/
|
||||
typedef struct SDKCtrlInfo {
|
||||
uint8_t controlMode; /*!< See CtlrMode in dji_status.hpp*/
|
||||
uint8_t deviceStatus: 3; /*!< 0->rc 1->app 4->serial */
|
||||
uint8_t flightStatus: 1; /*!< 1->opensd 0->close */
|
||||
uint8_t vrcStatus: 1;
|
||||
uint8_t reserved: 3;
|
||||
union {
|
||||
/* Used by M300 & M350 */
|
||||
struct {
|
||||
uint8_t controlMode; /*!< enum-type: E_DJIFcSubscriptionControlMode. */
|
||||
uint8_t deviceStatus: 3; /*!< 0->rc 1->app 4->psdk */
|
||||
uint8_t flightStatus: 1; /*!< 1->open 0->closed */
|
||||
uint8_t vrcStatus: 1;
|
||||
uint8_t reserved: 3;
|
||||
};
|
||||
|
||||
/* Used by other aircrafts */
|
||||
struct {
|
||||
uint8_t controlAuthority; /*!< enum-type: E_DJIFcSubscriptionControlAuthority. */
|
||||
uint8_t controlAuthorityChangeReason; /*!< enum-type: E_DJIFcSubscriptionAuthorityChangeReason. */
|
||||
};
|
||||
};
|
||||
} T_DjiFcSubscriptionControlDevice; // pack(1)
|
||||
|
||||
/*!
|
||||
|
||||
@ -540,6 +540,15 @@ T_DjiReturnCode DjiFlightController_SetGoHomeAltitude(E_DjiFlightControllerGoHom
|
||||
*/
|
||||
T_DjiReturnCode DjiFlightController_GetGoHomeAltitude(E_DjiFlightControllerGoHomeAltitude *altitude);
|
||||
|
||||
/**
|
||||
* @brief Get country code.
|
||||
* @param countryCode: Pointer of buffer to return country code. The country code indicates the current country or
|
||||
* region where the aircraft is located. Please refer to the ISO 3166-1 code table for the specific meaning of the
|
||||
* country code.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiFlightController_GetCountryCode(uint16_t *countryCode);
|
||||
|
||||
/**
|
||||
* @brief Request go home action when the UAV is in the air
|
||||
* @return Execution result.
|
||||
|
||||
@ -42,11 +42,11 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
#define DJI_PI (3.14159265358979323846f)
|
||||
#define DJI_FILE_NAME_SIZE_MAX 256
|
||||
#define DJI_FILE_PATH_SIZE_MAX (DJI_FILE_NAME_SIZE_MAX + 256)
|
||||
#define DJI_IP_ADDR_STR_SIZE_MAX 15
|
||||
#define DJI_MD5_BUFFER_LEN 16
|
||||
#define DJI_PI (3.14159265358979323846f)
|
||||
#define DJI_FILE_NAME_SIZE_MAX 256
|
||||
#define DJI_FILE_PATH_SIZE_MAX (DJI_FILE_NAME_SIZE_MAX + 256)
|
||||
#define DJI_IP_ADDR_STR_SIZE_MAX 15
|
||||
#define DJI_MD5_BUFFER_LEN 16
|
||||
|
||||
#define DJI_SUBSCRIPTION_MODULE_INDEX_OFFSET 24u
|
||||
#define DJI_SUBSCRIPTION_MODULE_INDEX_MASK 0xFF000000u
|
||||
@ -54,9 +54,9 @@ extern "C" {
|
||||
#define DJI_SUBSCRIPTION_TOPIC_CODE_MASK 0x00FFFFFFu
|
||||
|
||||
#define DJI_DATA_SUBSCRIPTION_TOPIC(subscriptionModule, topicCode) \
|
||||
(uint32_t)\
|
||||
(((((uint32_t)(subscriptionModule)) << (DJI_SUBSCRIPTION_MODULE_INDEX_OFFSET)) & (DJI_SUBSCRIPTION_MODULE_INDEX_MASK)) | \
|
||||
((((uint32_t)(topicCode)) << (DJI_SUBSCRIPTION_TOPIC_CODE_OFFSET)) & (DJI_SUBSCRIPTION_TOPIC_CODE_MASK)))
|
||||
(uint32_t)\
|
||||
(((((uint32_t)(subscriptionModule)) << (DJI_SUBSCRIPTION_MODULE_INDEX_OFFSET)) & (DJI_SUBSCRIPTION_MODULE_INDEX_MASK)) | \
|
||||
((((uint32_t)(topicCode)) << (DJI_SUBSCRIPTION_TOPIC_CODE_OFFSET)) & (DJI_SUBSCRIPTION_TOPIC_CODE_MASK)))
|
||||
|
||||
/**
|
||||
* @brief Type define double as dji_f64_t.
|
||||
@ -73,82 +73,101 @@ typedef float dji_f32_t;
|
||||
typedef uint64_t T_DjiReturnCode;
|
||||
|
||||
typedef enum {
|
||||
DJI_MOUNT_POSITION_TYPE_UNKNOWN = 0,
|
||||
DJI_MOUNT_POSITION_TYPE_PAYLOAD_PORT = 1,
|
||||
DJI_MOUNT_POSITION_TYPE_EXTENSION_PORT = 2,
|
||||
DJI_MOUNT_POSITION_TYPE_UNKNOWN = 0,
|
||||
DJI_MOUNT_POSITION_TYPE_PAYLOAD_PORT = 1,
|
||||
DJI_MOUNT_POSITION_TYPE_EXTENSION_PORT = 2,
|
||||
DJI_MOUNT_POSITION_TYPE_EXTENSION_LITE_PORT = 3
|
||||
} E_DjiMountPositionType;
|
||||
|
||||
typedef enum {
|
||||
DJI_MOUNT_POSITION_UNKNOWN = 0,
|
||||
DJI_MOUNT_POSITION_PAYLOAD_PORT_NO1 = 1,
|
||||
DJI_MOUNT_POSITION_PAYLOAD_PORT_NO2 = 2,
|
||||
DJI_MOUNT_POSITION_PAYLOAD_PORT_NO3 = 3,
|
||||
DJI_MOUNT_POSITION_EXTENSION_PORT = 4,
|
||||
DJI_MOUNT_POSITION_EXTENSION_LITE_PORT = 5,
|
||||
DJI_MOUNT_POSITION_UNKNOWN = 0,
|
||||
DJI_MOUNT_POSITION_PAYLOAD_PORT_NO1 = 1,
|
||||
DJI_MOUNT_POSITION_PAYLOAD_PORT_NO2 = 2,
|
||||
DJI_MOUNT_POSITION_PAYLOAD_PORT_NO3 = 3,
|
||||
DJI_MOUNT_POSITION_EXTENSION_PORT = 4,
|
||||
DJI_MOUNT_POSITION_EXTENSION_LITE_PORT = 5,
|
||||
} E_DjiMountPosition;
|
||||
|
||||
typedef enum {
|
||||
DJI_AIRCRAFT_SERIES_UNKNOWN = 0,
|
||||
DJI_AIRCRAFT_SERIES_M200_V2 = 1,
|
||||
DJI_AIRCRAFT_SERIES_M300 = 2,
|
||||
DJI_AIRCRAFT_SERIES_M30 = 3,
|
||||
DJI_AIRCRAFT_SERIES_M3 = 4,
|
||||
DJI_AIRCRAFT_SERIES_M350 = 5,
|
||||
DJI_AIRCRAFT_SERIES_M3D = 6,
|
||||
DJI_AIRCRAFT_SERIES_FC30 = 7,
|
||||
DJI_AIRCRAFT_SERIES_UNKNOWN = 0,
|
||||
DJI_AIRCRAFT_SERIES_M200_V2 = 1,
|
||||
DJI_AIRCRAFT_SERIES_M300 = 2,
|
||||
DJI_AIRCRAFT_SERIES_M30 = 3,
|
||||
DJI_AIRCRAFT_SERIES_M3 = 4,
|
||||
DJI_AIRCRAFT_SERIES_M350 = 5,
|
||||
DJI_AIRCRAFT_SERIES_M3D = 6,
|
||||
DJI_AIRCRAFT_SERIES_FC30 = 7,
|
||||
} E_DjiAircraftSeries;
|
||||
|
||||
typedef enum {
|
||||
DJI_AIRCRAFT_TYPE_UNKNOWN = 0, /*!< Aircraft type is unknown. */
|
||||
DJI_AIRCRAFT_TYPE_M200_V2 = 44, /*!< Aircraft type is Matrice 200 V2. */
|
||||
DJI_AIRCRAFT_TYPE_M210_V2 = 45, /*!< Aircraft type is Matrice 220 V2. */
|
||||
DJI_AIRCRAFT_TYPE_M210RTK_V2 = 46, /*!< Aircraft type is Matrice 210 RTK V2. */
|
||||
DJI_AIRCRAFT_TYPE_M300_RTK = 60, /*!< Aircraft type is Matrice 300 RTK. */
|
||||
DJI_AIRCRAFT_TYPE_M30 = 67, /*!< Aircraft type is Matrice 30. */
|
||||
DJI_AIRCRAFT_TYPE_M30T = 68, /*!< Aircraft type is Matrice 30T. */
|
||||
DJI_AIRCRAFT_TYPE_M3E = 77, /*!< Aircraft type is Mavic 3E. */
|
||||
DJI_AIRCRAFT_TYPE_FC30 = 78, /* !<Aircraft type is FlyCart 30> */
|
||||
DJI_AIRCRAFT_TYPE_M3T = 79, /*!< Aircraft type is Mavic 3T. */
|
||||
DJI_AIRCRAFT_TYPE_M350_RTK = 89, /*!< Aircraft type is Matrice 350 RTK. */
|
||||
DJI_AIRCRAFT_TYPE_M3D = 91, /*!< Aircraft type is Matrice 3D. */
|
||||
DJI_AIRCRAFT_TYPE_M3TD = 93, /*!< Aircraft type is Matrice 3TD. */
|
||||
DJI_AIRCRAFT_TYPE_UNKNOWN = 0, /*!< Aircraft type is unknown. */
|
||||
DJI_AIRCRAFT_TYPE_M200_V2 = 44, /*!< Aircraft type is Matrice 200 V2. */
|
||||
DJI_AIRCRAFT_TYPE_M210_V2 = 45, /*!< Aircraft type is Matrice 220 V2. */
|
||||
DJI_AIRCRAFT_TYPE_M210RTK_V2 = 46, /*!< Aircraft type is Matrice 210 RTK V2. */
|
||||
DJI_AIRCRAFT_TYPE_M300_RTK = 60, /*!< Aircraft type is Matrice 300 RTK. */
|
||||
DJI_AIRCRAFT_TYPE_M30 = 67, /*!< Aircraft type is Matrice 30. */
|
||||
DJI_AIRCRAFT_TYPE_M30T = 68, /*!< Aircraft type is Matrice 30T. */
|
||||
DJI_AIRCRAFT_TYPE_M3E = 77, /*!< Aircraft type is Mavic 3E. */
|
||||
DJI_AIRCRAFT_TYPE_FC30 = 78, /* !<Aircraft type is FlyCart 30> */
|
||||
DJI_AIRCRAFT_TYPE_M3T = 79, /*!< Aircraft type is Mavic 3T. */
|
||||
DJI_AIRCRAFT_TYPE_M350_RTK = 89, /*!< Aircraft type is Matrice 350 RTK. */
|
||||
DJI_AIRCRAFT_TYPE_M3D = 91, /*!< Aircraft type is Matrice 3D. */
|
||||
DJI_AIRCRAFT_TYPE_M3TD = 93, /*!< Aircraft type is Matrice 3TD. */
|
||||
} E_DjiAircraftType;
|
||||
|
||||
/**
|
||||
* @brief Camera type.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_CAMERA_TYPE_UNKNOWN = 0, /*!< Camera type is unknown. */
|
||||
DJI_CAMERA_TYPE_Z30 = 20, /*!< Camera type is Z30. */
|
||||
DJI_CAMERA_TYPE_XT2 = 26, /*!< Camera type is XT2. */
|
||||
DJI_CAMERA_TYPE_PSDK = 31, /*!< Camera type is third party camera based on Payload SDK. */
|
||||
DJI_CAMERA_TYPE_XTS = 41, /*!< Camera type is XT S. */
|
||||
DJI_CAMERA_TYPE_H20 = 42, /*!< Camera type is H20. */
|
||||
DJI_CAMERA_TYPE_H20T = 43, /*!< Camera type is H20T. */
|
||||
DJI_CAMERA_TYPE_H20N = 61, /*!< Camera type is H20N. */
|
||||
DJI_CAMERA_TYPE_P1 = 50, /*!< Camera type is P1. */
|
||||
DJI_CAMERA_TYPE_UNKNOWN = 0, /*!< Camera type is unknown. */
|
||||
DJI_CAMERA_TYPE_Z30 = 20, /*!< Camera type is Z30. */
|
||||
DJI_CAMERA_TYPE_XT2 = 26, /*!< Camera type is XT2. */
|
||||
DJI_CAMERA_TYPE_PSDK = 31, /*!< Camera type is third party camera based on Payload SDK. */
|
||||
DJI_CAMERA_TYPE_XTS = 41, /*!< Camera type is XT S. */
|
||||
DJI_CAMERA_TYPE_H20 = 42, /*!< Camera type is H20. */
|
||||
DJI_CAMERA_TYPE_H20T = 43, /*!< Camera type is H20T. */
|
||||
DJI_CAMERA_TYPE_H20N = 61, /*!< Camera type is H20N. */
|
||||
DJI_CAMERA_TYPE_P1 = 50, /*!< Camera type is P1. */
|
||||
DJI_CAMERA_TYPE_L1, /*!< Camera type is L1. */
|
||||
DJI_CAMERA_TYPE_L2, /*!< Camera type is L2. */
|
||||
DJI_CAMERA_TYPE_M30, /*!< Camera type is M30. */
|
||||
DJI_CAMERA_TYPE_M30T, /*!< Camera type is M30T. */
|
||||
DJI_CAMERA_TYPE_M3E, /*!< Camera type is M3E. */
|
||||
DJI_CAMERA_TYPE_M3T, /*!< Camera type is M3T. */
|
||||
DJI_CAMERA_TYPE_M3D, /*!< Camera type is Matrice 3D. */
|
||||
DJI_CAMERA_TYPE_M3TD, /*!< Camera type is Matrice 3TD. */
|
||||
DJI_CAMERA_TYPE_L2 = 84, /*!< Camera type is L2. */
|
||||
DJI_CAMERA_TYPE_M30 = 52, /*!< Camera type is M30. */
|
||||
DJI_CAMERA_TYPE_M30T = 53, /*!< Camera type is M30T. */
|
||||
DJI_CAMERA_TYPE_M3E = 66, /*!< Camera type is M3E. */
|
||||
DJI_CAMERA_TYPE_M3T = 67, /*!< Camera type is M3T. */
|
||||
DJI_CAMERA_TYPE_M3D = 80, /*!< Camera type is Matrice 3D. */
|
||||
DJI_CAMERA_TYPE_M3TD = 81, /*!< Camera type is Matrice 3TD. */
|
||||
} E_DjiCameraType;
|
||||
|
||||
/**
|
||||
* @brief Camera supported media file subtype.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
DJI_DOWNLOAD_FILE_ORG = 0, /*!< Media sub file origin data type. */
|
||||
DJI_DOWNLOAD_FILE_LDR = 21, /*!< Media sub file cloud point raw data type. */
|
||||
DJI_DOWNLOAD_FILE_SIG = 22, /*!< Media sub file point cloud signature type. */
|
||||
DJI_DOWNLOAD_FILE_RTK = 23, /*!< Media sub file point cloud real-time kinematic type. */
|
||||
DJI_DOWNLOAD_FILE_CLC = 25, /*!< Media sub file radar-camera external reference type. */
|
||||
DJI_DOWNLOAD_FILE_CLI = 26, /*!< Media sub file radar-IMU external reference type. */
|
||||
DJI_DOWNLOAD_FILE_IMU = 27, /*!< Media sub file IMU data type. */
|
||||
DJI_DOWNLOAD_FILE_RTL = 28, /*!< Media sub file RTK boom data type. */
|
||||
DJI_DOWNLOAD_FILE_RTB = 29, /*!< Media sub file RTK base station data type. */
|
||||
DJI_DOWNLOAD_FILE_RTS = 30, /*!< Media sub file RTK secondary antenna data type. */
|
||||
DJI_DOWNLOAD_FILE_RPOS = 31, /*!< Media sub file real-time fusion of attitude and position data type. */
|
||||
} E_DjiCameraMediaFileSubType;
|
||||
|
||||
/**
|
||||
* @brief Camera supported media file type.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_CAMERA_FILE_TYPE_JPEG = 0, /*!< Media file JPEG type. */
|
||||
DJI_CAMERA_FILE_TYPE_DNG = 1, /*!< Media file DNG type. */
|
||||
DJI_CAMERA_FILE_TYPE_MOV = 2, /*!< Media file MOV type. */
|
||||
DJI_CAMERA_FILE_TYPE_MP4 = 3, /*!< Media file MP4 type. */
|
||||
DJI_CAMERA_FILE_TYPE_TIFF = 5, /*!< Media file TIFF type. */
|
||||
DJI_CAMERA_FILE_TYPE_PCD = 24, /*!< Media file point cloud type. */
|
||||
DJI_CAMERA_FILE_TYPE_UNKNOWN = 255, /*!< Media file unknown type. */
|
||||
DJI_CAMERA_FILE_TYPE_JPEG = 0, /*!< Media file JPEG type. */
|
||||
DJI_CAMERA_FILE_TYPE_DNG = 1, /*!< Media file DNG type. */
|
||||
DJI_CAMERA_FILE_TYPE_MOV = 2, /*!< Media file MOV type. */
|
||||
DJI_CAMERA_FILE_TYPE_MP4 = 3, /*!< Media file MP4 type. */
|
||||
DJI_CAMERA_FILE_TYPE_TIFF = 5, /*!< Media file TIFF type. */
|
||||
DJI_CAMERA_FILE_TYPE_LDRT = 24, /*!< Media file LDRT type. */
|
||||
DJI_CAMERA_FILE_TYPE_RPT = 25, /*!< Media file RPT type. */
|
||||
DJI_CAMERA_FILE_TYPE_UNKNOWN = 255, /*!< Media file unknown type. */
|
||||
} E_DjiCameraMediaFileType;
|
||||
|
||||
/**
|
||||
@ -164,39 +183,39 @@ typedef struct {
|
||||
* @brief Gimbal work mode, specifies how gimbal follow aircraft movement.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_GIMBAL_MODE_FREE = 0, /*!< Free mode, fix gimbal attitude in the ground coordinate, ignoring movement of aircraft. */
|
||||
DJI_GIMBAL_MODE_FPV = 1, /*!< FPV (First Person View) mode, only control roll and yaw angle of gimbal in the ground coordinate to follow aircraft. */
|
||||
DJI_GIMBAL_MODE_YAW_FOLLOW = 2, /*!< Yaw follow mode, only control yaw angle of gimbal in the ground coordinate to follow aircraft. */
|
||||
DJI_GIMBAL_MODE_FREE = 0, /*!< Free mode, fix gimbal attitude in the ground coordinate, ignoring movement of aircraft. */
|
||||
DJI_GIMBAL_MODE_FPV = 1, /*!< FPV (First Person View) mode, only control roll and yaw angle of gimbal in the ground coordinate to follow aircraft. */
|
||||
DJI_GIMBAL_MODE_YAW_FOLLOW = 2, /*!< Yaw follow mode, only control yaw angle of gimbal in the ground coordinate to follow aircraft. */
|
||||
} E_DjiGimbalMode;
|
||||
|
||||
/**
|
||||
* @brief Gimbal rotation mode, specifies control style.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE = 0, /*!< Relative angle rotation mode, represents rotating gimbal specified angles based on current angles. */
|
||||
DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE = 1, /*!< Absolute angle rotation mode, represents rotating gimbal to specified angles in the ground coordinate. */
|
||||
DJI_GIMBAL_ROTATION_MODE_SPEED = 2, /*!< Speed rotation mode, specifies rotation speed of gimbal in the ground coordinate. */
|
||||
DJI_GIMBAL_ROTATION_MODE_RELATIVE_ANGLE = 0, /*!< Relative angle rotation mode, represents rotating gimbal specified angles based on current angles. */
|
||||
DJI_GIMBAL_ROTATION_MODE_ABSOLUTE_ANGLE = 1, /*!< Absolute angle rotation mode, represents rotating gimbal to specified angles in the ground coordinate. */
|
||||
DJI_GIMBAL_ROTATION_MODE_SPEED = 2, /*!< Speed rotation mode, specifies rotation speed of gimbal in the ground coordinate. */
|
||||
} E_DjiGimbalRotationMode;
|
||||
|
||||
/**
|
||||
* @brief Mobile APP system language.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_MOBILE_APP_LANGUAGE_UNKNOWN = 255, /*!< The system language of the mobile app is unknown */
|
||||
DJI_MOBILE_APP_LANGUAGE_ENGLISH = 0, /*!< The system language of the mobile app is English */
|
||||
DJI_MOBILE_APP_LANGUAGE_CHINESE = 1, /*!< The system language of the mobile app is Chinese */
|
||||
DJI_MOBILE_APP_LANGUAGE_JAPANESE = 2, /*!< The system language of the mobile app is Japanese */
|
||||
DJI_MOBILE_APP_LANGUAGE_FRENCH = 3, /*!< The system language of the mobile app is French */
|
||||
DJI_MOBILE_APP_LANGUAGE_UNKNOWN = 255, /*!< The system language of the mobile app is unknown */
|
||||
DJI_MOBILE_APP_LANGUAGE_ENGLISH = 0, /*!< The system language of the mobile app is English */
|
||||
DJI_MOBILE_APP_LANGUAGE_CHINESE = 1, /*!< The system language of the mobile app is Chinese */
|
||||
DJI_MOBILE_APP_LANGUAGE_JAPANESE = 2, /*!< The system language of the mobile app is Japanese */
|
||||
DJI_MOBILE_APP_LANGUAGE_FRENCH = 3, /*!< The system language of the mobile app is French */
|
||||
} E_DjiMobileAppLanguage;
|
||||
|
||||
/**
|
||||
* @brief Mobile APP screen size type.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_MOBILE_APP_SCREEN_TYPE_UNKNOWN = 255, /*!< Mobile APP screen type is unknown. */
|
||||
DJI_MOBILE_APP_SCREEN_TYPE_BIG_SCREEN = 0, /*!< The big screen of mobile device refers to a screen
|
||||
DJI_MOBILE_APP_SCREEN_TYPE_UNKNOWN = 255, /*!< Mobile APP screen type is unknown. */
|
||||
DJI_MOBILE_APP_SCREEN_TYPE_BIG_SCREEN = 0, /*!< The big screen of mobile device refers to a screen
|
||||
* size greater than or equal to 6 inches. */
|
||||
DJI_MOBILE_APP_SCREEN_TYPE_LITTLE_SCREEN = 1, /*!< The little screen of mobile device refers to a
|
||||
DJI_MOBILE_APP_SCREEN_TYPE_LITTLE_SCREEN = 1, /*!< The little screen of mobile device refers to a
|
||||
* screen size less than 6 inches. */
|
||||
} E_DjiMobileAppScreenType;
|
||||
|
||||
@ -204,20 +223,20 @@ typedef enum {
|
||||
* @brief Subscription frequency type.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_1_HZ = 1,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_5_HZ = 5,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_10_HZ = 10,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_50_HZ = 50,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_100_HZ = 100,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_200_HZ = 200,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_400_HZ = 400,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_1_HZ = 1,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_5_HZ = 5,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_10_HZ = 10,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_50_HZ = 50,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_100_HZ = 100,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_200_HZ = 200,
|
||||
DJI_DATA_SUBSCRIPTION_TOPIC_400_HZ = 400,
|
||||
} E_DjiDataSubscriptionTopicFreq;
|
||||
|
||||
/**
|
||||
* @brief DJI module enum for defining data subscription module.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_DATA_SUBSCRIPTION_MODULE_FC = 0,
|
||||
DJI_DATA_SUBSCRIPTION_MODULE_FC = 0,
|
||||
DJI_DATA_SUBSCRIPTION_MODULE_CAMERA,
|
||||
DJI_DATA_SUBSCRIPTION_MODULE_ERROR,
|
||||
} E_DjiDataSubscriptionModule;
|
||||
@ -226,14 +245,14 @@ typedef enum {
|
||||
* @brief SDK adapter type.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_SDK_ADAPTER_TYPE_UNKNOWN = 0, /*!< SDK adapter type is unknown. */
|
||||
DJI_SDK_ADAPTER_TYPE_SKYPORT_V2 = 1, /*!< SDK adapter type is Skyport V2. */
|
||||
DJI_SDK_ADAPTER_TYPE_XPORT = 2, /*!< SDK adapter type is X-Port. */
|
||||
DJI_SDK_ADAPTER_TYPE_NONE = 3, /*!< don't have any adapter outside */
|
||||
DJI_SDK_ADAPTER_TYPE_UNKNOWN = 0, /*!< SDK adapter type is unknown. */
|
||||
DJI_SDK_ADAPTER_TYPE_SKYPORT_V2 = 1, /*!< SDK adapter type is Skyport V2. */
|
||||
DJI_SDK_ADAPTER_TYPE_XPORT = 2, /*!< SDK adapter type is X-Port. */
|
||||
DJI_SDK_ADAPTER_TYPE_NONE = 3, /*!< don't have any adapter outside */
|
||||
} E_DjiSdkAdapterType;
|
||||
|
||||
typedef enum {
|
||||
DJI_CHANNEL_ADDRESS_UNKNOWN = 0,
|
||||
DJI_CHANNEL_ADDRESS_UNKNOWN = 0,
|
||||
DJI_CHANNEL_ADDRESS_PAYLOAD_PORT_NO1,
|
||||
DJI_CHANNEL_ADDRESS_PAYLOAD_PORT_NO2,
|
||||
DJI_CHANNEL_ADDRESS_PAYLOAD_PORT_NO3,
|
||||
@ -265,47 +284,47 @@ typedef struct {
|
||||
* @brief Camera zoom speed.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_CAMERA_ZOOM_SPEED_SLOWEST = 72, /*!< Lens zooms in slowest speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_SLOW = 73, /*!< Lens zooms in slow speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_MODERATELY_SLOW = 74, /*!< Lens zooms in speed slightly slower than normal speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_NORMAL = 75, /*!< Lens zooms in normal speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_MODERATELY_FAST = 76, /*!< Lens zooms very in speed slightly faster than normal speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_FAST = 77, /*!< Lens zooms very in fast speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_FASTEST = 78, /*!< Lens zooms very in fastest speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_SLOWEST = 72, /*!< Lens zooms in slowest speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_SLOW = 73, /*!< Lens zooms in slow speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_MODERATELY_SLOW = 74, /*!< Lens zooms in speed slightly slower than normal speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_NORMAL = 75, /*!< Lens zooms in normal speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_MODERATELY_FAST = 76, /*!< Lens zooms very in speed slightly faster than normal speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_FAST = 77, /*!< Lens zooms very in fast speed. */
|
||||
DJI_CAMERA_ZOOM_SPEED_FASTEST = 78, /*!< Lens zooms very in fastest speed. */
|
||||
} E_DjiCameraZoomSpeed;
|
||||
|
||||
typedef enum {
|
||||
/*! The number of pictures to continuously take each time in BURST mode is 2
|
||||
*/
|
||||
DJI_CAMERA_BURST_COUNT_2 = 2,
|
||||
DJI_CAMERA_BURST_COUNT_2 = 2,
|
||||
/*! The number of pictures to continuously take each time in BURST mode is 3
|
||||
*/
|
||||
DJI_CAMERA_BURST_COUNT_3 = 3,
|
||||
DJI_CAMERA_BURST_COUNT_3 = 3,
|
||||
/*! The number of pictures to continuously take each time in BURST mode is 5
|
||||
*/
|
||||
DJI_CAMERA_BURST_COUNT_5 = 5,
|
||||
DJI_CAMERA_BURST_COUNT_5 = 5,
|
||||
/*! The number of pictures to continuously take each time in BURST mode is 7
|
||||
*/
|
||||
DJI_CAMERA_BURST_COUNT_7 = 7,
|
||||
DJI_CAMERA_BURST_COUNT_7 = 7,
|
||||
/*! The number of pictures to continuously take at one time in BURST mode is
|
||||
* 10, Only supported by X4S camera, X5S camera and Phantom 4 Pro camera.
|
||||
*/
|
||||
DJI_CAMERA_BURST_COUNT_10 = 10,
|
||||
DJI_CAMERA_BURST_COUNT_10 = 10,
|
||||
/*! The number of pictures to continuously take at one time in BURST mode is
|
||||
* 14, Only supported by X4S camera, X5S camera and Phantom 4 Pro camera.
|
||||
*/
|
||||
DJI_CAMERA_BURST_COUNT_14 = 14,
|
||||
DJI_CAMERA_BURST_COUNT_14 = 14,
|
||||
/*! The camera burst shoot count value is unknown.
|
||||
*/
|
||||
DJI_CAMERA_BURST_COUNT_KNOWN = 0xFF,
|
||||
DJI_CAMERA_BURST_COUNT_KNOWN = 0xFF,
|
||||
} E_DjiCameraBurstCount;
|
||||
|
||||
/**
|
||||
* @brief Camera zoom direction.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_CAMERA_ZOOM_DIRECTION_OUT = 0, /*!< The lens moves in the far direction, the zoom factor becomes smaller. */
|
||||
DJI_CAMERA_ZOOM_DIRECTION_IN = 1, /*!< The lens moves in the near direction, the zoom factor becomes larger. */
|
||||
DJI_CAMERA_ZOOM_DIRECTION_OUT = 0, /*!< The lens moves in the far direction, the zoom factor becomes smaller. */
|
||||
DJI_CAMERA_ZOOM_DIRECTION_IN = 1, /*!< The lens moves in the near direction, the zoom factor becomes larger. */
|
||||
} E_DjiCameraZoomDirection;
|
||||
#pragma pack (1)
|
||||
|
||||
|
||||
@ -35,9 +35,9 @@ extern "C" {
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
#define DJI_VERSION_MAJOR 3 /*!< DJI SDK major version num, when have incompatible API changes. Range from 0 to 99. */
|
||||
#define DJI_VERSION_MINOR 8 /*!< DJI SDK minor version num, when add functionality in a backwards compatible manner changes. Range from 0 to 99. */
|
||||
#define DJI_VERSION_MODIFY 0 /*!< DJI SDK modify version num, when have backwards compatible bug fixes changes. Range from 0 to 99. */
|
||||
#define DJI_VERSION_MODIFY 1 /*!< DJI SDK modify version num, when have backwards compatible bug fixes changes. Range from 0 to 99. */
|
||||
#define DJI_VERSION_BETA 0 /*!< DJI SDK version beta info, release version will be 0, when beta version release changes. Range from 0 to 255. */
|
||||
#define DJI_VERSION_BUILD 1929 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */
|
||||
#define DJI_VERSION_BUILD 2006 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
|
||||
|
||||
@ -36,6 +36,10 @@ extern "C" {
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief Type define dji_f32_t as T_DjiWaypointV2GlobalCruiseSpeed.
|
||||
* @details Type used for global cruise speed of waypoint mission, unit: m/s.
|
||||
*/
|
||||
typedef dji_f32_t T_DjiWaypointV2GlobalCruiseSpeed;
|
||||
|
||||
/**
|
||||
@ -340,6 +344,8 @@ typedef struct {
|
||||
* will fly backwards to previous waypoints. When it reaches the first waypoint, it
|
||||
* will then hover in place until a positive speed is applied. "maxFlightSpeed" has
|
||||
* a range of [2,15] m/s.
|
||||
*
|
||||
* unit: m/s
|
||||
*/
|
||||
dji_f32_t maxFlightSpeed;
|
||||
|
||||
@ -355,6 +361,8 @@ typedef struct {
|
||||
* joystick. In flight controller firmware 3.2.10.0 or above, different speeds
|
||||
* between individual waypoints can also be set in waypoint objects which will
|
||||
* overwrite "autoFlightSpeed".
|
||||
*
|
||||
* unit: m/s.
|
||||
*/
|
||||
dji_f32_t autoFlightSpeed;
|
||||
} T_DjiWaypointV2;
|
||||
@ -1089,6 +1097,7 @@ typedef struct {
|
||||
* negative, then the aircraft will fly backwards to previous waypoints. When it
|
||||
* reaches the first waypoint, it will then hover in place until a positive speed
|
||||
* is applied. `maxFlightSpeed` has a range of [2,15] m/s.
|
||||
*
|
||||
* unit: m/s
|
||||
*/
|
||||
dji_f32_t maxFlightSpeed;
|
||||
@ -1103,6 +1112,7 @@ typedef struct {
|
||||
* `autoFlightSpeed` <0 and the aircraft is at the first waypoint, the aircraft
|
||||
* will hover in place until the speed is made positive by the remote controller
|
||||
* joystick.
|
||||
*
|
||||
* unit: m/s
|
||||
*/
|
||||
dji_f32_t autoFlightSpeed;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user