介绍如何使用NSH终端调试Pixhawk Series控制器。
部署使用UAV Toolbox Support Package for PX4®autopilot创建的模万博1manbetx型后,可以使用NSH终端调试Pixhawk Series控制器。
NSH通过MAVLink访问。因此,请确保已通过USB方式启用MAVLink(详细操作请参见PX4 Over USB启用MAVLink.
注意:如果启用MAVLink over USB (/dev/ttyACM0),则不能使用External模式over USB。您可以选择任何其他串口(例如/dev/ttyS6)以External模式运行Simulink模型。万博1manbetx然而,在这种情况下,您可能需要额外的串行到USB转换器。
UAV Toolbox 万博1manbetxSupport Package for PX4 autopilot提供了一个预先定义的类名为HelperPX4
帮助您访问NSH并执行某些操作。
在主机上找到PX4 Autopilot当前连接的串口,并创建一个HelperPX4
反对访问NSH。例如:
shellObj = HelperPX4(“COM9”);
此处以COM9值为例。修改为实际的主机串口。
的HelperPX4
类提供发送NSH命令和获取响应的不同方法。
系统方法帮助您向NSH发送命令并获得shell响应。查看下面可用NSH命令的列表系统
方法,使用帮助
命令:
[shellResp, status] = shellObj.system('帮助')
status值为1表示执行成功。
如果侦听器
命令中列出,可以在系统
方法来监听任何uORB主题。例如:
[shellResp, status] = shellObj。系统('listener vehicle_status')
的getFile
方法帮助您获取故障日志或安装在PX4 Autopilot目标上的SD卡中的任何其他文件,而无需从目标中移除SD卡。执行此操作(对于故障日志):
1.使用系统方法查看SD卡上的故障日志列表:
shellObj。系统('ls /fs/microsd')
2.观察日志列表,并决定要将哪个日志文件复制到主机上。获取文件到主机计算机使用getFile
方法。例如:
shellObj.getFile (' / fs / microsd / fault_2019_10_24_10_49_04.log ');
提示:你可以使用getFile
方法编辑已复制到SD卡上的启动脚本rc.txt(关于rc.txt的详细信息,请参见从SD卡上启动PX4系统.在这种情况下,您还可以使用putFile方法将修改后的启动脚本复制回SD卡。
完成所有更改后,可以删除HelperPX4
创建的对象:
删除(shellObj);
若使用QGroundControl (QGC)访问NSH,请参阅这个链接