- This article will conclude a user manual for RemoteControllerKey.
- This article will talk about the Smart Controller(RM500), RC Pro(RM510/511) and RC Pro Plus(RM700).
- The remote controller itself is an Android device. Only the Smart Controller for M300RTK supports to connect the external Android device. Other RC does not support connect to any external Android decice including the Smart Controller for Mavic 2 series.
- The Smart Controller is the 1st generation of smart RC and its Android version is only 7. The firmware occupies lots of memory and leaves only 1.5G memory to the develoeprs. If you encounter some crashes related with libc.so library, this is the firmware issue and no plan to fix. We suggest you use an external Android device to connect with the RC.
- If you want to run an MSDK app on an RC Pro or RC Pro Plus, you have to force stop the DJI Pilot 2 then run your MSDK app. These RC does not support running DJI Pilot 2 and MSDK app simultaneously. Please see details in Can you run official app and MSDK app simultaneously on RC Pro or RC Pro Plus?
- M300RTK plans to support RC Pro Plus in the end of 2022.
- You can use KeyConnection to know if the MSDK is connected with the RC. If the MSDK app is installed inside the RC, this key should return true.
- You can use KeyRemoteControllerType to get the RC type.
- You can use KeyControlMode to get the control mode of RC, the default control mode is American style.
- You can use KeyBatteryInfo to know the battery informration for RC itself.
- You can use KeySerialNumber to get the serial number of this RC and KeyFirmwareVersion to get the firmware version of this RC.
【Listen the physical buttons】
- You can setup a listener for the below button keys and write your responsive logic about them.
- Left Stick: KeyStickLeftVertical and KeyStickLeftHorizontal.
- Right Stick: KeyStickRightVertical and KeyStickRightHorizontal.
- Shutter: KeyShutterButtonDown.
- Record: KeyRecordButtonDown.
- Go home: KeyGoHomeButtonDown.
- Emergency stop: KeyPauseButtonDown.
- Left dial: KeyLeftDial.
- Right dial: KeyRightDial.
- 5-D: KeyFiveDimensionPressedStatus.
- Custom 1: KeyCustomButton1Down.
- Custom 2: KeyCustomButton2Down.
- Custom 3:KeyCustomButton3Down.
- If you want to listen the L/R buttons on RC Pro Plus, please read How to listen the L/R series button on RC Pro Plus?
- Call KeyRequestPairing to start single RC pair up and you can use KeyPairingStatus to get the pairing status.
- Call KeyMultiControlIsSupported to know if the aircraft supports dual RC.
- The dual RC needs a special pair up by calling KeyMultiControlRequestPairing. After pairing up, you can use KeyMultiControlChannel to know which channel your RC is.
- You can use KeyMultiControlOnlineRcCount to know how many RCs are connected with the aircraft currently and use KeyMultiControlOnlineAppCount to know how many apps including DJI official app and MSDK app are connected with the aircraft. You can also use KeyMultiControlStatus to check the status of each RC and app.
- You can use KeyMultiControlFlightControlAuthorityOwner to know which RC has the flight control authority and KeyMultiControlGimbalAuthorityOwner to know which RC has the gimbal control authority.
- You can use KeyMultiControlAuthorityObtain to obtain the flight/gimbal control authority. The obtain will be effectless if the KeyMultiControlLockAuthority is called.
- You will know the control authority whether is locked or not by calling KeyMultiControlFlightControlAuthorityLockStatus.
- You can setup a lister for KeyMultiControlFlightControlAuthorityLockStatus to know if there is a change of control authority. When the RC with flight control loses connection, the RC without flight control can call KeyMultiControlExecuteFailSafeActionWhenLostControl to make the aircraft immediately execute the fail safe behavior.