class RemoteControllerKey
@Keep class RemoteControllerKey extends DJIRemoteControllerKey
Package: dji.sdk.keyvalue.key Inherits From: DJIRemoteControllerKey
Description:
RemoteControllerKey provides methods to set and get data from Remote Controller. Remote Controller has sticks, buttons, wheels, GPS, batteries and output ports for video. The mobile device can be connected to Remote Controller, and Remote Controller will send all information coming from the aircraft to the mobile device. This class is supported since MSDK 5.0
Class Members:
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 )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Boolean true represents remote controller is connected. Supported since 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 )
Package: dji.sdk.keyvalue.key
Description:
Parameter: RemoteControllerType To get remote controller type. Supported since MSDK 5.0.0
final KeyControlMode
static final DJIKeyInfo<ControlMode> KeyControlMode = new KeyControlMode () .canGet(true ).canSet(true ).canListen(false ).canPerformAction(false ).setIsEvent(false )
Package: dji.sdk.keyvalue.key
Description:
Parameter: ControlMode To get remote controller control mode. When calling the get method for the first time, you need to use the asynchronous method getValue to get the value. Supported since MSDK 5.0.0
Battery Power Information
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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: BatteryInfo To get remote controller battery power information. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: BatteryInfo To get remote controller external battery power information. Supported since MSDK 5.0.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 )
Package: dji.sdk.keyvalue.key
Description:
Parameter: String To get remote controller serial number. Supported since 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 )
Package: dji.sdk.keyvalue.key
Description:
Parameter: String To get the remote controller firmware version. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Integer To get the remote controller left stick vertical offset Value. The value range is [-660,660]. Move the stick to the buttom, the offset value is -660. Move the stick to the top, the offset value is 660. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Integer To get the remote controller left stick horizontal offset Value. The value range is [-660,660]. Move the stick to the far left, the offset value is -660. Move the stick to the far right, the offset value is 660. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Integer To get the remote controller right stick vertical offset Value. The value range is [-660,660]. Move the stick to the buttom, the offset value is -660. Move the stick to the top, the offset value is 660. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Integer To get the remote controller right stick horizontal offset Value. The value range is [-660,660]. Move the stick to the far left, the offset value is -660. Move the stick to the far right, the offset value is 660. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Integer
To get remote controller left dial offset value. The value range is [-660,660]. The default value is 0. Turn the wheel to the far left, the value is -660. Turn the wheel to the far right, the value is 660. Left dial is usually used to control the pitch behavior of the gimbal.
Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Integer
To get remote controller right dial offset value. The value range is [-660,660]. The default value is 0. Turn the wheel to the far left, the value is -660. Turn the wheel to the far right, the value is 660. Right dial is usually used to control the yaw behavior of the gimbal.
Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Integer To get the rolling amount of the remote controller scroll wheel. For M30 series remote controller DJI RC plus, it is used to monitor the rolling amount of the scroll wheel behind the remote controller, which is usually used to control the zoom of the camera lens. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: FiveDimensionPressedStatus To get remote controller five dimenion button status. Supported since MSDK 5.0.0
Basic Operation
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 )
Package: dji.sdk.keyvalue.key
Description:
Get the current firmware information of the remote controller. Note: This Key only supports DJI RC Plus remote controller and DJI RC N1 remote controller, and is used to obtain remote controller firmware information and switch firmware type. Supported since 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 )
Package: dji.sdk.keyvalue.key
Description:
Switch the remote controller firmware type. Take DJI RC Plus remote controller as an example: DJI RC Plus remote controller can be used for M30 series, M300 RTK and M350 RTK. You can call this interface to switch the firmware of different aircraft, and then call KeyRequestPairing for pairing. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Start the remote controller pairing operation, then the remote controller will start pairing with the aircraft. When the remote controller cannot be connected to the aircraft or the remote controller is replaced, the remote controller can be connected to the aircraft through pairing operation. Note: DJI RC Plus remote controller and DJI RC N1 remote controller support multiple aircraft types. Please first call KeyRcFirmwareInfo to get the firmware type of the current remote controller. If the firmware type is inconsistent with the type of aircraft that needs to be paired, please call KeySwitchRcFirmware to switch the firmware of the remote controller to the type that needs to be paired before performing the pairing operation. Supported since MSDK 5.4.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" )
Package: dji.sdk.keyvalue.key
Description:
Stop the remote controller pairing operation. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: PairingState
To get remote controller pairing status.
Supported since MSDK 5.0.0
final KeyControllingGimbal
static final DJIKeyInfo<ComponentIndexType> KeyControllingGimbal = new KeyControllingGimbal () .canGet(false ).canSet(true ).canListen(false ).canPerformAction(false ).setIsEvent(false )
Package: dji.sdk.keyvalue.key
Description:
Parameter: ComponentIndexType
Set the gimbal and camera that the remote controller needs to control. After the aircraft is powered on, the remote controller defaults to controlling the main (left) gimbal and camera. You can set the remote controller to control the right gimbal and camera, or the up gimbal and camera through this key.
Note:
Supported Aircraft: M300 RTK and M350 RTK.
Supported since 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 )
Package: dji.sdk.keyvalue.key
Description:
Reboot the remote controller.
Supported since MSDK 5.1.0
Dual Control
whether dual control is supported
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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Boolean
true means dual control is supported.
Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: MultiControlChannel
Start dual control pairing. The remote controller can be switched to A controller or B controller for pairing with the aircraft.
Note:
Call this interface to pair the remote controller to CHANNEL_B , IRTKCenter will not be available.
Supported since MSDK 5.0.0
final KeyMultiControlChannel
static final DJIKeyInfo<MultiControlChannel> KeyMultiControlChannel = new KeyMultiControlChannel () .canGet(true ).canSet(false ).canListen(true ).canPerformAction(false ).setIsEvent(false )
Package: dji.sdk.keyvalue.key
Description:
Parameter: MultiControlChannel
Get the muti-control channel of currently connected remote controller.
Supported since MSDK 5.0.0
Online Remote Controller Number
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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Integer get the number of currently connected remote controller. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Integer get the number of currently connected App. NOTICE: The App mentioned here includes DJI’s official Apps and Third-party Apps developed through DJI MSDK. Supported since MSDK 5.0.0
Dual Control Connection Status
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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: MultiControlStatusInfo
To get dual controller connection status. This interface can be used to check the online status of A controller, the Apps in A controller, B controller and the Apps in B controller.
Supported since MSDK 5.0.0
Dual Control Control Right
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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: MultiControlFlightControlAuthorityOwnerInfo To get the current flight control whether it is in control A or control B. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: List<MultiControlChannelInfo > To get the current gimbal control whether it is in control A or control B. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: List<MultiControlAuthorityType >
Grab control of flight or gimbal. If a remote controller can only control the gimbal, it can use control stocks. If a user has both aircraft flight control and gimbal control, he/she can use control sticks to control the orientation of the aircraft, and gimbal dial to control the gimbal.
Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: MultiControlLockAuthorityInfo
Lock control of flight or gimbal. Control will not be grabbed after being locked.
Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: Boolean Return whether the flight control is locked. Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
Parameter: MultiControlLostControlInfo Monitor the notification event that the remote control with flight control or gimbal control loses connection. When remote controller with flight control loses connection, remote controller without flight control can call KeyMultiControlAuthorityObtain to take over flight control, or call KeyMultiControlExecuteFailSafeActionWhenLostControl to make the aircraft immediately execute the fail safe behavior which gets with KeyFailsafeAction . Supported since 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" )
Package: dji.sdk.keyvalue.key
Description:
When remote controller with flight control loses connection, remote controller without flight control can call this interface to make the aircraft immediately execute the fail safe behavior which gets with KeyFailsafeAction . Supported since MSDK 5.0.0