复合连接故障处理方法详解
文章目录
6.3 复合连接的故障处理
带有 F7 或 H7 处理器并有 CAN 接口的自动驾驶仪使用的固件提供两个 USB 接口。一个用于正常的 MAVLink 连接,一个用于 SLCAN 串行连接到 CAN 接口进行配置和固件更新。这被称为复合型 USB 设备。
默认情况下,MAVLink 的 USB 接口是 SERIAL0,而 SLCAN 的 USB 接口是电路板上最高的 SERIALx 端口。目前与 Mission Planner 一起安装的 Windows 驱动程序可以选择使用其中一个,由于 ArduPilot 固件中对 MAVLINK 协议都进行了默认设置,因此无论选择哪一个作为 COM 端口,都能正常工作。
然而,有一种情况是,用户会发现它无法连接到任务规划器下拉框中明显的 COM 端口。这发生在用户不小心将 Windows 驱动作为 MAVLink COM 端口的任何 SERIALx 端口的协议改为 MAVLink 以外的协议。这很容易发生,如果用户从不同的自动驾驶仪使用的飞行器配置中获取现有的参数文件,而该文件的协议已经改变。例如,用户拥有一架非 F7/H7 CAN 自动驾驶仪的飞机,并将其升级为具有该功能的飞机,然后在用新的自动驾驶仪设置飞机时加载他现有的参数文件。一旦参数文件被加载,自动驾驶仪被重新启动,通信就会丢失,无法重新建立。
发生的情况是,Windows 所使用的 SERIALx 端口的协议已被改变。几乎总是这样,这是编号最高的 SERIALx 端口,因为在非 CAN 功能的自动驾驶仪上,该端口通常被设置为 -1,而 Windows 的 COM 端口驱动程序选择该接口作为 COM 端口,而不是 SERIAL0。
恢复的步骤如下: