class RemoteControllerKey
@Keep class RemoteControllerKey extends DJIRemoteControllerKey
|
| 包: | dji.sdk.keyvalue.key |
| 继承自: | DJIRemoteControllerKey |
描述:
RemoteControllerKey提供了一组方法来设置和获取遥控器数据。遥控器是一种具有摇杆、按钮、滚轮、GPS、电池、和视频输出端口的设备。移动设备可以连接到遥控器,遥控器会向移动设备发送任何从飞行器上返回的信息。
MSDK 5.0.0开始支持
类成员:
基础信息
final KeyConnection
static final DJIKeyInfo<Boolean> KeyConnection = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"Connection", SingleValueConverter.BooleanConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
|
描述:
参数: Boolean
true表示遥控器已连接。
MSDK 5.0.0开始支持
final KeyRemoteControllerType
static final DJIKeyInfo<RemoteControllerType> KeyRemoteControllerType = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"RemoteControllerType", new SingleValueConverter<>(RemoteControllerType.class,RemoteControllerTypeMsg.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
|
描述:
参数: RemoteControllerType
获取遥控器类型。
MSDK 5.0.0开始支持
final KeyControlMode
static final DJIKeyInfo<ControlMode> KeyControlMode = new KeyControlMode() .canGet(true).canSet(true).canListen(false).canPerformAction(false).setIsEvent(false)
|
描述:
参数: ControlMode
获取遥控器控制模式。首次调用get方法,需要使用异步的方式getValue调用才能获取到值。
MSDK 5.0.0开始支持
final KeyBatteryInfo
static final DJIKeyInfo<BatteryInfo> KeyBatteryInfo = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"BatteryInfo", new DJIValueConverter<>(BatteryInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RcParamChargeRemaining")
|
描述:
参数: BatteryInfo
获取遥控器电量信息。
MSDK 5.0.0开始支持
final KeySecondBatteryInfo
static final DJIKeyInfo<BatteryInfo> KeySecondBatteryInfo = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"SecondBatteryInfo", new DJIValueConverter<>(BatteryInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("SecondRcParamChargeRemaining")
|
描述:
参数: BatteryInfo
获取遥控器外置电池的电量信息。
MSDK 5.1.0开始支持
final KeySerialNumber
static final DJIKeyInfo<String> KeySerialNumber = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"SerialNumber", SingleValueConverter.StringConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
|
描述:
参数: String
获取遥控器序列号。
MSDK 5.0.0开始支持
final KeyFirmwareVersion
static final DJIKeyInfo<String> KeyFirmwareVersion = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"FirmwareVersion", SingleValueConverter.StringConverter).canGet(true).canSet(false).canListen(false).canPerformAction(false).setIsEvent(false)
|
描述:
参数: String
获取遥控器固件版本。
MSDK 5.0.0开始支持
物理按键信息监听
final KeyStickLeftVertical
static final DJIKeyInfo<Integer> KeyStickLeftVertical = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"StickLeftVertical", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RCStickLeftVertical")
|
描述:
参数: Integer
获取遥控器左摇杆的垂直杆量,范围区间:[-660,660],把摇杆控制到最下边,杆量为-660,把摇杆控制到最上边,杆量则为660。
MSDK 5.0.0开始支持
final KeyStickLeftHorizontal
static final DJIKeyInfo<Integer> KeyStickLeftHorizontal = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"StickLeftHorizontal", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RCStickLeftHorizontal")
|
描述:
参数: Integer
获取遥控器左摇杆的水平杆量,范围区间:[-660,660],把摇杆控制到最左边,杆量为-660,把摇杆控制到最右边,杆量则为660。
MSDK 5.0.0开始支持
final KeyStickRightVertical
static final DJIKeyInfo<Integer> KeyStickRightVertical = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"StickRightVertical", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RCStickRightVertical")
|
描述:
参数: Integer
获取遥控器右摇杆的垂直杆量,范围区间:[-660,660],把摇杆控制到最下边,杆量为-660,把摇杆控制到最上边,杆量则为660。
MSDK 5.0.0开始支持
final KeyStickRightHorizontal
static final DJIKeyInfo<Integer> KeyStickRightHorizontal = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"StickRightHorizontal", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RCStickRightHorizontal")
|
描述:
参数: Integer
获取遥控器右摇杆的水平杆量,范围区间:[-660,660],把摇杆控制到最左边,杆量为-660,把摇杆控制到最右边,杆量则为660。
MSDK 5.0.0开始支持
final KeyLeftDial
static final DJIKeyInfo<Integer> KeyLeftDial = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"LeftDial", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RCLeftWheel")
|
描述:
参数: Integer
获取遥控器左拨轮的偏移量,范围区间:[-660,660],默认偏移量为0。把拨轮拨到最左边,偏移量为-660。把拨轮拨到最右边,偏移量为660。左拨轮通常用来控制云台的俯仰行为。
MSDK 5.0.0开始支持
final KeyRightDial
static final DJIKeyInfo<Integer> KeyRightDial = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"RightDial", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RCRightWheel")
|
描述:
参数: Integer
获取遥控器右拨轮的偏移量,范围区间:[-660,660],默认偏移量为0。把拨轮拨到最左边,偏移量为-660。把拨轮拨到最右边,偏移量为660。右拨轮通常用来控制云台的偏航行为。
MSDK 5.0.0开始支持
final KeyScrollWheel
static final DJIKeyInfo<Integer> KeyScrollWheel = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"ScrollWheel", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RCRightNewWheel")
|
描述:
参数: Integer
获取遥控器滚轮的滚动量。
在M30系列遥控器DJI RC Plus上,用于监听遥控器后面的滚轮的滚动量,通常用来控制相机镜头变焦。
MSDK 5.1.0开始支持
final KeyFiveDimensionPressedStatus
static final DJIKeyInfo<FiveDimensionPressedStatus> KeyFiveDimensionPressedStatus = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"FiveDimensionPressedStatus", new DJIValueConverter<>(FiveDimensionPressedStatus.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RcFiveDimensionPressedStatus")
|
描述:
参数: FiveDimensionPressedStatus
获取遥控器五维按键的状态。
MSDK 5.0.0开始支持
基本操作
final KeyRcFirmwareInfo
static final DJIKeyInfo<RcFirmwareInfo> KeyRcFirmwareInfo = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"RcFirmwareInfo", new DJIValueConverter<>(RcFirmwareInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
|
描述:
获取遥控器当前的固件信息。
注意: 此Key只支持DJI RC Plus遥控器和DJI RC N1遥控器,用于获取遥控器固件信息进行固件类型切换。
MSDK 5.4.0开始支持
final KeySwitchRcFirmware
static final DJIActionKeyInfo<RcFirmwareType,EmptyMsg> KeySwitchRcFirmware = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"SwitchRcFirmware", new SingleValueConverter<>(RcFirmwareType.class,RcFirmwareMsg.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false)
|
描述:
切换遥控器固件类型。以DJI RC Plus遥控器为例:DJI RC Plus遥控器可以用于M30系列机型,M300 RTK机型和M350 RTK机型。你可以调用这个接口切换不同机型的固件,然后调用KeyRequestPairing进行对频使用。
MSDK 5.4.0开始支持
final KeyRequestPairing
static final DJIActionKeyInfo<EmptyMsg,EmptyMsg> KeyRequestPairing = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"RequestPairing", EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("RcRequestPairing")
|
描述:
启动遥控器对频操作,遥控器开始与飞行器对频。 当遥控器无法连接飞行器或者更换遥控器的时候可以通过对频操作连接飞行器。
注意: DJI RC Plus遥控器和DJI RC N1遥控器支持多款飞行器类型。请先调用KeyRcFirmwareInfo获取当前遥控器的固件类型。如果固件类型与需要对频的飞行器类型不一致,请先调用KeySwitchRcFirmware把遥控器固件切换成需要对频的固件类型后才能进行对频操作。
MSDK 5.0.0开始支持
final KeyStopPairing
static final DJIActionKeyInfo<EmptyMsg,EmptyMsg> KeyStopPairing = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"StopPairing", EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("RcStopPairing")
|
描述:
停止遥控器对频操作。
MSDK 5.0.0开始支持
final KeyPairingStatus
static final DJIKeyInfo<PairingState> KeyPairingStatus = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"PairingStatus", new SingleValueConverter<>(PairingState.class,RcPairingStateMsg.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RcPairingState")
|
描述:
参数: PairingState
获取遥控器对频状态。
MSDK 5.0.0开始支持
final KeyControllingGimbal
static final DJIKeyInfo<ComponentIndexType> KeyControllingGimbal = new KeyControllingGimbal() .canGet(false).canSet(true).canListen(false).canPerformAction(false).setIsEvent(false)
|
描述:
参数: ComponentIndexType
设置遥控器需要控制的云台和相机。飞行器上电后,遥控器默认控制主(左)云台和相机。可以通过此接口设置遥控器控制右云台和相机或者上云台和相机。
注意:
支持机型:M300 RTK和M350 RTK。
MSDK 5.7.0开始支持
final KeyRebootDevice
static final DJIActionKeyInfo<EmptyMsg,EmptyMsg> KeyRebootDevice = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"RebootDevice", EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false)
|
描述:
重启遥控器。
MSDK 5.1.0开始支持
双控
final KeyMultiControlIsSupported
static final DJIKeyInfo<Boolean> KeyMultiControlIsSupported = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlIsSupported", SingleValueConverter.BooleanConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("IsMasterSlaveModeV4Supported")
|
描述:
参数: Boolean
true表示支持双控功能。
MSDK 5.0.0开始支持
final KeyMultiControlRequestPairing
static final DJIActionKeyInfo<MultiControlChannel,EmptyMsg> KeyMultiControlRequestPairing = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlRequestPairing", new SingleValueConverter<>(MultiControlChannel.class,MultiControlChannelInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("StartModePairing")
|
描述:
参数: MultiControlChannel
启动双控对频操作,可选择把遥控器切换成A控或者B控跟飞行器对频。
注意: 调用此接口把遥控器对频为CHANNEL_B后,将无法使用IRTKCenter相关功能。
MSDK 5.0.0开始支持
final KeyMultiControlChannel
static final DJIKeyInfo<MultiControlChannel> KeyMultiControlChannel = new KeyMultiControlChannel() .canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false)
|
描述:
参数: MultiControlChannel
获取当前遥控器的多控频道类型。
MSDK 5.0.0开始支持
final KeyMultiControlOnlineRcCount
static final DJIKeyInfo<Integer> KeyMultiControlOnlineRcCount = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlOnlineRcCount", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("MultiRcOnlineRCCount")
|
描述:
参数: Integer
获取当前已连接的遥控器个数。
MSDK 5.0.0开始支持
final KeyMultiControlOnlineAppCount
static final DJIKeyInfo<Integer> KeyMultiControlOnlineAppCount = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlOnlineAppCount", SingleValueConverter.IntegerConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("MultiRcOnlineAPPCount")
|
描述:
参数: Integer
获取当前已连接的APP个数。
注意:此处提及的APP包括DJI的官方APP,以及通过DJI MSDK开发的第三方APP。
MSDK 5.0.0开始支持
final KeyMultiControlStatus
static final DJIKeyInfo<MultiControlStatusInfo> KeyMultiControlStatus = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlStatus", new DJIValueConverter<>(MultiControlStatusInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("RcMultiStatus")
|
描述:
参数: MultiControlStatusInfo
获取遥控器双控连接状态。可以通过这个接口查看A控、A控中的App、B控、B控中App是否在线状态。
MSDK 5.0.0开始支持
final KeyMultiControlFlightControlAuthorityOwner
static final DJIKeyInfo<MultiControlFlightControlAuthorityOwnerInfo> KeyMultiControlFlightControlAuthorityOwner = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlFlightControlAuthorityOwner", new DJIValueConverter<>(MultiControlFlightControlAuthorityOwnerInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("MultiRCFlightControlAuthOwner")
|
描述:
参数: MultiControlFlightControlAuthorityOwnerInfo
获取当前飞行控制权是在A控还是在B控。
MSDK 5.0.0开始支持
final KeyMultiControlGimbalAuthorityOwner
static final DJIKeyInfo<List<MultiControlChannelInfo>> KeyMultiControlGimbalAuthorityOwner = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlGimbalAuthorityOwner", new SingleValueConverter<>((Class)List.class,MultiRcGimbalsControlAuthOwnerMsg.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("MultiRcGimbalsControlAuthOwner")
|
描述:
参数: List<MultiControlChannelInfo>
获取当前云台控制权是在A控还是在B控。
MSDK 5.0.0开始支持
final KeyMultiControlAuthorityObtain
static final DJIActionKeyInfo<List<MultiControlAuthorityType>,EmptyMsg> KeyMultiControlAuthorityObtain = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlAuthorityObtain", new SingleValueConverter<>((Class)List.class,RCAuthorityModes.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("MultiRcControlAuthoritySurpass")
|
描述:
参数: List<MultiControlAuthorityType>
抢夺飞行或者云台控制权。当遥控器仅仅拥有云台控制权时,可通过摇杆来控制云台,当用户同时拥有飞行控制权和云台控制权时,摇杆用来控制飞行,波轮用来控制云台。
MSDK 5.0.0开始支持
final KeyMultiControlLockAuthority
static final DJIActionKeyInfo<MultiControlLockAuthorityInfo,EmptyMsg> KeyMultiControlLockAuthority = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlLockAuthority", new DJIValueConverter<>(MultiControlLockAuthorityInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("MultiRcControlLockRight")
|
描述:
参数: MultiControlLockAuthorityInfo
锁定飞行或者云台控制权, 锁定后控制权将不能被其他控抢夺。
MSDK 5.0.0开始支持
final KeyMultiControlFlightControlAuthorityLockStatus
static final DJIKeyInfo<Boolean> KeyMultiControlFlightControlAuthorityLockStatus = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlFlightControlAuthorityLockStatus", SingleValueConverter.BooleanConverter).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("MultiRCFlightControlAuthLockState")
|
描述:
参数: Boolean
返回飞行控制权是否锁定。
MSDK 5.0.0开始支持
final KeyMultiControlLostControlNotice
static final DJIKeyInfo<MultiControlLostControlInfo> KeyMultiControlLostControlNotice = new DJIKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlLostControlNotice", new DJIValueConverter<>(MultiControlLostControlInfo.class)).canGet(false).canSet(false).canListen(true).canPerformAction(false).setIsEvent(true).setInnerIdentifier("MultiRcLostNotice")
|
描述:
参数: MultiControlLostControlInfo
监听具有飞行或者云台控制权的遥控器失去连接的通知事件。当具有飞行控制权的遥控器失去连接的时候,无飞行控制权的遥控器可以调用KeyMultiControlAuthorityObtain接管飞行控制权,也可以调用KeyMultiControlExecuteFailSafeActionWhenLostControl让飞行器立即执行失控行为KeyFailsafeAction。
MSDK 5.0.0开始支持
final KeyMultiControlExecuteFailSafeActionWhenLostControl
static final DJIActionKeyInfo<EmptyMsg,EmptyMsg> KeyMultiControlExecuteFailSafeActionWhenLostControl = new DJIActionKeyInfo<>(componentType.value(),subComponentType.value(),"MultiControlExecuteFailSafeActionWhenLostControl", EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("MultiRcExecuteAircraftLostLogic")
|
描述:
执行失控行为。当具有飞行控制权的遥控器失去连接的时候,无飞行控制权的遥控器可以调用此接口让飞行器立即执行失控行为KeyFailsafeAction。
MSDK 5.0.0开始支持