// setup UAS and diag mav_uas.set_tgt(tgt_system_id, tgt_component_id); UAS_FCU(&mav_uas) = fcu_link; mav_uas.add_connection_change_handler(std::bind(&MavlinkDiag::set_connection_status, &fcu_link_diag, std::placeholders::_1)); mav_uas.add_connection_change_handler(std::bind(&MavRos::log_connect_change, this, std::placeholders::_1));
时间: 2023-06-14 14:06:22 浏览: 61
这段代码看起来是在设置一个MAVLink的链接,并且将该链接与一些处理程序关联。具体来说:
- `mav_uas.set_tgt(tgt_system_id, tgt_component_id);` 这行代码设置MAVLink连接的目标系统ID和组件ID。
- `UAS_FCU(&mav_uas) = fcu_link;` 这行代码设置MAVLink连接的通信方式(可能是串口、UDP、TCP等)。
- `mav_uas.add_connection_change_handler(std::bind(&MavlinkDiag::set_connection_status, &fcu_link_diag, std::placeholders::_1));` 这行代码将一个处理程序与MAVLink连接关联。当连接状态发生变化时,处理程序`MavlinkDiag::set_connection_status`将被调用,参数`_1`是连接状态。
- `mav_uas.add_connection_change_handler(std::bind(&MavRos::log_connect_change, this, std::placeholders::_1));` 这行代码将另一个处理程序与MAVLink连接关联。当连接状态发生变化时,处理程序`MavRos::log_connect_change`将被调用,参数`_1`是连接状态。
总体来说,这段代码的作用是建立MAVLink连接并且设置一些连接状态处理程序。
相关问题
UAS: GeographicLib exception: File not readable /usr/share/GeographicLib/geoids/egm96-5.pgm | Run install_geographiclib_dataset.sh script in order to install Geoid Model dataset!
这个错误表示您需要安装 Geoid Model 数据集,否则无法使用地理位置相关的功能。您可以按照以下步骤安装该数据集:
1. 运行以下命令:
```
sudo apt-get install geographiclib-tools
```
这将安装 GeographicLib 工具包,包括安装 Geoid Model 数据集所需的脚本。
2. 运行以下命令:
```
sudo geographiclib-get-geoids egm96-5
```
这将下载并安装 Geoid Model 数据集。请注意,此过程可能需要一些时间,具体取决于您的网络速度。完成后,您应该能够使用地理位置相关的功能了。
如果您仍然遇到问题,请尝试重新启动 QGroundControl 或重启您的计算机,然后再尝试安装数据集。
[FATAL] [1685013631.729528121]: UAS: GeographicLib exception: File not readable /usr/share/GeographicLib/geoids/egm96-5.pgm | Run install_geographiclib_dataset.sh script in order to install Geoid Model dataset!
这个错误是因为你的飞控系统缺少地理数据集。你需要运行 `install_geographiclib_dataset.sh` 脚本来安装Geoid模型数据集。你可以在终端中输入以下命令来安装:
```
sudo apt-get install geographiclib-tools
sudo geographiclib-get-gravity egm96-5
```
这将安装所需的地理数据集,并应该解决这个问题。