NEW: release DJI Payload-SDK version 3.6
Signed-off-by: DJI-Martin <DJI-Martin@dji.com>
This commit is contained in:
@ -49,11 +49,22 @@ typedef struct {
|
||||
* @brief Some base information of aircraft system, mainly including some constant parameters information of system.
|
||||
*/
|
||||
typedef struct {
|
||||
E_DjiAircraftSeries aircraftSeries; /*!< Aircraft series. */
|
||||
E_DjiMountPositionType mountPositionType; /*!< Mount position type. */
|
||||
E_DjiAircraftType aircraftType; /*!< Aircraft type. */
|
||||
E_DjiSdkAdapterType djiAdapterType; /*!< DJI adapter type. */
|
||||
E_DjiMountPosition mountPosition; /*!< Payload mount position. */
|
||||
} T_DjiAircraftInfoBaseInfo;
|
||||
|
||||
/**
|
||||
* @brief Aircraft version information.
|
||||
*/
|
||||
typedef struct {
|
||||
uint8_t debugVersion;
|
||||
uint8_t modifyVersion;
|
||||
uint8_t minorVersion;
|
||||
uint8_t majorVersion;
|
||||
} T_DjiAircraftVersion;
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
/**
|
||||
@ -79,6 +90,13 @@ T_DjiReturnCode DjiAircraftInfo_GetMobileAppInfo(T_DjiMobileAppInfo *mobileAppIn
|
||||
*/
|
||||
T_DjiReturnCode DjiAircraftInfo_GetConnectionStatus(bool *isConnected);
|
||||
|
||||
/**
|
||||
* @brief Get version of aircraft.
|
||||
* @param aircraftVersion: pointer to aircraft version.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiAircraftInfo_GetAircraftVersion(T_DjiAircraftVersion *aircraftVersion);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -448,6 +448,39 @@ typedef enum {
|
||||
DJI_CAMERA_MANAGER_FILE_LIST_COUNT_ALL_PER_SLICE = 0xFFFF,
|
||||
} E_DjiCameraManagerFileListCountPerSlice;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_SOURCE_DEFAULT_CAM = 0x0,
|
||||
DJI_CAMERA_MANAGER_SOURCE_WIDE_CAM = 0x1,
|
||||
DJI_CAMERA_MANAGER_SOURCE_ZOOM_CAM = 0x2,
|
||||
DJI_CAMERA_MANAGER_SOURCE_IR_CAM = 0x3,
|
||||
DJI_CAMERA_MANAGER_SOURCE_VISIBLE_CAM = 0x7,
|
||||
} E_DjiCameraManagerStreamSource;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_NIGHT_SCENE_MODE_DISABLE = 0,
|
||||
DJI_CAMERA_MANAGER_NIGHT_SCENE_MODE_ENABLE = 1,
|
||||
DJI_CAMERA_MANAGER_NIGHT_SCENE_MODE_AUTO = 2,
|
||||
} E_DjiCameraManagerNightSceneMode;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_CAPTURE_OR_RECORDING_CAPTURE = 0,
|
||||
DJI_CAMERA_MANAGER_CAPTURE_OR_RECORDING_RECORDING = 1,
|
||||
} E_DjiCameraManagerCaptureOrRecording;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_EXPAND_NAME_TYPE_FILE = 1,
|
||||
DJI_CAMERA_MANAGER_EXPAND_NAME_TYPE_DIR = 2,
|
||||
} E_DjiCameraManagerExpandNameType;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_PHOTO_RATIO_4X3 = 0,
|
||||
DJI_CAMERA_MANAGER_PHOTO_RATIO_16X9 = 1,
|
||||
DJI_CAMERA_MANAGER_PHOTO_RATIO_3X2 = 2,
|
||||
DJI_CAMERA_MANAGER_PHOTO_RATIO_1X1 = 3,
|
||||
DJI_CAMERA_MANAGER_PHOTO_RATIO_18X3 = 4,
|
||||
DJI_CAMERA_MANAGER_PHOTO_RATIO_5X4 = 5,
|
||||
} E_DjiCameraManagerPhotoRatio;
|
||||
|
||||
typedef struct {
|
||||
uint8_t firmware_version[4];
|
||||
} T_DjiCameraManagerFirmwareVersion;
|
||||
@ -517,6 +550,69 @@ typedef enum {
|
||||
DJI_DOWNLOAD_FILE_EVENT_END,
|
||||
} E_DjiDownloadFileEvent;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_VIDEO_RESOLUTION_640X480P = 0, // 640X480P
|
||||
DJI_CAMERA_MANAGER_VIDEO_RESOLUTION_1280X640P = 2, // 1280X640P
|
||||
DJI_CAMERA_MANAGER_VIDEO_RESOLUTION_1280X720P = 4, // 1280X720P
|
||||
DJI_CAMERA_MANAGER_VIDEO_RESOLUTION_1920X1080P = 10, // 1920X1080P
|
||||
DJI_CAMERA_MANAGER_VIDEO_RESOLUTION_3840X2160P = 16, // 3840X2160P
|
||||
} E_DjiCameraManagerVideoResolution;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_VIDEO_FRAME_RATE_15FPS = 0, // 14.985
|
||||
DJI_CAMERA_MANAGER_VIDEO_FRAME_RATE_25FPS = 2, // 25.000
|
||||
DJI_CAMERA_MANAGER_VIDEO_FRAME_RATE_30FPS = 3, // 29.970
|
||||
DJI_CAMERA_MANAGER_VIDEO_FRAME_RATE_60FPS = 6, // 59.940
|
||||
} E_DjiCameraManagerVideoFrameRate;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_PHOTO_STORAGE_FORMAT_RAW = 0,
|
||||
DJI_CAMERA_MANAGER_PHOTO_STORAGE_FORMAT_JPEG = 1,
|
||||
DJI_CAMERA_MANAGER_PHOTO_STORAGE_FORMAT_RAW_JPEG = 2,
|
||||
DJI_CAMERA_MANAGER_PHOTO_STORAGE_FORMAT_YUV = 3, // 保存为YUV格式的图片
|
||||
DJI_CAMERA_MANAGER_PHOTO_STORAGE_FORMAT_RJPEG = 7, // Radiometric JPEG
|
||||
} E_DjiCameraManagerPhotoStorageFormat;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_VIDEO_STORAGE_FORMAT_MOV = 0,
|
||||
DJI_CAMERA_MANAGER_VIDEO_STORAGE_FORMAT_MP4 = 1,
|
||||
} E_DjiCameraManagerVideoStorageFormat;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_METERING_MODE_CENTRAL = 0,
|
||||
DJI_CAMERA_MANAGER_METERING_MODE_AVERAGE = 1,
|
||||
DJI_CAMERA_MANAGER_METERING_MODE_SPOT = 2,
|
||||
} E_DjiCameraManagerMeteringMode;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_FFC_MODE_MANUAL = 0,
|
||||
DJI_CAMERA_MANAGER_FFC_MODE_AUTO = 1,
|
||||
} E_DjiCameraManagerFfcMode;
|
||||
|
||||
typedef enum {
|
||||
DJI_CAMERA_MANAGER_IR_GAIN_MODE_AUTO = 0,
|
||||
DJI_CAMERA_MANAGER_IR_GAIN_MODE_LOW = 1,
|
||||
DJI_CAMERA_MANAGER_IR_GAIN_MODE_HIGH = 2,
|
||||
} E_DjiCameraManagerIrGainMode;
|
||||
|
||||
typedef enum {
|
||||
/* not capturing*/
|
||||
DJI_CAMERA_MANAGER_CAPTURING_STATE_IDLE = 0,
|
||||
|
||||
/* doing single capture */
|
||||
DJI_CAMERA_MANAGER_CAPTURING_STATE_SINGLE = 1,
|
||||
|
||||
/* doing multi capture */
|
||||
DJI_CAMERA_MANAGER_CAPTURING_STATE_MULTI = 2,
|
||||
} E_DjiCameraManagerCapturingState;
|
||||
|
||||
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,
|
||||
} E_DjiCameraManagerRecordingState;
|
||||
|
||||
/*!< Attention: when the remote control is in split-screen mode, the coordinate range of the x-axis is 0 ~ 0.5
|
||||
* */
|
||||
typedef struct {
|
||||
@ -571,6 +667,43 @@ typedef struct {
|
||||
uint8_t exception;
|
||||
} T_DjiCameraManagerLaserRangingInfo;
|
||||
|
||||
typedef struct {
|
||||
uint32_t size;
|
||||
E_DjiCameraManagerStreamSource streamSource[4];
|
||||
E_DjiCameraManagerStreamSource streamStorage[4];
|
||||
} T_DjiCameraManagerStreamList;
|
||||
|
||||
typedef struct {
|
||||
E_DjiCameraManagerVideoResolution videoResolution;
|
||||
E_DjiCameraManagerVideoFrameRate videoFrameRate;
|
||||
} T_DjiCameraManagerVideoFormat;
|
||||
|
||||
typedef struct {
|
||||
uint8_t size;
|
||||
union {
|
||||
E_DjiCameraManagerPhotoStorageFormat photoStorageFormat[16];
|
||||
E_DjiCameraManagerVideoStorageFormat videoStorageFormat[16];
|
||||
E_DjiCameraManagerPhotoRatio photoRatioFormat[16];
|
||||
E_DjiCameraManagerStreamSource streamSource[16];
|
||||
E_DjiCameraManagerStreamSource streamStorage[16];
|
||||
E_DjiCameraManagerNightSceneMode nightSceneMode[16];
|
||||
};
|
||||
uint32_t minValue;
|
||||
uint32_t maxValue;
|
||||
} T_DjiCameraManagerRangeList;
|
||||
|
||||
typedef struct {
|
||||
double lowGainTempMin;
|
||||
double lowGainTempMax;
|
||||
double highGainTempMin;
|
||||
double highGainTempMax;
|
||||
} T_DjiCameraManagerIrTempMeterRange;
|
||||
|
||||
typedef struct {
|
||||
uint32_t totalCapacity; /* MByte */
|
||||
uint32_t remainCapacity; /* MByte */
|
||||
} T_DjiCameraManagerStorageInfo;
|
||||
|
||||
typedef T_DjiReturnCode (*DjiCameraManagerDownloadFileDataCallback)(T_DjiDownloadFilePacketInfo packetInfo,
|
||||
const uint8_t *data,
|
||||
uint16_t dataLen);
|
||||
@ -606,6 +739,15 @@ T_DjiReturnCode DjiCameraManager_GetCameraType(E_DjiMountPosition position, E_Dj
|
||||
T_DjiReturnCode DjiCameraManager_GetFirmwareVersion(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerFirmwareVersion *firmwareVersion);
|
||||
|
||||
/**
|
||||
* @brief Get camera connect status.
|
||||
* @param position: camera mounted position
|
||||
* @param connectStatus: returned value of connect status
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetCameraConnectStatus(E_DjiMountPosition position,
|
||||
bool *connectStatus);
|
||||
|
||||
/**
|
||||
* @brief Set camera working mode of the selected camera mounted position.
|
||||
* @note Set the camera's work mode to taking pictures, video, playback or
|
||||
@ -668,6 +810,16 @@ T_DjiReturnCode DjiCameraManager_StartShootPhoto(E_DjiMountPosition position,
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_StopShootPhoto(E_DjiMountPosition position);
|
||||
|
||||
/**
|
||||
* @brief Get camera capturing state.
|
||||
* @note L1/P1 do not support this API.
|
||||
* @param position: camera mounted position
|
||||
* @param capturingState: result of getting, see E_DjiCameraManagerCapturingState.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetCapturingState(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerCapturingState *capturingState);
|
||||
|
||||
/**
|
||||
* @brief Set the burst count in the burst take-photo mode.
|
||||
* @param position: camera mounted position
|
||||
@ -726,6 +878,16 @@ T_DjiReturnCode DjiCameraManager_SetPhotoTimeIntervalSettings(E_DjiMountPosition
|
||||
T_DjiReturnCode DjiCameraManager_GetPhotoTimeIntervalSettings(E_DjiMountPosition position,
|
||||
T_DjiCameraPhotoTimeIntervalSettings *intervalSetting);
|
||||
|
||||
/**
|
||||
* @brief Get remain time of interval shooting.
|
||||
* @note L1/P1 do not support this API.
|
||||
* @param position: camera mounted position
|
||||
* @param remainTime: time in seconds.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetIntervalShootingRemainTime(E_DjiMountPosition position,
|
||||
uint8_t *remainTime);
|
||||
|
||||
/**
|
||||
* @brief Set camera focus mode of the selected camera mounted position.
|
||||
* @note Set the lens focus mode. When the focus mode is auto, the target
|
||||
@ -884,6 +1046,33 @@ T_DjiReturnCode DjiCameraManager_GetTapZoomMultiplier(E_DjiMountPosition positio
|
||||
T_DjiReturnCode DjiCameraManager_TapZoomAtTarget(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerTapZoomPosData tapZoomPos);
|
||||
|
||||
/**
|
||||
* @brief Get camera focus ring value range.
|
||||
* @param position: camera mounted position
|
||||
* @param rangeList: returned value of range.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetFocusRingRange(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerRangeList *rangeList);
|
||||
|
||||
/**
|
||||
* @brief Set camera focus ring value.
|
||||
* @param position: camera mounted position
|
||||
* @param value: focus ring value.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetFocusRingValue(E_DjiMountPosition position,
|
||||
uint16_t value);
|
||||
|
||||
/**
|
||||
* @brief Get camera focus ring value.
|
||||
* @param position: camera mounted position
|
||||
* @param value: focus ring value to be returned.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetFocusRingValue(E_DjiMountPosition position,
|
||||
uint16_t *value);
|
||||
|
||||
/**
|
||||
* @brief Set camera's exposure mode of the selected camera mounted position.
|
||||
* @note The different exposure modes define whether aperture, shutter speed,
|
||||
@ -995,6 +1184,32 @@ T_DjiReturnCode DjiCameraManager_SetExposureCompensation(E_DjiMountPosition posi
|
||||
T_DjiReturnCode DjiCameraManager_GetExposureCompensation(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerExposureCompensation *ev);
|
||||
|
||||
/**
|
||||
* @brief Set AE lock mode.
|
||||
* @param position: camera mounted position
|
||||
* @param enable: ture to enable, false to diasble.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetAELockEnabled(E_DjiMountPosition position,
|
||||
bool enable);
|
||||
|
||||
/**
|
||||
* @brief Get AE lock mode.
|
||||
* @note Camera L1/P1 don't support this API.
|
||||
* @param position: camera mounted position
|
||||
* @param enable: result of AE lock mode.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetAELockEnabled(E_DjiMountPosition position,
|
||||
bool *enable);
|
||||
|
||||
/**
|
||||
* @brief Reset camera settings.
|
||||
* @param position: camera mounted position
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_ResetCameraSettings(E_DjiMountPosition position);
|
||||
|
||||
/**
|
||||
* @brief Start to take video of the selected camera mounted position.
|
||||
* @note Camera must be in RECORD_VIDEO mode. For thermal imaging camera,
|
||||
@ -1012,6 +1227,230 @@ T_DjiReturnCode DjiCameraManager_StartRecordVideo(E_DjiMountPosition position);
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_StopRecordVideo(E_DjiMountPosition position);
|
||||
|
||||
/**
|
||||
* @brief Get camera recording state.
|
||||
* @param position: camera mounted position
|
||||
* @param recordingState: result of getting, see E_DjiCameraManagerRecordingState.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetRecordingState(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerRecordingState *recordingState);
|
||||
|
||||
/**
|
||||
* @brief Get camera recording time.
|
||||
* @note L1/P1 don not support this API.
|
||||
* @param position: camera mounted position
|
||||
* @param recordingTime: result of getting, unit is seconds.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetRecordingTime(E_DjiMountPosition position,
|
||||
uint16_t *recordingTime);
|
||||
/**
|
||||
* @brief Get camera stream source range.
|
||||
* @param position: camera mounted position
|
||||
* @param rangeList: pointer to the result.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetStreamSourceRange(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerRangeList *rangeList);
|
||||
|
||||
/**
|
||||
* @brief Choose camera stream source.
|
||||
* @param position: camera mounted position
|
||||
* @param streamSource: stream source to be chose.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetStreamSource(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerStreamSource streamSource);
|
||||
|
||||
/**
|
||||
* @brief Get photo storage format range.
|
||||
* @param position: camera mounted position
|
||||
* @param rangeList: range list returned value
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetPhotoFormatStorageRange(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerRangeList *rangeList);
|
||||
|
||||
/**
|
||||
* @brief Set photo storage format.
|
||||
* @param position: camera mounted position
|
||||
* @param format: storage format.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetPhotoFormat(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerPhotoStorageFormat format);
|
||||
|
||||
/**
|
||||
* @brief Get photo storage format.
|
||||
* @param position: camera mounted position
|
||||
* @param format: returned value of storage format.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetPhotoFormat(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerPhotoStorageFormat *format);
|
||||
|
||||
/**
|
||||
* @brief Get video storage format range.
|
||||
* @param position: camera mounted position
|
||||
* @param rangeList: range list returned value
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetVideoFormatRange(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerRangeList *rangeList);
|
||||
|
||||
/**
|
||||
* @brief Set video storage format.
|
||||
* @param position: camera mounted position
|
||||
* @param format: storage format.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetVideoStorageFormat(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerVideoStorageFormat format);
|
||||
|
||||
/**
|
||||
* @brief Get video storage format.
|
||||
* @param position: camera mounted position
|
||||
* @param format: returned value of storage format.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetVideoFormat(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerVideoStorageFormat *format);
|
||||
|
||||
/**
|
||||
* @brief Get photo ratio range
|
||||
* @param position: camera mounted position
|
||||
* @param rangeList: range list returned value
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetPhotoRatioRange(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerRangeList *rangeList);
|
||||
|
||||
/**
|
||||
* @brief Set camera photo ratio
|
||||
* @param position: camera mounted position
|
||||
* @param photoRatio: ratio to be set
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetPhotoRatio(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerPhotoRatio photoRatio);
|
||||
|
||||
/**
|
||||
* @brief Get camera photo ratio
|
||||
* @param position: camera mounted position
|
||||
* @param photoRatio: returned value of photo ratio
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetPhotoRatio(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerPhotoRatio *photoRatio);
|
||||
|
||||
/**
|
||||
* @brief Get camera video resolution and frame rate
|
||||
* @param position: camera mounted position
|
||||
* @param photoRatio: returned value of video resolution and frame rate
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetVideoResolutionFrameRate(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerVideoFormat *videoParam);
|
||||
|
||||
/**
|
||||
* @brief Get night scene mode range.
|
||||
* @param position: camera mounted position.
|
||||
* @param tempRange: returned valued of night scene mode range.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetNightSceneModeRange(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerRangeList *rangeList);
|
||||
|
||||
/**
|
||||
* @brief Set night scene mode.
|
||||
* @note Make sure that stream source is zoom or wide camera.
|
||||
* @param position: camera mounted position
|
||||
* @param nightSceneMode: night scene mode.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetNightSceneMode(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerNightSceneMode nightSceneMode);
|
||||
|
||||
/**
|
||||
* @brief Get night scene mode.
|
||||
* @param position: camera mounted position
|
||||
* @param nightSceneMode: pointer to night scene mode.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetNightSceneMode(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerNightSceneMode *nightSceneMode);
|
||||
|
||||
/**
|
||||
* @brief Get range of stream source(s) can be storaged when capturing or recording.
|
||||
* @param position: camera mounted position.
|
||||
* @param rangeList: returned value of range, in member streamStorage.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetStreamStorageRange(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerRangeList *rangeList);
|
||||
|
||||
/**
|
||||
* @brief Select capture or recording stream(s) to store.
|
||||
* @note Precondition: set camera's work corresponding to streamType
|
||||
* @param position: camera mounted position.
|
||||
* @param streamType: capture mode or recording mode.
|
||||
* @param streamStorageList: Pointer to the struct that contains stream list.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetCaptureRecordingStreams(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerCaptureOrRecording streamType,
|
||||
T_DjiCameraManagerStreamList *streamStorageList);
|
||||
|
||||
/**
|
||||
* @brief Get the stream(s) of capture or recording mode to be storaged.
|
||||
* @param position: camera mounted position.
|
||||
* @param streamType: capture mode or recording mode.
|
||||
* @param streamSourceList: the real return value.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetCaptureRecordingStreams(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerCaptureOrRecording streamType,
|
||||
T_DjiCameraManagerStreamList *streamStorageList);
|
||||
|
||||
/**
|
||||
* @brief Turn on/off synchronized split screen zoom function.
|
||||
* @param position: camera mounted position.
|
||||
* @param enable: set true to turn on, false to turn off.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetSynchronizedSplitScreenZoomEnabled(E_DjiMountPosition position, bool enable);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Set suffix name of directory or file.
|
||||
* @note For file name, the setting is only valid once.
|
||||
* @param position: camera mounted position.
|
||||
* @param nameType: see E_DjiCameraManagerExpandNameType, select to set name of directory or file.
|
||||
* @param nameSize: size of name string, must be in rang of 1 ~ 239.
|
||||
* @param nameStr: Content of custom suffix name.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetCustomExpandName(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerExpandNameType nameType,
|
||||
const uint8_t *nameStr,
|
||||
uint32_t nameSize);
|
||||
|
||||
/**
|
||||
* @brief Get custom past of lastest directory or file name
|
||||
* @param position: camera mounted position
|
||||
* @param nameType: to choose directory or file to get custom name
|
||||
* @param nameStr: name string buffer
|
||||
* @param nameSize: its tell the max size of nameStr and changed to to the actually size of
|
||||
* name string when function finished.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetCustomExpandName(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerExpandNameType nameType,
|
||||
uint8_t *nameStr,
|
||||
uint32_t *nameSize);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Download selected camera media file list.
|
||||
* @note The interface is a synchronous interface, which occupies more CPU resources when using it.
|
||||
@ -1054,6 +1493,38 @@ T_DjiReturnCode DjiCameraManager_RegDownloadFileDataCallback(E_DjiMountPosition
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_DownloadFileByIndex(E_DjiMountPosition position, uint32_t fileIndex);
|
||||
|
||||
/**
|
||||
* @brief Before downloading media file(s), downloader rights should be obtained.
|
||||
* @param position: the mount position of the camera
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_ObtainDownloaderRights(E_DjiMountPosition position);
|
||||
|
||||
/**
|
||||
* @brief After downloading media file(s), downloader rights should be released
|
||||
* @note If not release rights, the pilot app is probably can't access album of camera.
|
||||
* @param position: the mount position of the camera
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_ReleaseDownloaderRights(E_DjiMountPosition position);
|
||||
|
||||
/**
|
||||
* @brief Format SD card.
|
||||
* @param position: the mount position of the camera
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_FormatStorage(E_DjiMountPosition position);
|
||||
|
||||
/**
|
||||
* @brief Get storage info of SD card.
|
||||
* @note Camera L1/P1 don't support this API.
|
||||
* @param position: the mount position of the camera
|
||||
* @param storageInfo: result of getting, storage info of SD card.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetStorageInfo(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerStorageInfo *storageInfo);
|
||||
|
||||
/**
|
||||
* @brief Delete selected camera media file by file index.
|
||||
* @param position: the mount position of the camera
|
||||
@ -1112,6 +1583,86 @@ T_DjiReturnCode DjiCameraManager_SetAreaThermometryCoordinate(E_DjiMountPosition
|
||||
T_DjiReturnCode DjiCameraManager_GetAreaThermometryData(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerAreaThermometryData *areaThermometryData);
|
||||
|
||||
/**
|
||||
* @brief Set FFC mode.
|
||||
* @param position: camera mounted position.
|
||||
* @param ffcMode: mode to be set.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetFfcMode(E_DjiMountPosition position, E_DjiCameraManagerFfcMode ffcMode);
|
||||
|
||||
/**
|
||||
* @brief Trigger FFC one time.
|
||||
* @param position: camera mounted position.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_TriggerFfc(E_DjiMountPosition position);
|
||||
|
||||
/**
|
||||
* @brief Set infrared camera gaim mode.
|
||||
* @param position: camera mounted position.
|
||||
* @param gainMode: gain mode to set.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetInfraredCameraGainMode(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerIrGainMode gainMode);
|
||||
|
||||
/**
|
||||
* @brief Get temprature range of infrared camera.
|
||||
* @param position: camera mounted position.
|
||||
* @param tempRange: returned valued of temperature range.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetInfraredCameraGainModeTemperatureRange(E_DjiMountPosition position,
|
||||
T_DjiCameraManagerIrTempMeterRange *tempRange);
|
||||
|
||||
/**
|
||||
* @brief Set camera metering mode.
|
||||
* @param position: camera mounted position
|
||||
* @param meteringMode: metering mode
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetMeteringMode(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerMeteringMode meteringMode);
|
||||
|
||||
/**
|
||||
* @brief Get camera metering mode.
|
||||
* @param position: camera mounted position
|
||||
* @param meteringMode: pointer to returned value of metering mode
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetMeteringMode(E_DjiMountPosition position,
|
||||
E_DjiCameraManagerMeteringMode *meteringMode);
|
||||
|
||||
/**
|
||||
* @brief Get range of metering point.
|
||||
* @param position: camera mounted position
|
||||
* @param hrzNum: returned value, horizontal range.
|
||||
* @param vtcNum: returned value, vertical range.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetMeteringPointRegionRange(E_DjiMountPosition position,
|
||||
uint8_t *hrzNum, uint8_t *vtcNum);
|
||||
/**
|
||||
* @brief Set metrting point.
|
||||
* @param position: camera mounted position
|
||||
* @param x: Horizontal coordinate value, should be no greater than hrzNum - 1.
|
||||
* @param y: Horizontal coordinate value, should be no greater than vtcNum - 1.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_SetMeteringPoint(E_DjiMountPosition position,
|
||||
uint8_t x, uint8_t y);
|
||||
|
||||
/**
|
||||
* @brief Get camera metering mode.
|
||||
* @param position: camera mounted position
|
||||
* @param x: returned valued, current metering point in horizontal coordinate.
|
||||
* @param y: returned valued, current metering point in vertical coordinate.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiCameraManager_GetMeteringPoint(E_DjiMountPosition position,
|
||||
uint8_t *x, uint8_t *y);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -312,16 +312,132 @@ extern "C" {
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_CAMERA_FOCAL_DISTANCE_INVALID, "Focal distance of camera focalize function exceed valid range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_CAMERA_EXEC_FAIL, "This err code indicate camera fail to exec coressponding cmd and the low 8 bit", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_GIMBAL_RESV, "Reserved error code", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_GIMBAL_INVALID_RPY_ANGLE_CTRL_CMD, "Gimbal roll pitch yaw angle ctrl cmd param invalid ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_GIMBAL_INVALID_RPY_ANGLE_CTRL_CMD, "Gimbal roll pitch yaw angle ctrl cmd param invalid ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_GIMBAL_INVALID_DURATION_CMD, "Gimbal duration param invalid unable to exec. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_GIMBAL_FAIL_TO_ARRIVE_TGT_ANGLE, "Gimbal fail to arrive target angle . ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_GIMBAL_FAIL_TO_SEND_CMD_TO_GIMBAL, "Fail to send cmd to gimbal for gimbal is busy or no gimbal. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_GIMBAL_THIS_INDEX_OF_GIMBAL_NOT_DOING_UNIFORM_CTRL , "Fail to stop gimbal uniform ctrl because index error. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_FLIGHT_RESV, "Reserved error code", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_FLIGHT_YAW_INVALID_YAW_ANGLE, "Yaw angle is lager max yaw angle. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_FLIGHT_YAW_TO_TGT_ANGLE_TIMEOUT, "Failed to target yaw angle because of timeout. ", NULL}, \
|
||||
|
||||
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_FLIGHT_YAW_TO_TGT_ANGLE_TIMEOUT, "Failed to target yaw angle because of timeout. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_FLIGHT_ACTION_YAW_OCCUPIED, "Failed to target yaw angle because of timeout. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_FLIGHT_CUR_AND_TGT_VEL_CLE_STATUE_EQUAL, "Failed to current and target vel not equal. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_PAYLOAD_RESV, "Failed to payload reserved error code. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_PAYLOAD_FAIL_TO_SEND_CMD_TO_PAYLOAD, "Failed to sned cmd to payload. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_PAYLOAD_EXEC_FAILED, "Failed to execute payload actuator. ", NULL}, \
|
||||
/* waypoint v3 module error message */ \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_COMMON_SUCCESS, "Execute waypoint v3 cmd successfully. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_MISSION_ID_NOT_EXIST, "Execute waypoint v3 mission id not match. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_WAYLINE_INFO_ERROR , "Execute waypoint v3 wayline info error. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_WPMZ_FILE_VERSION_NOT_MATCH, "Execute waypoint v3 wpmz file not match. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_WPMZ_FILE_LOAD_ERROR, "Load waypoint v3 wpmz file error. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_NO_BREAK_INFO, "Execute waypoint v3 no break info error. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CMD_INVALID, "Execute waypoint v3 cmd invalid. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_START_WAYLINE_WHEN_WAYLINE_RUNNING, "Cannot start wayline when wayline running. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_BREAK_WAYLINE_IN_CUR_STATE, "Cannot break wayline in current state. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_STOP_WAYLINE_WHEN_WAYLINE_NOT_RUNNING, "Cannot stop wayline when wayline not running. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_BREAK_WAYLINE_WHEN_WAYLINE_NOT_RUNNING, "Cannot break wayline when wayline not running. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_REQUEST_DRONE_CONTROL, "Flight mission conflict, unable to obtain control auth of the aircraft. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_RESUME_WAYLINE_IN_CUR_STATE, "Failed to resume wayline in current state. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_HEIGHT_LIMIT, "Execute waypoint v3 failed due to height limit. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RADIUS_LIMIT, "Execute waypoint v3 failed due to radius limit. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CROSS_FLYLIMIT_AERA, "Execute waypoint v3 failed due to cross flylimit area. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_LOW_LIMIT, "Execute waypoint v3 failed due to low limit. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_OBSTACAL_STOP, "Execute waypoint v3 failed due to obstacal stop. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RTK_DISCONNECT, "Execute waypoint v3 failed due to rtk disconnect. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_BOUNDARY_LIMIT, "Execute waypoint v3 failed due to boundary limit. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RC_PITCH_ROLL_BREAK, "Execute waypoint v3 failed due to rc pitch roll break. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_AIRPORT_HEIGHT_LIMIT, "Execute waypoint v3 failed due to airport height limit. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_REQUEST_TAKEOFF_FAIL, "Failed to request take off. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_AUTOTAKEOFF_RUN_FAIL, "Failed to run auto take off. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_REQUEST_WAYLINE_FAIL, "Failed to request wayline. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_AGRO_PLAN_FAIL, "Failed to agro plan. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_REQUEST_QUICK_TAKEOFF_ASSIST_FAIL, "Failed to request quick take off assist. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_QUICK_TAKEOFF_ASSIST_RUN_FAIL, "Failed to run quick takeoff assist. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_VFENCE_LIMIT, "Execute waypoint v3 failed due to vfence limit. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_GPS_INVALID, "Execute waypoint v3 failed due to gps invalid. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_START_AT_CURRENT_RC_MODE, "Failed to start at current rc mode. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_HOME_POINT_NOT_RECORDED, "Execute waypoint v3 failed due to homepoint not recorded. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_LOWER_BATTERY, "Execute waypoint v3 failed due to lower battery. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RETURN_HOME, "Execute waypoint v3 failed due to return home. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ADSB_ERROR, "Execute waypoint v3 failed due to adsb error. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RC_LOST, "Execute waypoint v3 failed due to rc lost. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RTK_NOT_READY, "Execute waypoint v3 failed due to rtk not ready. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_DRONE_IS_MOVING, "Execute waypoint v3 failed due to drone is moving. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_DRONE_ON_GROUND_MOTOR_ON, "Execute waypoint v3 failed due to drone on ground motor on. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_SURFACE_FOLLOW_CAMERA_INVALID, "Execute waypoint v3 failed due to surface follow camera invalid. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_SURFACE_FOLLOW_HEIGHT_INVALID, "Execute waypoint v3 failed due to surface follow height invalid.", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_SURFACE_FOLLOW_MAP_WRONG, "Execute waypoint v3 failed due to surface follow map wrong. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_HOMEPOINT_NOT_MATCH_RTK, "Execute waypoint v3 failed due to homepoint not match rtk. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_STRONG_WIND_GOHOME, "Execute waypoint v3 failed due to strong wind gohome. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_DRONE_CRITICAL_ERROR, "Execute waypoint v3 failed due to drone critical error. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_FIND_PAYLOAD, "Execute waypoint v3 failed due to cannot find payload. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_EXECUTION_FAILED, "Execute waypoint v3 failed due to action execution failed. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_FARM_NO_PESTICIDE, "Execute waypoint v3 failed due to farm no pesticide. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RADAR_DISCONNECT, "Execute waypoint v3 failed due to radar disconnect. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_EXIT, "Execute waypoint v3 failed due to user exit. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_BREAK, "Execute waypoint v3 failed due to user break. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_SET_GOHOME, "Execute waypoint v3 failed due to user set gohome. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_AGRO_PLANNER_STATE_CHANGE, "Execute waypoint v3 failed due to user agro panner state change. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_SWITCH_RC_MODE, "Execute waypoint v3 failed due to user switch rc mode. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INIT_FAIL, "Execute waypoint v3 failed due to traj init failed. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_JOB_EXIT_BUT_MIS_RUNNING, "Execute waypoint v3 failed due to traj job exit but mis running. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_ON_GROUND_MOTOR_ON_CANNOT_GO, "Execute waypoint v3 failed due to traj on ground motor is turn on. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_START_INDEX_OR_PROG, "Execute waypoint v3 failed due to traj invalid start index. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_CSYS_MODE, "Execute waypoint v3 failed due to traj invalid csys mode. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_HEIGHT_MODE, "Execute waypoint v3 failed due to traj invalid height mode. ", NULL},\
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_FLY_WP_MODE, "Execute waypoint v3 failed due to traj invalid fly wp mode. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_YAW_MODE, "Execute waypoint v3 failed due to traj invalid yaw mode. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_TURN_DIR_MODE, "Execute waypoint v3 failed due to traj invalid turn dir mode. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_WP_TYPE, "Execute waypoint v3 failed due to traj invalid wp type. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_FIR_LAS_WP_TYPE_ERROR, "Execute waypoint v3 failed due to fir las wp type error. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_GLOB_VEL_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj wp global vel out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_NUM_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj wp num out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_LAT_LONG_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj lat or lon out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_DAMP_DIS_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj damp dis out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_MAX_VEL_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj max vel out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_VEL_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj vel out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_YAW_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj wp yaw out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_YAW_MODE_IN_VERT_SEGM, "Execute waypoint v3 failed due to traj invalid yaw mode in vert segm. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_BREAK_INFO_MISSION_ID_CHANGED, "Execute waypoint v3 failed due to traj wp break info mission id changed. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_BREAK_INFO_PROGRESS_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj wp break info progress out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_BREAK_INFO_INVALID_MISSION_STATE, "Execute waypoint v3 failed due to traj wp break info invalid mission state. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_BREAK_INFO_WP_INDEX_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj wp break info wp index out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_BREAK_LAT_LONG_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj break lat or lon out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_BREAK_INFO_WP_YAW_OUT_OF_RANGE, "Execute waypoint v3 failed due to traj break info wp yaw out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_BREAK_INFO_FLAG , "Execute waypoint v3 failed due to traj invalid break info flag. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_GET_TRAJ_INFO_FAILED, "Execute waypoint v3 failed due to traj get info failed. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_GENERATE_FAIL, "Execute waypoint v3 failed due to traj generate failed. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_LIB_RUN_FAIL, "Execute waypoint v3 failed due to traj lib run failed. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_LIB_EMERGENCY_BRAKE, "Execute waypoint v3 failed due to traj lib emergency brake. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_NOT_FOUND, "Execute waypoint v3 failed due to action not found. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_INDEX_REPEATED, "Execute waypoint v3 failed due to action index repeated. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_INFO_SIZE_TOO_LONG_OR_TOO_SHORT, "Execute waypoint v3 failed due to size too long or too short. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_EMPTY, "Execute waypoint v3 failed due to action tree empty. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_LAYER_EMPTY, "Execute waypoint v3 failed due to action tree layer empty. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_ID_REPEATED, "Execute waypoint v3 failed due to action repeated. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_NODE_CHILDREN_NUM_LT_2, "Execute waypoint v3 failed due to action mode children num less than 2. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_INDEX_OUT_OF_RANGE, "Execute waypoint v3 failed due to action index out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_ID_IS_65535, "Execute waypoint v3 failed due to action id is 65535. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_NODE_CHILDNUM_SUM_NOT_EQ_NEXT_LAYER_SIZE, "Execute waypoint v3 failed due to action node child sum not equal next layer size. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_LAYER_NUM_TOO_MORE, "Execute waypoint v3 failed due to action tree layer num too more. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_LAYER_NUM_TOO_LESS, "Execute waypoint v3 failed due to action tree layer num too less. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_GROUP_NUM_OUT_OF_RANGE, "Execute waypoint v3 failed due to action group num out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_GROUP_VALID_RANGE_ERROR, "Execute waypoint v3 failed due to action group valid range error. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_ROOT_STATUS_INVALID, "Execute waypoint v3 failed due to action tree root status invalid. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_NODE_STATUS_INVALID, "Execute waypoint v3 failed due to action tree mode status invalid. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_ACTION_GROUP_ID_OUT_OF_RANGE, "Execute waypoint v3 failed due to break info action group id out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_STATUS_TREE_SIZE_ERROR, "Execute waypoint v3 failed due to action status tree size error. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_TRIGGER_RUN_RESULT_INVALID, "Execute waypoint v3 failed due to break info trigger run result invalid. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_ACTION_GROUP_ID_REPEATED, "Execute waypoint v3 failed due to break info action group id repeated. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_ACTION_LOCATION_REPEATED, "Execute waypoint v3 failed due to break info action location repeated. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_ACTION_LOCATION_OUT_OF_RANGE, "Execute waypoint v3 failed due to break info action location out of range. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_RESUME_ID_NOT_IN_BREAK_INFO, "Execute waypoint v3 failed due to resume id not in break info. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_RESUME_INFO_MODIFY_ACTION_STATUS_FROM_NO_INTERRUPT_TO_INTERRUPT, "Execute waypoint v3 failed due to modify action status from no interrupt to interrupt. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_RESUME_FAIL_FOR_INVALID_RESUME_INFO, "Execute waypoint v3 failed due to action resume failed for invalid resume info. ", NULL}, \
|
||||
{DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTUATOR_COMMON_ACTUATOR_NOT_FOUND, "Execute waypoint v3 failed due to actuator not found. ", NULL}, \
|
||||
{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_ERR_ALLOC DJI_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED /*!< Payload SDK return code represents as status alloc error. */
|
||||
@ -375,6 +491,7 @@ typedef enum {
|
||||
DJI_ERROR_MODULE_CAMERA_MANAGER,
|
||||
DJI_ERROR_MODULE_GIMBAL_MANAGER,
|
||||
DJI_ERROR_MODULE_WAYPOINT_V2,
|
||||
DJI_ERROR_MODULE_WAYPOINT_V3,
|
||||
DJI_ERROR_MODULE_ERROR,
|
||||
} E_DjiErrorModule;
|
||||
|
||||
@ -737,6 +854,121 @@ typedef enum {
|
||||
DJI_ERROR_WAYPOINT_V2_MODULE_RAW_CODE_ACTUATOR_PAYLOAD_EXEC_FAILED = 0x470002,
|
||||
} E_DjiErrorWaypointV2ModuleRawCode;
|
||||
|
||||
typedef enum {
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_SUCCESS = 0x0000,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_MISSION_ID_NOT_EXIST = 1,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_WAYLINE_INFO_ERROR = 2,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_WPMZ_FILE_VERSION_NOT_MATCH = 3,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_WPMZ_FILE_LOAD_ERROR = 4,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_NO_BREAK_INFO = 5,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CMD_INVALID = 6,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_START_WAYLINE_WHEN_WAYLINE_RUNNING = 257,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_BREAK_WAYLINE_IN_CUR_STATE = 258,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_STOP_WAYLINE_WHEN_WAYLINE_NOT_RUNNING = 259,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_BREAK_WAYLINE_WHEN_WAYLINE_NOT_RUNNING = 260,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_REQUEST_DRONE_CONTROL = 261,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_RESUME_WAYLINE_IN_CUR_STATE = 262,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_HEIGHT_LIMIT = 513,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RADIUS_LIMIT = 514,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CROSS_FLYLIMIT_AERA = 515,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_LOW_LIMIT = 516,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_OBSTACAL_STOP = 517,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RTK_DISCONNECT = 518,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_BOUNDARY_LIMIT = 519,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RC_PITCH_ROLL_BREAK = 520,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_AIRPORT_HEIGHT_LIMIT = 521,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_REQUEST_TAKEOFF_FAIL = 522,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_AUTOTAKEOFF_RUN_FAIL = 523,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_REQUEST_WAYLINE_FAIL = 524,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_AGRO_PLAN_FAIL = 525,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_REQUEST_QUICK_TAKEOFF_ASSIST_FAIL = 526,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_QUICK_TAKEOFF_ASSIST_RUN_FAIL = 527,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_VFENCE_LIMIT = 528,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_GPS_INVALID = 769,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_START_AT_CURRENT_RC_MODE = 770,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_HOME_POINT_NOT_RECORDED = 771,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_LOWER_BATTERY = 772,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RETURN_HOME = 773,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ADSB_ERROR = 774,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RC_LOST = 775,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RTK_NOT_READY = 776,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_DRONE_IS_MOVING = 777,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_DRONE_ON_GROUND_MOTOR_ON = 778,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_SURFACE_FOLLOW_CAMERA_INVALID = 779,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_SURFACE_FOLLOW_HEIGHT_INVALID = 780,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_SURFACE_FOLLOW_MAP_WRONG = 781,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_HOMEPOINT_NOT_MATCH_RTK = 782,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_STRONG_WIND_GOHOME = 784,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_DRONE_CRITICAL_ERROR = 1023,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_FIND_PAYLOAD = 1025,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_EXECUTION_FAILED = 1026,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_FARM_NO_PESTICIDE = 1027,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RADAR_DISCONNECT = 1028,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_EXIT = 1281,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_BREAK = 1282,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_SET_GOHOME = 1283,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_AGRO_PLANNER_STATE_CHANGE = 1284,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_SWITCH_RC_MODE = 1285,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INIT_FAIL = 1536,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_JOB_EXIT_BUT_MIS_RUNNING = 1537,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_ON_GROUND_MOTOR_ON_CANNOT_GO = 1538,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_START_INDEX_OR_PROG = 1539,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_CSYS_MODE = 1540,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_HEIGHT_MODE = 1541,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_FLY_WP_MODE = 1542,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_YAW_MODE = 1543,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_TURN_DIR_MODE = 1544,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_WP_TYPE = 1545,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_FIR_LAS_WP_TYPE_ERROR = 1546,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_GLOB_VEL_OUT_OF_RANGE = 1547,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_NUM_OUT_OF_RANGE = 1548,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_LAT_LONG_OUT_OF_RANGE = 1549,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_DAMP_DIS_OUT_OF_RANGE = 1550,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_MAX_VEL_OUT_OF_RANGE = 1551,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_VEL_OUT_OF_RANGE = 1552,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_YAW_OUT_OF_RANGE = 1553,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_YAW_MODE_IN_VERT_SEGM = 1554,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_BREAK_INFO_MISSION_ID_CHANGED = 1555,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_BREAK_INFO_PROGRESS_OUT_OF_RANGE = 1556,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_BREAK_INFO_INVALID_MISSION_STATE = 1557,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_BREAK_INFO_WP_INDEX_OUT_OF_RANGE = 1558,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_BREAK_LAT_LONG_OUT_OF_RANGE = 1559,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_BREAK_INFO_WP_YAW_OUT_OF_RANGE = 1560,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_BREAK_INFO_FLAG = 1561,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_GET_TRAJ_INFO_FAILED = 1562,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_GENERATE_FAIL = 1563,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_LIB_RUN_FAIL = 1564,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_LIB_EMERGENCY_BRAKE = 1565,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_NOT_FOUND = 1588,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_INDEX_REPEATED = 1591,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_INFO_SIZE_TOO_LONG_OR_TOO_SHORT = 1592,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_EMPTY = 1593,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_LAYER_EMPTY = 1594,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_ID_REPEATED = 1595,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_NODE_CHILDREN_NUM_LT_2 = 1596,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_INDEX_OUT_OF_RANGE = 1597,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_ID_IS_65535 = 1598,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_NODE_CHILDNUM_SUM_NOT_EQ_NEXT_LAYER_SIZE = 1599,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_LAYER_NUM_TOO_MORE = 1600,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_LAYER_NUM_TOO_LESS = 1601,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_GROUP_NUM_OUT_OF_RANGE = 1602,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_GROUP_VALID_RANGE_ERROR = 1603,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_ROOT_STATUS_INVALID = 1604,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_NODE_STATUS_INVALID = 1605,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_ACTION_GROUP_ID_OUT_OF_RANGE = 1606,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_STATUS_TREE_SIZE_ERROR = 1607,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_TRIGGER_RUN_RESULT_INVALID = 1608,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_ACTION_GROUP_ID_REPEATED = 1609,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_ACTION_LOCATION_REPEATED = 1610,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_ACTION_LOCATION_OUT_OF_RANGE = 1611,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_RESUME_ID_NOT_IN_BREAK_INFO = 1612,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_RESUME_INFO_MODIFY_ACTION_STATUS_FROM_NO_INTERRUPT_TO_INTERRUPT = 1613,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_RESUME_FAIL_FOR_INVALID_RESUME_INFO = 1614,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTUATOR_COMMON_ACTUATOR_NOT_FOUND = 1634,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRIGGER_NOT_FOUND = 1649,
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRIGGER_SINGLE_TIME_CHECK_FAIL = 1650,
|
||||
} E_DjiErrorWaypoint3ModuleRawCode;
|
||||
|
||||
//@formatter:off
|
||||
/**
|
||||
* @brief DJI error code complete works. Users can search all error messages here.
|
||||
@ -1016,6 +1248,120 @@ enum DjiErrorCode {
|
||||
DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_PAYLOAD_RESV = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V2, DJI_ERROR_WAYPOINT_V2_MODULE_RAW_CODE_ACTUATOR_PAYLOAD_RESV),
|
||||
DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_PAYLOAD_FAIL_TO_SEND_CMD_TO_PAYLOAD = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V2, DJI_ERROR_WAYPOINT_V2_MODULE_RAW_CODE_ACTUATOR_PAYLOAD_FAIL_TO_SEND_CMD_TO_PAYLOAD),
|
||||
DJI_ERROR_WAYPOINT_V2_MODULE_CODE_ACTUATOR_PAYLOAD_EXEC_FAILED = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V2, DJI_ERROR_WAYPOINT_V2_MODULE_RAW_CODE_ACTUATOR_PAYLOAD_EXEC_FAILED),
|
||||
|
||||
/* Waypoint v3 total errors */
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_COMMON_SUCCESS = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_SUCCESS),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_MISSION_ID_NOT_EXIST = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_MISSION_ID_NOT_EXIST),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_WAYLINE_INFO_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_WAYLINE_INFO_ERROR),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_WPMZ_FILE_VERSION_NOT_MATCH = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_WPMZ_FILE_VERSION_NOT_MATCH),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_WPMZ_FILE_LOAD_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_WPMZ_FILE_LOAD_ERROR),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_NO_BREAK_INFO = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_NO_BREAK_INFO),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CMD_INVALID = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CMD_INVALID),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_START_WAYLINE_WHEN_WAYLINE_RUNNING = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_START_WAYLINE_WHEN_WAYLINE_RUNNING),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_BREAK_WAYLINE_IN_CUR_STATE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_BREAK_WAYLINE_IN_CUR_STATE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_STOP_WAYLINE_WHEN_WAYLINE_NOT_RUNNING = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_STOP_WAYLINE_WHEN_WAYLINE_NOT_RUNNING),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_BREAK_WAYLINE_WHEN_WAYLINE_NOT_RUNNING = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_BREAK_WAYLINE_WHEN_WAYLINE_NOT_RUNNING),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_REQUEST_DRONE_CONTROL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_REQUEST_DRONE_CONTROL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_RESUME_WAYLINE_IN_CUR_STATE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_RESUME_WAYLINE_IN_CUR_STATE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_HEIGHT_LIMIT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_HEIGHT_LIMIT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RADIUS_LIMIT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RADIUS_LIMIT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CROSS_FLYLIMIT_AERA = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CROSS_FLYLIMIT_AERA),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_LOW_LIMIT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_LOW_LIMIT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_OBSTACAL_STOP = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_OBSTACAL_STOP),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RTK_DISCONNECT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RTK_DISCONNECT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_BOUNDARY_LIMIT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_BOUNDARY_LIMIT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RC_PITCH_ROLL_BREAK = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RC_PITCH_ROLL_BREAK),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_AIRPORT_HEIGHT_LIMIT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_AIRPORT_HEIGHT_LIMIT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_REQUEST_TAKEOFF_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_REQUEST_TAKEOFF_FAIL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_AUTOTAKEOFF_RUN_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_AUTOTAKEOFF_RUN_FAIL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_REQUEST_WAYLINE_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_REQUEST_WAYLINE_FAIL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_AGRO_PLAN_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_AGRO_PLAN_FAIL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_REQUEST_QUICK_TAKEOFF_ASSIST_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_REQUEST_QUICK_TAKEOFF_ASSIST_FAIL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_QUICK_TAKEOFF_ASSIST_RUN_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_QUICK_TAKEOFF_ASSIST_RUN_FAIL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_VFENCE_LIMIT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_VFENCE_LIMIT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_GPS_INVALID = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_GPS_INVALID),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_START_AT_CURRENT_RC_MODE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_START_AT_CURRENT_RC_MODE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_HOME_POINT_NOT_RECORDED = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_HOME_POINT_NOT_RECORDED),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_LOWER_BATTERY = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_LOWER_BATTERY),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RETURN_HOME = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RETURN_HOME),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ADSB_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ADSB_ERROR),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RC_LOST = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RC_LOST),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RTK_NOT_READY = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RTK_NOT_READY),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_DRONE_IS_MOVING = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_DRONE_IS_MOVING),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_DRONE_ON_GROUND_MOTOR_ON = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_DRONE_ON_GROUND_MOTOR_ON),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_SURFACE_FOLLOW_CAMERA_INVALID = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_SURFACE_FOLLOW_CAMERA_INVALID),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_SURFACE_FOLLOW_HEIGHT_INVALID = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_SURFACE_FOLLOW_HEIGHT_INVALID),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_SURFACE_FOLLOW_MAP_WRONG = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_SURFACE_FOLLOW_MAP_WRONG),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_HOMEPOINT_NOT_MATCH_RTK = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_HOMEPOINT_NOT_MATCH_RTK),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_STRONG_WIND_GOHOME = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_STRONG_WIND_GOHOME),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_DRONE_CRITICAL_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_DRONE_CRITICAL_ERROR),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_CANNOT_FIND_PAYLOAD = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_CANNOT_FIND_PAYLOAD),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_EXECUTION_FAILED = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_EXECUTION_FAILED),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_FARM_NO_PESTICIDE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_FARM_NO_PESTICIDE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_RADAR_DISCONNECT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_RADAR_DISCONNECT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_EXIT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_EXIT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_BREAK = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_BREAK),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_SET_GOHOME = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_SET_GOHOME),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_AGRO_PLANNER_STATE_CHANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_AGRO_PLANNER_STATE_CHANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_USER_SWITCH_RC_MODE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_USER_SWITCH_RC_MODE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INIT_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INIT_FAIL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_JOB_EXIT_BUT_MIS_RUNNING = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_JOB_EXIT_BUT_MIS_RUNNING),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_ON_GROUND_MOTOR_ON_CANNOT_GO = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_ON_GROUND_MOTOR_ON_CANNOT_GO),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_START_INDEX_OR_PROG = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_START_INDEX_OR_PROG),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_CSYS_MODE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_CSYS_MODE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_HEIGHT_MODE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_HEIGHT_MODE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_FLY_WP_MODE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_FLY_WP_MODE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_YAW_MODE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_YAW_MODE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_TURN_DIR_MODE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_TURN_DIR_MODE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_WP_TYPE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_WP_TYPE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_FIR_LAS_WP_TYPE_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_FIR_LAS_WP_TYPE_ERROR),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_GLOB_VEL_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_GLOB_VEL_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_NUM_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_NUM_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_LAT_LONG_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_LAT_LONG_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_DAMP_DIS_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_DAMP_DIS_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_MAX_VEL_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_MAX_VEL_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_VEL_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_VEL_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_YAW_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_YAW_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_YAW_MODE_IN_VERT_SEGM = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_YAW_MODE_IN_VERT_SEGM),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_BREAK_INFO_MISSION_ID_CHANGED = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_BREAK_INFO_MISSION_ID_CHANGED),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_BREAK_INFO_PROGRESS_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_BREAK_INFO_PROGRESS_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_BREAK_INFO_INVALID_MISSION_STATE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_BREAK_INFO_INVALID_MISSION_STATE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_WP_BREAK_INFO_WP_INDEX_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_WP_BREAK_INFO_WP_INDEX_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_BREAK_LAT_LONG_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_BREAK_LAT_LONG_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_BREAK_INFO_WP_YAW_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_BREAK_INFO_WP_YAW_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_INVALID_BREAK_INFO_FLAG = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_INVALID_BREAK_INFO_FLAG),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_GET_TRAJ_INFO_FAILED = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_GET_TRAJ_INFO_FAILED),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_GENERATE_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_GENERATE_FAIL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_LIB_RUN_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_LIB_RUN_FAIL),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRAJ_LIB_EMERGENCY_BRAKE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRAJ_LIB_EMERGENCY_BRAKE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_NOT_FOUND = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_NOT_FOUND),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_INDEX_REPEATED = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_INDEX_REPEATED),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_INFO_SIZE_TOO_LONG_OR_TOO_SHORT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_INFO_SIZE_TOO_LONG_OR_TOO_SHORT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_EMPTY = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_EMPTY),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_LAYER_EMPTY = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_LAYER_EMPTY),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_ID_REPEATED = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_ID_REPEATED),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_NODE_CHILDREN_NUM_LT_2 = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_NODE_CHILDREN_NUM_LT_2),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_INDEX_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_INDEX_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_ID_IS_65535 = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_ID_IS_65535),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_NODE_CHILDNUM_SUM_NOT_EQ_NEXT_LAYER_SIZE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_NODE_CHILDNUM_SUM_NOT_EQ_NEXT_LAYER_SIZE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_LAYER_NUM_TOO_MORE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_LAYER_NUM_TOO_MORE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_LAYER_NUM_TOO_LESS = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_LAYER_NUM_TOO_LESS),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_GROUP_NUM_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_GROUP_NUM_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_GROUP_VALID_RANGE_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_GROUP_VALID_RANGE_ERROR),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_ROOT_STATUS_INVALID = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_ROOT_STATUS_INVALID),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_TREE_NODE_STATUS_INVALID = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_TREE_NODE_STATUS_INVALID),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_ACTION_GROUP_ID_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_ACTION_GROUP_ID_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_STATUS_TREE_SIZE_ERROR = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_STATUS_TREE_SIZE_ERROR),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_TRIGGER_RUN_RESULT_INVALID = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_TRIGGER_RUN_RESULT_INVALID),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_ACTION_GROUP_ID_REPEATED = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_ACTION_GROUP_ID_REPEATED),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_ACTION_LOCATION_REPEATED = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_ACTION_LOCATION_REPEATED),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_BREAK_INFO_ACTION_LOCATION_OUT_OF_RANGE = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_BREAK_INFO_ACTION_LOCATION_OUT_OF_RANGE),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_RESUME_ID_NOT_IN_BREAK_INFO = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_RESUME_ID_NOT_IN_BREAK_INFO),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_RESUME_INFO_MODIFY_ACTION_STATUS_FROM_NO_INTERRUPT_TO_INTERRUPT = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_RESUME_INFO_MODIFY_ACTION_STATUS_FROM_NO_INTERRUPT_TO_INTERRUPT),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTION_COMMON_ACTION_RESUME_FAIL_FOR_INVALID_RESUME_INFO = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTION_COMMON_ACTION_RESUME_FAIL_FOR_INVALID_RESUME_INFO),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_ACTUATOR_COMMON_ACTUATOR_NOT_FOUND = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_ACTUATOR_COMMON_ACTUATOR_NOT_FOUND),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRIGGER_NOT_FOUND = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRIGGER_NOT_FOUND),
|
||||
DJI_ERROR_WAYPOINT_V3_MODULE_CODE_TRIGGER_SINGLE_TIME_CHECK_FAIL = DJI_ERROR_CODE(DJI_ERROR_MODULE_WAYPOINT_V3, DJI_ERROR_WAYPOINT_V3_MODULE_RAW_CODE_TRIGGER_SINGLE_TIME_CHECK_FAIL),
|
||||
};
|
||||
//@formatter:on
|
||||
|
||||
|
||||
@ -520,6 +520,12 @@ typedef enum {
|
||||
DJI_FC_SUBSCRIPTION_TOPIC_BATTERY_SINGLE_INFO_INDEX2 = DJI_DATA_SUBSCRIPTION_TOPIC(DJI_DATA_SUBSCRIPTION_MODULE_FC,
|
||||
47),
|
||||
|
||||
/*!
|
||||
* @brief Please refer to ::T_DjiFcSubscriptionImuAttiNaviDataWithTimestamp for information about data structure.
|
||||
* @datastruct \ref T_DjiFcSubscriptionImuAttiNaviDataWithTimestamp
|
||||
*/
|
||||
DJI_FC_SUBSCRIPTION_TOPIC_IMU_ATTI_NAVI_DATA_WITH_TIMESTAMP = DJI_DATA_SUBSCRIPTION_TOPIC(DJI_DATA_SUBSCRIPTION_MODULE_FC, 48),
|
||||
|
||||
/*! Total number of topics that can be subscribed. */
|
||||
DJI_FC_SUBSCRIPTION_TOPIC_TOTAL_NUMBER,
|
||||
} E_DjiFcSubscriptionTopic;
|
||||
@ -1165,6 +1171,27 @@ typedef struct GimbalThreeData {
|
||||
GimbalAnglesData anglesData[3];
|
||||
} T_DjiFcSubscriptionThreeGimbalData;
|
||||
|
||||
/**
|
||||
* @brief Struct for the topic DJI_FC_SUBSCRIPTION_TOPIC_IMU_ATTI_NAVI_DATA_WITH_TIMESTAMP. Used in M300
|
||||
*/
|
||||
typedef struct ImuAttiNaviDataWithTimestamp {
|
||||
uint16_t version;
|
||||
uint16_t flag;
|
||||
dji_f32_t pn_x;
|
||||
dji_f32_t pn_y;
|
||||
dji_f32_t pn_z;
|
||||
dji_f32_t vn_x;
|
||||
dji_f32_t vn_y;
|
||||
dji_f32_t vn_z;
|
||||
dji_f32_t an_x;
|
||||
dji_f32_t an_y;
|
||||
dji_f32_t an_z;
|
||||
dji_f32_t q[4];
|
||||
uint16_t resv;
|
||||
uint16_t cnt;
|
||||
uint32_t timestamp;
|
||||
} T_DjiFcSubscriptionImuAttiNaviDataWithTimestamp;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
|
||||
@ -260,21 +260,29 @@ typedef struct {
|
||||
typedef struct {
|
||||
char serialNum[32];
|
||||
} T_DjiFlightControllerGeneralInfo;
|
||||
|
||||
typedef struct {
|
||||
dji_f64_t latitude; /*!< unit: rad */
|
||||
dji_f64_t longitude; /*!< unit: rad */
|
||||
uint16_t altitude;
|
||||
} T_DjiFlightControllerRidInfo;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
/**
|
||||
* @brief Initialise flight controller module, and user should call this function
|
||||
* before using flight controller features.
|
||||
* @param ridInfo: Use PSDK to control the aircraft, must report the correct RID information.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiFlightController_Init(void);
|
||||
T_DjiReturnCode DjiFlightController_Init(T_DjiFlightControllerRidInfo ridInfo);
|
||||
|
||||
/**
|
||||
* @brief DeInitialise flight controller module.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiFlightController_Deinit(void);
|
||||
T_DjiReturnCode DjiFlightController_DeInit(void);
|
||||
|
||||
/**
|
||||
* @brief Enable/Disable RTK position function.
|
||||
@ -519,7 +527,7 @@ T_DjiReturnCode DjiFlightController_SetHomeLocationUsingCurrentAircraftLocation(
|
||||
* @brief Set go home altitude.
|
||||
* @note If aircraft's current altitude is higher than the setting value of go home altitude, aircraft will go home
|
||||
* using current altitude. Otherwise, it will climb to setting of go home altitude ,and then execute go home action.
|
||||
* Go home altitude setting is 20m ~ 500m.
|
||||
* Go home altitude setting is 20m ~ 1500m.
|
||||
* @param altitude: go home altitude, unit: meter
|
||||
* @return Execution result.
|
||||
*/
|
||||
|
||||
@ -66,6 +66,12 @@ typedef enum {
|
||||
/*! Reset yaw axis and pitch axis of gimbal. Reset angle of yaw axis to sum of yaw axis angle of aircraft and fine tune
|
||||
* angle of yaw axis of gimbal, and reset pitch axis angle to the fine tune angle. */
|
||||
DJI_GIMBAL_RESET_MODE_PITCH_AND_YAW = 3,
|
||||
/*! Reset only pitch axis of gimbal. */
|
||||
DJI_GIMBAL_RESET_MODE_PITCH_ONLY = 4,
|
||||
/*! Reset only roll axis of gimbal. */
|
||||
DJI_GIMBAL_RESET_MODE_ROLL_ONLY = 5,
|
||||
/*! Reset only yaw axis of gimbal. */
|
||||
DJI_GIMBAL_RESET_MODE_YAW_ONLY = 6,
|
||||
/*! Reset yaw axis and pitch axis of gimbal. Reset angle of yaw axis to sum of yaw axis angle of aircraft and fine tune
|
||||
* angle of yaw axis of gimbal, and reset pitch axis angle to sum of -90 degree and fine tune angle if gimbal
|
||||
* downward, sum of 90 degree and fine tune angle if upward. */
|
||||
|
||||
@ -28,6 +28,7 @@
|
||||
#define DJI_GIMBAL_MANAGER_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include <dji_gimbal.h>
|
||||
#include "dji_typedef.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -73,9 +74,10 @@ T_DjiReturnCode DjiGimbalManager_SetMode(E_DjiMountPosition mountPosition, E_Dji
|
||||
/**
|
||||
* @brief Reset the pitch and yaw of the gimbal.
|
||||
* @param mountPosition: gimbal mount position, input limit see enum E_DjiMountPosition
|
||||
* @param mode: Reset mode, input limit see enum E_DjiGimbalResetMode
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiGimbalManager_Reset(E_DjiMountPosition mountPosition);
|
||||
T_DjiReturnCode DjiGimbalManager_Reset(E_DjiMountPosition mountPosition, E_DjiGimbalResetMode resetMode);
|
||||
|
||||
/**
|
||||
* @brief Rotate the angle of the gimbal.
|
||||
@ -86,6 +88,46 @@ T_DjiReturnCode DjiGimbalManager_Reset(E_DjiMountPosition mountPosition);
|
||||
*/
|
||||
T_DjiReturnCode DjiGimbalManager_Rotate(E_DjiMountPosition mountPosition, T_DjiGimbalManagerRotation rotation);
|
||||
|
||||
/*!
|
||||
* @brief Prototype of callback function used to enable or disable extended pitch axis angle range.
|
||||
* @details Switching the gimbal limit euler angle of pitch axis to the extended limit angle or the default limit
|
||||
* angle.
|
||||
* @param mountPosition: gimbal mount position, input limit see enum E_DjiMountPosition
|
||||
* @param enabledFlag: flag specified whether enable or disable extended pitch axis angle range.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiGimbalManager_SetPitchRangeExtensionEnabled(E_DjiMountPosition mountPosition, bool enabledFlag);
|
||||
|
||||
/**
|
||||
* @brief Set max speed percentage for gimbal controller.
|
||||
* @param mountPosition: gimbal mount position, input limit see enum E_DjiMountPosition
|
||||
* @param axis: axis to be set.
|
||||
* @param maxSpeedPercentage: max speed value. Recommended calculation formula is "spd = default_max_spd * x / 100",
|
||||
* x is default max speed value. Range from 1 to 100.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiGimbalManager_SetControllerMaxSpeedPercentage(E_DjiMountPosition mountPosition, E_DjiGimbalAxis axis,
|
||||
uint8_t maxSpeedPercentage);
|
||||
|
||||
/**
|
||||
* @brief Set smooth factor for gimbal controller, using to smooth control.
|
||||
* @param mountPosition: gimbal mount position, input limit see enum E_DjiMountPosition
|
||||
* @param axis: axis to be set.
|
||||
* @param smoothingFactor: smooth factor. The larger the value, the smaller the acceleration of gimbal. Recommended
|
||||
* calculation formula is "acc = 10000 * (0.8 ^ (1 + x)) deg/s^2", x is smooth factor. Range from 0 to 30.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiGimbalManager_SetControllerSmoothFactor(E_DjiMountPosition mountPosition, E_DjiGimbalAxis axis,
|
||||
uint8_t smoothingFactor);
|
||||
|
||||
/**
|
||||
* @brief Restore factory settings of gimbal, including fine tune angle, pitch angle extension enable flag and max
|
||||
* speed etc.
|
||||
* @param mountPosition: gimbal mount position, input limit see enum E_DjiMountPosition
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiGimbalManager_RestoreFactorySettings(E_DjiMountPosition mountPosition);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -29,6 +29,8 @@
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "dji_typedef.h"
|
||||
#include "dji_hms_customization.h"
|
||||
#include "dji_hms_manager.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@ -37,113 +39,8 @@ extern "C" {
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef enum {
|
||||
DJI_HMS_ERROR_LEVEL_NONE = 0,
|
||||
DJI_HMS_ERROR_LEVEL_HINT,
|
||||
DJI_HMS_ERROR_LEVEL_WARN,
|
||||
DJI_HMS_ERROR_LEVEL_CRITICAL,
|
||||
DJI_HMS_ERROR_LEVEL_FATAL,
|
||||
} E_DjiHmsErrorLevel;
|
||||
|
||||
typedef struct {
|
||||
uint32_t errorCode;
|
||||
uint8_t componentIndex;
|
||||
uint8_t errorLevel;
|
||||
} T_DjiHmsInfo;
|
||||
|
||||
typedef struct {
|
||||
T_DjiHmsInfo *hmsInfo;
|
||||
uint32_t hmsInfoNum;
|
||||
} T_DjiHmsInfoTable;
|
||||
|
||||
typedef struct {
|
||||
char *fileName; /*!< The file name of the hms text config file */
|
||||
uint32_t fileSize; /*!< The file size of the hms text config file, uint : byte */
|
||||
const uint8_t *fileBinaryArray; /*!< The binary C array of the hms text config file */
|
||||
} T_DjiHmsFileBinaryArray;
|
||||
|
||||
typedef struct {
|
||||
uint16_t binaryArrayCount; /*!< Binary array count. */
|
||||
T_DjiHmsFileBinaryArray *fileBinaryArrayList; /*!< Pointer to binary array list */
|
||||
} T_DjiHmsBinaryArrayConfig;
|
||||
|
||||
typedef T_DjiReturnCode (*DjiHmsInfoCallback)(T_DjiHmsInfoTable hmsInfoTable);
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
/**
|
||||
* @brief Initialise hms module, and user should call this function
|
||||
* before using hms features.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHms_Init(void);
|
||||
|
||||
/**
|
||||
* @brief Deinitialise hms module.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHms_DeInit(void);
|
||||
|
||||
/**
|
||||
* @brief Register callback to get hms info.
|
||||
* @note: Data is pushed with a frequency of 1Hz.
|
||||
* @param callback: see reference of DjiHmsInfoCallback.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHms_RegHmsInfoCallback(DjiHmsInfoCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Inject custom hms error code to APP.
|
||||
* @note: For the same hms error code, a single call is enough, no need to call repeatedly.
|
||||
* @param errorCode: hms error code, value range: [0x1E020000 ~ 0x1E02FFFF].
|
||||
* @param errorLevel: hms error level, see reference of E_DjiHmsErrorLevel.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHms_InjectHmsErrorCode(uint32_t errorCode, E_DjiHmsErrorLevel errorLevel);
|
||||
|
||||
/**
|
||||
* @brief Eliminate custom hms error code to APP.
|
||||
* @note: For the same hms error code, a single call is enough, no need to call repeatedly.
|
||||
* @param errorCode: hms error code, value range: [0x1E020000 ~ 0x1E02FFFF].
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHms_EliminateHmsErrorCode(uint32_t errorCode);
|
||||
|
||||
/**
|
||||
* @brief Register default hms text configuration file by directory path.
|
||||
* @param configDirPath: the hms text configuration by directory path.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHms_RegDefaultHmsTextConfigByDirPath(const char *configDirPath);
|
||||
|
||||
/**
|
||||
* @brief Register hms text configuration file by directory path.
|
||||
* @note Different hms text configurations for several language require the same hms config.
|
||||
* @param appLanguage: mobile app language type.
|
||||
* @param configDirPath: the hms text configuration by directory path.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHms_RegHmsTextConfigByDirPath(E_DjiMobileAppLanguage appLanguage,
|
||||
const char *configDirPath);
|
||||
|
||||
/**
|
||||
* @brief Register default hms text configuration config by binary array.
|
||||
* @note In RTOS, most likely there is no file system. The hms text config file content can use C array express. Use this
|
||||
* function and DjiHms_RegDefaultHmsTextConfigByBinaryArray set hms text configuration. When the language is not cover in
|
||||
* your setting by DjiHms_RegHmsTextConfigByBinaryArray, the hms text configuration uses setting by this function.
|
||||
* @param binaryArrayConfig: the binary array config for hms text configuration.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHms_RegDefaultHmsTextConfigByBinaryArray(const T_DjiHmsBinaryArrayConfig *binaryArrayConfig);
|
||||
|
||||
/**
|
||||
* @brief Register hms text config by binary array configuration.
|
||||
* @note Different hms text configurations for several language require the same hms config.
|
||||
* @param appLanguage: mobile app language type.
|
||||
* @param binaryArrayConfig: the binary array config for hms text configuration.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHms_RegHmsTextConfigByBinaryArray(E_DjiMobileAppLanguage appLanguage,
|
||||
const T_DjiHmsBinaryArrayConfig *binaryArrayConfig);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
133
psdk_lib/include/dji_hms_customization.h
Normal file
133
psdk_lib/include/dji_hms_customization.h
Normal file
@ -0,0 +1,133 @@
|
||||
/**
|
||||
********************************************************************
|
||||
* @file dji_hms_customization.h
|
||||
* @brief This is the header file for "dji_hms_customization.c", defining the structure and
|
||||
* (exported) function prototypes.
|
||||
*
|
||||
* @copyright (c) 2018 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 DJI_HMS_CUSTOMIZATION_H
|
||||
#define DJI_HMS_CUSTOMIZATION_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef enum {
|
||||
DJI_HMS_ERROR_LEVEL_NONE = 0,
|
||||
DJI_HMS_ERROR_LEVEL_HINT,
|
||||
DJI_HMS_ERROR_LEVEL_WARN,
|
||||
DJI_HMS_ERROR_LEVEL_CRITICAL,
|
||||
DJI_HMS_ERROR_LEVEL_FATAL,
|
||||
} E_DjiHmsErrorLevel;
|
||||
|
||||
typedef struct {
|
||||
char *fileName; /*!< The file name of the hms text config file */
|
||||
uint32_t fileSize; /*!< The file size of the hms text config file, uint : byte */
|
||||
const uint8_t *fileBinaryArray; /*!< The binary C array of the hms text config file */
|
||||
} T_DjiHmsFileBinaryArray;
|
||||
|
||||
typedef struct {
|
||||
uint16_t binaryArrayCount; /*!< Binary array count. */
|
||||
T_DjiHmsFileBinaryArray *fileBinaryArrayList; /*!< Pointer to binary array list */
|
||||
} T_DjiHmsBinaryArrayConfig;
|
||||
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
/**
|
||||
* @brief Initialise hms customization module, and user should call this function
|
||||
* before using hms customization features.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsCustomization_Init(void);
|
||||
|
||||
/**
|
||||
* @brief DeInitialize hms manager module.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsCustomization_DeInit(void);
|
||||
|
||||
/**
|
||||
* @brief Inject custom hms error code to APP.
|
||||
* @note: For the same hms error code, a single call is enough, no need to call repeatedly.
|
||||
* @param errorCode: hms error code, value range: [0x1E020000 ~ 0x1E02FFFF].
|
||||
* @param errorLevel: hms error level, see reference of E_DjiHmsErrorLevel.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsCustomization_InjectHmsErrorCode(uint32_t errorCode, E_DjiHmsErrorLevel errorLevel);
|
||||
|
||||
/**
|
||||
* @brief Eliminate custom hms error code to APP.
|
||||
* @note: For the same hms error code, a single call is enough, no need to call repeatedly.
|
||||
* @param errorCode: hms error code, value range: [0x1E020000 ~ 0x1E02FFFF].
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsCustomization_EliminateHmsErrorCode(uint32_t errorCode);
|
||||
|
||||
/**
|
||||
* @brief Register default hms text configuration file by directory path.
|
||||
* @param configDirPath: the hms text configuration by directory path.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsCustomization_RegDefaultHmsTextConfigByDirPath(const char *configDirPath);
|
||||
|
||||
/**
|
||||
* @brief Register hms text configuration file by directory path.
|
||||
* @note Different hms text configurations for several language require the same hms config.
|
||||
* @param appLanguage: mobile app language type.
|
||||
* @param configDirPath: the hms text configuration by directory path.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsCustomization_RegHmsTextConfigByDirPath(E_DjiMobileAppLanguage appLanguage,
|
||||
const char *configDirPath);
|
||||
|
||||
/**
|
||||
* @brief Register default hms text configuration config by binary array.
|
||||
* @note In RTOS, most likely there is no file system. The hms text config file content can use C array express. Use this
|
||||
* function and DjiHms_RegDefaultHmsTextConfigByBinaryArray set hms text configuration. When the language is not cover in
|
||||
* your setting by DjiHms_RegHmsTextConfigByBinaryArray, the hms text configuration uses setting by this function.
|
||||
* @param binaryArrayConfig: the binary array config for hms text configuration.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsCustomization_RegDefaultHmsTextConfigByBinaryArray(const T_DjiHmsBinaryArrayConfig
|
||||
*binaryArrayConfig);
|
||||
|
||||
/**
|
||||
* @brief Register hms text config by binary array configuration.
|
||||
* @note Different hms text configurations for several language require the same hms config.
|
||||
* @param appLanguage: mobile app language type.
|
||||
* @param binaryArrayConfig: the binary array config for hms text configuration.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsCustomization_RegHmsTextConfigByBinaryArray(E_DjiMobileAppLanguage appLanguage,
|
||||
const T_DjiHmsBinaryArrayConfig *binaryArrayConfig);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // DJI_HMS_CUSTOMIZATION_H
|
||||
/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/
|
||||
@ -43,7 +43,9 @@ typedef struct {
|
||||
const char *flyAlarmInfo; /*! alarm information when the flight is in the air*/
|
||||
} T_DjiHmsErrCodeInfo;
|
||||
|
||||
/*! HMS's error code table*/
|
||||
/*! Note: This api header file will not be maintained in the future, please refer to the latest hms error code file in
|
||||
* the hms sample.
|
||||
*/
|
||||
const T_DjiHmsErrCodeInfo hmsErrCodeInfoTbl[] = {
|
||||
{0x16070035, "Aircraft D-RTK antenna error. Fly with caution", ""},
|
||||
{0x16070034, "RTK flight heading inconsistent with other sources. Fly with caution", ""},
|
||||
|
||||
80
psdk_lib/include/dji_hms_manager.h
Normal file
80
psdk_lib/include/dji_hms_manager.h
Normal file
@ -0,0 +1,80 @@
|
||||
/**
|
||||
********************************************************************
|
||||
* @file dji_hms_manager.h
|
||||
* @brief This is the header file for "dji_hms_manager.c", defining the structure and
|
||||
* (exported) function prototypes.
|
||||
*
|
||||
* @copyright (c) 2018 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 DJI_HMS_MANAGER_H
|
||||
#define DJI_HMS_MANAGER_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "dji_typedef.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef struct {
|
||||
uint32_t errorCode;
|
||||
uint8_t componentIndex;
|
||||
uint8_t errorLevel;
|
||||
} T_DjiHmsInfo;
|
||||
|
||||
typedef struct {
|
||||
T_DjiHmsInfo *hmsInfo;
|
||||
uint32_t hmsInfoNum;
|
||||
} T_DjiHmsInfoTable;
|
||||
|
||||
typedef T_DjiReturnCode (*DjiHmsInfoCallback)(T_DjiHmsInfoTable hmsInfoTable);
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
/**
|
||||
* @brief Initialise hms manager module, and user should call this function
|
||||
* before using hms manager features.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsManager_Init(void);
|
||||
|
||||
/**
|
||||
* @brief DeInitialize hms manager module.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsManager_DeInit(void);
|
||||
|
||||
/**
|
||||
* @brief Register callback to get hms info.
|
||||
* @note: Data is pushed with a frequency of 1Hz.
|
||||
* @param callback: see reference of DjiHmsInfoCallback.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiHmsManager_RegHmsInfoCallback(DjiHmsInfoCallback callback);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // DJI_HMS_MANAGER_H
|
||||
/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/
|
||||
74
psdk_lib/include/dji_interest_point.h
Normal file
74
psdk_lib/include/dji_interest_point.h
Normal file
@ -0,0 +1,74 @@
|
||||
/**
|
||||
********************************************************************
|
||||
* @file dji_interest_point.h
|
||||
* @version V1.0.0
|
||||
* @date 2020/11/19
|
||||
* @brief This is the header file for "dji_interest_point.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 DJI_INTEREST_POINT_H
|
||||
#define DJI_INTEREST_POINT_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "dji_platform.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
typedef struct {
|
||||
dji_f32_t curSpeed;
|
||||
dji_f32_t radius;
|
||||
uint8_t state;
|
||||
} T_DjiInterestPointMissionState;
|
||||
|
||||
typedef struct {
|
||||
dji_f64_t latitude;
|
||||
dji_f64_t longitude;
|
||||
dji_f32_t speed;
|
||||
} T_DjiInterestPointSettings;
|
||||
|
||||
typedef T_DjiReturnCode (*InterestPointMissionStateCallback)(T_DjiInterestPointMissionState missionState);
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
T_DjiReturnCode DjiInterestPoint_Init(void);
|
||||
|
||||
T_DjiReturnCode DjiInterestPoint_DeInit(void);
|
||||
|
||||
T_DjiReturnCode DjiInterestPoint_Start(T_DjiInterestPointSettings settings);
|
||||
|
||||
T_DjiReturnCode DjiInterestPoint_Stop(void);
|
||||
|
||||
T_DjiReturnCode DjiInterestPoint_SetSpeed(dji_f32_t speed);
|
||||
|
||||
T_DjiReturnCode DjiInterestPoint_RegMissionStateCallback(InterestPointMissionStateCallback callback);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // DJI_INTEREST_POINT_H
|
||||
/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/
|
||||
@ -39,6 +39,14 @@ extern "C" {
|
||||
/* Exported constants --------------------------------------------------------*/
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief Positioning rtcm data type.
|
||||
*/
|
||||
typedef enum {
|
||||
DJI_POSITIONING_RTCM_DATA_TYPE_RTK_ON_AIRCRAFT = 0,
|
||||
DJI_POSITIONING_RTCM_DATA_TYPE_RTK_BASE_STATION = 1,
|
||||
} E_DjiPositioningRtcmDataType;
|
||||
|
||||
/**
|
||||
* @brief Data structure that describes a positioning event.
|
||||
*/
|
||||
@ -84,6 +92,15 @@ typedef struct {
|
||||
T_DjiPositioningPositionStandardDeviation targetPointPositionStandardDeviation; /*!< Specifies position standard deviation of target points. */
|
||||
} T_DjiPositioningPositionInfo;
|
||||
|
||||
/**
|
||||
* @brief Prototype of callback function used to receive the rtk rtcm raw data.
|
||||
* @param index: the index of rtcm data package.
|
||||
* @param data: pointer to receive rtk rtcm data from aircraft.
|
||||
* @param dataLen: receive data length of rtcm data from aircraft.
|
||||
* @return Execution result.
|
||||
*/
|
||||
typedef T_DjiReturnCode (*DjiReceiveRtkRtcmDataCallback)(uint8_t index, const uint8_t *data, uint16_t dataLen);
|
||||
|
||||
/* Exported functions --------------------------------------------------------*/
|
||||
/**
|
||||
* @brief Initialise positioning module in blocking mode. User should call this function before all other positioning
|
||||
@ -128,6 +145,15 @@ void DjiPositioning_SetTaskIndex(uint8_t index);
|
||||
T_DjiReturnCode DjiPositioning_GetPositionInformationSync(uint8_t eventCount, T_DjiPositioningEventInfo *eventInfo,
|
||||
T_DjiPositioningPositionInfo *positionInfo);
|
||||
|
||||
/**
|
||||
* @brief Register callback function used to receive rtk rtcm raw data by data type.
|
||||
* @note The callback function will be called after registering. The call frequency depends on the number of satellites.
|
||||
* @param callback: pointer to the callback function.
|
||||
* @return Execution result.
|
||||
*/
|
||||
T_DjiReturnCode DjiPositioning_RegReceiveRtcmDataCallback(E_DjiPositioningRtcmDataType dataType,
|
||||
DjiReceiveRtkRtcmDataCallback callback);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -122,6 +122,7 @@ typedef enum {
|
||||
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. */
|
||||
@ -136,6 +137,8 @@ typedef enum {
|
||||
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. */
|
||||
} E_DjiCameraMediaFileType;
|
||||
|
||||
@ -228,6 +231,7 @@ typedef enum {
|
||||
DJI_CHANNEL_ADDRESS_EXTENSION_PORT,
|
||||
DJI_CHANNEL_ADDRESS_MASTER_RC_APP,
|
||||
DJI_CHANNEL_ADDRESS_SLAVE_RC_APP,
|
||||
DJI_CHANNEL_ADDRESS_CLOUD_API,
|
||||
} E_DjiChannelAddress;
|
||||
|
||||
/**
|
||||
|
||||
@ -34,10 +34,10 @@ 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 5 /*!< DJI SDK minor version num, when add functionality in a backwards compatible manner changes. Range from 0 to 99. */
|
||||
#define DJI_VERSION_MINOR 6 /*!< 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_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 1765 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */
|
||||
#define DJI_VERSION_BUILD 1882 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */
|
||||
|
||||
/* Exported types ------------------------------------------------------------*/
|
||||
|
||||
|
||||
@ -184,7 +184,7 @@ typedef enum {
|
||||
* using ``DJIWaypointV2_pointOfInterest`` setting point of interest coordiate and ``DJIWaypointV2_pointOfInterestAltitude``
|
||||
* setting point of interset altitute.
|
||||
*/
|
||||
DJI_WAYPOINT_V2_HEADING_TOWARDS_POINT_OD_INTEREST,
|
||||
DJI_WAYPOINT_V2_HEADING_TOWARDS_POINT_OF_INTEREST,
|
||||
|
||||
/**
|
||||
* The aircraft's heading rotate simultaneously with its gimbal's yaw.
|
||||
|
||||
Reference in New Issue
Block a user