KeyValue usage tutorial
Autel KeyValue Usage Tutorial
Overview
The KeyManager class provides a set of methods to access the request parameters of the hardware module and control the behavior of the hardware module, including Key Value setting, Value acquisition, Value monitoring and Action execution.
Through Key/Value, all Keys supported by KeyManager are debugged. Each Key will be limited to whether it supports setting, getting, monitoring, executing commands, and reporting.
1. AirLinkKey
KeyALinkBandMode
Description: Image transmission frequency band reading and writing
Input parameters:
enum class AirLinkBandModeEnum(val value: Int) {
AUTO(-2),
/**
* Location not found
*/
BAND_MODE_UNKNOWN(0),
/**
* 2.4G
*/
BAND_MODE_24G(1),
/**
*5.2G
*/
BAND_MODE_52G(2),
/**
* 2.4 and 5.2 automatic switching
*/
BAND_MODE_24G_52G(3),
/**
*5.8G
*/
BAND_MODE_58G(4),
/**
* 2.4 and 5.8 automatic switching
*/
BAND_MODE_24G_58G(5),
/**
* 5.2 and 5.8 automatic switching
*/
BAND_MODE_52G_58G(6),
/**
* 2.4, 5.2 and 5.8 automatic switching
*/
BAND_MODE_24G_52G_58G(7),
/**
* Single 900 frequency band
*/
BAND_MODE_900M(8),
/**
* 2.4, 5.8, 900M automatic switching
*/
BAND_MODE_24G_52G_900M(11),
/**
* 2.4, 5.8, 900M automatic switching
*/
BAND_MODE_24G_58G_900M(13),
/**
* 2.4, 5.2, 5.8, 900M automatic switching
*/
BAND_MODE_24G_52G_58G_900M(15),
/**
* All available frequency bands
*/
BAND_MODE_ALI_BAND( 65535);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyALinkTransmissionMode
Description: Image transmission clarity mode
Input parameters:
enum class VideoTransMissionModeEnum(val value: Int) {
/**
* Smooth Low Latency
*/
LOW_LATENCY(1),
/**
* High Quality
*/
HIGH_QUALITY(2),
/**
* 2.7K Ultra HD
*/
SUPER(3),
/**
* Unknown
*/
UNKNOWN(255);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyALinkFccCeMode
Functional Description: Radiated Power Mode
Input parameters:
enum class FccCeModeEnum(val value: Int) {
/**
* CE (Adaptive Mode)
*/
CE(0),
/**
* FCC (Full Band Mode)
*/
FCC(1),
/**
* CE_FOREVER (Adaptive mode), permanent effect (does not restore to default value after aircraft restart)
*/
CE_FOREVER(2),
/**
*FCC_FOREVER (full frequency band mode), permanent effect (does not restore to default value after aircraft restart)
*/
FCC_FOREVER(3);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyALinkStartMatching
Description: Start frequency binding
Input parameters: None
Output parameter: None
Type: Action
KeyALinkMatchingStatus
Description: Frequency link progress reporting event
Input parameters: None
Output parameter:
enum class AirLinkMatchStatusEnum (val value: Int) {
/**
* Unknown
*/
STATUS_UNKNOWN (0),
/**
* Start binding, Binding in progress
*/
STATUS_PAIRING (1),
/**
* Binding successful
*/
STATUS_SUC (2),
/**
* Binding timeout or frequency binding startup failure
*/
STATUS_FAILED (3),
/**
* The frequency binding action is completed regardless of success or failure
*/
STATUS_FINISH (4);
}
Type: Listen
KeyAirlinkControlHighSpeed
Description: Switch to high-speed mode 0-Normal mode, 1-High-speed file upload (upload task files), 2-High-speed download mode (download photos or videos), 3-Exclusive mode (upgrade)
Input parameters:
enum class HighSpeedEnum(val value: Int) {
/**
* Normal mode
*/
NORMAL(0),
/**
* High-speed file upload (upload task files)
*/
HIGH_UPLOAD(1),
/**
* 2- High-speed download mode (download photos or videos)
*/
HIGH_DOWNLOAD(2),
/**
* Exclusive mode
*/
EXCLUSIVE (3),
/**
* quit
*/
EXIT (4),
/**
* Super high-speed mode for uploading files
*/
SUPER_HIGH_UPLOAD(6);
}
Output parameter: None
Type: Action
KeyAirlinkGetHighSpeed
Description: Get high-speed mode interface
Input parameters: None
Output parameter:
enum class HighSpeedEnum(val value: Int) {
/**
* Normal mode
*/
NORMAL(0),
/**
* High-speed file upload (upload task files)
*/
HIGH_UPLOAD(1),
/**
* 2- High-speed download mode (download photos or videos)
*/
HIGH_DOWNLOAD(2),
/**
* Exclusive mode
*/
EXCLUSIVE (3),
/**
* quit
*/
EXIT (4),
/**
* Super high-speed mode for uploading files
*/
SUPER_HIGH_UPLOAD(6);
}
Type: Action
KeyAirlinkEnterSilenceMode
Description: Enter the silent mode of image transmission
Input parameters: None
Output parameter: None
Type: Action
KeyAirlinkLteStreamerMaxBtrate
Description: Maximum bitrate for 4G streaming
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAirlinkAtMaxBtrateVisible
Description: Maximum bit rate of visible light image transmission
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAirLinkVideoScreenClose
Description: Image transmission switch false Image transmission is enabled true Image transmission is disabled
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAirLinkPowerCtrl
Description: Image transmission wireless RF signal transmission power
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
2. AIServiceKey
KeyAiDetectTarget
Description:The aircraft detects targets and sends the detection bounding boxes to the app.
Request parameter:None
Output parameter:
// Data class for detection and tracking notification
data class DetectTrackNotifyBean(
var timestamp: Long = 0, // Timestamp
var frameId: Int = 0, // Frame ID
/**
* Resolution width
*/
var resolutionWidth: Int = 0,
/**
* Resolution height
*/
var resolutionHeight: Int = 0,
/**
* Number of detected objects
*/
var objNum: Int = 0,
/**
* List of bounding boxes for tracked objects
*/
var infoList: List<DetectObjectBean> = emptyList(),
var imageId: Int = 0, // Unique image ID (unique since power-on). Set to 0 if no image is saved this time.
var imageUrl: String = "", // Image path. Set to empty string if no image is saved this time.
/**
* Lens ID
*/
var lensId: Int = 0
)
// Data class for detected object information
data class DetectObjectBean(
/**
* X coordinate of the target in pixel space
*/
var startX: Float = 0f,
/**
* Y coordinate of the target in pixel space
*/
var startY: Float = 0f,
/**
* Width of the bounding box
*/
var width: Float = 0f,
/**
* Height of the bounding box
*/
var height: Float = 0f,
/**
* Type of the detected object
*/
var type: Int = 0,
/**
* Tracking status of the target
*/
var status: Int = 0,
/**
* Unique ID of the tracked object
*/
var objectId: Int = 0
)
Type:Listen
KeyTrackingTargetObject
Description: After the user selects a target on the App, the aircraft locks on the target and sends the tracking frame to the App
Input parameters: None
Output parameter:
data class TrackAreaBean(
/**
* Timestamp
*/
var timestamp: Long = 0L,
/**
* id
*/
var frameId: Int = 0,
/**
* Resolution width
*/
var resolutionWidth: Int = 0,
/**
* Resolution height
*/
var resolutionHeight: Int = 0,
/**
* quantity
*/
var objNum: Int = 0,
/**
* Tracking box array
*/
var infoList: List<ObjectBean>? = null,
/**
* Lens ID
*/
var lensId: Int
)
Type: Listen
KeyExtendedDetectReport
Description: The AIService reports the current extended capability set to the App.
Input parameters:None
Output parameter:
// Data class for extended detection capability
data class ExtendedDetectCapBean(
var modelId: Long,
var capList: MutableList<ExtendedDetectBean>
)
// Data class for extended detection model information
data class ExtendedDetectBean(
/**
* Extended detection model type value, e.g., 101
*/
var modelId: Int = 0,
/**
* Extended detection model type name, e.g., "umbrella"
*/
var modelName: String = ""
)
Type:Listen
3. AITrackingKey
KeyTrackingFreeFollow
Description: Free follow
Input parameters: None
Output parameter: None
Type: Action
KeyTrackingTripod
Description: Hover to follow
Input parameters: None
Output parameter: None
Type: Action
KeyTrackingDynamicFollow
Description: Intelligent 8-way
Input parameters: None
Output parameter: None
Type: Action
KeyTrackingParallel
Description: Parallel follow
Input parameters: None
Output parameter: None
Type: Action
KeyTrackingStop
Description: Follow the task to stop
Input parameters: None
Output parameter: None
Type: Action
KeyInfraredTrackingFreeFollow
Description: Infrared free following
Input parameters: None
Output parameter: None
Type: Action
KeyInfraredTrackingTripod
Description: Infrared hovering and following
Input parameters: None
Output parameter: None
Type: Action
KeyInfraredTrackingDynamicFollow
Description: Infrared intelligent eight-way
Input parameters: None
Output parameter: None
Type: Action
KeyInfraredTrackingParallel
Description: Infrared parallel following
Input parameters: None
Output parameter: None
Type: Action
KeyInfraredTrackingStop
Description: Infrared following task stops
Input parameters: None
Output parameter: None
Type: Action
KeySecurityIntelligentDetectEnter
Description: Enter the security intelligent detection mode
Input parameters:
data class AIDetectConfigBean(
var sceneType: AiDetectSceneTypeEnum = AiDetectSceneTypeEnum.UNRECOGNIZED, //Current scene type, reference value: AI_DETECT_SCENE_TYPE
var targetTypeList: List<Int>? = null, //The detection type list currently selected by the user, reference value: TARGET_TYPE, when the list is empty, it indicates the usage scenario type
var lensId: Int?= null
)
Output parameter: None
Type: Action
KeySecurityIntelligentDetectExit
Description: Exit security intelligent detection mode
Input parameters: None
Output parameter: None
Type: Action
KeyPanoramaIntelligentDetectEnter
Description: Enter the panoramic intelligent detection mode
Input parameters: None
Output parameter: None
Type: Action
KeyPanoramaIntelligentDetectExit
Description: Exit panoramic intelligent detection mode
Input parameters: None
Output parameter: None
Type: Action
KeyExtendIntelligentLockEnter
Description: Enter smart lock
Input parameters:ExtendAIDetectConfigBean
// Data class for extended AI detection configuration
data class ExtendAIDetectConfigBean(
/**
* Current scene type.
*/
var sceneType: AiDetectSceneTypeEnum = AiDetectSceneTypeEnum.UNRECOGNIZED,
/**
* Specifies the detection target types, referring to the DetectTargetEnum.
* If the list is empty, the scene type will be used instead.
*/
var targetTypeList: List<Int>? = null,
/**
* Specifies the lens ID.
*/
var lensId: Int? = null,
/**
* Enumeration of AI functions.
*/
var dfAIFunc: FuncEnum = FuncEnum.AI_DETECT
)
// AI Function Enumeration
enum class FuncEnum(val value: Int) {
/**
* AI Detection
*/
AI_DETECT(40),
/**
* Object Tracking
*/
OBJECT_TRACKING(41),
/**
* AI Detection with Object Tracking
*/
AI_DETECT_OBJECT_TRACKING(42),
UNKNOWN(-1);
}
Output parameter: None
Type: Action
KeyExtendIntelligentLockStart
Description: Start smart lock
Input parameters: TrackTargetRectBean
data class TrackTargetRectBean(
/**
* Starting point x coordinate
*/
val startX: Float = 0F,
/**
* Starting point y coordinate
*/
val startY: Float = 0F,
/**
* Width
*/
val width: Float = 0F,
/**
* high
*/
val height: Float = 0F,
/**
* Current lens id, value reference: Camera capability set
*/
var lensId: Int? = null,
/**
* Current lens id, value reference: Camera capability set
*/
var sceneType: AiDetectSceneTypeEnum,
/**
* Target ID
*/
var objectId: Int? = 0
/**
* Incremental sequence number
*/
var seqId:Int = 0
)
Output parameter: None
Type: Action
KeyExtendIntelligentLockExit
Description: Exit smart lock
Input parameters: ExtendAIExitBean
// Data class for extended AI exit information
data class ExtendAIExitBean(
/**
* Specifies the lens ID.
*/
var lensId: Int = 0,
/**
* Enumeration of AI functions.
*/
var dfAIFunc: FuncEnum = FuncEnum.AI_DETECT
)
// AI Function Enumeration
enum class FuncEnum(val value: Int) {
/**
* AI Detection
*/
AI_DETECT(40),
/**
* Object Tracking
*/
OBJECT_TRACKING(41),
/**
* AI Detection with Object Tracking
*/
AI_DETECT_OBJECT_TRACKING(42),
UNKNOWN(-1);
}
Output parameter: None
Type: Action
4. CameraKey
KeyCameraDeviceInfo
Description: Camera device information
Input parameters: None
Output parameter:
data class CameraDeviceInfoBean(
/**
* Identification code, a random number generated when the system starts, will not change before the system is restarted, used by the client to identify whether it is connected to other cameras
*/
var identifyCode: Int = 0,
/**
* Device Type
*/
var deviceType: String? = null,
/**
* Equipment Model
*/
var deviceModel: String? = null,
/**
* Protocol version
*/
var protocolVersion: Int = 0,
/**
* Manufacturer
*/
var manufacturer: String? = null,
/**
* Hardware version
*/
var firmwareVersion: String? = null,
/**
* Serial Number
*/
var serialNumber: String? = null,
/**
* Hardware ID
*/
var hardwareId: String? = null,
/**
* Lens Model
*/
var lensModel: String? = null,
/**
* Lens software version number
*/
var lensSoftVersion: String? = null,
)
Type: Get
KeyStorageType
Description: Storage device type
Input parameters:
enum class StorageTypeEnum(var value: Int) {
UNKNOWN(0xFF),
/**
* SD card
*/
SD(0),
/**
* EMMC
*/
EMMC(1);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyStorageStatus
Description: SD card status
Input parameters: None
Output parameter:
data class CardStatusBean(
/**
* SD card status
*/
var storageStatus: CardStatusEnum = CardStatusEnum.UNKNOWN,
/**
* Total SD card capacity in MB
*/
var totalSpace: Long = 0L,
/**
* SD card remaining capacity, in MB
*/
var freeSpace: Long = 0L,
/**
* Remaining recording time in seconds
*/
var remainRecordTime: Long = 0L,
/**
* Number of photos remaining
*/
var remainCaptureNum: Long = 0L,
)
Type: Get, Listen
KeyMMCStatus
Description: MMC onboard flash memory status
Input parameters:
data class CardStatusBean(
/**
* SD card status
*/
var storageStatus: CardStatusEnum = CardStatusEnum.UNKNOWN,
/**
* Total SD card capacity in MB
*/
var totalSpace: Long = 0L,
/**
* SD card remaining capacity, in MB
*/
var freeSpace: Long = 0L,
/**
* Remaining recording time in seconds
*/
var remainRecordTime: Long = 0L,
/**
* Number of photos remaining
*/
var remainCaptureNum: Long = 0L,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyVideoEncoderConfig
Functional Description: Video encoder configuration
Input parameters:
data class VideoEncoderConfigBean(
/**
* Stream ID, 0 - main stream, 1 - sub-stream (secondary stream)
*/
var streamId: Int = 0,
/**
* Video encoding type
*/
var encoding: VideoCompressStandardEnum = VideoCompressStandardEnum.UNKNOWN,
/**
* Image resolution/frame rate information
*/
var resolution: VideoResolutionBean? = null,
/**
* QP value
*/
var quality: Int = 0,
/**
* I frame interval
*/
var govLength: Int = 0,
/**
* Coding level
*/
var profile: VideoCompressProfileEnum = VideoCompressProfileEnum.UNKNOWN,
/**
* Stream type
*/
var bitrateType: VideoBitrateEnum = VideoBitrateEnum.UNKNOWN,
/**
* Bit rate
*/
var bitrate: Int = 0,
/**
* Slow motion on
*/
var slow : Boolean = false,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyVideoSourceConfig
Description: Video source configuration
Input parameters:
data class VideoSourceConfigBean(
/**
* Video rotation angle
*/
var rotation: Int = 0,
/**
* Video format
*/
var videoStandard: VideoStandardEnum = VideoStandardEnum.UNKNOWN,
/**
* Anti-flicker
*/
var antiFlicker: ResistanceBlinkEnum = ResistanceBlinkEnum.UNKNOWN,
/**
* Enable 3D noise reduction
*/
var enable3DNR: Boolean = false,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraGear
Description: Camera gear
Input parameters:
enum class CameraGearEnum(var value: Int) {
/**
* automatic
*/
AUTO(0),
/**
* Manual
*/
MANUAL(1),
/**
* Shutter priority
*/
SHUTTER_PRIORITY(2),
/**
* Aperture priority
*/
APERTURE_PRIORITY(3),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraMode
Description: Camera mode
Input parameters:
data class CameraWorkModeInfoBean(
/**
* Refer to CAMERA_WORK_MODE_TYPE
*/
var workMode: CameraWorkModeEnum = CameraWorkModeEnum.UNKNOWN,
/**
* Refer to CAMERA_TAKE_PHOTO_MODE_TYPE
*/
var photoMode: TakePhotoModeEnum = TakePhotoModeEnum.UNKNOWN,
/**
* Refer to CAMERA_RECORD_MODE_TYPE
*/
var videoMode: RecordModeEnum = RecordModeEnum.UNKNOWN,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyTakePhotoParameters
Description: Photo parameters
Input parameters:
data class TakePhotoParametersBean(
/**
* Image Type
*/
var picType: PhotoFormatEnum = PhotoFormatEnum.UNKNOWN,
/**
* Image resolution
*/
@ConvertIgnore
var resolution: PhotoResolutionEnum = PhotoResolutionEnum.PR_UNKNOWN,
/**
* Delayed photo shooting time
*/
var delaySeconds: Int = 0,
/**
* The pan/tilt rotation step in degrees
*/
var gimbalRollingStep: Int = 0,
/**
* Pan/tilt rotation angle
*/
var gimbalRollingDirection: GimbalRotateDirectionEnum = GimbalRotateDirectionEnum.CLOCKWISE,
/**
* Enable HDR
*/
var enableHDR: Boolean = false,
/**
* Number of photos per second in Burst mode
*/
var burstCount: Int = 0,
/**
* The duration of taking photos in Timelapse mode, in seconds
*/
var interval: Int = 0,
/**
* The pan/tilt rotation step in degrees
*/
var duration: Int = 0,
/**
* Switch video generation in Timelapse mode
*/
var composeVideo: Boolean = false,
/**
* Video playback frame rate when video generation is enabled in Timelapse mode
*/
var resolutionInfo: VideoResolutionBean? = null,
/**
* How many pictures can be captured at one time in AEB mode
*/
var aebCount: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRecordParameters
Description: Video recording parameters
Input parameters:
data class RecordParametersBean(
/**
* File Format
*/
var fileFormat: VideoFormatEnum = VideoFormatEnum.UNKNOWN,
/**
* Save audio stream when recording
*/
var enableAudio: Boolean = false,
/**
* Image resolution
*/
var enableSubtitle: Boolean = false,
/**
* Enable automatic photo taking function when recording video
*/
var enablePiv: Boolean = false,
/**
* Automatic photo taking interval for video recording
*/
var interval: Int = 0,
/**
* Slow motion video resolution playback frame rate settings
*/
var resolutionInfo: VideoResolutionBean? = null,
/**
* Maximum storage time of loop recording, in seconds
*/
var maxRecordTime: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyMeteringPoint
Description: Metering point
Input parameters:
data class MeteringPointBean(
/**
* Measuring point X coordinate 0-100
*/
var x: Int = 0,
/**
* Measuring point Y coordinate 0-100
*/
var y : Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyImageStyle
Description: Image style
Input parameters:
data class ImageStyleBean(
/**
*Image style
*/
var style: ImageStyleEnum = ImageStyleEnum.UNKNOWN,
/**
* Brightness, -3 - +3
*/
var brightness: Int = 0,
/**
*Contrast, -3 - +3
*/
var contrast: Int = 0,
/**
* Saturation, -3 - +3
*/
var saturation: Int = 0,
/**
* Chroma, -3 - +3
*/
var hue: Int = 0,
/**
* Sharpness, -3 - +3
*/
var sharpness: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyWhiteBalance
Description: White balance parameters
Input parameters:
data class WhiteBalanceBean(
/**
* White balance mode
*/
var mode: WhiteBalanceEnum = WhiteBalanceEnum.UNKNOWN,
/**
* Valid when Mode is set to Custom, range 2000 - 10000, step length 100
*/
var colorTemperature: Int = 0
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyImageColor
Description: Image color parameters
Input parameters:
enum class ImageColorEnum(var value: Int) {
/**
* Original image
*/
NONE(0),
/**
* Log style
*/
LOG(1),
/**
* Bright style
*/
VIVID(2),
/**
* Black and white style
*/
BLACK_WHITE(3),
/**
* Artistic style
*/
ART(4),
/**
* Movie Style
*/
FILM(5),
/**
* Beach Style
*/
BEACH(6),
/**
* Dreamy style
*/
DREAM(7),
/**
* Classical style
*/
CLASSIC(8),
/**
* Nostalgic style
*/
NOSTALGIC(9),
/**
*
*/
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyImageExposure
Description: Image exposure parameters
Request parameter: Double
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyImageIso
Description: Image sensitivity
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAELock
Description: AELock
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyShutterSpeed
Description: Shutter speed
Input parameters:
data class ShutterSpeedBean(
/**
*molecular
*/
var numerator: Int = 0,
/**
* Denominator
*/
var denominator: Int = 0
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyShutterMode
Description: Shutter mode
Input parameters:
enum class ShutterModeEnum(var value: Int) {
/**
* automatic
*/
AUTO(0),
/**
* Manual
*/
MANUAL(1),
/**
* Unknown
*/
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyFocusInfoMode
Description: Focus on information mode
Input parameters:
enum class FocusModeEnum(var value: Int) {
/**
* focus mode of AF
*/
AF(1),
/**
* focus mode of MF
*/
MF(2),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAFMeterMode
Description: Auto focus mode
Input parameters:
enum class AFLensFocusModeEnum(var value: Int) {
/**
* Average focus
*/
AVERAGE(0),
/**
* Center focus
*/
CENTER(1),
/**
* Point focus
*/
SPOT(2),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraFocusSpotArea
Description: Point focus coordinate group
Input parameters:
data class MeteringPointBean(
/**
* Measuring point X coordinate 0-100
*/
var x: Int = 0,
/**
* Measuring point Y coordinate 0-100
*/
var y : Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraMFObjectDistance
Description: Manual zoom Object distance Object distance [0-50]
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraAFAssistFocusEnable
Description: AF auxiliary focus enable
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraMFAssistFocusEnable
Description: MF auxiliary focus enable
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyApertureSize
Description: Aperture size
Request parameter: Double
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyApertureMode
Description: Aperture mode
Input parameters:
enum class ApertureModeEnum(var value: Int) {
/**
* automatic
*/
AUTO(0),
/**
* Manual
*/
MANUAL(1),
/**
* Unknown
*/
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyZoomFactor
Description: Digital/thermal imaging zoom information
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRecordPiv
Description: PIV recording status
Input parameters:
data class CameraRecordPivInfoBean(
/**
* Whether to enable
*/
var enable: Boolean = false,
/**
* Interval time
*/
var interval: Int = 0
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyHDR
Description: HDR configuration
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyDefog
Description: Mist penetration function configuration
Input parameters:
data class DefogBean(
/**
* Whether to enable
*/
var enable: Boolean = false,
/**
* Fog penetration intensity, range [1-10].
*/
var strength: DefogEnum = DefogEnum.DEFOG_CLOSE
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyROI
Description: ROI configuration
Input parameters:
data class ROIBean(
/**
*Is it enabled?
*/
var enable: Boolean = false,
/**
*ROI area configuration, supports setting 8 ROI areas at the same time
*/
var roiRegionList: MutableList<RoiRegionBean>? = null,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyISOMode
Description: Sensitivity mode
Input parameters:
enum class ISOModeEnum(var value: Int) {
/**
* automatic
*/
AUTO(0),
/**
* Manual
*/
MANUAL(1),
/**
* Unknown
*/
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRecordPacket
Description: Video segment packaging size
Input parameters:
data class RecordPacketBean(
/**
*The current storage device file system format
*/
var format: StorageTypeEnum = StorageTypeEnum.UNKNOWN,
/**
*Pre-recording file segment packing size (unit: M). If StorageFormat is SD card Fat32 or EMMC Fat32, it is fixed to 3500M. If it is SD card exFat format, the file segment size can be configured. If it is 0, it means no segmentation. The default segment size is 3500M.
*/
var recordPacket: Int = 0
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyWatermark
Description: Watermark
Input parameters:
data class WatermarkBean(
/**
* Time watermark switch, 0: off 1: on
*/
var enableTime: Int = 0,
/**
* Enable custom watermark
*/
var enableCustom: Boolean = false,
/**
* Custom watermark content currently only supports English characters, including uppercase and lowercase A-Za-z, numbers, and punctuation marks
*/
var custom: String? = null,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThermalColor
Description: Thermal imaging pseudo-color information
Input parameters:
enum class ThermalColorEnum(var value: Int) {
/**
* White hot
*/
WHITE_HOT(0),
/**
* Hot and cold
*/
BLACK_HOT(1),
/**
* rainbow
*/
RAINBOW(2),
/**
* Enhanced Rainbow
*/
RAIN_HC(3),
/**
* Iron Red
*/
IRON_BOW(4),
/**
* Lava
*/
LAVA(5),
/**
* Aurora
*/
ARCTIC(6),
/**
* Burning
*/
GLOW_BOW(7),
/**
* Gradient
*/
GRADED_FIRE(8),
/**
* Thermal detection
*/
HOTTEST(9),
/**-----GAOD Infrared-----**/
/**
* White hot
*/
GD_WHITE_HOT(30),
/**
* Black Hot
*/
GD_HOT_BLACK(31),
/**
* Rainbow 1
*/
GD_RAINBOW_1(32),
/**
* Rainbow 2
*/
GD_RAINBOW_2(33),
/**
* Iron Red
*/
GD_IRON_BOW(34),
/**
* Lava
*/
GD_LAVA(35),
/**
* Arctic
*/
GD_ARCTIC(36),
/**
* Hot iron
*/
GD_IRON_HOT(37),
/**
* Medical
*/
GD_MEDICAL(38),
/**
* Tracing
*/
GD_RED(39),
/**-----Gaode infrared end-----**/
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThermalMode
Description: Thermal imaging mode
Input parameters:
data class ThermalImageBean(
/**
* Image Mode
*/
var imageMode: ThermalImageModeEnum = ThermalImageModeEnum.UNKNOWN,
/**
* Contrast 0~255
*/
var contrast: Int = 0,
/**
* Brightness 0~511
*/
var lum: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThermalEnhance
Description: Thermal imaging image enhancement
Input parameters:
data class ThermalEnhanceBean(
/**
* Enable
*/
var enable: Boolean = false,
/**
* Intensity 1~8
*/
var strength: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThermalDenoising
Description: Thermal imaging image denoising
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThermalGain
Description: Thermal imaging image gain
Input parameters:
enum class ThermalGainEnum(var value: Int) {
/**
* High gain
*/
HIGH(0),
/**
* Low gain
*/
LOW(1),
/**
* automatic
*/
AUTO(2),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThermalIsotherm
Description: Thermal imaging isotherm
Input parameters:
data class ThermalIsothermBean(
/**
* model
*/
var mode: IsothermEnum = IsothermEnum.UNKNOWN,
/**
*High threshold in custom mode
*/
var hotThred: Int = 0,
/**
* Low threshold in custom mode
*/
var coldThred: Int = 0
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThermalTemperature
Functional Description: Thermal imaging temperature attributes
Input parameters:
data class ThermalTempAttrBean(
/**
* Temperature measurement mode
*/
var tempMode: TemperatureModeEnum = TemperatureModeEnum.UNKNOWN,
/**
* Point to the temperature measurement x coordinate, calculated in proportion to the width of the yuv image
*/
var touchX: Int = 0,
/**
* Point temperature measurement Y coordinate
*/
var touchY: Int = 0,
/**
* Regional temperature measurement x coordinate
*/
var regionX: Int = 0,
/**
* Regional temperature measurement Y coordinate
*/
var regionY: Int = 0,
/**
* Area temperature measurement width
*/
var regionW: Int = 0,
/**
* Regional temperature measurement is high
*/
var regionH: Int = 0,
/**
* Limit the x coordinate of the temperature measurement small screen
*/
var limitTempX: Int = 0,
/**
* Limit the y coordinate of the temperature measurement small screen
*/
var limitTempY: Int = 0,
/**
* Limit the width of the temperature measurement screen
*/
var limitTempW: Int = 0,
/**
* Limit the temperature measurement small screen height
*/
var limitTempH: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThermalTemperatureAlarm
Description: Thermal imaging temperature alarm attribute
Input parameters:
data class ThermalTempAlarmBean(
/**
* Alarm Enable
*/
var enable: Boolean = false,
/**
* Alarm when the temperature exceeds the threshold, unit: Celsius*10
*/
var hotThred: Int = 0,
/**
* If the temperature is lower than the threshold, an alarm will be triggered, in degrees Celsius*10
*/
var coldThred: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThermalRadiance
Description: Thermal imaging emissivity
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyTakePhotoResolution
Description: Camera photo resolution information
Input parameters:
enum class PhotoResolutionEnum(val width: Int, val height: Int, val tag: String,val prId:String) {
PR_8000_6000(8000, 6000, "48M","8000x6000"),
PR_6912_5184(6912, 5184, "36M","6192x5184"),
PR_4000_3000(4000, 3000, "12M","4000x3000"),
PR_1920_1200(1920, 1200, "1200P","1920x1200"),
PR_1920_1080(1920, 1080, "1080","1920x1080"),
PR_4096_3072(4096, 3072, "4K", "4096x3072"),
PR_8192_6144(8192, 6144, "50M","8192x6144"),
PR_640_512(640, 512, "640*512","640x512"),
PR_3840_2160(3840, 2160, "4K","3840x2160"),
PR_5472_3648(5472, 3648, "6K","5472x3648"),
PR_5472_3076(5472, 3076, "6K","5472x3076"),
PR_800_600(800, 600, "800*600","800x600"),
PR_UNKNOWN(0, 0, "unknown","unknown");
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRecordResolution
Description: Camera video resolution information
Input parameters:
data class VideoResolutionBean(
/**
* Resolution enumeration
*/
var videoResolutionEnum: VideoResolutionEnum = VideoResolutionEnum.VR_UNKNOWN,
/**
* Frame rate
*/
var fps: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyPhotoFileFormat
Description: Camera photo picture type
Input parameters:
enum class PhotoFormatEnum(val value: Int, val tag: String) {
/**
* JPG format of image captured
*/
JPG(0,"JPG"),
/**
* DNG format of image captured
*/
DNG(1,"DNG"),
/**
*JPGDNG format of image captured
*/
JPGDNG(2,"JPG+DNG"),
/**
* RJPEG format of image captured
*/
RJPEG(3,"RJPEG"),
/**
* RJPEGTIFF format of image captured
*/
RJPEGTIFF(4,"RJPEGTIFF"),
UNKNOWN(0xFF,"UNKNOWN");
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyTakePhotoAebCount
Description: Camera AEB photo count
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyTakePhotoBustCount
Description: Camera Bus Photo Count
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyTakePhotoTimeLapse
Description: Camera Timelapse photo interval
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRecordFileFormat
Description: Video file type
Input parameters:
enum class VideoFormatEnum(var value: Int) {
/**
* video format defines MOV
*/
MOV(0),
/**
* video format defines MP4
*/
MP4(1),
/**
* video format defines TIFF
*/
TIFF(2),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRecordFileEncodeFormat
Description: Video file encoding type
Input parameters:
enum class VideoCompressStandardEnum(var value: Int) {
/**
* video compress standard H264
*/
H264(0),
/**
* video compress standard H265
*/
H265(1),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraSubtitleKey
Description: Video subtitle switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyGetBaseParamMsg
Description: Get basic camera parameters
Input parameters:
data class CameraBaseParamBean(
/**
* Storage device type
*/
var storageType: StorageTypeEnum = StorageTypeEnum.UNKNOWN,
/**
* SD card status
*/
var sdStatus: CardStatusBean? = null,
/**
* Flash card status
*/
var mmcStatus: CardStatusBean? = null,
/**
* Watermark
*/
var waterMark: WatermarkBean? = null,
/**
* HDR status
*/
var hdrStatus: Boolean = false,
/**
* Image Type
*/
var picType: PhotoFormatEnum = PhotoFormatEnum.UNKNOWN,
@ConvertIgnore
/**
* Image resolution
*/
var resolution: PhotoResolutionEnum = PhotoResolutionEnum.PR_UNKNOWN,
/**
* Number of photos per second in Burst mode
*/
var burstCount: Int = 0,
/**
* The duration of taking photos in Timelapse mode, in seconds
*/
var interval: Int = 0,
/**
* How many pictures can be captured at one time in AEB mode
*/
var aebCount: Int = 0,
/**
* Piv status
*/
var pivStatus: CameraRecordPivInfoBean? = null,
/**
* File Format
*/
var fileFormat: VideoFormatEnum = VideoFormatEnum.UNKNOWN,
/**
* Subtitle switch
*/
var enableSubtitle: Boolean = false,
/**
* Video resolution
*/
var resolutionInfo: VideoResolutionBean? = null,
/**
* Video encoding type
*/
var encoding: VideoCompressStandardEnum = VideoCompressStandardEnum.UNKNOWN,
/**
* Graphics style
*/
var imageStyleInfo: ImageStyleBean? = null,
/**
* AE Lock
*/
var aeLock: Boolean = false,
/**
* Fog penetration information
*/
var dehazeInfo: DefogBean? = null,
/**
* Video format
*/
var videoStandard: VideoStandardEnum = VideoStandardEnum.UNKNOWN,
/**
* Anti-flicker
*/
var antiFlicker: ResistanceBlinkEnum = ResistanceBlinkEnum.UNKNOWN,
/**
* Camera focus information
*/
var focusInfo: FocusInfoBean? = null,
/**
* Thermal imaging pseudo-color information
*/
var color: ThermalColorEnum = ThermalColorEnum.UNKNOWN,
/**
* Thermal imaging mode
*/
var irImageModeInfo: ThermalImageBean? = null,
/**
* Image enhancement
*/
var irEnhanceInfo: ThermalEnhanceBean? = null,
/**
* Image denoising
*/
var irNr: Boolean = false,
/**
* Image gain
*/
var gain: ThermalGainEnum = ThermalGainEnum.UNKNOWN,
/**
* Isotherm
*/
var irIsoThermInfo: ThermalIsothermBean? = null,
/**
* Thermal imaging emissivity
*/
var irTempEmit: Int = 0
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraAntiflicker
Description: Anti-flicker mode
Input parameters:
enum class AntiflickerEnum(val value: Int) {
/**
* automatic
*/
AUTO(0),
/**
* 50hz
*/
FIFTY_HZ(1),
/**
* 60hz
*/
SIXTY_HZ(2),
/**
* closure
*/
CLOSE(3),
/**
* Unknown
*/
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraTurnOffArmLight
Description: Automatically turn off the arm light when taking photos or recording videos
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraLinkageZoom
Description: Linked zoom switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeySmoothZoom
Description: Silky zoom
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraVisualTransfer
Description: Visual image transmission
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraWorkMode
Description: Camera working mode
Input parameters:
enum class CameraWorkModeEnum(var value: Int) {
/**
* Video
*/
RECORD(0),
/**
* Photograph
*/
PHOTO(1),
RECORD_PHOTO(2), // Take a photo or video
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraWorkModeTakePhoto
Description: Camera photo mode
Input parameters:
enum class TakePhotoModeEnum(var value: Int) {
UNKNOWN(0xFF),
/**
* Single shot
*/
SINGLE(0),
/**
* AEB
*/
AEB(3),
/**
* Night view
*/
HYPERSEN(4),
/**
* Panoramic view
*/
PANORAMA(5),
/**
* Ultra-HD matrix
*/
MATRIX(6),
/**
* HDR HDR mode
*/
HDR(7),
/**
* LinkedZoom
*/
LinkedZoom(8),
/**
* NightShot night scene mode
*/
NightShot(9),
/**
* Fusion hot fusion mode
*/
Fusion(10);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraWorkModeVideo
Description: Camera video sub-mode
Input parameters:
enum class RecordModeEnum(var value: Int) {
UNKNOWN(0xFF),
/**
* standard
*/
STANDARD(0),
/**
* Slow Motion
*/
SLOW_MOTION(1),
/**
* Super sensitive
*/
ULTRA_PIXEL(2),
/**
* HDR To get the modes supported by HDR
*/
HDR(3),
/**
* LinkedZoom To get the modes supported by LinkedZoom
*/
LinkedZoom(4),
/**
* Super Night Vision
*/
SuperNightVideo(5);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraImageStyleType
Description: Image style type
Input parameters:
enum class ImageStyleEnum(var value: Int) {
/**
* standard
*/
STANDARD(0),
/**
* Custom
*/
CUSTOM(1),
/**
* Scenery
*/
LANDSCAPE(2),
/**
* Neutral
*/
SOFT(3),
/**
* Fair skin
*/
FAIR(4),
/**
* Contrast color
*/
CONTRAST(5),
/**
* Japanese
*/
JAPAN(6),
/**
* Tender
*/
MOISTURE(7),
/**
* Fresh
*/
FRESH(8),
/**
* Black Gold
*/
GOLDVIBES(9),
/**
* Black Gold 03
*/
GOLDVIBES03(10),
/**
* Black Gold 04
*/
GOLDVIBES04(11),
/**
* Black Gold 05
*/
GOLDVIBES05(12),
/**
* Black and white
*/
BW(13),
/**
* Nostalgia
*/
NOSTALGIC(14),
/**
* Natural Portrait J
*/
NATUREJ(15),
/**
* Hong Kong style movie 01
*/
HKMOVIE01(16),
/**
* Ancient Style 01
*/
ANTIAUITY01(17),
/**
* Bright
*/
BRIGHT(18),
/**
* Classic LUT
*/
CLASSICLUT(19),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraImageStyleBrightness
Description: Image style brightness
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraImageStyleContrast
Description: Image style contrast
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraImageStyleSaturation
Description: Image style saturation
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraImageStyleHue
Description: Image style chromaticity
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraImageStyleSharpness
Description: Image style sharpness
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraWhiteBalanceType
Description: White balance parameter mode
Input parameters:
enum class WhiteBalanceEnum(var value: Int) {
/**
* automatic
*/
AUTO(0),
/**
* Daylight
*/
SUNNY(1),
/**
* cloudy day
*/
CLOUDY(2),
/**
* Incandescent lamp
*/
INCANDESCENT(3),
/**
* Fluorescent lamp
*/
FLUORESCENT(4),
/**
* Custom color temperature, valid when Mode is set to Custom, range 2000 - 10000, step length is 100
*/
CUSTOM(5),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraWhiteBalanceColorTemp
Description: White balance parameter color temperature
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraPivEnable
Description: Is PIV recording status turned on?
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraPivInterval
Description: PIV recording status interval
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraDehazeEnable
Description: Whether the fog penetration function is enabled
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraDehazeStrength
Description: Mist penetration function configuration mist penetration intensity
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrImageModeType
Description: Thermal imaging image mode type
Input parameters:
enum class ThermalImageModeEnum(var value: Int) {
/**
* Manual (manual adjustment of contrast and brightness)
*/
MANUAL(0),
/**
* Automatic 0
*/
AUTO1(1),
/**
* Automatic 1
*/
AUTO2(2),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrImageModeContrast
Description: Thermal imaging image mode contrast
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrImageModeLum
Description: Thermal imaging image mode brightness
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrEnhanceEnable
Description: Thermal imaging image enhancement enablement
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrEnhanceStrength
Description: Thermal imaging image enhancement intensity
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempAttrType
Description: Thermal imaging temperature attribute temperature measurement mode
Input parameters:
enum class TemperatureModeEnum(var value: Int) {
/**
* none
*/
NONE(0),
/**
* Central temperature measurement
*/
CENTER(1),
/**
* Thermal measurement
*/
HOT(2),
/**
* Cold temperature measurement
*/
COLD(3),
/**
* Click the location to measure temperature
*/
TOUCH(4),
/**
* Regional temperature measurement
*/
REGION(5),
/**
* Tracking temperature measurement
*/
TRACK(6),
/**
* User 1 temperature measurement
*/
USER1(7),
/**
* User 2 temperature measurement
*/
USER2(8),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempAttrTouch
Description: Thermal imaging temperature attribute points to temperature measurement coordinates
Input parameters:
data class ParameterPointBean(
/**
* Point temperature measurement x coordinate; calculated in yuv image width ratio [0..100]
*/
var x: Int = 0,
/**
* Point temperature measurement Y coordinate [0..100]
*/
var y : Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempAttrRegion
Description: Thermal imaging temperature attribute area temperature measurement
Input parameters:
data class ParameterRectBean(
/**
* x coordinate [0..100]
*/
var x: Int = 0,
/**
*Y coordinate [0..100]
*/
var y : Int = 0,
/**
* width [0..100]
*/
var w: Int = 0,
/**
* High [0..100]
*/
var h: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempAttrLimitTemp
Description: Thermal imaging temperature attribute limit temperature measurement
Input parameters:
data class ParameterRectBean(
/**
* x coordinate [0..100]
*/
var x: Int = 0,
/**
*Y coordinate [0..100]
*/
var y : Int = 0,
/**
* width [0..100]
*/
var w: Int = 0,
/**
* High [0..100]
*/
var h: Int = 0,
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempAlarmEnable
Description: Thermal imaging temperature alarm attribute enable
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempAlarmHotthred
Description: Thermal imaging temperature alarm attribute high temperature threshold
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempAlarmColdthred
Description: Thermal imaging temperature alarm attribute low temperature threshold
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraElectronicAntiShaking
Description: Electronic image stabilization switch
Input parameters:
enum class ElectronicAntiShakingEnum(var value:Int) {
CLOSE(0),
OPEN(1),
SELF(2);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraSaveMapTaskName
Description: Task folder name
Request parameter: String
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraSaveMapUserDirName
Description: User-defined folder name
Request parameter: String
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraTypeXoomFixedFactor
Description: Fast zoom
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraTypeEncryptEnable
Description: Camera data encryption switch
Request parameter: Boolean
Output parameter: None
Type: Get
KeyCameraDebugEvent
Description: Camera custom debugging
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraRecordEnable
Description: Visual camera recording switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraRecordFps
Description: Visual camera recording frame rate
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraRecordDuration
Description: Video recording duration of visual camera
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraRecordNumber
Description: Number of visual camera videos saved
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraCapabilityVersion
Description: Get the camera capability set version number
Input parameters:
data class CameraCapabilityBean(
/**
* Camera capability set version
*/
var version: String,
/**
* File download address
*/
var fileDownloadPath: String
)
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraEnable
Description: Camera switch false turns off, true turns on
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraWatermarkGpsEnable
Description: Camera watermark GPS switch false off, true on
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraWaterMarkSnEnable
Description: Camera watermark SN switch false off, true on
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraVisualEnable
Description: Camera vision switch false off, true on
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraUltraPixelEnable
Description: Photo and video ultra-sensitive switch false off, true on
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraTransferPayLoadType
Description: The encoding type of the image transmission video needs to be distinguished from the encoding type of the video recording
Input parameters:
enum class VideoCompressStandardEnum(var value: Int) {
/**
* video compress standard H264
*/
H264(0),
/**
* video compress standard H265
*/
H265(1),
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraReboot
Description: Restart the camera
Input parameters: None
Output parameter: None
Type: Action
KeyFormatSDCard
Description: SD card format
Input parameters: None
Output parameter: None
Type: Action
KeyFormatMMC
Description: MMC onboard flash memory format
Input parameters: None
Output parameter: None
Type: Action
KeyCameraReset
Description: Restore factory settings
Input parameters: None
Output parameter: None
Type: Action
KeyStartTakePhoto
Description: Start taking photos
Input parameters: None
Output parameter: None
Type: Action
KeyStopTakePhoto
Description: Stop taking photos
Input parameters: None
Output parameter: None
Type: Action
KeyStartRecord
Description: Start recording
Input parameters: None
Output parameter: None
Type: Action
KeyStopRecord
Description: Stop recording
Input parameters: None
Output parameter: None
Type: Action
KeyCameraFfc
Description: FFC shutter
Input parameters: None
Output parameter: None
Type: Action
KeyCameraVideoPictureStorageTypeGet
Description: Get video/photo storage type
Input parameters:
data class CameraVideoPhotoStorageBean(
/**
* type
*/
var mode: CameraWorkModeEnum = CameraWorkModeEnum.UNKNOWN,
/**
* Lens ID collection
*/
var ids: MutableList<Int> = mutableListOf(),
)
Output parameter:
data class CameraVideoPhotoStorageListBean(
/**
* type
*/
var mode: CameraWorkModeEnum = CameraWorkModeEnum.UNKNOWN,
/**
* Storage information collection
*/
var ids: MutableList<CameraVideoPhotoStorageInfoBean> = mutableListOf(),
)
Type: Action
KeyCameraVideoPictureStorageTypeSet
Description: Video/photo storage type settings
Input parameters:
data class CameraVideoPhotoStorageListBean(
/**
* type
*/
var mode: CameraWorkModeEnum = CameraWorkModeEnum.UNKNOWN,
/**
* Storage information collection
*/
var ids: MutableList<CameraVideoPhotoStorageInfoBean> = mutableListOf(),
)
Output parameter: None
Type: Action
KeyCameraTypeEncryptionKey
Description: Camera data encryption settings
Input parameters:
data class CameraEncryptSetBean(
/**
* Encryption setting type
*/
var mode: CameraEncryptEnum = CameraEncryptEnum.CLOSE,
/**
* password
*/
var key: String = "",
)
Output parameter:
data class CameraDeEncryptRspBean(
var keyContinuousWrongTimes :Int=0
)
Type: Action
KeyCameraPasswordWrongTimes
Description: Camera data encryption settings
Request parameter: Int
Output parameter: None
Type: Get
KeyCameraIrcutSwitch
Description: Zoom IRCut switch
Input parameters:
enum class IrcutSwitchEnum(val value: Int) {
/**
* automatic
*/
AUTO(2),
/**
* Turn off IRCut, image color<
*/
CLOSE(0),
/**
* Open IRCut, the image is black and white
*/
OPEN(1);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrNightFusionEnable
Description: Infrared night vision fusion switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraMechanicalShutterEnable
Description: Mechanical shutter switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraMissionRecordEnable
Description: Task recording switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraMissionRecordPictureStorageGet
Description: Task recording photo storage switch query
KeyCameraMissionRecordPictureStorageSet
Description: Task recording photo storage switch setting
Input parameters:
data class CameraVideoPhotoStorageListBean(
/**
* type
*/
var mode: CameraWorkModeEnum = CameraWorkModeEnum.UNKNOWN,
/**
* Storage information collection
*/
var ids: MutableList<CameraVideoPhotoStorageInfoBean> = mutableListOf(),
)
Output parameter: None
Type: Action
KeyCameraConcernedLensSet
Description: Current interactive focus lens information settings
Input parameters:
data class CameraConcernedLensBean(
val gimbalType: String, // gimbal type
val lensID: Int // lens id
)
Output parameter: None
Type: Action
KeyCameraImageXmpType
Description: XMP data type when the camera takes a photo: CameraImageXmpTypeEnum AUTEL_PIX4D(0), DJI(1)
Input parameters:
enum class CameraImageXmpTypeEnum(val value: Int) {
AUTEL_PIX4D(0), // 0: Autel/Pix4d
DJI(1) // 1: DJI
}
Output parameter: None
Type: Get
KeyCameraLensStorage
Description: Camera lens storage select CAMERA_LENS_STORAGE
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraStatus
Description: Camera status message reporting
Input parameters: None
Output parameter:
data class CameraStatusBean(
/**
* Device Type
*/
var deviceType: String? = null,
/**
* System status
*/
var systemStatus: SystemStatusEnum = SystemStatusEnum.UNKNOWN,
/**
* Current mode
*/
var currentMode: CameraWorkModeEnum = CameraWorkModeEnum.UNKNOWN,
/**
* UI mode
*/
var pattern: PatternModeEnum = PatternModeEnum.UNKNOWN,
/**
* Current display mode
*/
var displayMode: DisplayModeEnum = DisplayModeEnum.UNKNOWN,
/**
* Video recording sub-mode
*/
var recordMode: RecordModeEnum = RecordModeEnum.UNKNOWN,
/**
* Photo sub-mode
*/
var photoTakingMode: TakePhotoModeEnum = TakePhotoModeEnum.UNKNOWN,
/**
* Storage device type
*/
var storageType: StorageTypeEnum = StorageTypeEnum.UNKNOWN,
/**
* Lens information
*/
var cameraInfoList: MutableList<CameraInfoBean> = mutableListOf(),
/**
* Minimum photo-taking interval, in milliseconds
*/
var photoIntervalMin: Int = 0,
)
Type: Listen
KeyProfessionalParamInfo
Description: Professional parameter information reporting
Input parameters: None
Output parameter:
data class ProfessionalParamInfoBean(
/**
* camera ID
*/
var cameraID: Int = 0,
/**
* ISO Mode
*/
var isoMode: ISOModeEnum = ISOModeEnum.AUTO,
/**
* Aperture Mode
*/
var apertureMode: ApertureModeEnum = ApertureModeEnum.AUTO,
/**
* Shutter mode
*/
var shutterMode: ShutterModeEnum = ShutterModeEnum.AUTO,
/**
* ISO value
*/
var isoValue: Int = 0,
/**
* Aperture value
*/
var apertureValue: Double = 0.0,
/**
Shutter speed
*/
var shutterSpeed: ShutterSpeedBean? = null,
/**
* Exposure value
*/
var exposureValue: Double = 0.0,
/**
* White balance mode
*/
var whiteMode: WhiteBalanceEnum = WhiteBalanceEnum.UNKNOWN,
/**
* White balance color temperature value
*/
var colorTemperature: Int = 0,
/**
* Actual digital zoom value * 100
*/
var zoomValue: Int = 0,
)
Type: Listen
KeyPhotoFileInfo
Description: Report photo file information
Input parameters: None
Output parameter:
data class PhotoFileInfoBean constructor(
/**
* Current mode
*/
var currentMode: CameraWorkModeEnum = CameraWorkModeEnum.UNKNOWN,
/**
* File path
*/
var filePath: String? = null,
/**
* Thumbnail path
*/
var thumbnailPath: String? = null,
/**
* Photo file modification time
*/
var fileModifyTime: Long = 0,
/**
* Photo size
*/
var fileSize: Long = 0,
/**
* Photo format
*/
var fileFormat: Int = 0,
/**
* Resolution of the photo
*/
var photoResolution: PhotoResolutionBean? = null
)
Type: Set, Listen
KeyTakePhotoStatus
Description: Reporting the photo taking status
Input parameters: None
Output parameter:
data class TakePhotoStatusBean(
/**
*Current submode
*/
var currentMode: TakePhotoModeEnum = TakePhotoModeEnum.UNKNOWN,
/**
*Photo status
*/
var state: TakePhotoStatusEnum = TakePhotoStatusEnum.UNKNOWN,
)
Type: Listen
KeyRecordStatus
Description: Recording status report
Input parameters: None
Output parameter:
data class RecordStatusBean(
/**
*Current mode is undetermined
*/
var currentMode: CameraWorkModeEnum = CameraWorkModeEnum.UNKNOWN,
/**
*Recording status
*/
var state: RecordStatusEnum = RecordStatusEnum.UNKNOWN,
/**
* The current video recording time, in seconds
*/
var currentRecordTime: Int = 0
)
Type: Listen
KeyRecordFileInfo
Description: Report video file information
Input parameters: None
Output parameter:
data class RecordFileInfoBean(
/**
* Current mode
*/
var currentMode: RecordStatusEnum = RecordStatusEnum.UNKNOWN,
/**
* state
*/
var state: RecordVideoFileEnum = RecordVideoFileEnum.UNKNOWN,
/**
* File path
*/
var filePath: String? = null,
/**
* Thumbnail path
*/
var thumbnailPath: String? = null,
/**
* Video file modification time
*/
var fileModifyTime: Long = 0L,
/**
* File size
*/
var fileSize: Long = 0L,
/**
* Photo and video formats
*/
var fileFormat: Int = 0,
/**
* Video duration
*/
var videoDuration: Int = 0,
/**
* Resolution of the video file
*/
var videoResolution: VideoResolutionBean? = null,
/**
* Compression standard of video files, see CAMERA_VIDEO_COMPRESSION_STANDARD_TYPE
*/
var videoCompressionStandard: VideoCompressStandardEnum = VideoCompressStandardEnum.UNKNOWN,
)
Type: Listen
KeySDCardStatus
Description: SD card status report
Input parameters: None
Output parameter:
data class CardStatusBean(
/**
* SD card status
*/
var storageStatus: CardStatusEnum = CardStatusEnum.UNKNOWN,
/**
* Total SD card capacity in MB
*/
var totalSpace: Long = 0L,
/**
* SD card remaining capacity, in MB
*/
var freeSpace: Long = 0L,
/**
* Remaining recording time in seconds
*/
var remainRecordTime: Long = 0L,
/**
* Number of photos remaining
*/
var remainCaptureNum: Long = 0L,
)
Type: Listen
KeyMMCStatusInfo
Description: MMC status reporting
Input parameters: None
Output parameter:
data class CardStatusBean(
/**
* SD card status
*/
var storageStatus: CardStatusEnum = CardStatusEnum.UNKNOWN,
/**
* Total SD card capacity in MB
*/
var totalSpace: Long = 0L,
/**
* SD card remaining capacity, in MB
*/
var freeSpace: Long = 0L,
/**
* Remaining recording time in seconds
*/
var remainRecordTime: Long = 0L,
/**
* Number of photos remaining
*/
var remainCaptureNum: Long = 0L,
)
Type: Listen
KeyResetCameraState
Description: Reset camera status reporting
Input parameters: None
Output parameter: Boolean
Type: Listen
KeyAeAfStatusChange
Description: AE/AF status change
Input parameters: None
Output parameter:
data class CameraAFAEStatusBean(
/**
* AE status
*/
var aeStatus: CameraAfAeEnum = CameraAfAeEnum.UNKNOWN,
/**
* AF status
*/
var afStatus: CameraAfAeEnum = CameraAfAeEnum.UNKNOWN,
)
Type: Listen
KeyTempAlarm
Description: Temperature alarm event
Input parameters: None
Output parameter:
data class TempAlarmBean(
/**
* 0 high temperature, 1 low temperature
*/
var status: TempEnum = TempEnum.HOT,
/**
* High temperature alarm point temperature, unit: Celsius*10
*/
var hotTemp: Int = 0,
/**
* High temperature alarm X coordinate, in proportion to image width
*/
var hotX: Int = 0,
/**
* High temperature alarm Y coordinate, in image height ratio
*/
var hotY: Int = 0,
/**
* Low temperature alarm point temperature, unit: Celsius*10.
*/
var coldTemp: Int = 0,
/**
* Low temperature alarm X coordinate, in proportion to image width
*/
var coldX: Int = 0,
/**
* Low temperature alarm Y coordinate, in image height ratio
*/
var coldY: Int = 0,
)
Type: Listen
KeyMotionDelayShotStatus
Description: Mobile time-lapse photography status
Input parameters: None
Output parameter:
data class MotionDelayShotBean(
/**
* state
*/
var status: MotionDelayShootEnum = MotionDelayShootEnum.UNKNOWN,
/**
* The duration of taking photos, in seconds
*/
var photoTime: Int = 0,
/**
* The total time required to take photos, in seconds
*/
var totalPhotoTime: Int = 0,
/**
* Number of photos taken
*/
var photoNum: Int = 0,
/**
* Total number of photos required
*/
var totalPhotoNum: Int = 0,
)
Type: Listen
KeyPhotoExposure
Description: Camera exposure status
Input parameters: None
Output parameter:
enum class ExposureEnum(var value: Int) {
/**
* Overexposure
*/
OVEREXPOSURE(0),
/**
* Underexposure
*/
UNDEREXPOSURE(1);
}
Type: Listen
KeyMissionRecordWaypoint
Description: Task recording waypoint information reporting
Input parameters: None
Output parameter:
data class MissionRecordWaypointBean(
/**
* Photo path
*/
var filePath: String? = null,
/**
* Longitude
*/
var latitude : Double = 0.0,
/**
* Latitude
*/
var longitude: Double = 0.0,
/**
* Absolute altitude read from the flight controller
*/
var altitude: Double = 0.0,
/**
* The nose direction read from the flight controller
*/
var heading: Double = 0.0,
/**
* Gimbal Pitch angle read from the flight controller
*/
var cameraPitch: Double = 0.0,
/**
* Gimbal Yaw angle read from the flight controller
*/
var cameraYaw: Double = 0.0,
/**
* Camera zoom ratio
*/
var zoom: Int = 0,
/**
* Gimbal Roll angle read from the flight controller
*/
var cameraRoll: Double = 0.0,
/**
* Relative altitude read from the flight controller
*/
var height: Double = 0.0,
/**
* Camera id -1 means invalid
*/
var cameraId: Int = -1
)
Type: Listen
KeyAFState
Description: AF camera focus status reporting
Input parameters: None
Output parameter:
enum class AFStateEnum(val value: Int) {
/**
* Start focusing
*/
FOCUS_START(0),
/**
* In focus
*/
FOCUSING(1),
/**
* Focusing ends
*/
FOCUS_COMPLETE(2);
}
Type: Listen
KeyCameraModeSwitch
Description: Camera mode switching report
Input parameters: None
Output parameter:
data class CameraModeSwitchBean(
/**
* Current mode
*/
var currentMode: CameraWorkModeEnum = CameraWorkModeEnum.UNKNOWN,
/**
* Video recording sub-mode
*/
var recordMode: Int = 0,
/**
* Photo sub-mode
*/
var photoTakingMode: TakePhotoModeEnum = TakePhotoModeEnum.UNKNOWN,
)
Type: Listen
KeyDisplayModeSwitch
Description: Display mode switching report
Input parameters: None
Output parameter:
enum class DisplayModeEnum(var value: Int) {
/**
* Visible light
*/
VISIBLE(0),
/**
* Picture in Picture
*/
PICTURE(1),
/**
* Infrared
*/
INFRARED(2),
/**
* Fusion
*/
OVERLAP(3),
UNKNOWN(0xFF);
}
Type: Listen
KeyInfraredCameraTempInfo
Description: Infrared camera temperature information reporting
Input parameters: None
Output parameter:
data class InfraredCameraTempInfoBean(
/**
* Average temperature, in degrees Celsius*10
*/
var averageTemp: Int = 0,
/**
* Center temperature, in degrees Celsius*10
*/
var centerTemp: Int = 0,
/**
* Hot spot temperature, unit: Celsius*10
*/
var hotTemp: Int = 0,
/**
* Cold spot temperature, in degrees Celsius*10
*/
var coldTemp: Int = 0,
/**
* Point temperature, unit Celsius*10
*/
var touchTemp: Int = 0,
/**
* The hotspot X coordinate, in proportion to the image width
*/
var hotX: Int = 0,
/**
* Hotspot Y coordinate, in proportion to image height
*/
var hotY: Int = 0,
/**
* X coordinate of the cold spot, in proportion to the image width
*/
var coldX: Int = 0,
/**
* X coordinate of the cold spot, in proportion to the image height
*/
var coldY: Int = 0,
/**
* True value * 100
*/
var zoomValue: Int = 0,
/**
* cameraId
*/
var cameraId: Int = 0,
)
Type: Listen
KeyStorageStatusInfo
Description: Report storage status information
Input parameters: None
Output parameter:
data class StorageStatusInfoBean(
/**
* Storage device type
*/
var storageType: StorageTypeEnum = StorageTypeEnum.UNKNOWN,
/**
* SD card status
*/
var sDCardStatus: CardStatusEnum = CardStatusEnum.UNKNOWN,
/**
* Total capacity of SD card in KB
*/
var totalSpace: Long = 3,
/**
* SD card remaining capacity, in KB
*/
var freeSpace: Long = 4,
/**
* eMMC status
*/
var mMCStatus: CardStatusEnum = CardStatusEnum.UNKNOWN,
/**
* Total eMMC capacity in KB
*/
var mMCTotalSpace: Long = 6,
/**
* The remaining capacity of the eMMC card in KB
*/
var mMCFreeSpace: Long = 7,
/**
* The remaining recording time of the currently selected storage device, in seconds
*/
var remainRecordTime: Long = 8,
/**
* The number of photos remaining in the currently selected storage device
*/
var remainCaptureNum: Long = 9,
)
Type: Listen
KeyLocationMeterInfo
Description: Spot metering report
Input parameters: None
Output parameter:
data class MeteringPointBean(
/**
* Measuring point X coordinate 0-100
*/
var x: Int = 0,
/**
* Measuring point Y coordinate 0-100
*/
var y : Int = 0,
)
Type: Listen
KeyWhiteBalanceNtfy
Description: White balance parameter reporting
Input parameters: None
Output parameter:
data class WhiteBalanceBean(
/**
* White balance mode
*/
var mode: WhiteBalanceEnum = WhiteBalanceEnum.UNKNOWN,
/**
* Valid when Mode is set to Custom, range 2000 - 10000, step length 100
*/
var colorTemperature: Int = 0
)
Type: Listen
KeyAeLockNtfy
Description: AELock information reporting
Input parameters: None
Output parameter: Boolean
Type: Listen
KeyFocusNtfy
Description: Focus on information reporting
Input parameters: None
Output parameter:
data class FocusInfoBean(
/**
* Focus Mode
*/
var mode: FocusModeEnum = FocusModeEnum.UNKNOWN,
/**
* Auto focus mode
*/
var meterMode: AFLensFocusModeEnum = AFLensFocusModeEnum.UNKNOWN,
/**
* Focus point coordinates, X range (0 - 100)
*/
var spotAreaX: Int = 0,
/**
* Point focus coordinates, y range (0 - 100)
*/
var spotAreaY: Int = 0,
/**
* Object distance, unit: mm, divided into three sections (10 scales in each section): [10cm - 1m], [1m - 10m], [10m - 100m], special value 0: macro, -1: infinity
*/
var objectDistance: Int = 0,
/**
* Assisted focus enable, 1: Enable 0: Disable
*/
var aFAssistFocusEnable: Boolean = false,
/**
* Assisted focus enable, 1: Enable 0: Disable
*/
var mFAssistFocusEnable: Boolean = false,
)
Type: Listen
KeyHdrNtfy
Description: HDR information reporting
Input parameters: None
Output parameter: Boolean
Type: Listen
KeyRoiNtfy
Description: ROI configuration reporting
Input parameters: None
Output parameter:
data class ROIBean(
/**
*Is it enabled?
*/
var enable: Boolean = false,
/**
*ROI area configuration, supports setting 8 ROI areas at the same time
*/
var roiRegionList: MutableList<RoiRegionBean>? = null,
)
Type: Listen
KeyPhotoResolutionNtfy
Description: Report camera photo resolution information
Input parameters: None
Output parameter:
enum class PhotoResolutionEnum(val width: Int, val height: Int, val tag: String,val prId:String) {
PR_8000_6000(8000, 6000, "48M","8000x6000"),
PR_6912_5184(6912, 5184, "36M","6192x5184"),
PR_4000_3000(4000, 3000, "12M","4000x3000"),
PR_1920_1200(1920, 1200, "1200P","1920x1200"),
PR_1920_1080(1920, 1080, "1080","1920x1080"),
PR_4096_3072(4096, 3072, "4K", "4096x3072"),
PR_8192_6144(8192, 6144, "50M","8192x6144"),
PR_640_512(640, 512, "640*512","640x512"),
PR_3840_2160(3840, 2160, "4K","3840x2160"),
PR_5472_3648(5472, 3648, "6K","5472x3648"),
PR_5472_3076(5472, 3076, "6K","5472x3076"),
PR_800_600(800, 600, "800*600","800x600"),
PR_UNKNOWN(0, 0, "unknown","unknown");
}
Type: Listen
KeyVideoResolutionNtfy
Description: Report camera video resolution information
Input parameters: None
Output parameter:
data class VideoResolutionBean(
/**
* Resolution enumeration
*/
var videoResolutionEnum: VideoResolutionEnum = VideoResolutionEnum.VR_UNKNOWN,
/**
* Frame rate
*/
var fps: Int = 0,
)
Type: Listen
KeyCameraEncryptProgressReportNtfy
Description: Decryption progress report
Input parameters: None
Output parameter:
data class CameraEncryptProgressReportBean(
/**
* Total
*/
var totalCount: Int = 0,
/**
* Completed quantity
*/
var completeCount: Int = 0,
)
Type: Listen
KeyCameraTransferInfoNtfy
Description: Camera image transmission information reporting
Input parameters: None
Output parameter:
data class CameraTransferInfoBean(
/**
* Camera ID
*/
var cameraId: Int = 0,
/**
* Image transmission mode 1 (smooth)/2 (HD)/3 (2.7K)
*/
var transferMode: Int = 0,
/**
* Video transmission encoding type 0 (H264)/1 (H265)
*/
var transferPayloadType: Int = 0,
/**
* Image transmission frame rate/second
*/
var fps: Int = 0,
/**
* Image transmission bit rate kbps
*/
var bitrate: Int = 0,
/**
* Number of key frames sent/minute
*/
var sendIFrameNum: Int = 0,
/**
* Number of key frames requested/minute
*/
var requestIFrameNum: Int = 0,
/**
* Image transmission switch (false-image transmission is off, true-image transmission is on)
*/
var transferEnable: Boolean = false,
)
Type: Listen
KeyCameraEisNtfy
Description: EIS parameter reporting
Input parameters: None
Output parameter:
data class CameraEisReportBean(
/**
* Zoom value, actual value*100
*/
var zoomValue: Int = 0,
/**
* left angle
*/
var leftAngle: Double = 0.0,
/**
* right angle
*/
var rightAngle: Double = 0.0,
/**
* top angle
*/
var topAngle: Double = 0.0,
/**
* bottom angle
*/
var bottomAngle: Double = 0.0,
/**
* left value
*/
var left: Double = 0.0,
/**
* right value
*/
var right : Double = 0.0,
/**
* Top value
*/
var top : Double = 0.0,
/**
* bottom value
*/
var bottom: Double = 0.0,
)
Type: Listen
KeyCameraPreviewResolution
Description: The encoding type of the image transmission video needs to be distinguished from the encoding type of the video recording
Input parameters:
enum class CameraPreviewResolutionEnum(var value: Int) {
/**
* video compress standard H264
*/
H480(0), //The preview image size is 640x480
/**
* video compress standard H265
*/
H720(1), //The preview image size is 960x720
H1080(2), //The preview image size is 1440x1080
UNKNOWN(0xFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraEquivalentFocalLength
Description: 35mm equivalent focal length actual value*10
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraWatermarkDroneSwitch
Description: Watermark model display switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraWatermarkLayout
Description: Watermark position
Input parameters:
enum class WatermarkPositionEnum(val value: Int) {
/**
* Upper left corner
*/
TopLeft(0),
/**
* Bottom left corner
*/
BottomLeft(1),
/**
* Upper right corner
*/
TopRight(2),
/**
* Bottom right corner
*/
BottomRight(3);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempSpanSwitch
Description: Thermal imaging temperature width stretch switch 0: off, 1 on
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempSpanHot
Description: Thermal imaging temperature width stretching hot spot temperature
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCameraIrTempSpanCold
Description: Thermal imaging temperature width stretch cold spot temperature
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
5. CommonKey
KeySetSystemDataTime
Description: Set system time
Input parameters:
data class SystemTimeInfoBean(
/**
* UTC timestamp
*/
var utcTimeInterval: Long = 0,
/**
* The offset in hours relative to the zero time zone, for example, Beijing: UTC+8, timeZone is 8
*/
var timeZone: Float = 0f,
)
Output parameter: None
Type: Action
KeyGetSystemInitData
Description: Get system initialization data
Input parameters: None
Output parameter:
data class SystemInfoData(
/**
* Master version
*/
var mainControlVersion: String? = null,
/**
* Aircraft SN
*/
var droneSN: String? = null,
/**
* Aircraft Type
*/
var droneType: Int = 0,
/**
* Aircraft type string, type
*/
var droneTypeStr: String? = null,
/**
* Activation status
*/
var activeState: Int = 0,
)
Type: Action
KeyGetDroneDevicesInfo
Description: Get aircraft equipment information
Input parameters: None
Output parameter: List<DroneVersionItemBean>
data class DroneVersionItemBean(
/**
* component ID
*/
var componentID: DroneComponentIdEnum = DroneComponentIdEnum.NONE,
/**
* component serial number
*/
var componentSN: String? = null,
/**
* Hardware version
*/
var hardwareVersion: String? = null,
/**
* software version
*/
var softwareVersion: String? = null,
/**
* Integer enumeration value, component device model
*/
var componentModel: Int = 0, //
/**
* Character type component device model, (for example: camera device model XM802)
*/
var strComponentModel: String? = null,
/**
* Aircraft capability set reserved field
*/
var label: String? = null,
/**
* Aircraft capability set reserved field
*/
var componentType: DroneComponentEnum = DroneComponentEnum.UNKNOWN,
/**
* MCU bootloader version information
*/
var bootloaderVersion: String? = null,
/**
* Data source, 0 remote controller, 1 aircraft
*/
var dataSource:Int = 0
)
Type: Action
KeyDroneSystemStatusHFNtfy
Description: Aircraft general parameters reporting (5HZ)
Input parameters: None
Output parameter:
data class DroneSystemStateHFNtfyBean(
/**
* Aircraft latitude. When it is an invalid value or isGPSValid is NO, it means that the position cannot be determined and should be ignored.
*/
var droneLatitude: Double = 0.0,
/**
* Aircraft longitude. When it is an invalid value or isGPSValid is NO, it means that the position cannot be determined and should be ignored.
*/
var droneLongitude: Double = 0.0,
/**
* Relative altitude of the aircraft
*/
var altitude: Float = 0f,
/**
* Aircraft altitude
*/
var altitudeMSL: Float = 0f,
/**
* x speed X
*/
var velocityX: Float = 0f,
/**
* y speed
*/
var velocityY: Float = 0f,
/**
* z speed
*/
var velocityZ: Float = 0f,
/**
* Aircraft attitude
*/
var droneAttitude: DroneAttitudeBean? = null,
/**
* Gimbal attitude
*/
var gimbalAttitude: DroneAttitudeBean? = null,
/**
* The distance between the aircraft and the Home point
*/
var distance: Float = 0f,
/**
* Ultrasonic height above the ground
*/
var ultrasoundAltitude: Float = 0f,
/**
* Laser distance measurement, unit: cm
*/
var laserDistance: Int = 0,
/**
* Indicates whether the laser distance measurement is valid, 0 is invalid, 1 is valid
*/
var laserDistanceIsValid: Boolean = false,
/**
* Radar altitude detection results
*/
var radarHight: Double = 0.0,
/**
* Airplane mode
*/
var flightMode: DroneFlightModeEnum = DroneFlightModeEnum.UNKNOWN,
/**
* Flight control main mode, see FLIGHT_CONTROL_MAIN_MODE
*/
var mainMode: FlightControlMainModeEnum = FlightControlMainModeEnum.UNKNOWN,
/**
* Aircraft intelligent mode, see FlightControlDefine -> DroneWorkMode
*/
var droneWorkMode: DroneWorkModeEnum = DroneWorkModeEnum.UNKNOWN,
/**
* Aircraft operating status
* 0-TRACK_UNKNOW unknown
* 1-TRACK_DETECT detection
* 2-TRACK_LOCK Lock
* 3-TRACK_FREE Free tracking (pb 1.17.4 aircraft working status)
*/
var droneWorkStatus: DroneWorkStateEnum = DroneWorkStateEnum.UNKNOWN,
/**
* GPS switch status (false: GPS off true: GPS on)
*/
var isGpsOpen: Boolean = false,
/**
* aiEnableFunc whether to enable AI
*/
var aiEnableFunc: AiServiceStatueEnum = AiServiceStatueEnum.UNKNOWN,
var retractPaddleStatus :RetractPaddleStatusEnum = RetractPaddleStatusEnum.UNRECOGNIZED,
//=====================DragonFish Dragon fish adds a new field start
/**
* Dragon fish absolute speed root of square X/Y/Z's sum
*/
var vXYZ: Float = 0.0f,
/**
* Arowana airspeed meter
*/
var airSpeed: Float = 0.0f
//=======================DragonFish Dragon fish adds new fieldsend
)
Type: Listen
KeyDroneSystemStatusLFNtfy
Description: Aircraft general parameters reporting (2HZ)
Input parameters: None
Output parameter:
data class DroneSystemStateLFNtfyBean(
/**
* Number of visible satellites
*/
var satelliteCount: Int = 0,
//Deprecated and cannot be used
/**
* GPS signal level, see FlightControlDefine
*/
var gpsLevel: GPSLevelEnum = GPSLevelEnum.LEVEL_NONE,
/**
* remoteID working status
*/
var remoteIdStatus: RemoteIdStatusEnum = RemoteIdStatusEnum.UNKNOWN,
/**
* Current visual SLAM confidence, visual positioning strength: 0.7 or above is high, 0.4 to 0.7 is medium, and below 0.4 is low
*/
var slamConfidence: Double = 0.0,
/**
* Current GPS strength percentage recommendations: below 40% is weak, below 80% is medium, and above 80% is strong
*/
var gpsStrengthPercentage: Int = 0,
/**
* ntrip module status
*/
var ntripStatus: NtripStatusEnumm = NtripStatusEnumm.RTK_STATUS_NOT_SUPPORT,
/**
* lte module status
*/
var lteStatus: LTEStatusEnum = LTEStatusEnum.NET_STATUS_NOT_SUPPORT,
/**
* 4G, 5G signal volume (0~100)
*/
var lteSignal: Int = 0,
/**
SIM card status 0 not in place, 1 in place
*/
var lteCardIsDetected: Boolean = false,
/**
* Status of mqtt module
*/
var mqttStatus: MqttStatusEnum = MqttStatusEnum.MQTT_STATUS_NOT_SUPPORT,
/**
* Is there a risk of landing? true: risky, false: no risk
*/
var landIsRisky: Boolean = false,
/**
* *uint32 RTMP_STATUS_DISABLE = 0 #rtmp is closed
* uint32 RTMP_STATUS_INIT = 1 #Service initialization
* uint32 RTMP_STATUS_NOURL = 2 #No streaming address or SN number
* uint32 RTMP_STATUS_NONETWORK = 3 #No network
* uint32 RTMP_STATUS_CONNECTED = 4 #Connected to rtmp streaming server
* uint32 RTMP_STATUS_DISCONNECTED = 5 #Not connected to the rtmp streaming server
* uint32 RTMP_STATUS_PUSHSTREAM = 6 #Normal streaming
* uint32 RTMP_STATUS_WRITEERROR = 7 #stream push error
* uint32 RTMP_STATUS_NOTEUTRAN = 8 #No E-UTRAN network
* uint32 RTMP_STATUS_WEAKSIGNAL = 9 #Network signal is poor
*/
var rtmpStatus: RtmpStatusEnum = RtmpStatusEnum.RTMP_STATUS_DISABLE,
var batteryModeFlag: Int = 0, //Multi-battery flag 0 single battery 1 multiple batteries
var batteryInfoList: List<BatteryInfoBean> = emptyList(), //Battery specific information
var airLinkPowerRate: Int, // Image transmission RF signal transmission power, the value is 0-100, indicating the percentage of normal power
//add for dragon fish start
var autoCheckState: AutoCheckStateEnum = AutoCheckStateEnum.AUTO_CHECK_NORMAL //Arowana flight control self-check status
//add for dragon fish end
)
Type: Listen
KeyDroneWorkStatusInfoReport
Description: Report aircraft working status information
Input parameters: None
Output parameter:
data class FlightControlStatusInfo(
/**
* Aircraft Type
*/
var droneType: Int = 0,
// var flightMode: DroneFlightModeEnum = DroneFlightModeEnum.UNKNOWN, // flight mode
// var mainMode: FlightControlMainModeEnum = FlightControlMainModeEnum.UNKNOWN, // Flight control main mode, see FLIGHT_CONTROL_MAIN_MODE
// var droneWorkMode: DroneWorkModeEnum = DroneWorkModeEnum.UNKNOWN, // Aircraft intelligent mode, see FlightControlDefine -> DroneWorkMode
// var droneWorkStatus: DroneWorkStateEnum = DroneWorkStateEnum.UNKNOWN, // Aircraft working status
/**
* Aircraft gear, see GEAR_LEVEL
*/
var droneGear: GearLevelEnum = GearLevelEnum.UNKNOWN,
/**
* Whether RTK is supported
*/
var supportRTK: Boolean = false,
/**
* Is the home point invalid?
*/
var isHomeInvalid: Boolean = false,
/**
* Latitude of home point
*/
var homeLatitude: Double = 0.0,
/**
* Home point longitude
*/
var homeLongitude: Double = 0.0,
/**
* Obstacle avoidance enabled
*/
var obstacleAvoidanceEnabled: Boolean = false,
/**
* Radar chart display
*/
var radarChartDispalyed: Boolean = false,
// var trackWorkStatus: Int = 0, // Track work status
/**
* Downward-looking fill light status
*/
var visionledStatus: Int = 0,
/**
* Landing protection switch
*/
var visionEnableSecureLanding: Boolean = false,
/**
* Whether to enable the precision landing function
*/
var visionEnablePreciseLanding: Boolean = false,
/**
* Compass calibration status
*/
var compassCalibrationStatus: CompassCalibrationStatusEnum = CompassCalibrationStatusEnum.NONE,
/**
* IMU calibration status
*/
var imuCalibrationStatus: IMUCalibrationStepEnum = IMUCalibrationStepEnum.NONE,
/**
* Battery discharge times
*/
var numberOfDischarge: Int = 0,
/**
* Battery not in place flag 0: in place 1: not in place
*/
var batteryNotInPlaceFlag: BatteryInPlaceEnum = BatteryInPlaceEnum.UNREADY,
/**
* Current aircraft ambient brightness information 0: Normal brightness means visual features should be feasible 1: The ambient brightness is too low for some visual features
*/
var environmentInfo: EnvironmentEnum = EnvironmentEnum.NORMAL_BRIGHTNESS,
/**
* Flight inspection results
*/
var preflightCheckResult :PerFlightCheckResultEnum = PerFlightCheckResultEnum.CAN_FLIGHT,
/**
* Flight check result, each bit represents the status of each system (0 is normal, 1 is abnormal) 0 is whether the vision is supported, 1 is whether the radar is normal, 2 is whether the flight control status is normal, 3 is whether RTK is normal (fix is normal), 4 is whether the Planner is started normally, 5 is whether the camera is started normally
*/
var preflightCheckResultGcs : List<FlightCheckException> = emptyList(),
/**
* Arm light status, for value, refer to: "1.32 General Light Language Control" LAMPLNG_DIRECT_CTRL
*/
var armLampStatus : LampDirectCtrlEnum = LampDirectCtrlEnum.ALL_OFF
)
Type: Listen
KeyDroneWarningMFNtfy
Description: Aircraft alarm reporting
Input parameters: None
Output parameter:
data class DroneWarningStateNtfyBean(
/**
* Low battery warning
*/
var lowPowerWarning: BatteryPowerWarning = BatteryPowerWarning.NONE,
/**
* Is the battery overheated?
*/
var isBatteryOverheated: Boolean = false,
/**
* Is the battery temperature too low?
*/
var isBatteryLowTemperature: Boolean = false,
/**
*Battery cell voltage imbalance
*/
var isBatteryVoltageDiff: Boolean = false,
/**
* The motor cannot start normally. For the value, refer to FLIGHT_CONTROL_TURN_ON_MOTOR_STATUS
*/
var turnOnMotorError: FlightControlTurnOnMotorStatusEnum = FlightControlTurnOnMotorStatusEnum.NO_ERROR,
/**
* IMU overheating
*/
var isIMUOverheated: Boolean = false,
/**
* Limited rod quantity
*/
var isStickLimited: Boolean = false,
/**
* High wind warning
*/
var highWindWarning: Boolean = false,
/**
* The return point may not be accurate
*/
var isHomePointNotAccurate: Boolean = false,
/**
* Overload alarm
*/
var overloadWarning: Boolean = false,
/**
* IMU calibration warning
*/
var imuCalibrationWarn: IMUCalibratoionWarningEnum = IMUCalibratoionWarningEnum.NONE,
/**
* No-fly zone warning status
*/
var noFlyStatus: MainControllerNoflyZoneStatusEnum = MainControllerNoflyZoneStatusEnum.FLY_STATUS_UNKNOW,
/**
* Compass interference level; flight control notifies when compass receives interference; mode switches to ATTI
*/
var compassInterferenceLevel: CompassInterferenceLevelEnum = CompassInterferenceLevelEnum.LEVEL0,
/**
* Whether the maximum flight range has been reached
*/
var isReachMaxRange: Boolean = false,
/**
* Whether the maximum flight range is about to be reached
*/
var isNearMaxRange: Boolean = false,
/**
* Whether the maximum flight altitude has been reached
*/
var isReachMaxHeight: Boolean = false,
/**
* Is GPS signal available?
*/
var isGPSValid: Boolean = false,
/**
* Is the compass available?
*/
var isCompassValid: Boolean = false,
/**
* Whether the visual function is limited, the environment is poor, and subsequent visual errors are updated to visionErrorCode. This field is deprecated
*/
var visionLimitedWhenDark: Boolean = false,
/**
* Insufficient space to pass
*/
var insufficientSpaceToPass: Boolean = false,
/**
* Move the aircraft to an open area and try again
*/
var flyToOpenSpace: Boolean = false,
/**
* All visual errors, such as whether the visual sensor is available. This field will be added for new errors later.
*/
var visionErrorCode: Int = 0,
)
Type: Listen
KeyControlLed
Description: Control a single aircraft LED light
Input parameters:
data class DroneLedStatusBean(
/**
* LED light type, see DRONE_LED_TYPE
*/
var ledType: DroneLedTypeEnum = DroneLedTypeEnum.NONE,
/**
* LED switch status, see DRONE_LED_STATUS
*/
var ledStatus: DroneLedStatusEnum = DroneLedStatusEnum.CLOSE
)
Output parameter: None
Type: Action
KeyQueryLedStatus
Description: Query the status of all LED lights on the aircraft
Input parameters: None
Output parameter:
data class DroneAllLedStatusBean(
/**
*LED single light status, see DRONE_LED_STATUS
*/
var ledsStatus: List<DroneLedStatusBean>? = null,
/**
* Night navigation light LED switch status, 0: off, 1: on
*/
var nightLedStatus: Boolean = false
)
Type: Action
KeyDroneCalibrationCommand
Description: General calibration command
Input parameters:
data class CalibrationCommandBean(
/**
* Calibration Type
*/
var type: CalibrationTypeEnum = CalibrationTypeEnum.UNKNOWN,
/**
* Calibration action instructions
*/
var cmd: CmdEnum = CmdEnum.UNKNOWN,
)
Output parameter: None
Type: Action
KeyDroneCalibrationEventNtfy
Description: Calibration event notification
Input parameters: None
Output parameter:
data class CalibrationEventBean(
/**
* Calibration Type
*/
var calibrationType: CalibrationTypeEnum = CalibrationTypeEnum.UNKNOWN,
/**
* Calibration Event
*/
var calibrationEvent: CalibrationEventEnum = CalibrationEventEnum.UNKNOWN,
)
Type: Listen
KeyDroneCalibrationScheduleNtfy
Description: Calibration progress notification
Input parameters: None
Output parameter:
data class CalibrationScheduleBean(
/**
* When the calibrationType value is IMU, use this field
*/
var imcStep: IMUCalibrationStepEnum = IMUCalibrationStepEnum.NONE,
/**
* When the calibrationType value is COMPASS, this field is used
*/
var compassStep: CompassCalibrationStepEnum = CompassCalibrationStepEnum.STEP0,
/**
* When the calibrationType value is GIMBAL_ANGLE, this field is used
*/
var gimbalStep: Int = 0,
/**
* Current calibration progress percentage. Calibration functions that support reporting of calibration progress percentage can be used, such as gimbal angle calibration
*/
var calibrationPercent: Int = 0,
/**
* Calibration type, see 1.17.16 Calibration type CALIBRATION_TYPE
*/
var calibrationType: CalibrationTypeEnum = CalibrationTypeEnum.UNKNOWN,
)
Type: Listen
KeyDroneHfNtfy
Description: High frequency reporting frequency of key flight control parameters on the aircraft side: 5HZ,
Input parameters: None
Output parameter:
data class DroneKeyInfoHFNtfyBean(
var timestamp :Long= 0L,
var qList :List<Float>? = null,
var posList :List<Float>?= null,
var velList :List<Float>? =null,
var gyrList :List<Float>? = null,
var rpyList :List<Float>? = null,
var valid: Boolean = false,
var escNum :Int=0,
var pwmList:List<Int>? = null,
var rpmList:List<Int>?= null,
var fcsPwmList:List<Int>?= null,
var statusList:List<Int>?= null,
var latEst:Double=0.0,
var lonEst:Double=0.0,
var altEst:Float=0.0f,
var lat0:Double=0.0,
var lon0:Double=0.0,
var alt0:Float=0.0f,
var heightGround:Float=0.0f,
var validFlag:Int =0
)
Type: Listen
KeyDroneLfNtfy
Description: Low-frequency reporting frequency of key flight control parameters on the aircraft side: 2HZ,
Input parameters: None
Output parameter:
data class DroneKeyInfoLFNtfyBean(
var timestamp: Long = 0L,
var gpsTime: Int = 0,
var gpsLat: Double = 0.0,
var gpsLon: Double = 0.0,
var gpsAlt: Float = 0.0f,
var velNedX: Float = 0.0f,
var velNedY: Float = 0.0f,
var velNedZ: Float = 0.0f,
var accuracyH: Float = 0.0f,
var accuracyV: Float = 0.0f,
var accuracyS: Float = 0.0f,
var hmsl : Double = 0.0,
var gnssFixType: Int = 0,
var satellitesNum: Int = 0,
var gpsQuality: Int = 0,
var xacc : Double = 0.0,
var yacc: Double = 0.0,
var zacc : Double = 0.0,
var xgyro : Double = 0.0,
var ygyro : Double = 0.0,
var zgyro : Double = 0.0,
var xacc1: Double = 0.0,
var yacc1: Double = 0.0,
var zacc1: Double = 0.0,
var xgyro1: Double = 0.0,
var ygyro1: Double = 0.0,
var zgyro1: Double = 0.0,
var xmag : Double = 0.0,
var ymag : Double = 0.0,
var zmag : Double = 0.0,
var xmag1: Double = 0.0,
var ymag1: Double = 0.0,
var zmag1: Double = 0.0,
var absPressure: Double = 0.0,
var temperature: Double = 0.0,
var absPressure1: Double = 0.0,
var temperature1: Double = 0.0,
var fieldsUpdated: Int = 0,
var smartMode: DroneWorkModeEnum = DroneWorkModeEnum.UNRECOGNIZED, // Aircraft smart mode, drone_work_mode
var smartModeStatus: Int = 0, // Smart mode working status drone_work_status
var batteryStatus: Int = 0, // Battery status see battery_status
var unlockValid: Boolean = false, //Whether the flight control is currently allowed to unlock 0: Not allowed 1: Allowed
var isGpsInterfaceOpen: Boolean = false, // GPS switch status (0: GPS off 1: GPS on)
var button: Int = 0,
/**
* | Bit | Purpose | Description |
| ------ | ---------------------------------- | --------------------------------------------------------------- |
| 0:1 | Battery warning | 0 – No warning 1 – Low battery 2 – Critical battery 3 – Unknown battery |
| 2 | Reach maximum height or not | |
| 3 | Reach maximum range or not | |
| 4 | GPS valid or not | |
| 5 | Hover on | Home point valid or notDelete|
| 6 | Compass valid or not | |
| 7 | RC disconnected or not | |
| 8 | GPS cheated or not | 0-Not cheated, 1-Cheated |
| 9 | GPS fused or not | 0-not fused, 1-fused|
| 10:11 | Airport warnings | <!--0 -- No warning1 -- Warning zone2 -- Restricted altitude zone3 -- Reached maximum altitude4 -- No-fly zone--> Currently reserved|
| 12 | IMU interface | |
| 13 | BARO interface | |
| 14 | MAG interface | |
| 15 | GPS interface | |
| 16 | Hide Mode is or not | 0:false, 1:trueSilent~~Gohome pending confirmation1 – Waiting to cancel return~~ |
| 17 | Stick is limited | Stick is limited |
| 18 | One click take off valid or not | |
| 19 | Able to take off or not | |
| 20:21 | Led pilot lamp status | 0 – Headlights off, taillights off 1 – Headlights off, taillights on 2 – Headlights on, taillights off 3 – Headlights on, taillights on |
| 22 | FC hot or not | |
| 23 | Battery hot or not | |
| 24:27 | Compass status | 0 – Normal 1 – CALIB_Start 2 – CALIB_Step1 3 – CALIB_Wstep2 4 – CALIB_Step2 5 – CALIB_Calc 6 – CALIB_Failed 7 – CALIB_Success 8 – CALIB_Timedout |
| ~~27~~ | ~~Hover on~~ | ~~Is it in hovering state~~ |
| 28 | Large wind warning |
| 29 | Near the range limit | 1 – Near the range limit |
| 30 | Home point not good | |
| 31 | Warming up or not |
*/
var alarm_status1: Int = 0, // System alarm status 1 See ROS protocol table 1.1.1.4.1
/**
*| Bit| Purpose| Description|
| ----- | ------------------------ | ------------------ ------------------------------------------------ |
| 0:3 | Main fly state | 0- Unknown state 1- ATTI state 2- GPS state 3- IOC state 4- StarPoint state |
| 4:7 | Virtual joystick mode | \- |
| 8:15 | ErrorCode | 0 – No error 1 - IMU loss 2 - Critical battery 3 - Baro loss 4 – RedZone 5 - IOC error 6 - Beginner NO GPS 7 - Disarm tilt over 45deg 8 - Disarm IMU loss 9 - IMU is warming up 10 - Magnetometer is calibrating 11 - Multiple sensors error 12 - Gimbal is not ready 13 - Upgrade is ongoing 14 - IMU need user calibration 15 - Initializing attitude 16 - RTK not ready 17 - Aircraft not activated |
| 16 | Vision orbit stop flag | 0-Normal; 1-Orbit obstacle avoidance brake flag |
| 17 | GPS good for landing | 0-GPS signal is poor during landing, use high altitude VIO; 1-GPS signal is good during landing, use precision landing |
| 18 | Is Calibration Necessary | 0-Not required; 1-Required |
| 19 | Support rtk | 0-Does not support RTK; 1-Supports RTK |
| 20 | ATTI mode allow to fly | 0-takeoff is not allowed; 1-takeoff is allowed |
| 21 | mag error allow to fly | 0-takeoff is not allowed; 1-takeoff is allowed |
| 22 | vertical screen | Whether the 4-axis gimbal is in vertical screen mode, 0-no; 1-yes |
| 23 | full power | Power full load status, 0-not fully loaded; 1-fully loaded |
| 24:31 | Version ID | 0-255
*/
var alarm_status2: Int = 0, // System alarm status 2 See ROS protocol table 1.1.1.4.2
/**
* | ---- | --------------------------------------------------------------- |
| 0 | Motor stop |
| 1 | The aircraft motor is spinning, but the aircraft is still on the ground |
| 2 | The aircraft is landing |
| 3 | The aircraft is taking off, including automatic takeoff and takeoff controlled by the remote controller |
| 4 | The aircraft is flying and in attitude mode |
| 5 | The aircraft is flying, in GPS mode or Starpoint mode |
| 6 | Aircraft is flying, IOC mode |
| 7 | The aircraft is returning to home automatically. Reason for return: Send an automatic return command to the aircraft via the remote controller or App. |
| 8 | The aircraft is returning automatically. Reason for return: low battery alarm. |
| 9 | The aircraft is returning automatically. Reason for return: Intelligent low-battery return.
| 10 | The aircraft is returning automatically. Reason for return: The aircraft lost the remote controller signal and the loss of connection protection was activated. |
| 11 | Return flight suspended |
| 12 | The aircraft is executing a waypoint mission |
| 13 | The waypoint mission has been paused, the aircraft is hovering |
| 14 | The aircraft has automatically exited the intelligent flight mode and is returning to the home position. |
| 15 | The aircraft is performing a follow-up mission |
| 16 | The aircraft is performing a point of interest orbit mission |
| 17 | The follow mission has been paused, the aircraft is hovering |
| 18 | Orbiting mission has been paused, the vehicle is hovering |
| 19 | The aircraft is performing a 360Shoot mission |
| 20 | The aircraft is performing an Epic mission |
| 21 | The aircraft is performing the Rise mission |
| 22 | The aircraft is performing the FadeAway mission |
| 23 | The aircraft is performing the IntoSky mission |
| 24 | The aircraft is performing a Boomerang mission |
| 25 | The aircraft is performing the Screw mission |
| 26 | The aircraft is performing the Parabola mission |
| 27 | The aircraft is performing an Asteroid mission |
| 28 | The aircraft is performing a CircleRound mission |
| 29 | The aircraft is performing DollyZoom mission |
| 30 | The aircraft is performing a *Tripod* mission |
| 31 | The aircraft is performing the *Photographer* mission|
| 32 | The aircraft is performing a rectangular mission |
| 33 | Aircraft Rectangular Mission Pause |
| 34 | The aircraft is performing a polygonal mission |
| 35 | Aircraft polygon mission paused |
| 36 | The aircraft is performing a free time-lapse photography mission |
| 37 | Aircraft free time-lapse photography mission suspended |
| 38 | The aircraft is performing an oblique photography mission |
| 39 | Aircraft oblique photography mission suspended |
| 40 | The aircraft is performing a panoramic mission |
| 41 | Lock Mode |
| 42 | One-click short film (based on locked flight) |
| 43 | One-click short film (flying according to the measured points) |
| 44 | One-click video return|
| 45 | Portrait mode takes off |
| 46 | Portrait mode is returning|
| 47 | Portrait mode (no scene, only lock, the plane only adjusts the angle) |
| 48 | Portrait mode (with scene resolution and moving aircraft) |
| 49 | Surround delay calculation in progress|
| 50 | Surround Delay
*/
var flight_mode: FlightModeEnum = FlightModeEnum.MOTOR_STOP, // Flight model see ros protocol table 1.1.1.4.4
/**
* | type | definition | description |
| ---- | -------------------- | ------------- |
| 0 | MAV_TYPE_XSTAR2_0 | |
| 1 | MAV_TYPE_GEN2 | |
| 2 | MAV_TYPE_DRAGONFISH | |
| 3 | MAV_TYPE_MODELC | EVO2 model |
| 5 | MAV_TYPE_MODELX_MINI | EVO Lite model |
| 6 | MAV_TYPE_MODELA | EVO Nano model |
*/
var type: FlightTypeEnum=FlightTypeEnum.MAV_TYPE_MODELC, // See ros protocol table 1.1.1.4.3 for MAV type
var error_code: Int = 0, // Flight control heartbeat error code
//topic name:/fcs_heartbeat_plus
var uav_sta1: Int = 0, // Flight control heartbeat plus system alarm status 1
var uav_sta2: Int = 0, // Flight control heartbeat plus system alarm status 2
var uav_sta3: Int = 0, // Flight control heartbeat plus system alarm status 3
var data_u32: List<Int>? = listOf(),
var data_u8: List<Int>? = listOf(),
/**
* Table 4-6-1-1 Battery safety status bit definition
| Bit 31 | Bit 30 | Bit 29 | Bit 28 | Bit 27 | Bit 26 | Bit 25 | Bit 24 |
| ------ | -------- | --------- | ------- | --------- | ----- --- | ------- | -------- |
| **SD** | **CF** | **CVD** | **-** | **UTD** | **UTC** | **-** | **-** |
| Bit 23 | Bit 22 | Bit 21 | Bit 20 | Bit 19 | Bit 18 | Bit 17 | Bit 16 |
| **-** | **-** | **OTD1-** | **-** | **-** | **-** | **-** | **-** |
| Bit 15 | Bit 14 | Bit 13 | Bit 12 | Bit 11 | Bit 10 | Bit 09 | Bit 08 |
| **-** | **CUVC** | **OTD2** | **OTC** | **ASCDL** | **ASCD** | **-** | **ASCC** |
| Bit 07 | Bit 06 | Bit 05 | Bit 04 | Bit 03 | Bit 02 | Bit 01 | Bit 00 |
| **-** | **AOLD** | **-** | **-** | **-** | **OCC1** | **COV** | **CUV** |
Note: For detailed information on each bit, see the table below. A bit state of 1 indicates that the state is valid, and 0 indicates that it is invalid.
Table 4-6-1-2 Battery safety status bit definition
| **Status bit** | **Abbreviation** | **Definition** | **APP battery status display** | **APP and remote control main interface prompt** |
| ---------- | -------- | -------------------------- ----------------------- | ------------------- | ------ ------------------ |
| Bit 31 | SD | Shutdown, power supply output shutdown prompt | \- | \- |
| Bit 30 | CF | Communication Fail, fuel gauge communication abnormality | \- | \- |
| Bit 29 | CVD | Cell Voltage Difference, cell voltage difference alarm | Cell voltage difference is large | The battery is damaged, it is recommended to replace the battery |
| Bit 28 | \- | \- | \- | \- |
| Bit 27 | UTD1 | Undertemperature During Discharge 1, discharge temperature is low | Battery temperature is low | Battery temperature is low, flight is restricted |
| Bit 26 | UTC | Undertemperature During Charge, charging temperature is too low | \- | \- |
| Bit 25 | \- | \- | \- | \- |
| Bit 24 | \- | \- | \- | \- |
| Bit 23 | \- | \- | \- | \- |
| Bit 22 | \- | \- | \- | \- |
| Bit 21 | OTD1 | Overtemperature During Discharge 1, discharge temperature is too high | Battery temperature is too high | Battery temperature is too high, flight is restricted |
| Bit 20 | \- | \- | \- | \- |
| Bit 19 | UTD2 | Undertemperature During Discharge 2, discharge temperature is too low | Battery temperature is too low | Battery temperature is too low, flight prohibited |
| Bit 18 | \- | \- | \- | \- |
| Bit 17 | \- | \- | \- | \- |
| Bit 16 | \- | \- | \- | \- |
| Bit 15 | INC | Inhibit Charge, prohibit charging due to over-temperature (before charging) | \- | \- |
| Bit 14 | CUVC | Cell Undervoltage Compensated, cell undervoltage compensation protection | \- | |
| Bit 13 | OTD2 | Overtemperature During Discharge, discharge temperature is too high | Battery temperature is too high | Battery temperature is too high, stop flying immediately |
| Bit 12 | OTC | Overtemperature During Charge, charging temperature is too high | \- | \- |
| Bit 11 | ASCDL | Short-circuit During Discharge Latch, discharge short circuit protection lock | \- | \- |
| Bit 10 | ASCD | Short-circuit During Discharge, discharge short circuit | \- | \- |
| Bit 09 | \- | \- | \- | \- |
| Bit 08 | ASCC | Short-circuit During Charge, short circuit during charge | \- | \- |
| Bit 07 | | | | \- |
| Bit 06 | AOLD | Overload During Discharge, discharge overload | \- | \- |
| Bit 05 | \- | \- | \- | \- |
| Bit 04 | \- | \- | \- | \- |
| Bit 03 | \- | \- | \- | \- |
| Bit 02 | OCC1 | Overcurrent During Charge 1, overcurrent during charge | \- | \- |
| Bit 01 | COV | Cell Overvoltage, cell voltage is too high | \- | \- |
| Bit 00 | CUV | Cell Undervoltage, cell voltage is too low | \- | \- |
Notice:
(1) When receiving an SD (output shutdown prompt), it may be necessary to notify the camera to stop working, save files, etc.
*/
var safe_status: Int = 0, //Battery safety status see ROS protocol table 4-6-1-1 and table 4-6-1-2
var maxerror: Int = 0, // Battery error status information
var drone_gear: Int = 0, // aircraft gear
var support_rtk: Boolean = false, // Whether to support RTK
var is_home_invalid: Boolean = false, // Is the home point invalid?
var low_power_warning: Int = 0, // low power warning
var no_fly_status: Int = 0, // No-fly zone warning status
var joyStickBean: DroneKeyInfoJoyStickBean? = null, // Report joystick related information
//add for dragon fish start
var airspeedPressure: Float = 0f, // DragonFish: air speed Pressure
var aglMeas: Float = 0f, // DragonFish: Above Ground Level (AGL) measurement, m
var aglInfo: Int = 0, // DragonFish Dragon Fish: Above Ground Level (AGL) source and validity; 0-not valid; 1-Sonar; 2-Downward Radar
var alarm_status3: Int = 0, //System alarm status 1 See ROS protocol 1.1.1.4.1
var alarm_status4: Int = 0 //System alarm status 1 See ROS protocol 1.1.1.4.2
//add for dragon fish end
)
Type: Listen
KeyDroneRuntimeNtfy
Description: Report aircraft operation time statistics. Frequency: 1HZ, corresponding data structure: DroneRuntimeReport
KeyDroneControlNightNavigationLed
Description: Control LED night navigation lights
Input parameters: None
Output parameter: Boolean
Type: Listen, Action
KeyDroneVersionNtfy
Description: Aircraft equipment information notification
Input parameters: None
Output parameter: List<DroneVersionItemBean>
data class DroneVersionItemBean(
/**
* component ID
*/
var componentID: DroneComponentIdEnum = DroneComponentIdEnum.NONE,
/**
* component serial number
*/
var componentSN: String? = null,
/**
* Hardware version
*/
var hardwareVersion: String? = null,
/**
* software version
*/
var softwareVersion: String? = null,
/**
* Integer enumeration value, component device model
*/
var componentModel: Int = 0, //
/**
* Character type component device model, (for example: camera device model XM802)
*/
var strComponentModel: String? = null,
/**
* Aircraft capability set reserved field
*/
var label: String? = null,
/**
* Aircraft capability set reserved field
*/
var componentType: DroneComponentEnum = DroneComponentEnum.UNKNOWN,
/**
* MCU bootloader version information
*/
var bootloaderVersion: String? = null,
/**
* Data source, 0 remote controller, 1 aircraft
*/
var dataSource:Int = 0
)
Type: Listen
KeyDroneEventNtfy
Description: Aircraft event notification
Input parameters: None
Output parameter:
data class EventInfoBean(
/**
* Component type see VersionMessage.proto->DRONE_COMPONENT_TYPE
*/
var componentType: DroneComponentEnum = DroneComponentEnum.UNKNOWN,
/**
* Component ID See CommonHead.proto->DRONE_COMPONENT_ID
*/
var componentId: DroneComponentIdEnum = DroneComponentIdEnum.NONE,
/**
* Exception priority, see ABNORMAL_PRIORITY
*/
var priority: EventPriorityEnum = EventPriorityEnum.UNKNOWN,
/**
* Event ID
*/
var eventId: DroneEventEnum = DroneEventEnum.UNKNOWN,
)
Type: Listen
KeyDroneTempConnectNtfy
Description: The device can be temporarily connected to report that the aircraft is not connected.
Input parameters: None
Output parameter:
data class DeviceTempConnectBean(
/**
* Aircraft SN
*/
var droneSn: String? = null,
/**
* Electromechanical power percentage
*/
var droneBatteryPercentage: Float = 0f,
/**
* Is it a new aircraft that has not been paired? 0: Not paired, 1: Paired
*/
var isMatched: Boolean = false,
/**
* User-defined aircraft name
*/
var droneName: String? = null
)
Type: Listen
KeyDroneUtcTimeSyncNtfy
Description: Aircraft GPS UTC time synchronization
Input parameters: None
Output parameter:
data class DroneUTCTimeSyncBean(
/**
* UTC time sent by the time synchronization service
*/
var gpsTime: Long = 0L
)
Type: Listen
KeyDroneSetCountryCode
Description: Set the aircraft country code
Request parameter: String
Output parameter: None
Type: Action
KeyDroneCleanNoflyZone
Description: Clear no-fly zone files
Input parameters:
enum class CleanNoFlyZoneEnum(var value: Int) {
/**
* Unknown
*/
UNKNOWN(0),
/**
* Clear all files
*/
ALL_FILE(1),
/**
* Clear temporary no-fly zone files
*/
TEMPORARY_NOFLY(2),
/**
* Clear the authorization area files
*/
AUTHORIZED_NOFLY(3),
/**
* Clear geo-fence files
*/
ELECTRIC_FENCE_NOFLY(4);
}
Output parameter: None
Type: Action
KeyFileUpload
Description: File processing related message definition file upload
Input parameters:
data class FileUploadBean(
var fileType:Int=0, //File type, the specific value is agreed upon between the two devices
var fileName :String="", //File name, usually with an absolute path, which is agreed upon between the two devices
)
Output parameter: None
Type: Action
KeyFileDelete
Description: File deletion command Device 1 notifies Device 2 to delete a certain file/type of files, for example: APP notifies the aircraft to delete the temporary no-fly zone file
Input parameters:
data class FileMsgDataBean(
val fileType: Int,
val fileName: String
)
Output parameter: None
Type: Action
KeyGetFileInfo
Description: Get file information message Device 1 requests file information from device 2, for example: APP requests temporary no-fly zone information from an aircraft
Input parameters:
data class FileMsgDataBean(
val fileType: Int,
val fileName: String
)
Output parameter:
data class FileInfoListDataBean(
val fileInfoList: List<FileInfoDataBean>
)
Type: Action
KeyLampCommand
Description: Universal light language control LampLanguageCommandBean(LampLanguageTypeEnum.DIRECT_CTRL, LampDirectCtrlEnum.FRONT_OFF_BACK_ON) LampLanguageTypeEnum.DIRECT_CTRL -> mapOf( 0 to LampDirectCtrlEnum.ALL_OFF, 1 to LampDirectCtrlEnum.FRONT_OFF_BACK_ON, 2 to LampDirectCtrlEnum.FRONT_ON_BACK_OFF, 3 to LampDirectCtrlEnum.ALL_ON ) LampLanguageTypeEnum.GET_LOG -> mapOf( 0 to LampLogCommandEnum.STOP, 1 to LampLogCommandEnum.START ) LampLanguageTypeEnum.UPGRADE_SERVICE -> mapOf( 0 to LampUpgradeServiceCmdEnum.CLOSE, 1 to LampUpgradeServiceCmdEnum.START, 2 to LampUpgradeServiceCmdEnum.SUCCESS, 3 to LampUpgradeServiceCmdEnum.FAILED )
Input parameters:
data class LampLanguageCommandBean(
val type: LampLanguageTypeEnum,
val cmd: LampCommand //Use the enumeration values in LampDirectCtrlEnum LampLogCommandEnum LampUpgradeServiceCmdEnum according to type
)
Output parameter: None
Type: Action
KeyRemoteDeviceSize
Description: Set the size of the remote control (temporary solution support), 7.9 inches: 1, 6.4 inches: 2, other: 0
Request parameter: Int
Output parameter: None
Type: Set
KeySetDroneRunEnv
Description: Set the aircraft operating environment Product Type: productType AUTEL(0), // 0: Autel NEUTRAL(1), // 1: Neutral SAFETY(2) // 2: Safety Area Code: areaCode
Input parameters:
data class DroneRunEnvInfoBean(
val productType: ProductTypeEnum,
val areaCode: String
)
Output parameter: None
Type: Action
KeyRCPosition
Description: The APP reports the remote controller's location data to the aircraft. The aircraft's RemoteID, follow-the-remote controller and other functions will use the remote controller's location information.
Input parameters:
data class RCPositionInfoBean(
val timestamp: Long,
val latitude: Double,
val longitude: Double,
val altitude: Float,
val posType: Int,
val altType: Int,
val coordinateSystem: Int,
valueNedX: Float,
valueNedY: Float,
valueNedZ: Float,
val accuracyS: Float,
val satellitesUsed: Int
)
Output parameter: None
Type: Report
KeyDroneControlLedFire
Description: App notifies the aircraft to turn on the downward fill light. The unit is 10ms. 100 means 1S. Please pay attention to the unit here! !
Request parameter: Int
Output parameter: None
Type: Action
6. FlightControlKey
KeyCalibrateCompass
Description: Compass calibration
Input parameters: None
Output parameter: None
Type: Action
KeyTakeOffAirCraft
Description: Take off
Input parameters: None
Output parameter: None
Type: Action
KeySetLanding
Description: false: cancel automatic landing, true: automatic landing
Request parameter: Boolean
Output parameter: None
Type: Action
KeyStartStopMotor
Description: Start and stop motor
Request parameter: Boolean
Output parameter: None
Type: Action
KeyStartStopAutoBack
Description: action: Int = 0, //Execute action 0: cancel automatic return, 1: automatic return type: Int = 0 //Return type 0: Return to home point 1: Return to alternate landing point
Input parameters:
data class DroneAutoBackBean(
var action: Boolean = true, //Execute action false: cancel automatic return, true: automatic return
var type: AutoBackEnum = AutoBackEnum.HOMEPOINT //Return type 0: Return to home point 1: Return to alternate landing point
)
Output parameter: None
Type: Action
KeySetHomeLocation
Description: Home return point setting
Input parameters: None
Output parameter: None
Type: Action
KeyCustomHomeLocation
Description: Customize the return point setting
Input parameters:
data class HomeLocation(
/**
* latitude of home location
*/
var latitude: Long = 0,
/**
* length of home location
*/
var longitude: Long = 0,
/**
* height of home location
*/
var height: Long = 0,
/**
* location enum type
*/
var type: LocationTypeEnum=LocationTypeEnum.UNKNOWN
)
Output parameter: None
Type: Action
KeyCustomHomeLocationDouble
Description: Customize the return point setting (double type)
Input parameters:
data class HomeLocationDouble(
/**
* latitude of home location
*/
var latitude : Double = 0.0,
/**
* length of home location
*/
var longitude: Double = 0.0,
/**
* height of home location
*/
var height: Double = 0.0,
/**
* location enum type
*/
var type: LocationTypeEnum=LocationTypeEnum.UNKNOWN
)
Output parameter: None
Type: Action
KeyCheckNFZUpload
Description: Check whether it is necessary to upload the no-fly zone file
Input parameters:
data class NoFlyQzoneBean(
/**
* Country Code
*/
var countryCode :String? = null,
/**
* No-fly zone file md5
*/
var fileMd5 : String? = null
)
Output parameter: Boolean
Type: Action
KeyEnableNFZ
Description: No-fly zone enable
Request parameter: Boolean
Output parameter: None
Type: Action
KeySetAttiTakeOff
Description: Attitude mode allows takeoff
Request parameter: Boolean
Output parameter: None
Type: Action
KeyCalibrateIMU
Description: IMU calibration
Input parameters: None
Output parameter: None
Type: Action
KeyGetMissionGuid
Description: Get the current task GUID
Input parameters: None
Output parameter: String
Type: Action
KeyCancelLowPowerBack
Description: Cancel low battery return
Input parameters: None
Output parameter: None
Type: Action
KeySetCompassTakeOff
Description: Set the magnetometer to allow takeoff if it is abnormal
Request parameter: Boolean
Output parameter: None
Type: Action
KeySetPortraitMode
Description: Set the 4th axis gimbal to portrait mode
Request parameter: Boolean
Output parameter: None
Type: Action
KeyGetCommonParams
Description: Get the flight control parameter set
Input parameters: None
Output parameter:
data class DroneCommonParamSetBean(
/**
* Whether RTK is supported
*/
var supportRTK: Boolean = false,
/**
* Whether it is novice mode
*/
var beginMode: Boolean = false,
/**
* Whether it is novice mode
*/
var gearLevel: GearLevelEnum = GearLevelEnum.UNKNOWN,
/**
* Lost connection action
*/
var lostAction: DroneLostActionEnum = DroneLostActionEnum.UNKNOWN,
/**
* Maximum height
*/
var maxHeight: Float = 0f,
/**
* Maximum distance
*/
var maxRange: Float = 0f,
/**
* Return altitude
*/
var backHeight: Float = 0f,
/**
* Low battery warning value
*/
var batLowWarningValue: Int = 0,
/**
* Severe low battery warning value
*/
var batSeriousWarningValue: Int = 0,
/**
* Whether atti is running takeoff (user setting)
*/
var attiAllowFly: Boolean = false,
/**
* Whether to operate takeoff when magnetometer is abnormal (user setting)
*/
var magErrorAllowFly: Boolean = false
)
Type: Action
KeyNestRetractPaddleControl
Description: Propeller retraction control
Input parameters: None
Output parameter:
data class NestWaitTimeBean(
/**
*Waiting time
*/
var waitTime: Int = 0,
)
Type: Action
KeySetDronePosition
Description: Precise calibration of longitude and latitude settings
Input parameters:
data class DronePositionCorrectionBean(
/**
* Longitude
*/
var lon : Float = 0.0f,
/**
* Latitude
*/
var lat : Float = 0.0f,
)
Output parameter: Int
Type: Action
KeyTakeOffToRallyPoint
Description: APP notifies the aircraft to take off and fly to the assembly point and hover
Input parameters:
data class DroneTakeoffToRallyPointBean(
/**
* Assembly point latitude* 1e7
*/
var latitude: Int = 0,
/**
* Assembly point longitude* 1e7
*/
var longitude: Int = 0,
/**
* Relative height of the assembly point* 1e3
*/
var altitude: Int = 0,
/**
* Aircraft heading, Aircraft heading angle* 1e3
*/
var yaw: Int = 0,
/**
* Timestamp of issuing the command
*/
var startTime: Int = 0,
/**
* The time the aircraft is delayed from taking off, unit: s
*/
var offsetTime: Int = 0
)
Output parameter: None
Type: Action
KeyDroneUnlockNtfy
Description: Notification of whether the user unlocks the aircraft (unlocks the aircraft with eight inwards or presses the one-touch takeoff button) in cluster mode When the user unlocks the phone/presses the take-off button, the push notification is sent at a fixed frequency (the frequency is not fixed).
Input parameters: None
Output parameter:
data class DroneUnlockNtfyBean(
var isUnlock : Boolean = false
)
Type: Listen
KeySetLeadDrone
Description: Cluster attack setting long machine
Request parameter: Boolean
Output parameter: None
Type: Action
KeyDroneEnterDRCMode
Description: Enter command flight mode
Input parameters: None
Output parameter: None
Type: Action
KeyDroneExitDRCMode
Description: Exit command flight mode
Input parameters: None
Output parameter: None
Type: Action
KeyDroneRemoteControl
Description: Remote control aircraft: After entering the command flight mode, the APP controls the aircraft's flight direction and speed through the command. The transmission frequency needs to be kept within 5-10hz so that the device can control the speed change and direction more accurately.
Input parameters:
data class DroneRemoteControlBean(
/**
* Increasing sequence number to ensure the order of instruction execution. If the x, y, h, w parameters change, seq needs to start from 0.
*/
private var seq: Int = 0,
/**
* {"max":17,"min":-17,"unit":"meters per second / m/s"} | Maximum speed in forward and reverse directions, negative values indicate backward movement
*/
private var x: Double = 0.0,
/**
* {"max":17,"min":-17,"unit":"meters per second / m/s"} | Maximum speed in left and right directions, negative values indicate leftward movement
*/
private var y : Double = 0.0,
/**
* {"max":5,"min":-4,"unit":"meters per second / m/s"} | Maximum speed in the up and down directions, negative values indicate downward movement
*/
private var h: Double = 0.0,
/**
* {"max":90,"min":-90,"unit":"radians per second/rad/s"} | Maximum angular velocity in clockwise and counterclockwise directions, negative values indicate counterclockwise rotation
*/
private var w: Double = 0.0
)
Output parameter: None
Type: Action
KeyDroneEmergencyStop
Description: App notifies the aircraft to make an emergency stop, and the aircraft will hover in place after the emergency stop
Input parameters: None
Output parameter: None
Type: Action
KeyDroneDRCModeHearBeat
Description: App notifies the aircraft to make an emergency stop, and the aircraft will hover in place after the emergency stop
Input parameters:
data class DroneRemoteControlHeartBeatBean(
/**
* Increasing serial number to ensure the order of execution of instructions
*/
private var seq: Int = 0,
/**
* Heartbeat timestamp
*/
private var timestamp: Double = 0.0,
)
Output parameter: None
Type: Action
KeyADS_BReport
Description: ADS_B information reporting
Input parameters: None
Output parameter:
data class AdsbReportBean(
var icaoAddress: Int = 0,
var callsign: String = "",
var latitude : Double = 0.0,
var longitude: Double = 0.0,
var altitude: Double = 0.0,
var heading: Double = 0.0,
var horVelocity: Double = 0.0,
var verVelocity: Double = 0.0,
var altitudeType: AdsbAltitudeType = AdsbAltitudeType.ALT_PRESSURE_QNH,
var emitterType: AdsbEmitterType = AdsbEmitterType.EMITTER_NO_INFO,
var tslc: Int = 0,
var flags: AdsbFlags = AdsbFlags.FLAG_INVALID,
var squawk: Int = 0
)
Type: Listen
KeyAirSenseSystemInformation
Description: ADS-B information reporting, a specific version that only receives but does not send
Input parameters: None
Output parameter:
data class AdsbReportBean(
var icaoAddress: Int = 0,
var callsign: String = "",
var latitude : Double = 0.0,
var longitude: Double = 0.0,
var altitude: Double = 0.0,
var heading: Double = 0.0,
var horVelocity: Double = 0.0,
var verVelocity: Double = 0.0,
var altitudeType: AdsbAltitudeType = AdsbAltitudeType.ALT_PRESSURE_QNH,
var emitterType: AdsbEmitterType = AdsbEmitterType.EMITTER_NO_INFO,
var tslc: Int = 0,
var flags: AdsbFlags = AdsbFlags.FLAG_INVALID,
var squawk: Int = 0
)
Type: Listen
7. FlightMissionKey
KeyEnter
Description: Enter waypoint mission
Input parameters: None
Output parameter: None
Type: Action
KeyExit
Description: Exit waypoint mission
Input parameters: None
Output parameter: None
Type: Action
KeyStart
Description: Start a waypoint mission
Input parameters:
data class MissionWaypointGUIDBean(
/**
* guid data for mission way points
*/
var guid: Int = 0,
var startTime:Int = 0,
var offsetTime: Int = 0
)
Output parameter: Int
Type: Action
KeyPause
Description: Pause waypoint mission
Input parameters: None
Output parameter: None
Type: Action
KeyResume
Description: Restore waypoint mission
Input parameters:
data class MissionWaypointGUIDBean(
/**
* guid data for mission way points
*/
var guid: Int = 0,
var startTime:Int = 0,
var offsetTime: Int = 0
)
Output parameter: None
Type: Action
KeyStop
Description: Stop waypoint mission
Input parameters: None
Output parameter: None
Type: Action
KeyBreakRequest
Description: Query waypoint mission breakpoint information
Input parameters:
data class MissionWaypointGUIDBean(
/**
* guid data for mission way points
*/
var guid: Int = 0,
var startTime:Int = 0,
var offsetTime: Int = 0
)
Output parameter:
data class MissionWaypointBreakRspBean(
/**
* Task id
*/
var missionId: Int = 0,
/**
* Execution index
*/
var executeIndex: Int = 0,
/**
* Task Type
*/
var missionType: Int = 0,
/**
* Latitude (precision: 10e-7)
*/
var lat : Double = 0.0,
/**
* Longitude (accuracy: 10e-7)
*/
var lon : Double = 0.0,
/**
* Altitude (accuracy: 10e-3)
*/
var alt: Double = 0.0,
/**
* Query historical task information
*/
var status: MissionQueryStatusEnum = MissionQueryStatusEnum.UNKNOWN,
/**
* Current mission status, see MISSION_CURRENT_STATUS
*/
var executeStatus: MissionCurrentStateEnum = MissionCurrentStateEnum.UNKNOWN
)
Type: Action
KeyStatusReportNtfy
Description: Waypoint status information reporting
Input parameters: None
Output parameter:
data class MissionWaypointStatusReportNtfyBean(
/**
* System timestamp; uint: ms
*/
var timestamp: Long = 0L,
/**
* Task ID
*/
var missionId: Int = 0,
/**
* Waypoint number
*/
var wpSeq: Int = 0,
/**
* Remaining distance
*/
var remainDistance: Int = 0,
/**
* Refer to MISSION_TYPE
*/
var missionType: MissionTypeEnum = MissionTypeEnum.UNKNOWN,
/**
* Current number of photos taken
*/
var photoNum: Int = 0,
/**
* Remaining time; uint:s
*/
var remainTime: Int = 0,
/**
* Current mission status, see MISSION_CURRENT_STATUS
*/
var status: MissionCurrentStateEnum = MissionCurrentStateEnum.UNKNOWN,
/**
* Task guid
*/
var guid: Int = 0,
/**
* Current action number
*/
var actionSeq: Int = 0,
/**
* Waypoint arrival status; 0 - arrived; 1 - Not arrived
*/
var arrived: Int = 0,
/**
* Task setting speed; Uint: 10E-3 m/s
* Note: This field is not used, it is used to distinguish between kml tasks and bin tasks
*/
var speedSet: Int = 0,
/**
* Task progress percentage
*/
var percent: Int = 0,
// The type of task currently being executed, 0: unknown, 1: formation, 2: collaborative search
var runTaskType: SwarmMissionTypeEnum = SwarmMissionTypeEnum.UNKNOWN,
// Current task phase
var taskStageIndex: Int = 4
)
Type: Listen
KeyIPMEnter
Description: Enter the point of interest flight mission
Input parameters: None
Output parameter: None
Type: Action
KeyIPExit
Description: Exit point of interest flight mission
Input parameters: None
Output parameter: None
Type: Action
KeyIPMStart
Description: Start a point of interest flight mission
Input parameters:
data class MissionInterestPointStartMsgBean(
/**
* Target latitude (accuracy: 10e-7) or NED coordinate x
*/
var latitude: Int = 0,
/**
* Target longitude (accuracy: 10e-7) or NED coordinate y
*/
var longitude: Int = 0,
/**
* Target relative height (mm) or NED coordinate z
*/
var altitude: Int = 0,
/**
* Point of interest type, see MISSION_INTEREST_POINT_TYPE
*/
var missionType: MissionInterestPointEnum = MissionInterestPointEnum.UNKNOWN,
/**
* Flight speed (mm/s)
*/
var speed: Int = 0,
/**
* Circling radius (mm)
*/
var radius: Int = 0,
/**
* Request id, the caller needs to ensure that it is unique, generally using the point of interest id
*/
var reqId: Int = 0 //Request ID, the caller needs to ensure that it is unique, usually using the point of interest ID
)
Output parameter: None
Type: Action
KeyIPMStop
Description: Stop the flight mission at the point of interest
Input parameters: None
Output parameter: None
Type: Action
KeyIPMStatusReport
Description: Report flight status information of points of interest
Input parameters: None
Output parameter:
data class MissionInterestPointStatusReportNtfyBean(
/**
* System timestamp; uint: ms
*/
var timestamp: Long = 0,
/**
* Task ID
*/
var missionId: Int = 0,
/**
* Remaining distance
*/
var remainDistance: Int = 0,
/**
* Refer to MISSION_TYPE
*/
var missionType: MissionInterestPointEnum = MissionInterestPointEnum.UNKNOWN,
/**
* Task progress percentage
*/
var percent: Int = 0,
/**
* Current mission status, see MISSION_CURRENT_STATUS
*/
var status: MissionCurrentStateEnum = MissionCurrentStateEnum.UNKNOWN
)
Type: Listen
KeyIPMInfoReport
Description: User image transmission result notification message
KeyIPMCreatePoint
Description: Point of interest image transmission and marking
Input parameters: None
Output parameter:
data class MissionInterestPointCreatePointMsgBean(
/**
* Starting point x coordinate
*/
var startX: Float = 0F,
/**
* Starting point y coordinate
*/
var startY: Float = 0F,
/**
* Width
*/
var width: Float = 0F,
/**
* high
*/
var height: Float = 0F
)
Type: Listen, Action
KeyMissionOneClickStop
Description: One-key emergency stop
Input parameters: None
Output parameter: None
Type: Action
KeyAccidentEnterMode
Description: Enter the traffic quick processing task
Input parameters: None
Output parameter: None
Type: Action
KeyAccidentExitMode
Description: Exit the traffic quick processing task
Input parameters: None
Output parameter: None
Type: Action
KeyAccidentStartWorkArea
Description: Start traffic quick processing task processing: Start traffic quick processing task and issue the task execution work area
Input parameters:
data class MissionAccidentsStartBean(
var lat: Double = 0.0, // latitude (lat * 1e7)
var lon: Double = 0.0, // longitude (lon * 1e7)
var alt: Float = 0.0f, // altitude (alt * 1e3)
var height: Int = 0, //Relative height (m)
var speed: Int = 0 //Flight speed (m/s)
)
Output parameter: None
Type: Action
KeyAccidentStartProcess
Description: Start traffic quick handling task processing: Process traffic quick handling tasks and send them to the selected task area
Input parameters:
data class MissionAccidentsDealBean(
var startPx: Int = 1, //x-axis coordinate of the upper left corner of the scene to be processed (pixel value)
var startPy: Int = 2, //y-axis coordinate of the upper left corner of the scene to be processed
var targetW: Int = 3, //The percentage of the width of the scene to be processed to the width of the screen (pixel value ratio, value 1-99)
var targetH: Int = 4, //The percentage of the height of the scene to be processed to the height of the screen (pixel value ratio, value 1-99)
)
Output parameter: None
Type: Action
KeyAccidentPauseProcess
Description: Suspend traffic quick handling task processing
Input parameters: None
Output parameter: None
Type: Action
KeyAccidentContinueProcess
Description: Continue to process traffic express tasks
Input parameters: None
Output parameter: None
Type: Action
KeyManualFormatEnter
Description: None
Input parameters:
data class MissionManualParamsBean(
val formationType: Int = FormationType.Type_C.value,
val params: List<Int> = arrayListOf()
)
Output parameter: None
Type: Action
KeyManualFormatExit
Description: None
Input parameters: None
Output parameter: None
Type: Action
KeyManualFormatParamsChange
Description: None
Input parameters:
data class MissionManualParamsBean(
val formationType: Int = FormationType.Type_C.value,
val params: List<Int> = arrayListOf()
)
Output parameter: None
Type: Action
8. FlightPropertyKey
KeyBeginMode
Description: Novice mode
Input parameters:
enum class OperatorModeEnum(var value: Int = 0) {
/**
* Professional Mode
*/
PROFESSIONAL(0),
/**
* Novice Mode
*/
NEW_HAND(1),
/**
* Unknown
*/
UNKNOWN(0XFF);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyMaxHeight
Description: Maximum flight altitude setting/getting
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyMaxRadius
Description: Maximum flight radius setting/getting
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyMaxHorizontalSpeed
Description: Maximum horizontal flight speed
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyMaxAscentSpeed
Description: Maximum ascent speed
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyDescentSpeed
Description: Maximum descent flight speed
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyMissionManagerBackHeight
Description: Set/get the return altitude
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyBackHSpeed
Description: Return horizontal speed
KeyBackVSpeed
Description: Return vertical speed
Request parameter: Float
Output parameter: None
Type: Get
KeyBuzzingStatus
Description: Buzzer status (find aircraft)
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAttiMode
Description: ATTI mode
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyYawAngleSensitivity
Description: EXP left turn right turn setting/getting
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyPitchSensitivity
Description: EXP forward and backward setting/getting
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRollSensitivity
Description: EXP left and right settings to obtain
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyThrustSensitivity
Description: EXP increase and decrease setting/acquisition
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAttitudeSensitivity
Description: Sensitivity attitude setting/getting
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyBrakeSensitivity
Description: Brake sensitivity setting/getting
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyYawTripSensitivity
Description: Sensitivity yaw stroke setting/getting
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyBatteryLowWarning
Description: Low battery warning
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyBatSeriousLowWarning
Description: 7.18 Battery critical low power warning
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyLowBatLowBack
Description: Low battery return
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyLowBatLowBackInt
Description: Low battery return Remarks:
0
means no action.1
means return home.2
means landing in place.3
means continue the task.- It is recommended to keep the default value or set it to the value corresponding to "Battery Low Power Setting".
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRCLostAction
Description: Aircraft lost contact behavior
Input parameters:
enum class DroneLostActionEnum(val value: Int) {
/**
* Unknown
*/
UNKNOWN(0),
/**
* Lost contact and returned
*/
BACK(1),
/**
* Lost contact and hovering
*/
HOVER(2),
/**
* Lost contact landing
*/
LANDING(3),
/**
* New: Climb 1200 meters
*/
CLIMB_1000M(4);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyGearLever
Description: Aircraft gear setting/getting
Input parameters:
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyCoordinatedTurn
Description: Coordinated turning
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyLocationStatus
Description: Fusion vision positioning switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyFcsApasModeEn
Description: Obstacle bypass function switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeySilentModeStatus
Description: Silent mode status switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyFCSEnSuperCap
Description: Supercapacitor switch status
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyFcsEnGpsMode
Description: GPS flight switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyFcsSwitchGpsMode
Description: GPS working mode
Input parameters:
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
9. GimbalKey
KeyHeatBeat
Description: PTZ reporting parameters
Input parameters: None
Output parameter:
data class DroneGimbalStateBean(
/**
* Whether the gimbal attitude has been initialized
*/
var isAttitudeValid: Boolean = false,
/**
* Return to PTZ working mode
*/
var workMode: GimbalWorkModeEnum = GimbalWorkModeEnum.UNKNOWN,
/**
* Returns whether the gimbal is currently being calibrated
*/
var isCalibrating: Boolean = false,
/**
* Motor status
*/
var motorStatus: GimbalMotorStatus = GimbalMotorStatus.NONE,
/**
* Indicates whether the gimbal roll axis hits the limit
*/
var isRollReachMax: Boolean = false,
/**
* Is the gimbal overheated?
*/
var isOverheat: Boolean = false,
/**
* Does the gimbal need IMU calibration?
*/
var isIMUNeedCalibrate: Boolean = false,
/**
* Four-axis gimbal rotate axis angle value
*/
var rotateAngle: Float = 0f,
/**
* Angular velocity value of the four-axis gimbal rotate axis
*/
var rotateAngleRange: Float = 0f,
/**
* The gimbal has a hardware failure
*/
var isHardwareFail: Boolean = false,
/**
* Is the gimbal in sleep mode due to not receiving flight control attitude data?
*/
var isSleepForNoAttitude: Boolean = false,
/**
* Whether the gimbal enters sleep mode due to reaching the Roll axis limit
*/
var isSleepForRollReachMax: Boolean = false,
/**
* Indicates the current angle calibration status of the gimbal
*/
var gimbalCalibrateStatus: Int = 0,
/**
* Indicates the current angle calibration percentage of the gimbal (0-100)
*/
var gimbalCalibratePercent: Int = 0
)
Type: Listen
KeyRollAdjustAngle
Description: Gimbal ROLL axis fine-tuning angle
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyPitchAngleRange
Description: Gimbal PITCH axis fine-tuning angle
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyYawAdjustAngle
Description: Gimbal YAW axis fine-tuning angle
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyStartIMUCalibration
Description: Enable gimbal IMU calibration
Input parameters: None
Output parameter: None
Type: Action
KeyStartCalibration
Description: Enable gimbal calibration
Input parameters: None
Output parameter: None
Type: Action
KeyRotateFouraxisAngle
Description: Rotating four-axis gimbal
Input parameters:
data class RotateFourAxisParamsBean(
/**
* Rotation speed
*/
var rotateSpeed: Int = 0,
/**
* Rotation direction, +: clockwise; -: anti-clockwise
*/
var rotateDirection: Int = 0,
/**
* Rotation, Each time set to 1; will be set to 0 after 0.05s
*/
var rotate: Int = 0
)
Output parameter: None
Type: Action
KeyWorkMode
Description: PTZ working mode 1: Posture lock mode 2: Yaw axis follows the aircraft, Roll and Pitch are locked 3: FPV first person perspective 4: Panorama
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyPitchAngelRange
Description: PTZ pitch limit switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyPitchSpeed
Description: PTZ pitch speed
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAngleControl
Description: PTZ angle control (radian)
Request parameter: Float
Output parameter: None
Type: Action
KeyAngleDegreeControl
Description: PTZ angle control (degrees)
Request parameter: Float
Output parameter: None
Type: Action
KeyOrientationControl
Description: PTZ direction control (downward control, PTZ return to center)
Input parameters:
enum class GimbalOrientationEnum(var value: Float) {
/**
* Downward control
*/
DOWN(-(Math.PI / 2).toFloat()),
/**
* 45 degrees downward
*/
DOWN_45(-(Math.PI / 4).toFloat()),
/**
* Yuntai returns to the center
*/
FORWARD(0f);
}
Output parameter: None
Type: Action
KeyLaserRangingSwitch
Description: PTZ laser ranging switch true on false off
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyGimbalAngleSpeedCmd
Description: Gimbal setting angular velocity (common with Arowana)
Input parameters:
data class GimbalAngleSpeedBean(
var pitchSpeed: Float = 0.0f, // pitch angular speed
var rollSpeed: Float = 0.0f, //Rolling angular velocity
var yawSpeed: Float = 0.0f // yaw angular velocity
)
Output parameter: None
Type: Action
KeyGimbalAngleSpeedReport
Description: Gimbal setting gimbal angular velocity (common with Arowana): suitable for continuous calls, no retry logic
Input parameters:
data class GimbalAngleSpeedBean(
var pitchSpeed: Float = 0.0f, // pitch angular speed
var rollSpeed: Float = 0.0f, //Rolling angular velocity
var yawSpeed: Float = 0.0f // yaw angular velocity
)
Output parameter: None
Type: Report
10. MissionManagerKey
KeyRadarFusion
Description: Radar data fusion switch false-turn off radar data fusion true-turn on radar data fusion
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyPreciseLand
Description: Precision landing switch false-turn off QR code precision landing true-turn on QR code precision landing
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyReturnObsEnable
Description: Enable return obstacle avoidance false-disable return obstacle avoidance true-enable return obstacle avoidance
KeyDroneRunningMode
Description: Aircraft operation mode, 1 means Nanfang Aircraft Nest, 2 means U Aircraft Nest 0: Remote controller manual flight mode 3 Mobile hangar simple hangar
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyDoneTakeOffHeight
Description: Aircraft take-off altitude, unit: meter
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyExitPrecisionLand
Description: Exit precision reduction
Input parameters: None
Output parameter: None
Type: Action
KeyEnableLandingProtection
Description: Whether to enable landing protection
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyIgnoreLandRisk
Description: 0: Cancel the current landing. The user can manually control the aircraft to move to a safe position and then land. 2: Ignore the risk and force a landing
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyMissionTakeoffHeight
Description: Power grid automatic mission take-off height
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyBackHSpeed
Description: Return horizontal speed
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyBackVSpeed
Description: Return vertical speed
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyEnableInterLowReturn
Description: Intelligent low-battery return, enable switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyEnableReturnHomeFollowWaypoints
Description: Return to the original route
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyOrbitModelingEnterMsg
Description: Enter modeling surround mode
Input parameters: None
Output parameter: None
Type: Action
KeyOrbitModelingStartMsg
Description: Start modeling surround mode
Input parameters:
data class MissionOrbitModelingSettingMsgBean(
val radius:Int,
val height:Int,
val speed:Int,
val dir:Int
)
Output parameter: None
Type: Action
KeyOrbitModelingPauseMsg
Description: Pause modeling surround mode
Input parameters: None
Output parameter: None
Type: Action
KeyOrbitModelingExitMsg
Description: Exit modeling surround mode
Input parameters: None
Output parameter: None
Type: Action
KeyOrbitModelingContinueMsg
Description: Continue to model surround mode parameters
Input parameters: None
Output parameter: None
Type: Action
KeyFcsTmpDisarmAir
Description: Emergency propeller stop
KeyFcsSSCustomMode
Description: ss scene customization mode
Input parameters:
enum class FcsCustomModeEnum(val value: Int) {
//Normal mode
NORMAL(0),
//Customized mode, low battery will not return, lost contact, the plane will rise to 1200 meters and automatically fall after the battery is exhausted
CUSTOM(1);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyDiagonalMoveEn
Description: Power grid route flight mode setting (waypoint process) During the waypoint process, whether to fly obliquely 0 invalid 1 effective
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyGoStartDiagonalEn
Description: Grid route flight mode setting (whether to fly obliquely from the take-off point to the first waypoint) 0 Invalid 1 Valid
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyDroneWorkEnv
Description: The scene mode of the drone operation. The scene mode of the drone operation, NORMAL (0) normal mode, SUBSTATION (1) substation mode, the default is NORMAL (0) normal mode
Input parameters:
enum class DroneWorkSceneModeEnum(val value: Int) {
NORMAL(0), // Normal mode
SUBSTATION(1) // Substation mode
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyStartHorSpeed
Description: Speed to the first waypoint, unit: m/s, default: 10m/s
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyHotAreaEnable
Description: Hotspot area function switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
11. NestKey
KeyNestCabinControl
Description: Door control
Input parameters:
data class NestControlBean(
/**
*1-Automatic 2-Jog 3-Stop 21930-General Instructions
*/
var nestType: Int = 0,
/**
*1-Open door 2-Close door 1-Charge on 2-Charge off
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestXRodControl
Description: X-bar control
Input parameters:
data class NestControlBean(
/**
*1-Automatic 2-Jog 3-Stop 21930-General Instructions
*/
var nestType: Int = 0,
/**
*1-Open door 2-Close door 1-Charge on 2-Charge off
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestYRodControl
Description: Y-rod control
Input parameters:
data class NestControlBean(
/**
*1-Automatic 2-Jog 3-Stop 21930-General Instructions
*/
var nestType: Int = 0,
/**
*1-Open door 2-Close door 1-Charge on 2-Charge off
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestZRodControl
Description: Z rod control
Input parameters:
data class NestControlBean(
/**
*1-Automatic 2-Jog 3-Stop 21930-General Instructions
*/
var nestType: Int = 0,
/**
*1-Open door 2-Close door 1-Charge on 2-Charge off
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestChargeControl
Description: Drone charging
Input parameters:
data class NestControlBean(
/**
*1-Automatic 2-Jog 3-Stop 21930-General Instructions
*/
var nestType: Int = 0,
/**
*1-Open door 2-Close door 1-Charge on 2-Charge off
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestBackupBatteryControl
Description: Machine nest backup battery switch
Input parameters:
data class NestControlBean(
/**
*1-Automatic 2-Jog 3-Stop 21930-General Instructions
*/
var nestType: Int = 0,
/**
*1-Open door 2-Close door 1-Charge on 2-Charge off
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestReset
Description: Machine nest reset
Input parameters:
data class NestResetBean(
/**
* General instructions
*/
var nestType: Int = 0,
)
Output parameter: None
Type: Action
KeyNestCalibrateteOperate
Description: Calibration operation instructions
Input parameters:
data class NestCalibrationOperateBean(
/**
* General instructions
*/
var nestType: Int = 0,
/**
*1-Calibration started 2-Calibration completed
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestSignalCalibrate
Description: Single-step calibration operation
Input parameters:
data class NestSignalCalibrateBean(
/**
* General instructions
*/
var nestType: Int = 0,
/**
*Machine nest parts 1-x rod, 2-y rod, 3-door, 4-right rear servo, 5-right front servo, 6-left rear servo, 7-left front servo
*/
var nestComponents: Int = 0,
/**
*Calibration direction 1- Forward calibration 2- Reverse calibration
*/
var direction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestSystemConfig
Description: Machine nest system configuration
Input parameters:
data class NestSystemConfigBean(
/**
* General instructions
*/
var nestType: Int = 0,
/**
*Air conditioning automatic start threshold, unit: ℃
*/
var airOpenLimit: Int = 0,
/**
*Unix time, little endian format
*/
var unixTime: Int = 0,
/**
*Self-discharge time threshold (1~5 hours)
*/
var autoDischarge: Int = 0,
/**
*Automatic power replenishment threshold (50%~70%)
*/
var autoCharge: Int = 0,
/**
*Air conditioning automatic shutdown threshold, unit: ℃
*/
var airCloseLimit: Int = 0,
)
Output parameter: None
Type: Action
KeyNestTurnOnoff
Description: Drone power on and off
Input parameters:
data class NestTurnOnoffBean(
/**
* General instructions
*/
var nestType: Int = 0,
/**
*1- Power on 2- Power off
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestACControl
Description: Air conditioning switch control
Input parameters:
data class NestControlBean(
/**
*1-Automatic 2-Jog 3-Stop 21930-General Instructions
*/
var nestType: Int = 0,
/**
*1-Open door 2-Close door 1-Charge on 2-Charge off
*/
var nestAction: Int = 0,
)
Output parameter: Int
Type: Action
KeyNestScramControl
Description: Emergency stop control
Input parameters:
data class NestScramControlBean(
/**
* General instructions
*/
var nestType: Int = 0,
/**
*1- Emergency stop 2- Emergency stop release
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestAutoCommand
Description: Automatic command
Input parameters:
data class NestAutoCommandBean(
/**
* General instructions
*/
var nestType: Int = 0,
/**
*1- One-key standby flight 2- One-key standby landing 3- Terminate the current automatic command and exit the automatic mode 4- Self-test
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestMotorToZero
Description: Motor returns to zero position
Input parameters:
data class NestMotorZeroBean(
/**
* General instructions
*/
var nestType: Int = 0,
/**
*0: Door zero 1: Position zero 2: Charging zero
*/
var nestAction: Int = 0,
)
Output parameter: None
Type: Action
KeyNestWaitTimeInfo
Description: App returns waiting time
Input parameters:
data class NestWaitTimeBean(
/**
*Waiting time
*/
var waitTime: Int = 0,
)
Output parameter: None
Type: Action
KeyNestVirturalPoleStateUpload
Description: Report virtual joystick status
Input parameters:
data class NestVirtualPoleStatusBean(
/**
* Left joystick horizontal direction value
*/
var leftHorizontalValue: Int = 1024,
/**
*Left joystick vertical direction value
*/
var leftVerticalValue: Int = 1024,
/**
* The horizontal direction value of the right joystick
*/
var rightHorizontalValue: Int = 1024,
/**
*Right joystick vertical direction value
*/
var rightVerticalValue: Int = 1024,
/**
* PTZ pitch
*/
var gimbalPitch: Int = 1024,
/**
*Key 359: invalid, 625: stop mission, 891: one-key takeoff and landing, 1157: return, 1423: hover, 1689: custom
*/
var generalKey: Int = 359,
/**
*Combination key 329: invalid, 625: compass calibration
*/
var combinedKey: Int = 329,
)
Output parameter: None
Type: Report
KeyRCModeSwitch
Description: Remote control mode switching
Input parameters:
data class RcModeSwitchBean(
/**
* Device access default -1
*/
var messageType: Int = 1,
/**
* The default parameter length is -1
*/
var paramsLength: Int = 1,
/**
* action type for remote controller mode
*/
var actionType: Int = 1
)
Output parameter:
data class RcModeSwitchBean(
/**
* Device access default -1
*/
var messageType: Int = 1,
/**
* The default parameter length is -1
*/
var paramsLength: Int = 1,
/**
* action type for remote controller mode
*/
var actionType: Int = 1
)
Type: Action
KeyNestControlPageHeartBeat
Description: Heartbeat report on the machine nest control page
Input parameters: None
Output parameter: None
Type: Report
KeyNestStatusInfo
Description: Machine nest status information notification
Input parameters: None
Output parameter:
data class NestStatusInfoBean(
/**
*Power module status
*/
var power: PowerStatus? = null,
/**
* Drone status
*/
var uav: BatteryStatus? = null,
/**
*Charging module status
*/
var chg0: ChargeStatus? = null,
/**
*Charging module status
*/
var chg1: ChargeStatus? = null,
/**
* Backup battery status
*/
var bat_stby: BatteryStandbyStatus? = null,
/**
* Motor board status
*/
var motor: MotorStatus? = null,
/**
* Temperature and humidity conditions
*/
var temp0: TemperatureStatus? = null,
/**
* Temperature and humidity conditions
*/
var temp1: TemperatureStatus? = null,
/**
* Weather station status
*/
var atmos: AtmosStatus? = null,
/**
* Vibrator status
*/
var mpu: MpuStatus? = null,
/**
*Water sensor status
*/
var water: WaterStatus? = null,
/**
*Semiconductor air conditioning status
*/
var tec: TecStatus? = null,
/**
*Indicator status
*/
var led: LedStatus? = null,
/**
*System mode information
*/
var sys_mode: SystemMode? = null,
/**
*Fan status
*/
var fan_status: FanStatus? = null,
)
Type: Listen
KeyNestBatteryDynamicStatus
Description: Battery dynamic information notification
Input parameters: None
Output parameter:
data class NestBatteryDynamicStatusBean(
/**
*Communication status
*/
var status: Int = 0,
/**
* Security status information
*/
var safe_status: Int = 0,
/**
*Current total voltage, in mV
*/
var voltage: Int = 0,
/**
*Current total current, unit: mA
*/
var current: Int = 0,
/**
*Battery remaining capacity, unit: mAh
*/
var remain_cap: Int = 0,
/**
*Battery full charge capacity, unit: mAh
*/
var full_cap : Int = 0,
/**
*Battery temperature, unit 0.1 degrees Celsius
*/
var temperature: Int = 0,
/**
*Battery Cell
*/
var cell_vol: List<Int>? = null,
/**
*Remaining battery percentage, range 0-100
*/
var rsoc : Int = 0,
/**
*Number of cells
*/
var cell_num: Int = 0,
/**
* Remaining charging time
*/
var remain_time: Int = 0,
)
Type: Listen
KeyNestBackupBatteryStatus
Description: Machine Nest backup battery information notification
Input parameters: None
Output parameter:
data class NestBackupBatteryStatusBean(
/**
*Current total voltage, in mV
*/
var voltage: Int = 0,
/**
*Current total current, unit: mA
*/
var current: Int = 0,
/**
*Battery remaining capacity, unit: mAh
*/
var remain_cap: Int = 0,
/**
*Number of cells
*/
var rsoc : Int = 0,
/**
*Battery design capacity
*/
var cell_num: Int = 0,
/**
* design cap
*/
var design_cap: Int = 0,
/**
* Cycle count
*/
var cycle_cnt: Int = 0,
/**
* date about manus
*/
var manus_date: Int = 0,
/**
* balance status length
*/
var balance_sta_l: Int = 0,
/**
* balance status height
*/
var balance_sta_h: Int = 0,
/**
* protect status
*/
var protect_stat: Int = 0,
/**
* software version
*/
var soft_ver: Int = 0,
/**
* fet status
*/
var fet_sta: Int = 0,
/**
* ntc status of bit value
*/
var ntc_num: Int = 0,
/**
*temperature
*/
var temperature: List<Int>? = null,
/**
* bat cell voltage
*/
var bat_cell_voltage: List<Int>? = null,
/**
* Backup battery charge status
*/
var fetStaCharge:Int?=0,
/**
* Backup battery discharge status
*/
var fetStaDisCharge:Int?=0
)
Type: Listen
KeyNestSystemSelfCheck
Description: Machine nest system self-check message notification
Input parameters: None
Output parameter:
data class NestSystemSelfCheckBean(
/**
*Self-test results of machine nest components
*/
var nest_result: Int = 0,
/**
*Fan self-test results
*/
var fan_result: Int = 0,
/**
*Self-test flag 0-Not started 1-Self-test in progress Self-test completed
*/
var self_check: Int = 0,
)
Type: Listen
KeyNestAutoCommandFinish
Description: Automatic command completion notification
Input parameters: None
Output parameter:
data class NestAutoCommandFinishBean(
/**
*Automatic command type 0x3001: One-key standby command 0x3002: One-key standby command
*/
var autoCommandType: Int = 0,
/**
*0 success 1 failure
*/
var errorCode: Int = 0,
)
Type: Listen
KeyNestTransmitHeartBeat
Description: Image transmission heartbeat notification
Input parameters: None
Output parameter:
data class NestTransmitBeatBean(
/**
*Image transmission temperature, ℃
*/
var temprature: Int = 0,
/**
* Flight mode, 0xFFFF means no aircraft
*/
var flightmode: Int = 0,
/**
*UNIX time, little endian format
*/
var timestamp: Int = 0,
/**
* Command center connection status, 1-online, 0-offline
*/
var nettyConnectStatus: Int = 0,
/**
*Internal APP connection status, 1-online, 0-offline
*/
var appConnectStatus: Int = 0,
)
Type: Listen
KeyNestZRodReadyStatus
Description: Z-bar ready status notification
Input parameters: None
Output parameter: None
Type: Listen
KeyNestBatteryStaticStatus
Description: Battery static information notification
Input parameters: None
Output parameter:
data class NestBatteryStaticStatusBean(
/**
* app version code
*/
var app_ver: Int = 0,
/**
* boot version code
*/
var boot_ver: Int = 0,
/**
* Hardware version code
*/
var hw_ver: Int = 0,
/**
* design cap code
*/
var design_cap: Int = 0,
/**
* Cycle count
*/
var cyc_cnt: Int = 0,
/**
* soh
*/
var soh: Int = 0,
/**
* sn list of integers
*/
var sn: List<Int>? = null,
)
Type: Listen
KeyNestMotorDriveStateNtfy
Description: Motor driver board status reporting
Input parameters: None
Output parameter:
data class NestMotorDriverStatusBean(
/**
* door status of nest
*/
var door_status: Int = 0,
/**
*
*/
var door_angle: Int = 0,
/**
* Door limit software status
*/
var door_limit_sw_status: Int = 0,
/**
* x bar status
*/
var xbar_status: Int = 0,
/**
* x bar angle value
*/
var xbar_angle: Int = 0,
/**
* x bar limit software status
*/
var xbar_limit_sw_status: Int = 0,
/**
* y bar status
*/
var ybar_status: Int = 0,
/**
* y bar angle
*/
var ybar_angle: Int = 0,
/**
* y bar limit software status
*/
var ybar_limit_sw_status: Int = 0,
/**
* z bar status
*/
var zbar_status: Int = 0,
/**
* z bar angle
*/
var zbar_angle: Int = 0,
/**
* z bar limit software status
*/
var zbar_limit_sw_status: Int = 0,
)
Type: Listen
KeyNestSystemInfoNtfy
Description: Reporting of machine nest system information
Input parameters: None
Output parameter:
data class NestSystemInfoBean(
/**
* working status 1
*/
var work_status1: Int = 0,
/**
* working status 2
*/
var work_status2: Int = 0,
/**
* device type
*/
var device_type: Int = 0,
/**
* work mode defines
*/
var work_mode: Int = 0,
/**
* CPU usage value
*/
var cpu_usage: Int = 0,
/**
* memory usage value
*/
var mem_usage: Int = 0,
/**
* CPU temperature value
*/
var cpu_temp : Int = 0
)
Type: Listen
KeyNestRTKInfoNtfy
Description: Report local RTK information on the machine nest
Input parameters: None
Output parameter:
class NestRtkStatusNotifyBean {
/**
* uint32_t fix_status; //Single point positioning result
0 -- SOL_COMPUTED, solved
1 -- INSUFFICIENT_OBS, insufficient observation data
2 -- NO_CONVERGENCE, no convergence
4 -- COV_TRACE, the trace of the covariance matrix exceeds the maximum value
3--INVALID_FIX
*/
var fixStatus: Int = 3 //fix status
var latitude: Double = 0.0 // longitude
var longitude: Double = 0.0 // latitude
var altitude: Double = 0.0 // altitude
var setLatitude: Double = 0.0 //Set longitude
var setLongitude: Double = 0.0 //Set latitude
var setAltitude: Double = 0.0 //Set the height
var workMode = 0 //Working mode 0. Self-positioning mode, 1. Setting coordinate mode (parameters longitude, latitude, altitude), 2. Mobile mode, 3. Mobile station mode
var rtcmIsValid = false //RTCM parsing status - is the data valid?
var rtcmSwitch = false //RTCM switch
var rtkDebug = false //Whether to enable debugging
}
Type: Listen
KeyNestWarning
Description: Alarm notification
Input parameters: None
Output parameter: List<WarningAtom>
data class WarningAtom(
/**
* Component Type
*/
var componentType: DroneComponentEnum = DroneComponentEnum.UNKNOWN,
/**
* Component ID
*/
var componentId: DroneComponentIdEnum = DroneComponentIdEnum.NONE,
/**
* Alarm ID
*/
var warningId: WaringIdEnum = WaringIdEnum.UNKNOWN,
)
Type: Listen
KeyNestRtkOnOffMsg
Description: RTK RTCM switch
Input parameters:
class NestRtkSwitch {
var rtkSwitch = false
}
Output parameter: None
Type: Action
KeyNestRtkModeMsg
Description: Machine Nest RTK Set RTK mode
Input parameters:
class NestRtkModeCommand {
var workMode = 0 //Working mode 0. Self-positioning mode, 1. Setting coordinate mode (parameters longitude, latitude, altitude), 2. Mobile mode, 3. Mobile station mode
var latitude = 0.0 // longitude
var longitude = 0.0 // latitude
var altitude = 0.0 //Altitude
}
Output parameter: None
Type: Action
KeyNestFineDropReadyMsg
Description: Notification of machine nest precision landing readiness
Input parameters:
class FineDropReadyBean {
var fineDropReady = false
}
Output parameter: None
Type: Action
KeyNestWatchDogMsg
Description: Machine nest watchdog control command
Input parameters:
data class WatchDogBean(
var command: Int = 1,
var overtime: Int = 15,
var mode: Int = 1
)
Output parameter: Int
Type: Action
KeyNestExternalPowerSwitchMsg
Description: Direct power supply from the machine nest
Input parameters:
data class WatchDogBean(
var command: Int = 1,
var overtime: Int = 15,
var mode: Int = 1
)
Output parameter: Int
Type: Action
KeyNestSetAntennaeMode
Description: Set the antenna mode of the machine nest
Input parameters:
data class NestAntennaeModeSwitchMsgBean(
val mode: AntennaeIOMode
)
enum class AntennaeIOMode(val value: Int) {
UNKNOWN(0),
SISO(1), // single input single output
MIMO_2(2), // Multiple Input Multiple Output 2X2
MIMO_4(3), // Multiple Input Multiple Output 4X4
MIMO_8(4) // Multiple Input Multiple Output 8X8
}
Output parameter: None
Type: Action
KeyNestGetAntennaeMode
Description: Get the current antenna mode of the machine nest
Input parameters: None
Output parameter:
data class NestAntennaeModeSwitchMsgBean(
val mode: AntennaeIOMode
)
Type: Action
KeyNestFillLightSwitch
Description: Fill light switch control message
Input parameters:
data class NestCommonSwitchMsgBean(
val command: Int // 1: open, 2: close
)
Output parameter: None
Type: Action
KeyNestGetApiType
Description: Get the API type of the machine nest
Input parameters: None
Output parameter:
data class NestApiTypeBean(
val apiType: NestApiType // 1:Autel, 2: CSG
)
enum class NestApiType(val apiType: Int) {
Autel(1),
CSG(2),
UNKNOWN(0)
}
Type: Action
KeyNestGetMaintenanceStatistics
Description: Get maintenance statistics
Input parameters: None
Output parameter:
data class NestMaintenanceStatisticsBean(
val activateStatus: Int, //0: not activated, 1: activated
val activateTimeStamp: Long, //activation timestamp, milliseconds
val totalRoutineMaintainCount: Int, // Total number of routine maintenance
val totalDeepMaintainCount: Int, // total number of deep maintenance
val totalTaskCount: Int, // total number of tasks
val finalRoutineMaintainTimeStamp: Long, //Time stamp of the last routine maintenance, milliseconds
val finalRoutineMaintainTotalTaskCount: Int, //Number of tasks during the last routine maintenance
val finalDeepMaintainTimeStamp: Long, // The last deep maintenance timestamp, milliseconds
val finalDeepMaintainTotalTaskCount: Int, //Number of tasks during the last deep maintenance
)
Type: Action
KeyNestSetMaintenanceStatistics
Description: Set maintenance statistics
Input parameters:
data class NestMaintenanceStatisticsBean(
val activateStatus: Int, //0: not activated, 1: activated
val activateTimeStamp: Long, //activation timestamp, milliseconds
val totalRoutineMaintainCount: Int, // Total number of routine maintenance
val totalDeepMaintainCount: Int, // total number of deep maintenance
val totalTaskCount: Int, // total number of tasks
val finalRoutineMaintainTimeStamp: Long, //Time stamp of the last routine maintenance, milliseconds
val finalRoutineMaintainTotalTaskCount: Int, //Number of tasks during the last routine maintenance
val finalDeepMaintainTimeStamp: Long, // The last deep maintenance timestamp, milliseconds
val finalDeepMaintainTotalTaskCount: Int, //Number of tasks during the last deep maintenance
)
Output parameter: None
Type: Action
KeyNestGetMaintenanceRecordList
Description: Get the maintenance record list
Input parameters: None
Output parameter:
data class NestMaintenanceRecordListBean(
val nestMaintenanceRecord: List<NestMaintenanceRecordBean>?
)
data class NestMaintenanceRecordBean(
val maintainTimeStamp: Long, // Maintenance timestamp, millimeter
val maintainType: MaintainTypeEnum //Maintenance type 1: regular maintenance, 2: deep maintenance
)
Type: Action
KeyNestSetMaintenanceRecordList
Description: Add maintenance record
Input parameters:
data class NestMaintenanceStatisticsBean(
val activateStatus: Int, //0: not activated, 1: activated
val activateTimeStamp: Long, //activation timestamp, milliseconds
val totalRoutineMaintainCount: Int, // Total number of routine maintenance
val totalDeepMaintainCount: Int, // total number of deep maintenance
val totalTaskCount: Int, // total number of tasks
val finalRoutineMaintainTimeStamp: Long, //Time stamp of the last routine maintenance, milliseconds
val finalRoutineMaintainTotalTaskCount: Int, //Number of tasks during the last routine maintenance
val finalDeepMaintainTimeStamp: Long, // The last deep maintenance timestamp, milliseconds
val finalDeepMaintainTotalTaskCount: Int, //Number of tasks during the last deep maintenance
)
Output parameter: None
Type: Action
12. PayloadKey
KeyAccessPayloadList
Description: None
Input parameters: None
Output parameter:
data class PayloadListBean(
val payloadList: List<PayloadInfoBean>
)
Type: Listen
keLowSpeedDataListener
Description: None
Input parameters: None
Output parameter: ByteArray
Type: Listen
KeyTracerTopicMessage
Description: None
Input parameters: None
Output parameter:
data class TracerMeasureInfoMessageBean(
val frameNum: Int, // frame number
val workStatus: Int, // System working status
val tarNum: Int, // Valid number of targets
val tarInfo: List<SingleTargetInfoBean> // Target information list
)
Type: Listen
KeyTracerWorkModeControlRspMessage
Description: None
Input parameters: None
Output parameter:
data class TracerWorkModeControlRspMessageBean(
val seq: Int, // sequence number, corresponding to the request message
val rlt: Int // Response result 0: Success 1: Failure
)
Type: Listen
KeyMsgToTracer
Description: None
Input parameters:
data class TracerWorkModeControlMessageBean(
val seq: Int, // sequence number
val workMode: Int, // working status control
val dxNum: Int, // directional target number
val dxFreq: Int, // Directional frequency
val airType: Int // Aircraft type
)
Output parameter: None
Type: Report
KeyTracerSystemInfoMessage
Description: None
Input parameters: None
Output parameter:
data class TracerSystemInfoMessageBean(
val sn: String, // serial number
val version: String, // version number
val ssid: String, // wifi name
val ipAddress: String, // IP address
val workStatus: Int, // working status
val faultStatus: Int, // fault status
val netStatus: Int, // Network status
val upTime: Int, // boot time
val cpu: Int, // cpu occupancy
val memory: Int, // memory usage
val disk: List<Int>, // disk usage list
val temperature: Int // Chip temperature
)
Type: Listen
KeyThrowTopicMessage
Description: None
Input parameters: None
Output parameter:
data class ThrowerMessageBean(
val type: String, //thrower model
val multiChannelNum: Int, //Supports several channels, 2, 4, 6, 8, 10.....
val channelValidState: List<Boolean>, //channel 1, bit0~bit31, bit0 indicates the 1st channel, bit1 indicates the 2nd channel, and so on, the corresponding bit is 1 for valid, 0 for unvalid
val currentChannelState: List<Boolean>, //Channel 1, bit0~bit31, bit0 indicates channel 1, bit1 indicates channel 2, and so on. The corresponding bit is 1 for thrown, 0 for unthrowed
var timestamp: Long = 0L
)
Type: Listen
KeyThrowAction
Description: None
Input parameters:
data class ThrowActionMessageBean(
val channelIndexActive: List<Boolean>
)
Output parameter: None
Type: Report
KeyLightSpeakerControlRsp
Description: None
Input parameters: None
Output parameter:
data class LightSpeakerRspMessageBean(
val seq: Int,
val rlt: Int
)
Type: Listen
KeyLightSpeakerControl
Description: None
Input parameters:
data class LoudspeakerLightingControlBean(
val seq: Int,
val moduleID: ModuleIDEnum,
val action: Any,
val value: Int,
val strValue: String = ""
)
Output parameter: None
Type: Report
KeyLightSpeakerRunTime
Description: None
Input parameters:
data class LoudspeakerRealTimeMsgBean(
val seq: Int,
val value: ByteString = ByteString.EMPTY
)
Output parameter: None
Type: Report
KeyLightSpeakerRuntimeRsp
Description: None
Input parameters: None
Output parameter:
data class LightSpeakerRspMessageBean(
val seq: Int,
val rlt: Int
)
Type: Listen
KeyLightSpeakerQueryRsp
Description: None
Input parameters: None
Output parameter:
data class LightSpeakerQueryRspMessageBean(
val seq: Int,
val value: Int,
val strValue: String,
val pageContent: List<LightSpeakerPageContentBean>,
val pageIndex: Int
)
Type: Listen
KeyLightSpeakerQuery
Description: None
Input parameters:
data class LoudspeakerQueryBean(
val seq: Int,
val moduleID: ModuleIDEnum,
val query: Any,
val pageIndex: Int = 0 // Request the current page number, default is 0, start from 1, maximum 5 items per page
)
Output parameter: None
Type: Report
KeyLightSpeakerVoiceFile
Description: None
Input parameters:
data class LoudspeakerRealTimeMsgBean(
val seq: Int,
val value: ByteString = ByteString.EMPTY
)
Output parameter: None
Type: Report
KeyLightSpeakerVoiceFileRsp
Description: None
Input parameters: None
Output parameter:
data class LightSpeakerRspMessageBean(
val seq: Int,
val rlt: Int
)
Type: Listen
13. RemoteControllerKey
KeyRcDeviceInfo
Description: Query remote control device information
Input parameters: None
Output parameter: List<DroneVersionItemBean>
data class DroneVersionItemBean(
/**
* After the aircraft capability set is established, this field will be determined by the order in which the equipment is registered on the aircraft. Modelx aircraft currently has a fixed ID (for example: forward radar ID, rear radar ID)
*/
var componentID: DroneComponentIdEnum = DroneComponentIdEnum.NONE,
/**
* component serial number
*/
var componentSN: String? = null,
/**
* Hardware version
*/
var hardwareVersion: String? = null,
/**
* software version
*/
var softwareVersion: String? = null,
/**
* Integer enumeration value, component device model
*/
var componentModel: Int = 0, //
/**
* Character type component device model, (for example: camera device model XM802)
*/
var strComponentModel: String? = null,
/**
* Aircraft capability set reserved field, describing the information of the current component (for example: front camera, rear camera), which is meaningless for Modelx aircraft.
*/
var label: String? = null,
/**
* Aircraft capability set reserved field, describing the current component type (e.g. camera, gimbal, flight control). ModelX aircraft currently has no meaning
*/
var componentType: DroneComponentEnum = DroneComponentEnum.UNKNOWN,
/**
* MCU bootloader version information
*/
var bootloaderVersion: String? = null,
/**
* Data source, 0 remote controller, 1 aircraft
*/
var dataSource:Int = 0
)
Type: Action
KeyRcSystemTime
Description: Set the remote control system time
Input parameters:
data class SystemTimeInfoBean(
/**
* UTC timestamp
*/
var utcTimeInterval: Long = 0,
/**
* The offset in hours relative to the zero time zone, for example, Beijing: UTC+8, timeZone is 8
*/
var timeZone: Float = 0f,
)
Output parameter: None
Type: Action
KeyRCRockerControlMode
Description: Joystick control mode
Input parameters:
enum class RcOperateModeEnum(val value: Int) {
/**
* American Hand
*/
AMERICA_HAND(0),
/**
* Chinese Hand
*/
CHINESE_HAND(1),
/**
* Beautiful Japanese hands
*/
JAPANESE_HAND(2);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRCEnterCalibration
Description: Enter remote control calibration mode
Input parameters: None
Output parameter: None
Type: Action
KeyRCExitCalibration
Description: Exit remote control calibration mode
Input parameters: None
Output parameter: None
Type: Action
KeyEnableRemoteUpload
Description: Enable remote control fixed frequency reporting
Request parameter: Boolean
Output parameter: None
Type: Action
KeyRcSwitchDroneVideoStream
Description: Switch the real-time video stream of the aircraft
Request parameter: Int
Output parameter: None
Type: Action
KeyRCBandInfoTypeNtfy
Description: RCType type notification
Input parameters: None
Output parameter:
data class RCBandInfoTypeBean(
/**
* Maximum string length is 63 characters
*/
var bandMode: String? = null,
/**
* Maximum string length is 63 characters
*/
var bandWidth: String? = null,
/**
* district value
*/
var district: Int = 0,
/**
* disable set band mode value
*/
var disableSetBandMode: Int = 0,
/**
* RC Type integer setting
*/
var RCType: Int = 0,
/**
* modem mode value
*/
var modemMode: Int = 0,
/**
* fcm value
*/
var fccMode: Int = 0,
)
Type: Listen
KeyRCHardwareState
Description: Remote controller fixed frequency reporting (remote controller fixed frequency reporting needs to be enabled first)
Input parameters: None
Output parameter:
data class RCHardwareStateNtfyBean(
/**
* Left joystick horizontal direction value
*/
var leftHorizontalValue: Int = 0,
/**
* Left joystick vertical direction value
*/
var leftVerticalValue: Int = 0,
/**
* The horizontal direction value of the right joystick
*/
var rightHorizontalValue: Int = 0,
/**
* The vertical direction value of the right joystick
*/
var rightVerticalValue: Int = 0,
/**
* Roller value (PTZ pitch)
*/
var wheelValue1: Int = 0,
/**
* Roller value (PTZ pitch)
*/
var wheelValue2: Int = 0,
/**
* Flight mode, see RemoteControlDefine->RC_FLIGHT_MODE (GPS mode, ATTI mode, IOC mode)
*/
var flightMode: RcFlightModeEnum = RcFlightModeEnum.UNKNOWN,
/**
* Remote controller define -> RC_BUTTON_TYPE
*/
var buttonType: RCButtonTypeEnum = RCButtonTypeEnum.UNKNOWN,
/**
* Key combination
*/
var combinedButtonType: Int = 0,
)
Type: Listen
KeyRCHardwareInfo
Description: Remote control button triggers reporting
Input parameters: None
Output parameter:
data class HardwareButtonInfoBean(
/**
* RC pad button type state
*/
var buttonType: RCButtonTypeEnum = RCButtonTypeEnum.UNKNOWN,
/**
* RC pad button clicked type state
*/
var clickType: RcButtonStateEnum = RcButtonStateEnum.UNKNOWN,
/**
*Key value, which can be used to represent the difference between the forward and backward scrolling of the wheel or the amplitude of the zoom key 0-255
*/
var thumbWheelValue: Int = 0
)
Type: Listen
KeyRCState
Description: Remote control status reporting
Input parameters: None
Output parameter:
data class RCStateNtfyBean(
/**
*Remote control signal strength, [0-100]
*/
var rcSignalQuality: Int = 0,
/**
*Image transmission signal strength, [0-100]
*/
var dspSignalQuality: Int = 0,
/**
*Remaining battery percentage, [0-100]
*/
var remainPowerPercent: Int = 0,
/**
*Remote controller calibration status (not used, fill in 0)
*/
var calibrationState: Int = 0,
/**
*Remote controller battery temperature, unit: Celsius (not used, fill in 0)
*/
var batteryTemperature: Int = 0,
/**
*Remote controller charging input voltage, unit: mV. (Not available for remote controller with screen)
*/
var chargingVoltage: Int = 0,
/**
*Whether it is in machine nest mode 0: No, 1: In machine nest mode (with screen remote control no)
*/
var isDroneNestMode: Int = 0,
)
Type: Listen
KeyRCRockerCalibrationState
Description: Remote controller calibration report
Input parameters: None
Output parameter:
data class RockerCalibrationStateNtfyBean(
/**
* Right stick calibration status information
*/
var rightStickStatus: Int = 0,
/**
* Left stick calibration status information
*/
var leftStickStatus: Int = 0,
/**
* Right wheel calibration status information
*/
var rightThumbWheelStatus: Int = 0,
/**
* Left dial calibration status information
*/
var leftThumbWheelStatus: Int = 0,
/**
* 1: The center position is valid. 0: The joystick or wheel is not centered
*/
var midValibFlag: Int = 0,
var gimYawThumbWheelStatus: Int = 0
)
Type: Listen
KeyRcLedLightSwitchMsg
Description: Remote control LED light switch 0: turn off the remote control LED light, 1: turn on the remote control LED light
Request parameter: Int
Output parameter: None
Type: Action
KeyRcRockerSwitchMsg
Description: MCU joystick sends switch 0: turn off MCU joystick sending, 1: turn on MCU joystick sending
Request parameter: Int
Output parameter: None
Type: Action
KeyRcSoftEnableSwitchMsg
Description: Control the image transmission to perform soft start and soft shutdown 1-soft start, 0-soft shutdown
Request parameter: Int
Output parameter: None
Type: Action
KeyRcGetPairKeyMsg
Description: Query the current CP pairing key pairKey cp pairing key
Input parameters: None
Output parameter: String
Type: Action
KeyRcSetPairKeyMsg
Description: Set the CP pairing key pairKey cp pairing key
Request parameter: String
Output parameter: None
Type: Action
KeyUavDataEncryptionSet
Description: Settings - Remote control data encryption and decryption settings
Input parameters:
data class UavDataEncryptionBean(
val enable: Int, //Data encryption and decryption setting switch, closed by default
val cpPassword: String, // Fill in when enabling frequency encryption
val encryptionList: List<Int> // encryptionList [0] indicates frequency encryption, 0 is off, 1 is on. If it is off, this data does not need to be filled in
)
Output parameter:
data class UavDataEncryptionBean(
val enable: Int, //Data encryption and decryption setting switch, closed by default
val cpPassword: String, // Fill in when enabling frequency encryption
val encryptionList: List<Int> // encryptionList [0] indicates frequency encryption, 0 is off, 1 is on. If it is off, this data does not need to be filled in
)
Type: Action
KeyUavDataEncryptionGet
Description: Get-remote control data encryption and decryption settings
Input parameters: None
Output parameter:
data class UavDataEncryptionBean(
val enable: Int, //Data encryption and decryption setting switch, closed by default
val cpPassword: String, // Fill in when enabling frequency encryption
val encryptionList: List<Int> // encryptionList [0] indicates frequency encryption, 0 is off, 1 is on. If it is off, this data does not need to be filled in
)
Type: Action
KeyRemoteWarning
Description: Remote controller warning notification (message type is the same as aircraft)
Input parameters: None
Output parameter:
data class WarningAtom(
/**
* Component Type
*/
var componentType: DroneComponentEnum = DroneComponentEnum.UNKNOWN,
/**
* Component ID
*/
var componentId: DroneComponentIdEnum = DroneComponentIdEnum.NONE,
/**
* Alarm ID
*/
var warningId: WaringIdEnum = WaringIdEnum.UNKNOWN,
)
Type: Listen
KeyRemoteRuntimeWarning
Description: Real-time warning notification from the remote controller (message type is the same as the aircraft)
Input parameters: None
Output parameter:
data class WarningAtom(
/**
* Component Type
*/
var componentType: DroneComponentEnum = DroneComponentEnum.UNKNOWN,
/**
* Component ID
*/
var componentId: DroneComponentIdEnum = DroneComponentIdEnum.NONE,
/**
* Alarm ID
*/
var warningId: WaringIdEnum = WaringIdEnum.UNKNOWN,
)
Type: Listen
14. RemoteIDKey
KeyRidQueryImportStatus
Description: dataBlock import status query (Japan)
Input parameters: None
Output parameter: Boolean
Type: Action
KeyRidSetDelete
Description: dataBlock write/delete (Japan)
Request parameter: String
Output parameter: None
Type: Action
KeyRidSetDroneId
Description: Set aircraft ID
Input parameters:
data class DroneIdBean(
/**
*The market category of the aircraft is currently consistent with the country category
*/
var market: MarketEnum = MarketEnum.UNKNOWN,
/**
*Country of Aircraft Registration
*/
var region: RegionEnum = RegionEnum.UNKNOWN,
/**
*Aircraft ID
*/
var droneId: String? = null,
)
Output parameter: None
Type: Action
KeyRidSetOperatorId
Description: Set pilot ID
Input parameters:
data class OperatorIdBean(
/**
* Country of the pilot
*/
var operatorIdType: RegionEnum = RegionEnum.UNKNOWN,
/**
* Pilot ID
*/
var operatorId: String? = null,
)
Output parameter: None
Type: Action
KeyRidSetSelfId
Description: Set flight purpose
Input parameters:
data class RIDSetSelfIDBean(
var selfIDMsgType: RidSelfIdEnum = RidSelfIdEnum.TXT_DESC,
var selfIDMsg: String? = null,
)
Output parameter: None
Type: Action
KeyRidSetSwitch
Description: Set the RID switch
Request parameter: Boolean
Output parameter: None
Type: Action
KeyRidStatus
Description: APP sets/gets aircraft RID switch status 0: Not turned on 1: Turned on and normal status, 2: Abnormal status
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
15. RtcKey
KeyRtcPublishSet
Description: RTC streaming settings
Input parameters:
data class RtcPublishSettingBean(
val enable: Boolean, // Whether to enable RTC streaming. true means enable, false means disable
val serverUrl: String?, // Server Url (optional)
val roomId: String?, //Room ID (optional), currently should be a full numeric string
val roomName: String?, //Room name (optional)
val roomPwd: String?, //Room password (optional)
val pubId: String?, // Publisher ID (optional) should be a full numeric string
val maxBitrate: Int?, // Maximum bitrate for streaming (optional) Unit (kbps) Default is 4000kbps
val sourceId: Int? // Video source ID (optional) 0) default; 1) wide angle; 2) zoom; 3) infrared; 4) night vision; default is wide angle
)
Output parameter: None
Type: Action
KeyRtmpVideoSource
Description: RTMP push stream video source sets the video camera source of RTMP push stream. sourceId: 0) default; 1) wide angle; 2) zoom; 3) infrared; 4) night vision; default is wide angle |
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
16. RtmpKey
KeyRtmpModuleEnable
Description: RTMP module switch
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRtmpServerAddress
Description: RTMP server address
Request parameter: String
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRtmpPushType
Description: RTMP push mode, see [RtmpPushTypeEnum] for the value
Request parameter: Int
enum class RtmpPushTypeEnum(val value: Int) {
/**
* China Southern Power Grid
*/
CSG(0),
/**
* State Grid
*/
SGCC(1);
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRtmpMaxVideoRate
Description: RTMP maximum stream bandwidth, unit: Kb/s, default is 750Kb/s
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRtmpVideoSource
Description: RTMP push stream video source sets the video camera source of RTMP push stream. sourceId: 0) default; 1) wide angle; 2) zoom; 3) infrared; 4) night vision; default is wide angle |
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
17. VisionKey
KeyReportEmergency
Description: Visual radar map alarm
Input parameters: None
Output parameter: List<VisionRadarInfoBean>
data class VisionRadarInfoBean(
/**
*Timestamp
*/
var timeStamp: Long = 0,
/**
* Sensor location
*/
var position: VisionSensorPositionEnum = VisionSensorPositionEnum.FRONT,
/**
* Multiple distances between the sensor and obstacles
*/
var distances: List<Float>? = null
)
Type: Listen
KeyObstacleAvoidActionSet
Description: Obstacle avoidance switch Int setting
Input parameters:
enum class ObstacleAvoidActionEnum(val value: Int) {
CLOSE(0), //Close
STOP(1), //brake stop
BYPASS(2); // bypass
}
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyHorizontalBrakeDistance
Description: Horizontal obstacle avoidance braking distance
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyHorizontalWarningDistance
Description: Horizontal warning distance
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyTopBrakeDistance
Description: Upper obstacle avoidance braking distance
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyTopWarningDistance
Description: Upper warning distance
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyBottomBrakeDistance
Description: Braking distance for obstacle avoidance below
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyBottomWarningDistance
Description: Warning distance below
Request parameter: Float
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyRadarDetection
Description: Radar switch
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAutonomyMifWorkStatus
Description: MIF visual positioning working status
Request parameter: Boolean
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
KeyAutonomyMifWorkStatusInt
Description: MIF visual positioning working status
Request parameter: Int
Output parameter: When a Get request is made, a result will be returned. The result is the same as the request parameter.
Type: Get, Set
18. DFFlightControlKey(DragonFish Flight Control)
KeySetGimbalAngle
Description:Set gimbal angle
Request parameter:GimbalAttitudeBean
Output parameter:none
data class GimbalAttitudeBean(
/**
* Pitch angle
*/
var pitch: Float = 0.0f,
/**
* Roll angle
*/
var roll:Float = 0.0f,
/**
* Yaw angle
*/
var yaw:Float = 0.0f
)
Type:set
KeyDroneHotPointNtfy
Description:Hotpoint information report
Request parameter:none
Output parameter:DroneHotPointNtfyBean
data class DroneHotPointNtfyBean(
var timestamp: Long = 0, // timestamp (milliseconds since system boot)
var lat: Double = 0.0, // hot point pos,Latitude (WGS84), in degrees
var lon: Double = 0.0, // hot point pos,Longitude (WGS84), in degrees
var alt: Float = 0f, // // hot point pos,Altitude , in m
var centered: Int = 0, // hot point be centered or not; 0: not; 1:centered
var type: Int = 0, // hot point type; 0: fixed; 1:moving
var curRound: Int = 0, // hot point current round
var status: WaypointStateEnum = WaypointStateEnum.UNKNOWN, // way point status. 0:pause; 1:running; 2:completed; other:as defiens latter
var setSpeed: Float = 0f, // way point speed set, in m/s
var radius: Float = 0f // way point radius
)
Type:Listen
KeyDroneLocalPositionNtfy
Description:Hotpoint local information report
Request parameter:none
Output parameter:DroneLocalPositionNedNtfyBean
data class DroneLocalPositionNedNtfyBean(
var timestamp: Long = 0, // timestamp (milliseconds since system boot)
var lat: Double = 0.0, // Latitude (WGS84), in degrees
var lon: Double = 0.0, // Longitude (WGS84), in degrees
var alt: Float = 0f, // alt, in m
var realAlt: Float = 0f, // alt, in m
var homeLat: Double = 0.0, // home Latitude (WGS84), in degrees
var homeLon: Double = 0.0, // home Longitude (WGS84), in degrees
var homeAlt: Float = 0f, // home alt, in m
var vxyz: Float = 0f, // Absolute Speed, root of square X/Y/Z 's sum
var distance: Float = 0f, // distance
var airSpeed: Float = 0f // airspeed, m/s
)
Type:Listen
KeyOnlinePlanningInfoNtfy
Description:Hotpoint local information report
Request parameter:none
Output parameter:OnlinePlanningInfoBean
data class OnlinePlanningInfoBean(
var timestamp: Int = 0, //timestamp
var fromLatEst: Double = 0.0, //Starting latitude
var fromLonEst: Double = 0.0, //Starting longitude
var fromAltEst: Double = 0.0, //Starting altitude
var fromRadiusEst: Double = 0.0, //Starting radius, unit: M
var toLatEst: Double = 0.0, //Ending latitude
var toLonEst: Double = 0.0, //Ending longitude
var toAltEst: Double = 0.0, //Ending altitude
var toRadiusEst: Double = 0.0, //Ending radius, unit: M
var auxLat: Double = 0.0, //Auxiliary point latitude
var auxLon: Double = 0.0, //Auxiliary point longitude
var auxAlt: Double = 0.0, //Auxiliary point altitude
var auxRadius: Double = 0.0, //Auxiliary point radius, unit: M
var fromYawEst: Double = 0.0, //Starting yaw angle, unit: degrees
var toYawEst: Double = 0.0, //Ending yaw angle, unit: degrees
var auxYaw: Double = 0.0, //Auxiliary point yaw angle, unit: degrees
// Online planning route type: 1. Return to home 2. Quick task 3. Continue task on return route
var planningType: Int = 0,
// Parameter 18 (59-59, 1 byte unsigned): Valid when parameter 17 equals 1, landing type: 1. Normal landing 2. Vertical landing 3. Slope landing 4. Mobile platform landing
var landType: Int = 0,
// Parameter 19 (60-60, 1 byte unsigned): Valid when parameter 17 equals 1, feedback the ID of the UAV flying to the backup point
var landSiteId: Int = 0,
)
Type:Listen
KeyQueryFileInfo
Description:Query file information
Request parameter:FileInfoListDataBean
data class FileInfoListDataBean(
val fileInfoList: List<FileInfoDataBean>
)
/**
* Represents the data class for the FileInfo message.
* @param fileType The file type, agreed between the two devices
* @param fileName The file name, usually containing the absolute path, agreed between the two devices
* @param fileMd5 The MD5 value of the file, typically used to verify file equality, and generally used in conjunction with file version
* @param fileVersion The file version, typically used to verify file equality, and generally used in conjunction with file MD5
*/
data class FileInfoDataBean(
val fileType: Int,
val fileName: String,
val fileMd5: String,
val fileVersion: String
)
Output parameter:Int 0:has no file ;1: has file
Type:Action
KeyCalibProcessInfoNtfy
Description:Hotpoint local information report
Request parameter:none
Output parameter:DFCalibProcessInfoNtfyBean
data class DFCalibProcessInfoNtfyBean(
var timestamp: Long = 0,
var magCalibProcess: Int = 0,
var airspeedCalibProcess: Int = 0,
var reserve: Int = 4
)
Type:Listen
KeyAPPHeartBeat
Description:APP heartbeat message report 1HZ
Request parameter:DFAppHeartBeatBean
data class DFAppHeartBeatBean(
// timestamp
var timestamp: Long = 0L,
// Time zone, in seconds
var timezone: Long = 0L,
// double type latitude
var latitude: Double = 0.0,
// double type longitude
var longitude: Double= 0.0,
// int32_t type altitude
var altitude: Int= 0,
// 0 -- disconnected, 1 -- connected
var ctrlCenter : Int = 0,
// 1 -- ground device
var gndDevType : Int= 0,
// 0 -- not ready, cannot land, 1 -- land ready, can land
var prepareLand : Int= 0,
// 0 - in the flyable area, 1 - out of the flyable area
var ableFly : Int = 0,
)
Output parameter:none
Type:Report
KeyObstacleInfoNtfy
Description:Obstacle information report
Request parameter:none
Output parameter:DFObstacleInfoBean
data class DFObstacleInfoBean(
//timestamp (microseconds since system boot)
var timestamp: Long = 0L,
// distances between UAV and obstacle in different direction, dm
var distanceList: MutableList<Int> = mutableListOf(),
// the source of the obstacle info
var sourceList: MutableList<Int> = mutableListOf(),
// maneuver for obstacle collision avoidance
var maneuver :Int = 0
)
Type: Listen
KeyTrackingTargetInfoNtfy
Description:Tracking information report
Request parameter:none
Output parameter:DFTrackingTargetInfoBean
data class DFTrackingTargetInfoBean(
//timestamp (microseconds since system boot)
var timestamp: Long = 0L,
var latEst: Double = 0.0,
var lonEst: Double = 0.0,
/* 0: Quit target tracking;
* 1:tracking now;
* 2:target lost
**/
var trackingStatus :DFTrackingStatusEnum = DFTrackingStatusEnum.UNKNOWN,
var distance: Float= 0f,
var altitude: Float= 0f,
var speed: Float= 0f,
var distanceValid: Int = 0,
var speedValid: Int = 0,
)
Type:Listen
19. DFCommonCmdKey(DragonFish Common Command)
KeyDroneStartAutoCheck
Description:Start self-checking
High frequency reporting DroneSystemStateLFNtfyBean -> autoCheckState(self-checking status)
Request parameter:AutoCheckTypeEnum
enum class AutoCheckTypeEnum(var value: Int) {
/**
* 0 - Check front motor
* 1 - Check rear motor
* 2 - Check left motor
* 3 - Check right motor
* 4 - Check left servo
* 5 - Check right servo
* 6 - Check rear servo
* 7 - Check airspeed sensor
* 8 - Check ultrasonic sensor
* 9 - Check RTK
* 10 - Check GPS
* 11 - Check magnetometer
* 12 - Check RC (remote control)
* 13 - Check payload
* 14 - Check barometer 1
* 15 - Check IMU 1
* 16 - Check barometer 2
* 17 - Check IMU 2
* <p>
* 255 - Check all systems
*/
FONT_MOTOR(0),
BEHIND_MOTOR(1),
LEFT_MOTOR(2),
RIGHT_MOTOR(3),
LEFT_STEER(4),
RIGHT_STEER(5),
BEHIND_STEER(6),
AIRSPEED(7),
ULTRASONIC(8),
RTK(9),
GPS(10),
BAROMETER(11),
REMOTE(12),
PAYLOAD(13),
MAGNETOMETER_1(14),
IMU_1(15),
MAGNETOMETER_2(16),
IMU_2(17),
ALL(255);
Output parameter:none
Type:Action
KeyDroneGetAutoCheckResult
Description:Get self-checking results
High frequency reporting DroneSystemStateLFNtfyBean -> autoCheckState(self-checking status)
Request parameter:none
Output parameter:DFAutoCheckResultBean
data class DFAutoCheckResultBean(
var autoCheckResult: Int = 0,
) {
/**
* Front motor
*/
fun isFontMotorNormal(): Boolean {
return (autoCheckResult and 0x1) == 0
}
fun isBehindMotorNormal(): Boolean {
return (autoCheckResult shr 1 and 0x1) == 0
}
fun isLeftMotorNormal(): Boolean {
return (autoCheckResult shr 2 and 0x1) == 0
}
fun isRightMotorNormal(): Boolean {
return (autoCheckResult shr 3 and 0x1) == 0
}
/**
* Left servo
*/
fun isLeftSteerNormal(): Boolean {
return (autoCheckResult shr 4 and 0x1) == 0
}
fun isRightSteerNormal(): Boolean {
return (autoCheckResult shr 5 and 0x1) == 0
}
fun isBehindSteerNormal(): Boolean {
return (autoCheckResult shr 6 and 0x1) == 0
}
/**
* Airspeed sensor
*/
fun isAirSpeedNormal(): Boolean {
return (autoCheckResult shr 7 and 0x1) == 0
}
/**
* Ultrasonic sensor
*/
fun isUltrasonicNormal(): Boolean {
return (autoCheckResult shr 8 and 0x1) == 0
}
/**
* RTK
*/
fun isRTKNormal(): Boolean {
return (autoCheckResult shr 9 and 0x1) == 0
}
/**
* GPS
*/
fun isGPSNormal(): Boolean {
return (autoCheckResult shr 10 and 0x1) == 0
}
/**
* Barometer
*/
fun isBarometerNormal(): Boolean {
return (autoCheckResult shr 11 and 0x1) == 0
}
fun isRemoteControllerNormal(): Boolean {
return (autoCheckResult shr 12 and 0x1) == 0
}
/**
* Payload
*/
fun isPayloadNormal(): Boolean {
return (autoCheckResult shr 13 and 0x1) == 0
}
/**
* Magnetometer
*/
fun isMagnetometer1normal(): Boolean {
return (autoCheckResult shr 14 and 0x1) == 0
}
/**
* IMU
*/
fun isImu1Normal(): Boolean {
return (autoCheckResult shr 15 and 0x1) == 0
}
/**
* Magnetometer
*/
fun isMagnetometer2normal(): Boolean {
return (autoCheckResult shr 16 and 0x1) == 0
}
fun isImu2Normal(): Boolean {
return (autoCheckResult shr 17 and 0x1) == 0
}
fun isBatteryNormal(): Boolean {
return (autoCheckResult shr 18 and 0x1) == 0
}
fun isGimbalNormal(): Boolean {
return (autoCheckResult shr 19 and 0x1) == 0
}
fun isAttitudeNormal(): Boolean {
return (autoCheckResult shr 20 and 0x1) == 0
}
fun isRTKHeadingNormal(): Boolean {
return (autoCheckResult shr 21 and 0x1) == 0
}
/**
* Navigation attitude
* @return
*/
fun isNavigationAttitudeNormal(): Boolean {
return (autoCheckResult shr 22 and 0x1) == 0
}
/**
* Maintenance reminder
*/
fun isMaintenancReminder(): Boolean {
return (autoCheckResult shr 23 and 0x1) == 0
}
/**
* Version matching
*/
fun isVersionMatching(): Boolean {
return (autoCheckResult shr 24 and 0x1) == 0
}
fun isElectronicFenceNormal(): Boolean {
return (autoCheckResult shr 25 and 0x1) == 0
}
/**
* Whether the magnetic heading and RTK heading are consistent
* @return true-consistent, false-inconsistent
*/
fun isNavigationAndRTKNormal(): Boolean {
return (autoCheckResult shr 31 and 0x1) == 0
}
}
Type:Action
KeyGetMultiBatteryInfo
Description:Multi-battery information query
Request parameter:Int
Output parameter:DFMultiBatteryInfoBean
data class DFMultiBatteryInfoBean(
var commandAck: Int = 0,
/**
* Battery number
*/
var port: Int = 0,
/**
* Battery serial number
*/
var sn: String = "",
/**
* App version
*/
var appVersion: String = "",
/**
* boot version
*/
var bootVersion: String = "",
/**
* Hardware version
*/
var hwVersion: String = "",
/**
* Protocol version
*/
var protcVersion: String = "",
/**
* Gauge version
*/
var gaugeVersion: String = "",
/**
* Battery device type number
*/
var devModel: Int = 0,
/**
* Battery cycle count
*/
var cycCount: Int = 0,
/**
* Battery self-discharge days
*/
var selfDsgDay: Int = 0,
/**
* Cell voltage maximum display value
*/
var maxVol: Int = 0,
/**
* Cell voltage minimum display value
*/
var minVol: Int = 0
)
Type:Action
KeyQueryActuatorUsage
Description:Actuator parameter query
Request parameter:ActuatorTypeEnum
ActuatorTypeEnum(var value: Int) {
//Left wing
LEFT_WING(1),
//Right wing
RIGHT_WING(2),
//Tail wing
TAIL_WING(3),
UNKNOWN(-1);
)
Output parameter:DFActuatorUsageBean
data class DFActuatorUsageBean(
var actuator: Int = 0,
var valid: Int = 0,
var totalTime: Int = 0
)
Type:Action
KeySetActuatorParam
Description:Actuator parameter setting
Request parameter:UavActuatorTypeEnum
enum class UavActuatorTypeEnum(var value: Int) {
/**
* Front wing
*/
FONT_ESC(0x14),
/**
* Behind wing
*/
BEHIND_ESC(0x15),
/**
* Left wing
*/
LEFT_ESC(0x16),
/**
* Right wing
*/
RIGHT_ESC(0x17),
/**
* Tail wing
*/
TAIL_CONTROL_PANEL(0x23),
/**
* Left wing
*/
LEFT_STEER_PANEL(0x24),
/**
* Right wing
*/
RIGHT_STEER_PANEL(0x25),
/**
* GPS board, compass
*/
GPS_PANEL(0x3C),
/**
* Unknown
*/
UNKNOWN(0);
)
Output parameter:none
Type:Action
KeyUpdateFile
Description:Update task
Request parameter:DFUpdateFileBean
data class DFUpdateFileBean(
var fileType: DFFileTypeEnum = DFFileTypeEnum.UNKNOWN,
var missionId: Int = 0
)
Output parameter:none
Type:Action
KeyForceLanding
Description:Emergency landing
Request parameter:DFForceLandingBean
data class DFForceLandingBean(
var landingType: DFLandTypeEnum= DFLandTypeEnum.UNKNOWN,
//Entering point latitude
var latitude: Int = 0,
//Entering point longitude
var longitude: Int = 0,
//Entering point altitude, unit: mm, need to multiply by 1E3
var altitude: Int = 0,
//Landing point latitude
var ldLatitude: Int = 0,
//Landing point longitude
var ldLongitude: Int = 0,
//Landing point altitude, unit: mm, need to multiply by 1E3
var ldAltitude: Int = 0,
//Hover radius, unit: dm, need to multiply by 10
var ldRadius: Int = 0,
//Switch height, unit: dm, need to multiply by 10
var ldSwitchAlt: Int = 0,
//Entering point altitude type
var ldEnterAltType: Int = 0,
//Landing point altitude type
var ldAltType: Int = 0,
//Landing method 1-Normal landing 2-Vertical landing 3-Slope landing 4-Mobile platform landing
var ldMethod: DFLandMethodEnum = DFLandMethodEnum.NORMAL,
)
Output parameter:none
Type:Action
KeyAircraftTracking
Description:Emergency landing
Request parameter:DFAircraftTrackingBean
data class DFAircraftTrackingBean(
var enable: Boolean = true,
var trackingType: DFTrackingTypeEnum = DFTrackingTypeEnum.STANDARD
)
Output parameter:none
Type:Action
KeyTmpSurvey
Description:Temporary observation point
Request parameter:DFTempSurveyPointBean
data class DFTempSurveyPointBean(
// 0 -- Exit temporary observation; 1 -- Enter temporary observation
var enable: Int = 1,
// Observation point longitude
var longitude: Int = 0,
// Observation point latitude
var latitude: Int = 0,
// Observation point height
var height: Int = 0,
// Observation point radius
var radius: Int = 0
)
Output parameter:none
Type:Action
KeyGetCompassCalibrateResult
Description:Get compass calibration result
Request parameter:none
Output parameter:DFCompassCalibrateBean
data class DFCompassCalibrateBean(
// length 9
var ellipsoidMatrix: List<Double> = mutableListOf<Double>(),
// length 3
var magBias: List<Double> = mutableListOf<Double>(),
// length 9
var rotateMatrix: List<Double> = mutableListOf<Double>(),
var accuracyLevel: Double = 0.0,
var ellipsoidRadius: Double = 0.0
)
Type:Action
KeyCalibrateAirSpeed
Description:Calibrate airspeed
Request parameter:none
Output parameter:none
Type:Action
KeyGetAirSpeedCalibrateResult
Description:Get airspeed calibration result
Request parameter:none
Output parameter:DFAirSpeedCalibrateBean
data class DFAirSpeedCalibrateBean(
var airspeedBias: Int = 0
)
Type:Action
KeySetFastFlyInfo
Description:Set fast task information
Request parameter:DFFastFlyInfoBean
data class DFFastFlyInfoBean(
// 0: Use the current position of the aircraft to set the aircraft Home point. This will ignore the remaining parameters
// 1: Use the remaining parameters to specify the GPS coordinates to set the aircraft Home point
// 2: Emergency landing point
// 3: Temporary waypoint (including height, hover radius)
// 4: Interest point (including height)
// 5: Height adjustment (only height position is valid, the value represents the height to be adjusted)
// 6: Speed adjustment (only speed position is valid, the value represents the expected speed (temporary))
// 7: 8-shaped hover fast task (latitude, longitude, height, radius, heading, reference baseline length)
var locationStatus: FastFlyEnum = FastFlyEnum.DRONE_POINT_AS_HOME_POINT,
var latitude: Double = 0.0,
var longitude: Double = 0.0,
var altitude: Int = 0,
var radius: Int = 0,
var speed: Float = 0f,
var direction: Int = 0,
var distance: Int = 0
)
Output parameter:none
Type:Action
KeyGetLedStatus
Description:Get arm light status
Request parameter:none
Output parameter:DFControlLedBean
data class DFControlLedBean(
fun getResult(): NavigationControlLight
)
Type:Action
KeyControlLed
Description:Control arm LED light
Request parameter:DFControlLedBean
data class DFControlLedBean(
fun setParam(value: NavigationControlLight)
)
Output parameter:none
Type:Action
KeySetBatteryDischargeDays
Description:Set battery self-discharge days
Request parameter:DFSetBatteryIDischargeDaysBean
data class DFSetBatteryIDischargeDaysBean(
// Battery number, range [1, 255]
var batteryId: Int = 0,
// Battery self-discharge days, range [1, 10]
var dischargeDays: Int = 0
)
Output parameter:none
Type:Action
KeyStartCompassCalibrate
Description:Start compass calibration
Request parameter:none
Output parameter:none
Type:Action
KeyEnableADSBTX
Description:Send ADSB information switch
Request parameter:Int enable = 1 disable = 0
Output parameter:none
Type:Action
KeySetADSBIcao
Description:ADSB set ICAO
Request parameter:Int enable = 1 disable = 0
Output parameter:none
Type:Action
KeyGetADSBIcao
Description:ADSB get ICAO
Request parameter:none
Output parameter:Int enable = 1 disable = 0
Type:Action
KeyCorrectUavPosition
Description:Correct UAV position
Request parameter:AutelLatLng
Output parameter:none
Type:Action
KeySwitchWaypoint
Description:Switch waypoint
Request parameter:DFSwitchWaypointBean
data class DFSwitchWaypointBean(
var data: SwitchWayPointTypeEnum = SwitchWayPointTypeEnum.UNKNOWN,
var airlineId: Int,
var waypointId: Int,
var dispPointId: Int,
)
Output parameter:none
Type:Action
KeyTakeOff
Description:One-key takeoff
Request parameter:none
Output parameter:DFCommonAck
data class DFCommonAck(
var ackStatus: Int = 0, //0: Success, otherwise abnormal
var errorCode1: Int = 0,
var errorCode2: Int = 0,
) {
/**
* Whether the request is successful
*/
fun isSuccess():Boolean
/**
* Left steering fault
*/
fun isLeftSteerFault(): Boolean
/**
* Right steering fault
*/
fun isRightSteerFault(): Boolean
/**
* Elevator fault
*/
fun isFontSteerFault(): Boolean
/**
* Airspeed fault
*/
fun isAirSpeedFault(): Boolean
/**
* RTK fault
*/
fun isRtkFault(): Boolean
/**
* GPS fault
*/
fun isGpsFault(): Boolean
/**
* Magnetometer fault
*/
fun isMagnetometerFault(): Boolean
/**
* IMU fault
*/
fun isImuFault(): Boolean
/**
* Barometer fault
*/
fun isBarometerFault(): Boolean
/**
* Remote control not connected
*/
fun isRcDisconnect(): Boolean
/**
* Attitude not available
*/
fun isAttitudeNotUse(): Boolean
/**
* Heading not available
*/
fun isHeadingNotUse(): Boolean
/**
* Speed not available
*/
fun isSpeedNotUse(): Boolean
/**
* Position not available
*/
fun isPositionNotUse(): Boolean
/**
* Height not available
*/
fun isHeightNotUse(): Boolean
/**
* Remaining battery not available
*/
fun isElectricityNotUse(): Boolean
/**
* Speed Euler angle not available
*/
fun isSpeedEulerNotUse(): Boolean
/**
* Mandatory lock
*/
fun isMandatoryLock(): Boolean
/**
* Airspeed calibration fault
*/
fun isAirSpeedCalibrationFault(): Boolean
/**
* Magnetometer calibration fault
*/
fun isMagnetometerCalibrationFault(): Boolean
/**
* UAV is in no-fly zone
*/
fun isNoFlyZone(): Boolean
/**
* Battery 1 high temperature
*/
fun isOneBatteryHighTemp(): Boolean
/**
* Battery 1 low temperature
*/
fun isOneBatteryLowTemp(): Boolean
/**
* Battery 1 damaged
*/
fun isOneBatteryBad(): Boolean
/**
* Battery 2 high temperature
*/
fun isTwoBatteryHighTemp(): Boolean
/**
* Battery 2 low temperature
*/
fun isTwoBatteryLowTemp(): Boolean
/**
* Battery 2 damaged
*/
fun isTwoBatteryBad(): Boolean
/**
* Battery power mismatch
*/
fun isBatteryElectricityNotBalance(): Boolean
/**
* Battery number mismatch
*/
fun isBatteryNumNotBalance(): Boolean
/**
* Navigation attitude is initializing
*/
fun isNavigationInitialization(): Boolean
/**
* Maintenance reminder 30
*/
fun isMaintenancReminder(): Boolean
/**
* Version matching
*/
fun isVersionMatching(): Boolean
/**
* Mobile base station RTK information is valid
* true-valid, false-invalid
*/
fun isBaseStationRTKInvalid(): Boolean
/**
* Mobile base station RTK Heading2 information is valid
* true-valid, false-invalid
*/
fun isBaseStationRTKHeadingTwoInvalid(): Boolean
/**
* Mobile base station RTK Heading information is valid
* true-valid, false-invalid
*/
fun isBaseStationRTKHeadingInvalid(): Boolean
/**
* Mobile base station RTK position information is valid
* true-valid, false-invalid
*/
fun isBaseStationRTKPositionInvalid(): Boolean
/**
* Mobile base station RTK speed information is valid
* true-valid, false-invalid
*/
fun isBaseStationRTKSpeedInvalid(): Boolean
/**
* Mobile base station RTK attitude information is normal
* true-normal, false-abnormal
*/
fun isBaseStationRTKAttitudeInvalid(): Boolean
/**
* Mobile return point information is normal
* true-normal, false-abnormal
*/
fun isMoveHomePositionInvalid(): Boolean
/**
* Mobile base station return point precision difference is normal
* true-normal, false-abnormal
*/
fun isMoveHomePrecisionInvalid(): Boolean
/**
* Close no-fly zone
*/
fun isCloseNFZ(): Boolean
/**
* In no-fly zone
*/
fun isInTheNFZ(): Boolean
/**
* Close fly zone edge
*/
fun isCloseEdgeFlyZone(): Boolean
/**
* In fly zone
*/
fun isOutFlyZone(): Boolean
/**
* UAV close to mandatory fly zone edge
*/
fun isCloseEdgeMandFlyZone(): Boolean
/**
* Whether to synchronize electronic fence information
*/
fun isNeedUploadGenFence(): Boolean
/**
* Battery temperature below 25℃, and battery power below 60%, do not take off
*/
fun isBatteryLowTempAndHeating(): Boolean
/**
* Whether to prohibit unlocking in case of flight controller board or flight control CPU overheating
*/
fun isFlightControllerOverheating(): Boolean
//16-21 reserved for 75KG
/**
* UAV configuration status does not match, prohibit takeoff
*/
fun isStatusMismatch(): Boolean
/**
* Left wing reached maintenance period, prohibit takeoff
*/
fun isLeftWingReachedMaintenance(): Boolean
/**
* Right wing reached maintenance period, prohibit takeoff
*/
fun isRightWingReachedMaintenance(): Boolean
/**
* Elevator reached maintenance period, prohibit takeoff
*/
fun isTailWingReachedMaintenance(): Boolean
/**
* Whether self-inspection is successful
*/
fun isAutoCheckSuc(): Boolean
}
Type:Action
KeyLanding
Description:One-key landing
Request parameter:none
Output parameter:none
Type:Action
KeyGoHome
Description:One-key return
Request parameter:none
Output parameter:none
Type:Action
KeyAutoLand
Description:Automatic landing
Request parameter:none
Output parameter:none
Type:Action
KeyArmDisarm
Description:Disarm
Request parameter:none
Output parameter:none
Type:Action
KeySetHome
Description:Set home point
Request parameter:DFFastFlyInfoBean
data class DFFastFlyInfoBean(
// 0: Use the current position of the aircraft as the aircraft Home point. This will ignore the remaining parameters
// 1: Use the remaining parameters to specify the GPS coordinates as the aircraft Home point
// 2: Emergency landing point
// 3: Temporary waypoint (including height, swirling radius)
// 4: Interest point (including height)
// 5: Height adjustment (only height position is valid, the value represents the height to be adjusted)
// 6: Speed adjustment (only speed position is valid, the value represents the expected speed (temporary))
// 7: 8-shaped swirling fast task (latitude, longitude, height, radius, heading, reference baseline length)
var locationStatus: FastFlyEnum = FastFlyEnum.DRONE_POINT_AS_HOME_POINT,
var latitude: Double = 0.0,
var longitude: Double = 0.0,
var altitude: Int = 0,
var radius: Int = 0,
var speed: Float = 0f,
var direction: Int = 0,
var distance: Int = 0
)
Output parameter:none
Type:Action
KeyEnableUSB
Description:Enable USB
Request parameter:none
Output parameter:none
Type:Action
KeyLockWing
Description:Lock wing
Request parameter:none
Output parameter:none
Type:Action
KeySpreadWing
Description:Spread wing
Request parameter:none
Output parameter:none
Type:Action
KeyStartMission
Description:Start mission
Request parameter:DFStartMissionBean
data class DFStartMissionBean(
var data0: Int = 0, //Default: 0
var missionId: Int = 0
)
Output parameter:DFCommonAck
Type:Action
KeyStopMission
Description:Stop mission
Request parameter:none
Output parameter:none
Type:Action
KeyClearFcsLog
Description:Clear flight control log
Request parameter:none
Output parameter:none
Type:Action
20. DFFlightPropertyKey(Dragonfish aircraft property settings)
KeyFmsMissionSpeed
Description:Fixed-wing cruise speed
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyMinRadius
Description:Minimum turning radius
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyMaxHeight
Description:Maximum flight height
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyMinHeight
Description:Maximum flight height
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyMaxRange
Description:Maximum flight distance
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyReturnHeight
Description:Automatic return height
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyHorizontalSpeed
Description:Horizontal speed
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyAscendSpeed
Description:Ascend speed
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyDescendSpeed
Description:Descend speed
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyFreshManModeSwitch
Description:Newcomer mode switch 1: On 0: Off
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeySDLogFrequency
Description:SD card read frequency
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyAttiModeSwitch
Description:Whether to use ATTI mode 1: On 0: Off
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyYawAngleSensitivity
Description:Yaw angle sensitivity
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeySafeHeight
Description:Safe height
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyCriticalBatteryWarning
Description:Critical low battery setting Ranges from 0.1 to 0.25
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyLowBatteryWarning
Description:Low battery setting Ranges from 0 to 0.50
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyMaxRp
Description:Query maximum tilt
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyRtkEnable
Description:use RTK or not 1: use 0: not use
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyVTakeoffAltitude
Description:Vertical takeoff height
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyControlMissionPath
Description:Force lock Propeller 0-close,99-open 10-attitude
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyMovingHomeEnable
Description:Support moving base station mode 0-not support,1-support; Tracking antenna only supports,WiFi base station does not support
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyTrackEnable
Description:Aircraft following 0-not follow,1-follow
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyRadarOCAEnable
Description:Enable terrain obstacle avoidance 0-close,1-open
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyLostAction
Description:Lost action 0: continue task;1: return
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyAirportCode
Description:Airport data unlock 0, not unlock 584213
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyTrackRadius
Description:Tracking swirl radius
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyTrackDistance
Description:Tracking distance
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyTrackAngleType
Description:Tracking angle type 1: absolute angle 2: relative angle
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyTrackAngle
Description:Tracking angle
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyTrackDirection
Description:Tracking swirl direction 1: counterclockwise; 0: automatic; -1: clockwise
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyDroneMaintainDuration
Description:Get aircraft maintenance duration
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyNoGnssSwitch
Description:Whether to enable NoGNSS function 1-open NoGNSS flight, 0-close NoGNSS flight
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyNoGnssTrackRadius
Description:Tracking radius in NoGNSS case, unit: meter
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyTargetNearDistance
Description:Determine the distance value at which the target enters the specified range, unit: meter
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyAutoQuitEnable
Description:Whether to automatically exit NoGNSS guidance after completion (open Int 1, default open)
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyQuickGuideGimbalPitch
Description:Determine the gimbal angle threshold for completing NoGNSS guidance (value range -55 to -120, default value -85)
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyDefaultRTLYaw
Description:Default yaw angle, unit: degree (value range 0-360, default value 0)
Request parameter:Float
Output parameter:Float
Type:Support Get/Set
KeyIntelligentLowBatteryEnable
Description:Intelligent low battery function 0: not open 1: open
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyFmsTFEnable
Description:Terrain obstacle avoidance function 0: not open 1: open
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyDropStateControl
Description:Control dropper state 0 - close, 1 - open (reset to 0 after power on)
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyDropOnPwm
Description:Control dropper PWM value when in open state
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyDropOffPwm
Description:Control dropper PWM value when in closed state
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyNoGnssTakeoffSwitch
Description:NoGNSS takeoff switch 0-close, 1-open
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyNoGNSSModeEnable
Description:GNSS switch
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyFcsLogStop
Description:Flight control log switch 0 - normal log recording, 1 - stop log recording
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
KeyFmsAirportMode
Description:Set nest mode
Request parameter:Int
Output parameter:Int
Type:Support Get/Set
21. DFMeshKey(Dragonfish Two-Control One-Group Mesh Network)
KeyMeshDeviceRegister
Description:Remote control registration, APP registers with aircraft
Request parameter:DFMeshDeviceRegisterBean
data class DFMeshDeviceRegisterBean(
var id: String, //Registration ID
var deviceName: String //Device name, length not greater than 64 bytes
)
Output parameter:DFMeshDeviceResultBean
data class DFMeshDeviceResultBean(
var id: String, //Registration ID
var result: Int //Operation success 0, failure 1
)
Type:Support Action
KeyMeshChangePriority
Description:Long machine switch, remote control switch priority 0-highest, 1-next, 2-next
Request parameter:DFMeshDeviceRegisterBean
data class DFMeshDevicePriorityBean(
var deviceID: String, //Registration ID
var priority: Int ///Set priority 0-highest, 1-next, 2-next
)
Output parameter:DFMeshDeviceResultBean
data class DFMeshDeviceResultBean(
var id: String, //Registration ID
var result: Int //Operation success 0, failure 1
)
Type:Support Action
KeyAPPHeartBeat
Description:Long machine switch, remote control switch priority 0-highest, 1-next, 2-next
Request parameter:DFMeshHeartBeatBean
data class DFMeshHeartBeatBean(
var id: String //Registration ID
)
Output parameter:none
Type:Support Report
22. WifiBaseStationKey(Dragonfish WIFI Base Station)
KeySetBaseStation
Description:Wifi base station setting
Request parameter:WifiBaseStationSettingReq
data class WifiBaseStationSettingReq(
var req: ByteArray
)
Output parameter:WifiBaseStationSettingRsp
data class WifiBaseStationSettingRsp(
var rsp: ByteArray
)
Type:Support Action
KeySetBaseStationPosition
Description:Base station precise position setting
Request parameter:AutelLatLng
class AutelLatLng implements Cloneable, Serializable {
private double latitude;
private double longitude;
private float altitude = 0;
}
Output parameter:Int: 0-success, 1-failure
Type:Support Action
KeyGetBaseStationPosition
Description:Base station precise position acquisition
Request parameter:none
Output parameter:AutelLatLng
class AutelLatLng implements Cloneable, Serializable {
private double latitude;
private double longitude;
private float altitude = 0;
}
Type:Support Action
KeyBaseStationStatusNtfy
Description:Report base station status information
Request parameter:none
Output parameter:WifiBaseStationStatusNtfyBean
data class WifiBaseStationStatusNtfyBean(
val satellitesNum: Int, //Base station RTK satellite number
val status: Int, //Base station status information bit 0 Base station shutdown flag 1-about to shut down. 0-normal operation. bit 1-31 Reserve
val reserve: Int, //Reserved
val batteryLevel: Int, //Base station battery information, range 0-100
val rtkSignalQuality: Int, //Base station RTK signal quality, range 0-5
)
Type:Support Listen
KeyBaseStationRTKSolveNtfy
Description:Report base station RTK solution information
Request parameter:none
Output parameter:WifiBaseStationRTKSolveNtfyBean
data class WifiBaseStationRTKSolveNtfyBean(
val sol: ByteArray, //Solution information
)
Type:Support Listen
KeyBaseStationRTKNtfy
Description:Report base station RTK information
Request parameter:none
Output parameter:WifiBaseStationRTKNtfyBean
data class WifiBaseStationRTKNtfyBean(
val latitude: Double, // latitude, 10E-7deg
val longitude: Double, // longitude, 10E-7deg
val altitude: Double, // altitude, 10E-3deg
val velX: Float, // velocity northward, 10E-2m/s
val velY: Float, // velocity eastward, 10E-2m/s
val velZ: Float, // velocity downward, 10E-2m/s
val pitch: Float, // pitch, 10E-3 rad
val roll: Float, // roll, 10E-3 rad
val yaw: Float, // yaw, 10E-3 rad
val yawRate: Float, // yaw_rate, 10E-3 rad/s
val antHeading: Int, // heading info of dual antennas, 0.1deg clockwise [0,360)deg
val reserve: Int, // reserved
val posType: Int, // position type
val posStat: Int, // position solution status
val velType: Int, // velocity type
val velStat: Int, // velocity solution status
)
Type:Support Listen
KeySetBaseStationMode
Description:Set base station mode
Request parameter:Int 1-Self-positioning fixed base station; 2-Set coordinates fixed base station; 3-Mobile base station mode
Output parameter:none
Type:Support Action
KeyGetBaseStationMode
Description:Get base station mode
Request parameter:none
Output parameter:Int 1-Self-positioning fixed base station; 2-Set coordinates fixed base station; 3-Mobile base station mode
Type:Support Action
KeySetRouteWifi
Description:Set wifi base station password
Request parameter:
data class SetRouteWifiBean(
var ssid : String,
var password : String
)
Output parameter:None
Type:Support Action