【引子】
- 本篇文章将围绕RemoteControllerKey对遥控器总结一份使用指南。
- 本篇文章涵盖的遥控器有Smart Controller(RM500)、RC Pro(RM510和RM511)和 RC Pro Plus(RM700)。
- 遥控器自身是一个安卓设备,其中只有M300RTK的Smart Controller可以外接其他设备,其余设备都不可外接其他设备,这包括御2系列的Smart Controller。
- Smart Controller是我们的第一代带屏遥控器,它的安卓版本只有7,固件占用了大量的内存,只留了约1.5G内存给开发者使用。在使用的过程中很容易遇到libc.so等安卓系统库的崩溃,此类问题为固件问题,无计划修复。建议御2系列的用户用普通遥控器外接设备使用,M300RTK的用户也外接设备使用。
- RC Pro和RC Pro Plus上如想正常运行MSDK应用,需要强行停止官方应用,该遥控器上不允许同时运行官方应用和MSDK应用,详情见RC Pro和RC Pro Plus是否能同时跑官方app和MSDK app?
- M300RTK计划在2022年年底支持RC Pro Plus,届时将正式淘汰Smart Controller。
【基础信息】
- 通过KeyConnection将获取MSDK是否和遥控器连接,若MSDK应用安装在遥控器中,该Key应该一直为true。
- 通过KeyRemoteControllerType获取该遥控器的类型。
- 通过KeyControlMode获取和设置遥控器的控制模式,默认使用美国手。
- 通过KeyBatteryInfo获取遥控器自身电量。
- 通过KeySerialNumber获取遥控器序列号,通过KeyFirmwareVersion获取遥控器固件版本。
【物理按键监听】
- 以下的Key都可以通过Listener增加监听,监听到按键事件后你可以自己编写对应逻辑。
- 左摇杆KeyStickLeftVertical和KeyStickLeftHorizontal,右摇杆KeyStickRightVertical和KeyStickRightHorizontal,快门按钮KeyShutterButtonDown,录像按钮KeyRecordButtonDown,返航按钮KeyGoHomeButtonDown,急停按钮KeyPauseButtonDown,左拨轮KeyLeftDial,右拨轮KeyRightDial,五维按键KeyFiveDimensionPressedStatus,自定义按键一KeyCustomButton1Down,自定义按键二KeyCustomButton2Down和自定义按键三KeyCustomButton3Down。
- 对于RC Pro Plus的两侧LR按键,详情请阅读如何对RC Pro Plus左右两列按钮监听?
【基本操作】
- 调用KeyRequestPairing开启单控对频,通过KeyPairingStatus获取对频状态。
【双控】
- 调用KeyMultiControlIsSupported查询该飞行器是否支持双控功能。
- 双控功能需要特殊对频,调用KeyMultiControlRequestPairing开启双控对频,对频成功后通过KeyMultiControlChannel查询该遥控器的控制频道是什么。
- 通过KeyMultiControlOnlineRcCount获取当前有多少遥控器已连接飞行器,通过KeyMultiControlOnlineAppCount获取当前有多少应用(官方应用与MSDK应用)已连接飞行器。通过KeyMultiControlStatus查询各遥控器与应用的状态。
- 通过KeyMultiControlFlightControlAuthorityOwner获取当前飞行控制权属于谁,通过KeyMultiControlGimbalAuthorityOwner获取当前云台控制权属于谁。
- 通过KeyMultiControlAuthorityObtain抢夺飞行、云台控制权。当调用KeyMultiControlLockAuthority锁定飞行、云台控制权时KeyMultiControlAuthorityObtain将无效。
- 通过KeyMultiControlFlightControlAuthorityLockStatus将得知飞行控制权是否被锁定。
- 通过KeyMultiControlFlightControlAuthorityLockStatus监听飞行控制权转移的事件。若具有飞行控制权的遥控器断连时,无控制权的遥控器可以通过KeyMultiControlAuthorityObtain获取飞行控制权或调用KeyMultiControlExecuteFailSafeActionWhenLostControl执行失控行为。
评论
0 条评论
请登录写评论。