This class represents the remote controller of the aircraft. It provides methods to change the settings of the physical remote controller. For some products (e.g. Inspire 1 and Matrice 100), the class provides methods to manager the slave/master mode of the remote controllers. A remote controller is a device that can have a GPS, battery, radio, buttons, sticks, wheels, and output ports for video. The mobile device is connected to the remote controller, which is always sending out information about what everything is doing. The normal remote controller is called the master. A slave wirelessly connects to the master remote controller at 5 GHz, and the aircraft can also download information to the slave. The slave can send gimbal control commands to the master. This configuration allows one person to fly the aircraft while another person controls the gimbal. This object is available from the Aircraft subclass off BaseProduct.
Result when a slave Remote Controller tries to join a master Remote Controller.
Enum Members:
ACCEPTED
The slave Remote Controller's attempt to join the master Remote Controller was successful.
PASSWORD_ERROR
The slave Remote Controller's attempt to join the master Remote Controller was unsuccessful due to a password error.
REJECTED
The slave Remote Controller's attempt to join the master Remote Controller was rejected.
MAXIMUM_CAPACITY
The slave Remote Controller's attempt to join the master Remote Controller was unsuccessful because the master Remote Controller is at the maximum number of slaves it can have.
TIMEOUT
The slave Remote Controller's attempt to join the master Remote Controller was unsuccessful because the request timed out.
UNKNOWN
The result of the slave Remote Controller's attempt to join the master Remote Controller is unknown.
Result when a slave Remote Controller requests permission to control the gimbal.
Enum Members:
ACCEPTED
The master Remote Controller agrees to the slave's request.
REJECTED
The master Remote Controller denies the slave's request. If the slave Remote Controller wants to control the gimbal, it must send a request to the master Remote Controller first. Then the master Remote Controller can decide to approve or deny the request.
Defines the combination of video sources to form the secondary output video. The secondary output can display video streams from one or two input sources. When the encode mode is single: Source 1 represents video from one of the Source1Only input ports (HDMI or AV). Source 2 represents video from EXT input port (HD Gimbal Camera). When the encode mode is dual: Source 1 represents video from HDMI input port. Source 2 represents video from AV input port.
Enum Members:
SOURCE_1_ONLY
Displays video from Source 1 only. When the current encode mode is single, the secondary output will display video from HDMI or AV input. When the current encode mode is dual, the secondary output will display video from HDMI input.
SOURCE_2_ONLY
Displays video from Source 2 only. When the current encode mode is single, the secondary output will display video from HD Gimbal camera. When the current encode mode is dual, the secondary output will display video from AV input.
SOURCE_1_MAIN
Displays the video from Source 1 as the main subject, and the video from Source 2 in a mini window (Picture in Picture, or PIP).
SOURCE_2_MAIN
Displays the video from Source 2 as the main subject, and the video from Source 1 in a mini window (Picture in Picture, or PIP).
Modes to charge an iOS mobile device. Only supported by Inspire 2.
Enum Members:
NEVER
The remote controller does not charge the mobile device.
ALWAYS
The remote controller charges the mobile device until the the mobile device is fully charged.
INTELLIGENT
The remote controller charges the mobile device in an intelligent mode: The remote controller starts charging when the mobile device's battery is lowered then 20% and stops charging when the mobile device's battery is above 50%. It is only supported by Inspire 2.
Actions that can be assigned to a customizable button. Some of the actions are reserved and the firmware will execute the corresponding actions even when the application is not connected. Some of the actions are defined by the mobile applications. The application is responsible for implementing the non firmware actions. The definitions used in DJI Go are provided. It is usually recommended to follow DJI Go's definitions for compability so if DJI Go is used at the same time as the SDK application the actions will be expected in both applications.
Enum Members:
CameraSetting
Toggle the camera setting view. The action has to be implemented by the application itself.
GimbalCenter
Resets the gimbal attitude. The pitch and the yaw will point to the origin. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
MapSwitch
Switch the live view and the map view. The action has to be implemented by the application itself.
ClearRoute
Clear the flight path in the map view. The action has to be implemented by the application itself.
Battery
Toggle the battery setting view. The action has to be implemented by the application itself.
CenterMetering
Trigger central exposure metering. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
AeLock
Toggles the AE Lock setting. The action has to be implemented by the application itself.
ForeArm
Toggle the LEDs on the four arms. The action has to be implemented by the application itself.
RESET_FPV_GIMBAL
Reset FPV gimbal attitude to the center, the gimbal will rotate 45 degrees in pitch axis up and down when the action is trigger. It is supported by the firmware of Matrice 200 series and Matrice 200 V2 series. For the other products, the action has to be implemented by the application itself.
LiveViewExpand
Expand the live view from the FPV camera. The action has to be implemented by the application itself.
QUICK_SPIN
Trigger a Quick Spin. It is supported by the firmware of Inspire 2. For the other products, the action has to be implemented by the application itself.
PlayBack
Toggle the playback view. The action has to be implemented by the application itself.
CenterFocus
Triggers focusing at the center of the live view. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
GetGimbalControl
Request gimbal control (for the slave remote controller). The action has to be implemented by the application itself.
GimbalMode
Toggle YAW_FOLLOW and FREE for gimbal. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
QuickSetting
Toggle the customizable button setting view. The action has to be implemented by the application itself.
AFMF
Toggle AF and MF for camera. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CloseTips
Dismiss the warning tips. The action has to be implemented by the application itself.
SmartGear
Toggle the automatic movement of the landing gear. The action has to be implemented by the application itself.
ReviewWarning
Toggle the warning list view. The action has to be implemented by the application itself.
SWITCH_FREQUENCY
Switch frequency bands of the remote controller. It is supported by the firmware of Matrice 200 series. For the other products, the action has to be implemented by the application itself.
UpdateHomeDrone
Set the home location of the aircraft to the current location of the aircraft. The action has to be implemented by the application itself.
UpdateHomeRC
Set the home location of the aircraft to the current location of the remote controller. The action has to be implemented by the application itself.
Focus
Trigger the camera focus. It is supported by the firmware of Matrice 200 series and Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CompositionMode
Toggle the composition mode for the Spotlight. The action has to be implemented by the application itself.
FocusPeaking
Toggle the peak focus. The action has to be implemented by the application itself.
GridLine
Toggle the display of grid. The action has to be implemented by the application itself.
Histogram
Toggle the display of histogram. The action has to be implemented by the application itself.
AEMFSwitch
Switch the white balance settings. The action has to be implemented by the application itself.
OverExposure
Toggle the over-exposure warning. The action has to be implemented by the application itself.
GIMBAL_YAW_RECENTER
Reset the gimbal yaw to align with the aircraft heading. The action has to be implemented by the application itself.
TOGGLE_LANDING_GEAR
Retract or deploy the landing gear. It is supported by the firmware of Inspire 2. For the other products, the action has to be implemented by the application itself.
CloseRadarMap
Toggle the radar map. The action has to be implemented by the application itself.
CloseDownVPS
Toggle the downward vision sensors. The action has to be implemented by the application itself.
CloseFrontAss
Toggle the forward obstacle avoidance. The action has to be implemented by the application itself.
SwitchGimbalFpv
Switch the video source of the secondary video feeder between fpv and camera. The action has to be implemented by the application itself.
FullScreen
Toggle the full screen mode. The action has to be implemented by the application itself.
CUSTOM100
Zoom out. It is only supported by Z30 camera. It is supported by the firmware of Matrice 200 V2 series. For the other products, the action has to be implemented by the application itself.
CUSTOM101
Zoom in. It is only supported by Z30 camera. It is supported by the firmware of Matrice 200 V2 series. For the other products, the action has to be implemented by the application itself.
CUSTOM102
Custom action with value 102. This value is reserved for SDK applications.
CUSTOM103
Toggle the DisplayMode. It is only supported by XT2 camera. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM104
Custom action with value 104. This value is reserved for SDK applications.
CUSTOM105
Custom action with value 105. This value is reserved for SDK applications.
CUSTOM106
Custom action with value 106. This value is reserved for SDK applications.
CUSTOM107
Custom action with value 107. This value is reserved for SDK applications.
CUSTOM108
Custom action with value 108. This value is reserved for SDK applications.
CUSTOM109
Custom action with value 109. This value is reserved for SDK applications.
NOT_DEFINED
Not defined. It is used to present that no action is bound to a button.
CUSTOM150
Triggers the widget of the payload device in the index of 0. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM151
Triggers the widget of the payload device in the index of 1. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM152
Triggers the widget of the payload device in the index of 2. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM153
Triggers the widget of the payload device in the index of 3. It is supported by the firmware of Matrice 200 V2 series. For the other products, the action has to be implemented by the application itself.
CUSTOM154
Triggers the widget of the payload device in the index of 4. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM155
Triggers the widget of the payload device in the index of 5. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM156
Triggers the widget of the payload device in the index of 6. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM157
Triggers the widget of the payload device in the index of 7. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM158
Triggers the widget of the payload device in the index of 8. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM159
Triggers the widget of the payload device in the index of 9. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM160
Triggers the widget of the payload device in the index of 10. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM161
Triggers the widget of the payload device in the index of 11. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM162
Triggers the widget of the payload device in the index of 12. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM163
Triggers the widget of the payload device in the index of 13. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
CUSTOM164
Triggers the widget of the payload device in the index of 14. It is supported by the firmware of Matrice 200 series v2. For the other products, the action has to be implemented by the application itself.
Types of the device that the remote controller can pair with. It is only used when the remote controller supports multi-device pairing. Only Supported by Phantom 4 RTK.
Enum Members:
AIRCRAFT
The device to be paired with is an aircraft.
RTK_BASE_STATION
The device to be paired with is an RTK base station.
The state (e.g. unpaired, paired, connected, etc.) of a device that may connected to the remote controller. It is only used when the remote controller supports multi-device pairing. Only supported by DJI Phantom 4 RTK.
Enum Members:
UNPAIRED
The remote controller is unpaired with the device. This state is for both aircraft and base station.
PAIRING
The remote controller is pairing with the device. This state is only for aircraft.
PAIRED
The remote controller is paired. This state is only for aircraft.
DISCONNECTED
The remote controller is paired with the device but the connection between the device and the remote controller is broken. The remote controller already remembers the device and the connection will receover automatically when it is possible. This state is only for base station. Only Supported by Phantom 4 RTK.
CONNECTED
The remote controller is paired with the device and it is connected to the device. This state is only for base station.
Joy stick mode on the remote controller. It is only used when the remote controller doesn't have a mode switch. Only Supported by Mavic Mini, DJI Mini SE.
Enum Members:
SPORT
Set the joy stick to sport mode. Only Supported by Mavic Mini, DJI Mini SE.
POSITION
Set the joy stick to position mode. Only Supported by Mavic Mini, DJI Mini SE.
TRIPOD
Set the joy stick to tripod mode. Only Supported by Mavic Mini, DJI Mini SE.
Sets the joy stick mode on the remote controller. It is only used when the remote controller doesn't have a mode switch. Only Supported by Mavic Mini, DJI Mini SE.
Gets the joy stick mode on the remote controller. It is only used when the remote controller doesn't have a mode switch. Only Supported by Mavic Mini, DJI Mini SE.
The display name of the remote controller for Lightbridge 2 wireless module. The module is used by stand-alone Lightbridge 2, A3, N3 and Matrice 600 series.
Enters pairing mode, in which the Remote Controller starts pairing with the aircraft. This method is used when the Remote Controller no longer recognizes which aircraft it is paired with.
Input Parameters:
@Nullable CompletionCallback callback
The execution callback with the execution result returned. See BaseComponent for more information about the callback and what is recommended be done with it.
The execution callback with the execution result returned. See BaseComponent for more information about the callback and what is recommended be done with it.
Determines if multi-device pairing supported by the remote controller. When the remote controller supports multi-device pairing, it can be paired to more than one device (e.g. aircraft, RTK base station) at the same time. When this feature is supported, use startMultiDevicePairing and stopMultiDevicePairing to start and stop pairing instead of using the following methods: - startPairing - stopPairing - getPairingState. This feature is only supported by Phantom 4 RTK.
Starts pairing a target with the specific type (aircraft or RTK base station). This paring method is for Phantom 4 RTK only. To use RTK feature with a base station, the Phantom 4 RTK remote controller need to pair both the base station and the aircraft at the same time. CAUTION: pairing an RTK base station will unpair the paired aircraft. Therefore, to use the base station properly, the user needs to pair the base station first, and the aircraft after. It is only supported when isMultiDevicePairingSupported returns true.
Stops the multi-device pairing. It is used after the pairing is started and before the remote controller is paired to a device successfully. It is not necessary to call this method if the remote controller is paired to a device successfully. Only Supported by Phantom 4 RTK.
voidsetRTKChannelEnabled(boolean enabled, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Enables the RTK channel on the remote controller. When RTK air system is using the base station as the reference station, the remote controller should enable the RTK channel and reserve some bandwidth for data transmission between the base station and the air system. CAUTION: toggling RTK channel will reset the airlink between the remote controller and the aircraft. The airlink may take 3 seconds to recover. DO NOT enable/disable the channel when the aircraft is flying. If the base station is reconnected, you need to call this interface to enabled the RTK channel again. Only Supported by Phantom 4 RTK.
Input Parameters:
boolean enabled
true to enable the RTK channel on the remote controller.
Set the mapping of custom style. It will change the current mapping style to STYLE_CUSTOM. The setting will only take effect when the remote controller is in master mode.
Sets which of the gimbal directions the top left dial (Gimbal Dial) on the Remote Controller will control. The three options (pitch, roll, and yaw) are outlined in the enum named GimbalAxis.
Sets custom button tags, which can be used by the user to record user settings. Moreover, this method will make it easier for developers to set custom tags for buttons in the user interface, will make it easier to use the C1 and C2 buttons on the Remote Controller.
voidsetShutterButtonBindingEnabled(boolean enabled, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Enables invoking shooting photo interface when the shutter button is pressed. Mavic 2 series remote controller's shutter button will not work physically when connecting to Mobile SDK. This setting will be stored in software application localized storage paired with the RC SN key, which means, if the application is killed, it will be set to enabled by default when the application is relaunched. It is only supported by Mavic 2 series.
Input Parameters:
boolean enabled
true to enable invoking shooting photo interface when the shutter button is pressed.
final CompletionCallback callback
The execution callback with the value(s) returned.
voidsetRecordButtonBindingEnabled(boolean enabled, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Enables invoking video record interface when the record button is pressed. Mavic 2 series remote controller's record button will not work physically when connecting to Mobile SDK. This setting will be stored in software application localized storage paired with the RC SN key. Only supported by Mavic 2 series.
Input Parameters:
boolean enabled
true to enable invoking video record interface when the record button is pressed.
final CompletionCallback callback
The execution callback with the value(s) returned.
voidsetPhotoAndVideoToggleButtonBindingEnabled(boolean enabled, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
true to switch camera flat mode between photo and video when the getPhotoAndVideoToggleButton button is pressed. false when getPhotoAndVideoToggleButton button is pressed, we will not bind any event. You can monitor the button and handle custom events by yourself. This setting will be stored in software application localized storage paired with the RC SN key, which means. Only supported by Mavic Air 2, DJI Air 2S.
Input Parameters:
boolean enabled
true to switch camera flat mode between photo and video when the getPhotoAndVideoToggleButton button is pressed.
final CompletionCallback callback
The execution callback with the value(s) returned.
Gets whether switching camera flat mode between photo and video is enabled when the getPhotoAndVideoToggleButton button is pressed. It is only supported by Mavic Air 2.
Input Parameters:
final CompletionCallbackWith<Boolean> callback
The execution callback with the value(s) returned.
voidsetShootPhotoAndRecordButtonBindingEnabled(boolean enabled, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
true to enable invoking shoot photo or record interface when the record button is pressed depend on the getPhotoAndVideoToggleButton button state. false when getPhotoAndVideoToggleButton button is pressed, we will not bind any event. You can monitor the button and handle custom events by yourself. This setting will be stored in software application localized storage paired with the RC SN key. Only supported by Mavic AIr 2, DJI Air 2S.
Input Parameters:
boolean enabled
true to enable invoking shoot photo or record interface when the record button is pressed depend on the getPhotoAndVideoToggleButton button state.
final CompletionCallback callback
The execution callback with the value(s) returned.
Gets if shoot photo or video record interface is involved when the getPhotoAndVideoToggleButton button is pressed. It is only supported by Mavic Air 2, DJI Air 2S.
Input Parameters:
final CompletionCallbackWith<Boolean> callback
The execution callback with the value(s) returned.
Sets the charge mode of a connected iOS device. Note: Android devices are always charging when connected to the remote controller. It is only supported by Inspire 2, M200 series, Cendence and Mavic 2 series.
Gets the mode to charge the connected iOS device. Note that Android devices are always charging when connected to the remote controller. It is only supported by Inspire 2, M200 series, Cendence, and Mavic 2 series.
Query method to check if the Remote Controller supports master/slave mode. Master-slave mode is supported by the Inspire 1, Inspire 1 Pro, Matrice 100, Lightbridge 2 (including Matrice 600, Matrice 600 Pro, A3 and N3) and Inspire 2. Inspire 2 is using a new set of interfaces to control the master and slave connection. - Similar to other products, Inspire 2's remote controller also use set/get RCMode to change the mode. - A slave remote controller can use getMasters and connectToMaster to join a master remote controller. - A master remote controller can use setMasterAuthorizationCode to change the authentication code.
Sets the Remote Controller's mode. See the RCMode enum for all possible Remote Controller modes. The master and slave modes are only supported for the Inspire 1, Inspire 1 Pro, M100, Lightbridge 2 (including Matrice 600, Matrice 600 Pro, A3 and N3) and Inspire 2. It's not supported by Matrice 300 RTK.
Gets the Remote Controller's work mode. It is supported by the Inspire 1, Inspire 1 Pro, Matrice 100, Lightbridge 2 (including Matrice 600, Matrice 600 Pro, A3 and N3) and Inspire 2.
Remote controller password to be set, using a string consisted by 4 digits.
@Nullable CompletionCallback callback
The execution callback with the value(s) returned. See BaseComponent for more information about the callback and what is recommended to be done with it.
Starts a search by slave Remote Controller for nearby master Remote Controllers. To get the list of master Remote Controllers, first call getAvailableMasters, then call stopMasterSearching to end the search.
Starts search by slave Remote Controller for nearby master Remote Controllers. To get the list of master Remote Controllers use getAvailableMastersWithCallbackBlock then call stopMasterRCSearch to end th search.
Returns the state of the master Remote Controller search. The search is initiated by the Mobile Device, but performed by the Remote Controller. Therefore, if the Mobile Device's application crashes while a search is ongoing, this method can be used to let the new instance of the application understand the Remote Controller state.
Input Parameters:
@NonNull CompletionCallbackWith<Boolean> callback
The execution callback with the value(s) returned.
Used by a slave Remote Controller to request to join a master Remote Controller and be able to control the gimbal. If the master Remote Controller accepts the request, the master Remote Controller will control the aircraft and the slave Remote Controller will control the gimbal.
Sets the authorization code of a master remote controller. The slave remote controller needs to know the authorization code in order to join the master. A valid input is a string with 6 digits. The default value is "888888". It can only be called when the remote controller is in master mode.
Input Parameters:
@NonNull String authorizationCode
Authorization code to set.
@Nullable CompletionCallback callback
The execution callback with the value(s) returned.
Joins the master remote controller with the specific ID. If the remote controller has joined the same master before, the authorization code is not required until the master remote controller changes its authorization code. In this case, code can be null. It can only be called when the remote controller is in slave mode.
Requests the gimbal control from the other remote controller. Different from requestLegacyGimbalControl, the gimbal control permission is transferred to the remote controller without the reply from the master remote controller. The master remote controller can attain the gimbal control back by calling the same method. It is only supported by Inspire 2, M200 series and Cendence.
Input Parameters:
@Nullable CompletionCallback callback
The execution callback with the value(s) returned.
When a slave Remote Controller requests a master Remote Controller to control the gimbal, this method is used by a master Remote Controller to respond to the slave Remote Controller's request.
Called by the slave Remote Controller to request gimbal control from the master Remote Controller. It is only supported by Inspire 1 and DJI Lightbridge 2.
true if the remote controller supports customizable buttons. With the customizable buttons, the user can define the action bound to a button. When the button is clicked, the corresponding action can be received from the .
Only Cendence supports customizable buttons. This is distinct from remote
controllers with buttons C1 and C2 that support custom tags and a binding to DJI Go.
Gets the names of the customizable button profile groups. The configurations of the customizable buttons are organized as groups. The maximum number of groups is 5 and each group contains 3 profiles. It is only valid when isCustomizableButtonSupported returns true.
Input Parameters:
final CommonCallbacks.CompletionCallbackWith<String[]> callback
The execution callback with the execution result returned.
voidaddButtonProfileGroup(String groupName, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Adds a group of customizable button profiles. Three default profiles will be created for the newly added group. The default profile can accessed through getButtonActions. It is only valid when isCustomizableButtonSupported returns true.
voidremoveButtonProfileGroup(String groupName, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Removes a group from the customizable button profiles. There must be at least one group, therefore, the removal of the last group will fail. It is only valid when isCustomizableButtonSupported returns true.
voidselectButtonProfileGroup(String groupName, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Selects the customizable button profile group. The profile with 0 configIndex in the group will be applied. It is only valid when isCustomizableButtonSupported returns true.
voidselectButtonProfile(int profileIndex, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Selects the customizable button profile with the specific index in the selected profile group. It is only valid when isCustomizableButtonSupported returns true.
Input Parameters:
int profileIndex
The index of the profile to select. The valid range is [0, 2].
voidsetButtonConfig(ProfessionalRC.ButtonConfiguration config, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Customizes the button configuration. The configuration will be applied to the remote controller immediately and will be stored into the selected profile of the selected profile group. It is only valid when isCustomizableButtonSupported returns true. Supported by the Cendence remote controller.
Gets the button configuration being applied to the remote controller. It is only valid when isCustomizableButtonSupported returns true. Supported by the Cendence remote controller.
voidresetButtonConfig(@Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Resets the selected button configuration to the default settings. The default configuration will be applied to the remote controller and will be stored into the selected index of the activated user. It is only valid when isCustomizableButtonSupported returns true.
voidcustomizeButton(ProfessionalRC.CustomizableButton button, ProfessionalRC.ButtonAction action, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Customizes the action of a button. The new setting will be applied to the remote controller and will be stored into the selected profile index of the selected profile group. It is only valid when isCustomizableButtonSupported returns true.
voidsetControllingGimbalIndex(int index, @Nullable final CommonCallbacks.CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Directs commands of the physical buttons on the remote controller (rotating gimbal, shoot photo, record video, etc.) to the specific gimbal, when there are multiple gimbals connected. If there is only one gimbal connected, this setting is reset to the remaining gimbal. Enabling setAttitudeSynchronizationEnabled will reset this setting to index 0 and when setAttitudeSynchronizationEnabled is enabled, index can only be set to 0. It is only supported by M210, M210 RTK and Matrice 300 RTK.
Input Parameters:
int index
Index of the gimbal to receive the remote controller commands.
The index of the gimbal that the remote controller is controlling. Commands of the physical buttons (rotating gimbal, shoot photo, record video, etc.) will be directed to the specific gimbal. If there is only one gimbal connected, this setting is reset to the remaining gimbal's index. Enabling setAttitudeSynchronizationEnabled will reset the value to 0. For product that supports only one gimbal, the value is always 0.
Input Parameters:
final CommonCallbacks.CompletionCallbackWith<Integer> callback
The execution callback with the execution result returned.
Return whether secondary video output supported. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
voidsetSecondaryVideoOutputEnabled(boolean enabled, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Enable secondary video output on Remote Controller. The remote controller outputs video to the Mobile Device by default. This will enable a secondary video stream to one of the Remote Controller's physical HDMI and SDI ports. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
Input Parameters:
boolean enabled
Enables secondary video output.
final CompletionCallback callback
The execution callback with the execution result returned.
Gets whether secondary video output on Remote Controller is enabled. The Remote Controller outputs video to the Mobile Device by default, but a secondary video can be routed to its HDMI or SDI port. Use setSecondaryVideoOutputEnabled to enable or disable, and setSecondaryVideoOutputPort to choose the port. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
Input Parameters:
final CompletionCallbackWith<Boolean> callback
The execution callback with the value(s) returned.
voidsetSecondaryVideoOutputPort(SecondaryVideoOutputPort port, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Sets secondary video output port on Remote Controller. HDMI or SDI are possible. Only one port can be active at once. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
Gets the secondary video output port on Remote Controller. HDMI or SDI are possible. Only one port can be active at once. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
voidsetSecondaryVideoDisplay(SecondaryVideoDisplayMode mode, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Sets the secondary video output Picture in Picture (PIP) display mode. The remote controller module can connect to both an FPV camera (through the HDMI and AV ports) and a camera mounted on the HD Gimbal (through the Gimbal port). The output video can then be a combination of the two video sources. Either a single video source can be displayed, or one can be displayed within the other (as a Picture in Picture, or PIP). If the mode is set incorrectly, then no output video will be displayed. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
Gets the secondary video output Picture in Picture (PIP) display mode. The air link module can connect to both an FPV camera (through the HDMI and AV ports) and a camera mounted on the HD Gimbal (through the Gimbal port). The output video can then be a combination of the two video sources. Either a single video source can be displayed, or one can be displayed within the other (as a Picture in Picture, or PIP). It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
voidsetSecondaryVideoOSDEnabled(boolean enabled, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Enables and disables On Screen Display (OSD) overlay on the secondary video. OSD is flight data like altitude, attitude etc. And can be overlayed on the PIP video. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
Input Parameters:
boolean enabled
Determines whether to display OSD on screen.
final CompletionCallback callback
The execution callback with the execution result returned.
voidsetSecondaryVideoOSDUnit(SecondaryVideoOSDUnit unit, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Sets the OSD units to either metric or imperial. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
voidsetSecondaryVideoOutputFormatForHDMI(SecondaryVideoFormat format, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Sets the Remote Controller HDMI video port output video format. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
Gets the Remote Controller HDMI video port output video format. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
voidsetSecondaryVideoOutputFormatForSDI(SecondaryVideoFormat format, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Sets the Remote Controller SDI video port output video format. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
Gets the Remote Controller SDI video port output video format. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
voidsetSecondaryVideoPIPPosition(PIPPosition position, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Sets the PIP (Picture In Picture) position relative to the top left corner of the main subject video feed. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
Input Parameters:
PIPPosition position
Position of the PIP on the screen.
final CompletionCallback callback
The execution callback with the execution result returned.
Gets the PIP (Picture In Picture) position relative to the top left corner of the main subject video feed. It is supported by Phantom 4 Professional, Matrice 200, Matrice 200 series V2, Inspire 1 and Inspire 2.
Input Parameters:
final CompletionCallbackWith<PIPPosition> callback
The execution callback with the value(s) returned.
voidsetLiveViewSimultaneousOutputEnabled(boolean enabled, final CompletionCallback callback)
Package:
dji.sdk.remotecontroller
Description:
Enables the setting to output video to both the mobile device and the HDMI port on the remote controller simultaneously. When it is disabled and the remote controller is connected to a HDMI display, the mobile device will not receive the live view. It is only supported by Inspire 1 and M100.
Input Parameters:
boolean enabled
true to enable live view simultaneous output.
final CompletionCallback callback
The execution callback with the value(s) returned.
Determines whether the setting to output video to both the mobile device and the HDMI port on the remote controller simultaneously is enabled or not. When it is disabled and the remote controller is connected to a HDMI display, the mobile device will not receive the live view. It is only supported by Inspire 1 and M100.
Input Parameters:
final CompletionCallbackWith<Boolean> callback
The execution callback with the value(s) returned.
Returns the component index. Index is zero based. A component will have an index greater than zero when there are multiple components of the same type on the DJI product, and one of the components already has the index 0. For instance, M210 can have two gimbal mounted cameras, and will therefore have two gimbal components with indices 0 and 1, and two camera components with indices 0 and 1. For Matrice 600, there are printed numbers on the battery boxes. The Battery component instance with index 0 corresponds to battery compartment number 1. For Inspire 2 and M200 series, Battery with index 0 corresponds to the battery on the port (left hand) side of the aircraft. For M210, M210 RTK, M300 RTK and M350 RTK, Camera and Gimbal with index 0 corresponds to the camera and gimbal on the port (left hand) side of the aircraft. Lidar with index 0 corresponds to the lidar(Zenmuse L1) on the port (left hand) side of the aircraft.
Gets the serial number of the component. Depending on the component, this serial number might not match the serial number found on the physical component. Not supported by Spark.
Returns the firmware version of the component. Each component will have a different firmware version, the combination of which will form the package firmware version getFirmwarePackageVersion found in BaseProduct. Not supported by Spark.
Input Parameters:
@NonNull CompletionCallbackWith<String> callback
The execution callback with the value(s) returned.