获取指定云台的挂载位置?

Completed

Comments

5 comments

  • DJI Developer Support
    你得通过Aircraft.getGimbals,从里面的index来判断现在哪个云台位加装了云台。Aircraft.getCameras获取的是相机数,他们的index是一一对应的。gimbal(0)对应得是camera(0)。通过gimbal.rotate控制相机转动。注意,XT2并不适用这个逻辑。
    0
    Comment actions Permalink
  • 糖醋咸鱼

    判断哪个云台位安装了云台的index指的是gimbal数组的索引还是gimbal对象的index属性?具体的云台位对应哪个索引有说明文档吗?

    0
    Comment actions Permalink
  • DJI Developer Support
    数组的索引和本身对象的index属性应该是一致得把,文档写得很清楚。 ![](https://djisdksupport.zendesk.com/attachments/token/EtZlkgvLhCoGq2yDqqSxlOkhU/?name=inline251442826.png)​
    0
    Comment actions Permalink
  • 糖醋咸鱼

    文档中最后一句(However, the first object of getGimbals will not necessarily always be the gimbal with getIndex of 0.)的意思不是说明了数组索引和index属性不一定一致吗?

    而且在M300上挂载H20T(LEFT_CAM)、H20(RIGHT_CAM)、再加上个第三方的Payload负载(TOP_CAM),getGimbals获取到的数组长度为3,即[0, 1, 2],但是打印index属性出来的时候分别对应的是[0, 1, 4]

    因此程序应该怎样根据负载的index的值来判断当前挂载的云台口是哪一个,不然无法自动根据当前已挂载的设备分配带宽(OcuSyncLink.assignSourceToPrimaryChannel)

    0
    Comment actions Permalink
  • DJI Developer Support
    0对应0,1对应1,2对应4,应该是这样的逻辑关系。XT2除外,XT2会被识别为2个相机。
    0
    Comment actions Permalink

Please sign in to leave a comment.