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. AccessoriesProxyKey
KeyJettisionGearControl
Description: Thrower control
Input parameters:
data class JettisionGearControlBean(
/**
* Throwing device id
*/
var moduleID: Int = 0,
/**
* Each throw position status 0: not throw, 1: throw.
*/
val action: MutableList<ThrowingGearActionEnum> = mutableListOf(), //Each throwing bit status 0: not throwing, 1: throwing.
)
Output parameter: None
Type: Action
KeyJettisionGearStatus
Description: Report the status of the thrower
Input parameters: None
Output parameter:
data class JettisionGearStatusBean(
/**
* Throwing device id
*/
var moduleID: Int = 0,
/**
* Is the channel valid? 0: invalid (not in use) 1: valid (in use),
*/
var validFlag: MutableList<ThrowingGearValidEnum>? = null,
/**
* Channel status 0: not yet thrown 1: already thrown
*/
var status: MutableList<ThrowingGearStatusEnum>? = null,
var timestamp: Long = 0L
)
Type: Listen
KeyMsgToTracer
Description: Tracer message sending interface App->Aircraft (Accessory Gateway)
Input parameters:
data class TracerUavMessageBean(
var msgChannel: String = "",
var msgType: TracerMessageType = TracerMessageType.TRACERUAVMSG_HEART_BEAT,
var msgName: String? = null,
var msgHandle: Int = 0,
var msgSeq: Int = 0,
var workMode: CtrlWorkModeBean? = null,
var flyStatus: FlyStatusBean? = null,
var measureInfo: MeasureInfoBean? = null
)
Output parameter: None
Type: Report
KeyMsgFromTracer
Description: Tracer message reporting interface aircraft (accessory gateway) -> App
Input parameters: None
Output parameter:
data class TracerUavMessageBean(
var msgChannel: String = "",
var msgType: TracerMessageType = TracerMessageType.TRACERUAVMSG_HEART_BEAT,
var msgName: String? = null,
var msgHandle: Int = 0,
var msgSeq: Int = 0,
var workMode: CtrlWorkModeBean? = null,
var flyStatus: FlyStatusBean? = null,
var measureInfo: MeasureInfoBean? = null
)
Type: Listen
KeyJZLoudSpeakerLightingControl
Description: APP controls the ultimate shouting lighting all-in-one machine
Input parameters:
data class LoudspeakerLightingJzControlBean(
val moduleID: ModuleIDEnum,
val action: Any,
val value: Int
)
Output parameter: None
Type: Action
KeyJZSPEAKEControl
Description: Extreme shouting lighting all-in-one machine opus real-time shouting data message
Input parameters:
data class LoudspeakerLightingJzSpeakRealtimeMsgBean(
val seqNum: Long,
val value: ByteString = ByteString.EMPTY
)
Output parameter: None
Type: Action
KeyJZLoudSpeakerLightingQuery
Description: Extreme call lighting all-in-one machine query interface Specific value Searchlight brightness level (-1 invalid, 1, 2, 3 normal // Pitch angle -1 invalid, -90 ~ 30 normal 4: PTZ linkage status 1 on 2 off Specific value of the megaphone volume (-1 is invalid, 0 ~ 100 is normal)
Input parameters:
data class LoudspeakerLightingJzQueryBean(
val moduleID: ModuleIDEnum,
val query: Any,
)
Output parameter: Int
Type: Action
KeyJZNormalHeartbeat
Description: General heartbeat status reporting of accessories Accessory type 1 Extreme shouting lighting all-in-one machine
Input parameters: None
Output parameter:
data class AccessoriesNormalHeartbeatBean(
val accessoriestType: Int, //Accessory type 1 Extreme shouting and lighting all-in-one machine
val accessoriestName: String //Specific model of accessories
)
Type: Listen
2. 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
KeyAirlinkResetMatchFlag
Description: Reset the frequency binding flag
Input parameters: None
Output parameter: None
Type: Action
KeyALinkConnectConfirm
Function Description: User clicks on the battery to confirm the connection notification
Input parameters: None
Output parameter: None
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
KeyAirlinkAppSplitScreenInfo
Description: App image transmission display mode
Input parameters: List<GimbalTransmissionBean>
data class GimbalTransmissionBean(
/**
* PTZ label
*/
var label: String? = null,
/**
* camera_id corresponding to visible light, infrared, night vision and other cameras
*/
var cameraId: Int = 0,
)
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
KeyAirlinkTriggerCpOff
Description: The main remote controller sends a forced out-of-step message to the aircraft
Input parameters: None
Output parameter: None
Type: Action
KeyAirLinkFrequencySet
Description: Set the frequency band list of the image transmission. In some SS scenarios, users require to force certain frequency bands to be enabled or blocked.
Input parameters:
data class FrequencySetBean(
val operation: Int, // Operation type (0: turn on the frequency band, 1: turn off the frequency band)
val frequencyList: List<FrequencyInfoBean>, //frequency band list
val cyCode:String, //country code
//Indicates the source of the operation, 0: sent by the APP background, 1: sent manually by the customer
val indicatorOperationSource: Int,
//Defense flag: 0: non-defense, 1: defense
val defenseFlag:Int
)
Output parameter: None
Type: Action
KeyAirFrequencyGet
Description: Get the frequency band list of the image transmission. Get the frequency band list of the image transmission. The APP obtains the frequency band setting information from the aircraft and displays it.
Input parameters: None
Output parameter:
data class FrequencyGetBean(
val disableFrequencyList: List<FrequencyInfoBean>, //User-specified frequency band list to be disabled
val frequencyList: List<FrequencyInfoBean>, //User-specified frequency band list
val hdSupportFrequencyList: List<FrequencyInfoBean>, //Hardware supported frequency band list
val operation: Int, //Operation type 0: open the frequency band 1: close the frequency band
val cyCode: String, //country code
val indicatOperationSource: Int, //Indicates the operation source, 0: sent by the APP background, 1: sent manually by the customer
val defenseFlag: Int //Defense flag: 0: non-defense, 1: defense
)
Type: Action
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
3. AIServiceKey
KeyAiDetectTarget
Description: After the user selects a target on the App, the aircraft locks on the target and sends the tracking frame to the App Object detection type settings The aircraft detects the target and sends the detection frame to the App
Input parameters: None
Output parameter:
data class DetectTrackNotifyBean(
var timestamp: Long = 0, // timestamp
var frameId: Int = 0, //id
/**
* Resolution width
*/
var resolutionWidth: Int = 0,
/**
* Resolution height
*/
var resolutionHeight: Int = 0,
/**
* quantity
*/
var objNum: Int = 0,
/**
* Tracking box array
*/
var infoList: List<DetectObjectBean> = emptyList(),
var imageId: Int = 0, //Unique ID of the image (unique for this boot), if no image is saved this time, set it to 0
var imageUrl: String = "", //Image path, if no image is saved this time, set it to an empty string
/**
* Lens ID
*/
var lensId: Int = 0
)
Type: Set, Listen, Action
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
KeyTrackingTargetTypeConfig
Description: Target detection type setting
Input parameters:
data class AIDetectObjectConfigBean(
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
)
Output parameter: None
Type: Set, Action
KeyExtendedDetect
Description: Extended recognition model acquisition
Input parameters: None
Output parameter:
data class ExtendedDetectCapBean(
var modelId:Long,
var capList :MutableList<ExtendedDetectBean>
)
Type: Action
KeyExtendedDetectReport
Description: AIService reports the current recognition extension capability set to App
Input parameters: None
Output parameter:
data class ExtendedDetectCapBean(
var modelId:Long,
var capList :MutableList<ExtendedDetectBean>
)
Type: Listen
plannerRosBagRecordEnable
Description: Planner bag record 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
KeyDetectTakePhotoInfoNtfy
Description: The aircraft detects the target and takes photos and reports
Input parameters: None
Output parameter:
data class DetectTakePhotoInfoBean(
var timestamp: Long = 0,
var photoPath: String = "",
var infoList: List<MeshAIDetectObjectBean> = arrayListOf()
)
Type: Listen
KeyWayPointDetectTakePhotoInfoNtfy
Description: Notification of AI detection target photo information during inspection tasks
Input parameters: None
Output parameter:
data class AIRecognitionPhotoInfoBean(
var eventId: Long = 0L, // event ID
var fileId: String = "", // Unique file identifier
var path: String = "", // URL address of the file
var shootingType: Int = 0, // Linked shooting mode
var fileExpand: AIFileExpandInfoBean? = null, // file expansion content
var metadata: AIMetadataInfoBean? = null, // Media metadata
var objNum: Int = 0, // Number of detected targets in one frame
var objInfo: List<AIPhotoDetectObjectInfoBean> = emptyList() // Detection target array
)
Type: Listen
KeyWayPointRecordNtfy
Description: Notification of AI waypoint linkage video event in inspection mission
Input parameters: None
Output parameter:
data class AIWaypointRecordBean(
val taskId: Int,
val waypointId: Int,
val recordUrl: String,
val startTimestamp: Long,
val videoDuration: Int,
val eventIds: List<Long>,
val planeGpsLat: Float, // New: aircraft GPS latitude
val planeGpsLon: Float, // New: Aircraft GPS longitude
val planeGpsAlt: Float // New: Aircraft GPS altitude, unit: m
)
Type: Listen
4. 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
KeyIntelligentLockEnter
Description: Enter smart lock
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
KeyIntelligentLockStart
Description: Start smart lock
Input parameters:
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
)
Output parameter: None
Type: Action
KeyIntelligentLockExit
Description: Exit smart lock
Input parameters: None
Output parameter: None
Type: Action
5. 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
KeyDisplayMode
Description: Display mode
Input parameters: None
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, Listen
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
KeyPatternMode
Description: Camera interface mode
Input parameters:
enum class PatternModeEnum(var value: Int) {
/**
* Manual flight
*/
MANUAL(0),
/**
* Mission flight
*/
MISSION_FLY(1),
/**
* Intelligent tracking, gesture recognition, and tap-to-fly
*/
TRACK(2),
/**
* Time-lapse photography
*/
DELAY_SHOOT(3),
/**
* Surround Vision
*/
VISION_ORBIT(4),
/**
* Panoramic photography
*/
PANORAMIC(5),
/**
* Task recording
*/
MISSION_RECORDER(6),
/**
* Traffic Police Project
*/
MISSION_POLICE(7),
/**
* Low power consumption
*/
LOW_POWER(8),
/**
* Movie mode
*/
SHORT_VIDEO(9),
/**
* Portrait mode
*/
PORTRAIT(10),
/**
* Night mode
*/
NIGHT(11),
/**
* Professional Mode
*/
MAJOR(12),
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
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
KeyIntervalShotStatus
Description: Timed shooting countdown report
Input parameters: None
Output parameter: Int
Type: Listen
KeyPanoramaStatus
Description: Panoramic status reporting
Input parameters: None
Output parameter:
data class PanoramaStatusBean(
/**
* Panorama status
*/
var state: PanoramaShootStatusEnum = PanoramaShootStatusEnum.UNKNOWN,
/**
* Panorama type
*/
var type: PanoramaEnum = PanoramaEnum.UNKNOWN,
/**
* Overall steps
*/
var totalStep: Int = 0,
/**
* Current number of steps for panoramic photo taking
*/
var currentStep: Int = 0,
/**
* The current completion ratio of panoramic photography
*/
var proportion: Float = 0f,
)
Type: Listen
KeyDelayShotStatus
Description: Time-lapse photography status reporting
Input parameters: None
Output parameter:
data class DelayShotStatusBean(
/**
* The remaining time in seconds
*/
var remainTime: Int = 0,
/**
* Countdown to taking the next photo, in seconds
*/
var countDown: Int = 0,
/**
* Number of photos taken
*/
var captured: Int = 0,
)
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
6. CommonKey
KeyHeartBeatPhone
Description: Aircraft keep-alive heartbeat
Input parameters: None
Output parameter: None
Type: Listen
KeyHeartBeatApp
Description: APP keep-alive heartbeat app->Business gateway fixed frequency reporting
Input parameters: None
Output parameter: None
Type: Report
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(
// var droneVersion: String? = null, // Aircraft package version (the package version information has removed the system initialization data)
/**
* 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(
/**
* 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
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(
/**
* 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: 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
KeyDroneWarning
Description: Aircraft warning notification
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
KeyDroneRuntimeWarning
Description: Real-time aircraft warning notification
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
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
KeyDroneSetFlyZoneCommand
Description: Set the flyable area code
Input parameters:
data class DroneSetFlyZoneCommandBean(
val flyZoneList: List<FlyZoneBean>
)
Output parameter: None
Type: Action
KeyDroneSetFlyRegionCommand
Description: Set the flight area and nearby country and region codes
Input parameters:
data class DroneSetFlyRegionCommandBean(
var regionCode: String,
var nearRegionCodeList: List<String>
)
Output parameter: None
Type: Action, Report
7. 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) {
override fun toString(): String {
return "HomeLocation(latitude=$latitude, longitude=$longitude, height=$height, type=$type)"
}
}
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) {
override fun toString(): String {
return "HomeLocationDouble(latitude=$latitude, longitude=$longitude, height=$height, type=$type)"
}
}
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
KeyDroneEmergencyPaddleStop
Description: App notifies the aircraft to stop propellers in an emergency
Input parameters: None
Output parameter: None
Type: Action
8. 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
KeyKmlEnter
Description: None
Input parameters: None
Output parameter: None
Type: Action
KeyKmlExit
Description: Exit waypoint mission
Input parameters: None
Output parameter: None
Type: Action
KeyKmlStart
Description: Start a waypoint mission
Input parameters:
data class MissionKmlGUIDBean(
var kmlMissionId: Int = 0,
var startTime: Int = 0, //Default is 0
)
Output parameter: Int
Type: Action
KeyKmlPause
Description: Pause waypoint mission
Input parameters: None
Output parameter: None
Type: Action
KeyKmlResume
Description: Restore waypoint mission
Input parameters:
data class MissionKmlGUIDBean(
var kmlMissionId: Int = 0,
var startTime: Int = 0, //Default is 0
)
Output parameter: None
Type: Action
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
9. 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
KeyFcsSensMagXscale
Description: Main magnetometer X-axis scale factor
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
KeyFcsSensMagXyscal
Description: None
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
KeyFcsSensMagXzscal
Description: None
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
KeyFcsSensMagYxscal
Description: Main magnetometer Y-axis scale factor
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
KeyFcsSensMagYscale
Description: None
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
KeyFcsSensMagYzscal
Description: None
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
KeyFcsSensMagZxscal
Description: Main magnetometer Z-axis scale factor
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
KeyFcsSensMagZyscal
Description: None
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
KeyFcsSensMagZscale
Description: None
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
KeyFcsSensMagXoff
Description: Main magnetometer X-axis zero bias
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
KeyFcsSensMagYoff
Description: Main magnetometer Y-axis zero bias
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
KeyFcsSensMagZoff
Description: Main magnetometer Z-axis zero bias
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
KeyFcsSensMag1Xscale
Description: Magnetometer X-axis scale factor
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
KeyFcsSensMag1Xyscal
Description: None
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
KeyFcsSensMag1Xzscal
Description: None
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
KeyFcsSensMag1Yxscal
Description: Y-axis scale factor of magnetometer
KeyFcsSensMag1Yscale
Description: Y-axis scale factor of magnetometer
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
KeyFcsSensMag1Yzscal
Description: None
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
KeyFcsSensMag1Zxscal
Description: Magnetometer Z-axis scale factor
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
KeyFcsSensMag1Zyscal
Description: None
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
KeyFcsSensMag1Zscale
Description: None
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
KeyFcsSensMag1Xoff
Description: Prepare magnetometer X-axis zero bias
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
KeyFcsSensMag1Yoff
Description: Y-axis zero bias of magnetometer
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
KeyFcsSensMag1Zoff
Description: Z-axis zero bias of magnetometer
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
KeyFcsSensAmpuXoff
Description: Main accelerometer X-axis zero bias
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
KeyFcsSensAmpuYoff
Description: Main accelerometer Y-axis zero bias
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
KeyFcsSensAmpuZoff
Description: Main accelerometer Z-axis zero bias
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
KeyFcsSensAmpuXscale
Description: Main accelerometer X-axis scale factor
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
KeyFcsSensAmpuXyscal
Description: None
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
KeyFcsSensAmpuXzscal
Description: None
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
KeyFcsSensAmpuYxscal
Description: Main accelerometer Y-axis scale factor
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
KeyFcsSensAmpuYscale
Description: None
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
KeyFcsSensAmpuYzscal
Description: None
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
KeyFcsSensAmpuZxscal
Description: Main accelerometer Z-axis scale factor
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
KeyFcsSensAmpuZyscal
Description: None
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
KeyFcsSensAmpuZscale
Description: None
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
KeyFcsSensGmpuXoff
Description: Main gyroscope X-axis zero bias
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
KeyFcsSensGmpuYoff
Description: Main gyroscope Y-axis zero bias
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
KeyFcsSensGmpuZoff
Description: Main gyroscope Z-axis zero bias
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
KeyFcsSensGmpuXscale
Description: Main gyroscope X-axis scale factor
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
KeyFcsSensGmpuXyscal
Description: None
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
KeyFcsSensGmpuXzscal
Description: None
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
KeyFcsSensGmpuYxscal
Description: Main gyroscope Y-axis scale factor
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
KeyFcsSensGmpuYscale
Description: None
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
KeyFcsSensGmpuYzscal
Description: None
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
KeyFcsSensGmpuZxscal
Description: Main gyroscope Z-axis scale factor
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
KeyFcsSensGmpuZyscal
Description: None
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
KeyFcsSensGmpuZscale
Description: None
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
KeyFcsSensAicmXoff
Description: Prepare accelerometer X-axis zero
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
KeyFcsSensAicmYoff
Description: Prepare accelerometer Y axis zero
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
KeyFcsSensAicmZoff
Description: Accelerometer Z axis zero
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
KeyFcsSensAicmXscale
Description: Prepare the accelerometer X-axis scale factor
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
KeyFcsSensAicmXyscal
Description: None
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
KeyFcsSensAicmXzscal
Description: None
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
KeyFcsSensAicmYxscal
Description: Prepare the accelerometer Y-axis scale factor
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
KeyFcsSensAicmYscalE
Description: None
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
KeyFcsSensAicmYzscal
Description: None
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
KeyFcsSensAicmZxscal
Description: Accelerometer Z-axis scale factor
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
KeyFcsSensAicmZyscal
Description: None
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
KeyFcsSensAicmZscale
Description: None
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
KeyFcsSensGicmXoff
Description: Gyroscope X-axis zero bias
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
KeyFcsSensGicmYoff
Description: Gyroscope Y-axis zero bias
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
KeyFcsSensGicmZoff
Description: Gyroscope Z-axis zero bias
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
KeyFcsSensGicmXscale
Description: Gyroscope X-axis scale factor
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
KeyFcsSensGicmXyscal
Description: None
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
KeyFcsSensGicmXzscal
Description: None
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
KeyFcsSensGicmYxscal
Description: Gyroscope Y-axis scale factor
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
KeyFcsSensGicmYscale
Description: None
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
KeyFcsSensGicmYzscal
Description: None
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
KeyFcsSensGicmZxscal
Description: Gyroscope Z-axis scale factor
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
KeyFcsSensGicmZyscal
Description: None
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
KeyFcsSensGicmZscale
Description: None
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
10. 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
11. HardwareDataSecurityKey
KeyLimitDataGenerationSet
Description: Settings - Limit the generation of business data on the aircraft side
Input parameters:
data class UavDataGenerationLimitBean(
val enable: Int, // Do not save task data switch, closed by default
val limitList: List<Int> // limitList[0] indicates that flight logs are not limited, limitList[1] indicates that media files are not limited,
// limitList[2] indicates the limit of media file generation. Media files contain unnecessary information (such as GPRS). 0 is disabled and 1 is enabled. When disabled, this data does not need to be filled in.
)
Output parameter:
data class UavDataGenerationLimitBean(
val enable: Int, // Do not save task data switch, closed by default
val limitList: List<Int> // limitList[0] indicates that flight logs are not limited, limitList[1] indicates that media files are not limited,
// limitList[2] indicates the limit of media file generation. Media files contain unnecessary information (such as GPRS). 0 is disabled and 1 is enabled. When disabled, this data does not need to be filled in.
)
Type: Action
KeyLimitDataGenerationGet
Description: Get-limit the business data generated on the aircraft side
Input parameters: None
Output parameter:
data class UavDataGenerationLimitBean(
val enable: Int, // Do not save task data switch, closed by default
val limitList: List<Int> // limitList[0] indicates that flight logs are not limited, limitList[1] indicates that media files are not limited,
// limitList[2] indicates the limit of media file generation. Media files contain unnecessary information (such as GPRS). 0 is disabled and 1 is enabled. When disabled, this data does not need to be filled in.
)
Type: Action
KeyUavDataDestroySet
Description: Settings - Data destruction settings
Input parameters:
data class UavDataDestroyListBean(
val enable: Int, //Data destruction setting switch, closed by default
val disConnectDestroyMode: Int, // Enable is 1 to take effect, 0 to disable, 1 to enable the disconnection destruction mode
val missionNoReturnDestroyMode: Int, // Enable is 1, it takes effect, 0 is off, 1 is on mission no return mode
val manualDestroyMode: Int, // Enable takes effect only when it is 1, 0 turns it off, 1 turns on manual destruction mode and destroys all data (trigger by pressing C1+C2 for 3 seconds)
val destroyList: List<Int> // Enable is 1 to take effect, custom destruction data,
// destroyList [0] indicates the destruction of media resources.
// destroyList [1] indicates route file destruction,
// destroyList [2] indicates that the upgrade file is destroyed.
// destroyList [3] indicates log file destruction.
// 0 is off, 1 is on. When off, this data does not need to be filled in
)
Output parameter: None
Type: Action
KeyUavDataDestroyGet
Description: Get-Data destruction settings
Input parameters: None
Output parameter:
data class UavDataDestroyListBean(
val enable: Int, //Data destruction setting switch, closed by default
val disConnectDestroyMode: Int, // Enable is 1 to take effect, 0 to disable, 1 to enable the disconnection destruction mode
val missionNoReturnDestroyMode: Int, // Enable is 1, it takes effect, 0 is off, 1 is on mission no return mode
val manualDestroyMode: Int, // Enable takes effect only when it is 1, 0 turns it off, 1 turns on manual destruction mode and destroys all data (trigger by pressing C1+C2 for 3 seconds)
val destroyList: List<Int> // Enable is 1 to take effect, custom destruction data,
// destroyList [0] indicates the destruction of media resources.
// destroyList [1] indicates route file destruction,
// destroyList [2] indicates that the upgrade file is destroyed.
// destroyList [3] indicates log file destruction.
// 0 is off, 1 is on. When off, this data does not need to be filled in
)
Type: Action
KeyUavDataDestroyListReport
Description: Report data destruction results
Input parameters: None
Output parameter:
data class UavDataDestroyListNtfyBean(
val enable: Int, //Data destruction setting switch, closed by default
val disConnectDestroyFin: Int, // 1 means data is deleted in this mode
val missionNoReturnDestroyFin: Int, // 1 means data deletion is complete in this mode
val manualDestroyFin: Int, // 1 means data deletion is complete in this mode
val destroyListFin: List<Int> // Enable is 1 to take effect, custom destruction data,
// destroyList [0] indicates the destruction of media resources.
// destroyList [1] indicates route file destruction,
// destroyList [2] indicates that the upgrade file is destroyed.
// destroyList [3] indicates log file destruction.
// 1 means deletion is completed. When closed, this data does not need to be filled in
)
Type: Listen
12. 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
13. 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
14. 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
15. 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
KeyRcQuickMatchChooseConnect
Description: Quick pairing confirmation
Request parameter: Int
Output parameter: None
Type: Action
KeyRcQuickMatchClearBlacklist
Description: Quick pairing and clearing blacklist
Input parameters: None
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
KeyRC60GpsInfo
Description: 6.0-inch remote control GPS information reporting monitoring
Input parameters: None
Output parameter:
data class RCGpsInfoMsgBean(
val msgType: RC60GPSInfoMessageTypeEnum,
val latitude: Double, // latitude
val longitude: Double, // longitude
val altitude: Double, // altitude
val utcSec: Long // UTC time
)
Type: Listen
KeyRc60InfoSet
Description: 6.0-inch remote control sets virtual GPS information
Input parameters:
data class RCGpsInfoMsgBean(
val msgType: RC60GPSInfoMessageTypeEnum,
val latitude: Double, // latitude
val longitude: Double, // longitude
val altitude: Double, // altitude
val utcSec: Long // UTC time
)
Output parameter: None
Type: Action
KeyRc60InfoGet
Description: 6.0-inch remote control obtains GPS information
Input parameters: None
Output parameter:
data class RCGpsInfoMsgBean(
val msgType: RC60GPSInfoMessageTypeEnum,
val latitude: Double, // latitude
val longitude: Double, // longitude
val altitude: Double, // altitude
val utcSec: Long // UTC time
)
Type: Action
KeyRC60ImuInfo
Description: 6.0-inch remote control imu report monitoring
Input parameters: None
Output parameter:
data class RcImuAngMsgBean(
val x: Float, //imu X-axis angle, 0~360
val y: Float, //imu Y axis angle, 0~360
val z: Float, //imu Z axis angle, 0~360
val status: IMUStatus, //imu status, 0: normal, 1: abnormal
val calibState: IMUCalibrationState, //imu calibration state, 0: Not calibrated: 1: Calibrated: 2: Calibration successful: 3: Calibration failed
)
Type: Listen
KeyRc60IMUCalibrate
Description: 6.0 inch remote control imu calibration command
Input parameters:
data class Rc60ImuCalibMessageBean(
val calibrationCommand: ImuCalibrationCommandEnum
)
enum class ImuCalibrationCommandEnum(val value: Int) {
ENTER_CALIBRATION_MODE(0),
EXIT_CALIBRATION_MODE(1),
UNKNOWN(-1)
}
Output parameter: None
Type: Action
KeyRCFactoryTestControl
Description: Remote control production test mode switch, 1: start test, 2: stop test
Request parameter: String
Output parameter: None
Type: Action
KeyRCFactoryTestResult
Description: Remote control production test result notification
Input parameters: None
Output parameter:
data class RCFactoryTestBean(
/**
* Remote control production test result data
*/
var data: ByteString = ByteString.EMPTY
)
Type: Listen
KeyRc60ImuDataGet
Description: None
Input parameters: None
Output parameter:
data class Rc60ImuDataBean(
val accelerometer: List<Int>,
val gyroscope: List<Int>,
val magnetometer: List<Int>,
val timestamp: Long
)
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
16. 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
17. 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
18. RtkPropertKey
KeyRtkReportInfo
Description: RTK information reporting
Input parameters: None
Output parameter:
data class RtkReportBean(
var solState: Int = 0,
/**< Solution status, see FlightControlDefine->RTK_SOLUTION_TYPE */
var posType: RTKPositionTypeEnum = RTKPositionTypeEnum.UNKNOWN_POSITION,
/**< Position type, see FlightControlDefine->RTK_POSITION_TYPE */
var lat: Double = 0.0, //latitude, deg/
var lon: Double = 0.0, // longitude, deg/
var hgt: Double = 0.0, // altitude, m/
var latSigma: Float = 0.0f, //< latitude standard deviation
var lonSigma: Float = 0.0f, // longitude standard deviation
var hgtSigma: Float = 0.0f, // height standard deviation
var svCnt: Int = 0, //Number of satellites tracked/
var solnSVs: Int = 0, // Number of satellites used in the solution /
var gpsCnt: Int = 0, // Number of GPS satellites/
var beidouCnt: Int = 0, // Beidou satellite number/
var glonassCnt: Int = 0, //glonass satellite number/
var galileoCnt: Int = 0, //galileo satellite number/
var inPos: Int = 0, // Is the RTK in position? 0 -- Not in position, 1 -- In position
var rtkUsed: Int = 0, // Whether to use RTK positioning / 0 -- not used, 1 -- used
var fixSta: Int = 0, // fix status / 0 -- not fixed, 1 -- fixed
var locationType: Int = 0, // Positioning method / 0 -- GNSS, 1 -- RTK
var signalType: RTKSignalEnum = RTKSignalEnum.SELF_NETWORK, // RTK signal type, see FlightControlDefine->RTK_SIGNAL_TYPE
var coordinateSys: RTKCoordinateEnum = RTKCoordinateEnum.MOBILE_STATION, //RTK coordinate system, see FlightControlDefine->RTK_COORDINATE
)
Type: Listen
KeyRtkRawReportInfo
Description: RTK information reporting
Input parameters: None Output parameter:
data class RtkRawReportBean(
var timestamp:Long = 0, //system timestamp
var gpsTime: Int = 0, //gps time
var lattitude : Double = 0.0, //latitude, precision is 10E-7 degrees
var longitude : Double = 0.0, // longitude, precision is 10E-7 degrees
var altitude: Float = 0.0f, //Altitude (relative to sea level), accuracy is 10E-3 meters
var velNedX: Float = 0.0f, //x speed, accuracy is 10E-3 m/s
var velNedY: Float = 0.0f, //y speed, accuracy is 10E-3 m/s
var velNedZ: Float = 0.0f, //z speed, accuracy is 10E-3 m/s
var accuracyH : Float = 0.0f, //Horizontal accuracy, unit: 10E-3 m
var accuracyV : Float = 0.0f, //Vertical accuracy, unit: 10E-3 m
var accuracyS : Float = 0.0f, //Speed accuracy, unit: 10E-3 m/s
var fixType : Int = 0, //GNSS fix type 0: no fix 1: dead reckoning only 2: 2D fix 3: 3D fix 4: GNSS + Dead Reckoning 5: Time only Fix
var satellitesNum : Int = 0, // Number of satellites to search
)
Type: Listen
KeyRTKLocationEnable
Description: RTK positioning
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
KeyRTKSignalType
Description: RTK signal mode
Input parameters:
enum class RTKSignalEnum(val value: Int) {
/**
* Unknown
*/
UNKNOWN(0),
/**
* RTK Mobile Station
*/
MOBILE_STATION(10),
/**
* Nest RTK
*/
SELF_NETWORK(1),
/**
* Network RTK (remote controller RTK)
*/
NETWORK(2),
/**
* 4G/5G mobile network (airborne RTK)
*/
MOBILE_NETWORK_SERVICES(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
KeyRTKCoordinateSystem
Description: RTK coordinate system
Input parameters:
enum class RTKCoordinateEnum(val value: Int) {
/**
* WGS84
*/
WGS84(0),
/**
* RTK Mobile Station
*/
MOBILE_STATION(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
KeyRTKBaseStationInfo
Description: RTK base station information reporting
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
KeyRTKBaseStationMessageType
Description: RTK service MessageType definition 0x0000A000 ~ 0x00000A0ff
Input parameters:
data class RtkCommandBean(
var rtkSwitch:Boolean = false
)
Output parameter: None
Type: Action
KeyRTKRtcmSent
Description: RTCM data transmission
Input parameters:
data class RtkRtcmDataBean(
var rtcmSource: Int = 0, //RTCM data source (machine nest/network, etc.)
var rtcmPackageSerial: Int = 0, //Serial number of the rtcm data packet (an rtcm packet may be split into multiple sub-packets for network transmission, and the serial numbers of multiple sub-packets are the same)
var rtcmPackageCnt: Int = 0, //The number of unpacked rtcm data
var rtcmPackageIdx: Int = 0, //rtcm data sub-package id
var rtcmData: ByteString = ByteString.EMPTY //RTCM data, maximum length 1029 bytes
)
Output parameter: None
Type: Report
keyBaseStationMode
Description: Configure the RTK base station working mode
Input parameters:
data class RtkWorkModeCommandBean(
var workMode: Int = 1 , //Working mode 0. Self-positioning mode, 1. Setting coordinate mode (parameters longitude, latitude, altitude), 2. Mobile mode, 3. Mobile station mode
var latitude : Double = 0.0 , // longitude
var longitude : Double = 0.0, // latitude
var altitude : Double = 0.0 // altitude
)
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
KeyRTKGppgaInfo
Description: RTK service MessageType definition 0x0000A000 ~ 0x00000A0ff
Input parameters: None
Output parameter:
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
)
Type: Listen
KeyRTKSwitchMode
Description: RTK service MessageType definition 0x0000A000 ~ 0x00000A0ff
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
19. 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
20. SystemManagerKey
KeySystemStatusData
Description: System status data notification
Input parameters: None
Output parameter: List<SystemStatusDataAtomBean>
data class SystemStatusDataAtomBean(
/**
*Platform type, see SYSTEM_DEBUG_PLATFORM
*/
var platform: SystemDebugPlatformEnum = SystemDebugPlatformEnum.UNKNOWN,
/**
*Chip type, see SYSTEM_CORE_TYPE
*/
var coreType: SystemCoreTypeEnum = SystemCoreTypeEnum.UNKNOWN,
/**
*Chip index ID, see SYSTEM_CORE_INDEX
*/
var coreIndex: SystemCoreIndexEnum = SystemCoreIndexEnum.CORE_0,
/**
*Data, [0] load%, temperature °C, frequency Hz, frequency limit Hz. If the data does not exist or is abnormal, the data value is 0
*/
var dataList: List<Float> = mutableListOf(),
)
Type: Listen
KeySystemWorkStatusData
Description: System service status reporting
Input parameters: None
Output parameter:
data class SystemWorkStatusBean(
/**
* Debug platform, see SYSTEM_DEBUG_PLATFORM
*/
var platform: SystemDebugPlatformEnum = SystemDebugPlatformEnum.UNKNOWN,
/**
*System working mode
*/
var systemWorkMode: SystemWorkStatusEnum = SystemWorkStatusEnum.UNKNOWN,
)
Type: Listen
KeySystemManagerDroneCustomName
Description: User-defined aircraft 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
KeySystemManagerStatusReportControl
Description: System service debugging information reporting 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
KeyQuerySystemExceptionMsg
Description: System service exception information query
Input parameters:
data class SystemExceptionReqBean(
var platform: SystemDebugPlatformEnum = SystemDebugPlatformEnum.UNKNOWN,
var errorType: SystemExceptionErrorEnum = SystemExceptionErrorEnum.ERROR_TYPE_ALL
)
Output parameter:
/**
* System abnormal information returned
*
* KP is kernel abnormality, HWDT is CPU freeze, reboot is process restart, DDR_training is parameter training restart, Unknown is unknown, these are all statistics of the entire chip
*/
data class SystemExceptionRspBean(
var statisticStr: String,
)
Type: Action
21. UpgradeServiceKey
KeyUpgradeQuery
Description: Upgrade condition query
Input parameters:
data class UpgradeQueryBean(
/**
*Client type, see CLIENT_TYPE_E enumeration
*/
var clientType: UpgradeClientTypeEnum = UpgradeClientTypeEnum.CLIENT_TYPE_GND,
)
Output parameter: None
Type: Action
KeyUpgradeEnter
Description: Enter the upgrade state
Input parameters:
data class UpgradeQueryBean(
/**
*Client type, see CLIENT_TYPE_E enumeration
*/
var clientType: UpgradeClientTypeEnum = UpgradeClientTypeEnum.CLIENT_TYPE_GND,
)
Output parameter: None
Type: Action
KeyUpgradeTransfer
Description: Product package transfer progress message
Request parameter: Int
Output parameter: None
Type: Action
KeyUpgradeCheck
Description: Product package file verification
Input parameters:
data class UpgradeCheckBean(
/**
* MD5 verification of product package files
*/
var MD5: String = "",
/**
* Product package file name, including full path
*/
var filename: String = "",
)
Output parameter: None
Type: Action
KeyUpgradeRcDeviceInfo
Description: View remote controller firmware 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
KeyUpgradeExecute
Description: Start upgrading
Input parameters:
data class UpgradeExecuteReqBean(
/**
* Forced upgrade flag
*/
var force: Boolean = false,
/**
* Product package file name, including full path
*/
var filename: String = "",
)
Output parameter: Int
Type: Action
KeyUpgradeProgress
Description: Report the overall progress of the upgrade
Input parameters: None
Output parameter: Int
Type: Listen
KeyUpgradeResult
Description: Upgrade result message
Input parameters: None
Output parameter:
data class UpgradeResultBean(
/**
*Upgrade error, see ERROR_TYPE_E enumeration
*/
var errCode: UpgradeErrorTypeEnum = UpgradeErrorTypeEnum.UPGRADE_ERR_NONE,
/**
*Error description
*/
var errDesc: String = "",
/**
*Response result 1-success 2-error
*/
var result: ResponseResultEnum = ResponseResultEnum.UNKNOWN,
)
Type: Listen
KeyUpgradeComponentCheck
Description: Component consistency check warning message
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: Listen
KeyUpgradeComponentRecover
Description: Execute component recovery message
Input parameters: None
Output parameter: None
Type: Action
KeyUpgradeStateQuery
Description: Query upgrade status message
Input parameters: None
Output parameter:
enum class UpgradeStateEnum(var value: Int) {
/**
* Idle
*/
IDLE(0),
/**
* Product package file is being transferred
*/
TRANSFER(1),
/**
* Upgrading
*/
EXECUTING(2),
/**
* Upgrade completed
*/
FINISH(3);
}
Type: Action
KeyUpgradeDiffAbilityCheckMsg
Description: Check whether differential upgrade message is supported
Input parameters: None
Output parameter:
data class UpgradeDiffAbility(var diffUpgrade:Boolean)
Type: Action
KeyAutoUpgradePreCheckReport
Description: Remote controller status detection and reporting before upgrade
Input parameters: None
Output parameter:
data class AutoUpgradePreCheckNtfBean(
var statusCode: AutoUpgradeStatusCode = AutoUpgradeStatusCode.SUCCESS,
var resultCode: AutoUpgradeSResultCode = AutoUpgradeSResultCode.UNKNOWN,
)
Type: Listen
22. UtmissPropertyKey
KeyUtmissEnable
Description: UTMISS 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
KeyManufacturerCode
Description: Manufacturer code unified social credit code
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
KeyRealNameRegistartionNum
Description: Real-name registration number
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
23. 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