ArduPilot 中的 USB ID

ArduPilot 对各种飞行控制器和设备使用一系列 USB ID。本文档介绍了当前使用的 ID 以及某些电路板上可能存在的过去的 ID。

复合设备

在下面的信息中,一些 ID 被标记为复合 USB 设备。这些电路板将为一个 USB 连接提供两个串行接口。使用复合 ID 的电路板将在其 hwdef.dat 中的 SERIAL_ORDER 声明中同时包含 OTG1 和 OTG2。这些设备的 USB VID/PID 对应与非复合板不同,以便在 Microsoft Windows 上加载正确的驱动程序。

当电路板使用复合 USB ID 时,主机将看到两个串行端口。用户可以使用 SERIALn_PROTOCOL 参数配置这两个端口使用的协议。SERIAL0_PROTOCOL 是第一个 USB 接口,而电路板上最大 n 值的 SERIALn_PROTOCOL 是第二个 USB 接口。通常情况下,第 2 个接口用于为 CAN 诊断和配置提供 SLCAN 接口。

VID=0x0483 PID=0x5740

该 ID 由意法半导体提供,ArduPilot 在最初的 ChibiOS 移植中一直使用到 2020 年 1 月。这是一个非复合串行 ID。

VID=0x1209 PID=0x5740

该 ID 来自 http://pid.codes/自 2019 年 12 月起由 ArduPilot 使用。这是一个复合串行 ID,接口 0 标为 MAVLink,接口 2 标为 SLCAN。它是能够复合 USB 设备的电路板的默认 USB ID。

VID=0x1209 PID=0x5741

该 ID 来自 http://pid.codes/自 2020 年 1 月起被 ArduPilot 使用。这是一个非复合序列 ID。它是电路板非复合 USB 设备(包括引导加载器和所有基于 F4 的电路板)的默认 USB ID。

VID=0x16D0 PID=0x0E65

该 ID 来自 https://www.mcselec.com并保留给 ArduPilot 今后使用。

VID=0x26AC PID=various

0x26AC 供应商 ID 由 3D Robotics 所有,在 2018 年之前一直用于大多数 ArduPilot 兼容板。一些电路板出厂时仍带有使用该 VID 的引导加载器。

VID=0x2DAE PID=various

0x2DAE 供应商 ID 为 Hex 所有,从 2018 年起用于 Hex 飞行控制器。

具体的 PID 有

  • 0x1101 CubeBlack+

  • 0x1001 CubeBlack 引导加载程序

  • 0x1011 立方体黑色

  • 0x1016 立方体橙色(合成)

  • 0x1005 CubePurple 引导加载程序

  • 0x1015 立方体紫色

  • 0x1002 CubeYellow 引导加载程序

  • 0x1012 立方体黄色(合成)

VID=0x3162 PID=various

0x3612 供应商 ID 为 Holybro 所有,从 2019 年起用于 Holybro 飞行控制器。

具体的 PID 有

  • 0x004B 杜兰达尔(合成)

VID=0x27AC PID=various

0x27AC 供应商 ID 由 Laser Navigation 用于其 VRBrain 飞行控制器系列。

具体的 PID 有

  • 0x1151 VRBrain-v51

  • 0x1152 VRBrain-v52

  • 0x1154 VRBrain-v54

  • 0x1910 VRCore-v10

  • 0x1351 VRUBrain-v51