# 模块参考:命令
# 更新
资料来源 systemcmds/bl_update (打开新窗口)
# 使用方法
bl_update [arguments...] setopt 设置选项位以解锁 FLASH(仅在锁定状态下需要) <file> 引导加载程序 bin 文件
# 转储文件
资料来源 systemcmds/dumpfile (打开新窗口)
转储文件实用程序。以二进制模式(不要用 CR LF 代替 LF)将文件大小和内容打印到 stdout。
# 使用方法
dumpfile [arguments...] <file> 要转储的文件
# 动态
# 说明
加载并运行未编译到 PX4 二进制文件中的动态 PX4 模块。
# 示例
dyn ./hello.px4mod start
# 使用方法
dyn [arguments...] <file> 包含模块的文件 [arguments...] 模块的参数
# 闰年
资料来源 systemcmds/esc_calib (打开新窗口)
电调校准工具
校准程序(运行该命令将引导您完成校准):
- 拆下道具,关闭电调电源
- 停止姿态和速率控制器:mc_rate_control stop、fw_att_control stop
- 确保安全系统关闭
- 运行此命令
# 使用方法
esc_calib [arguments...] [-d <val>] 选择 PWM 输出设备值:<file:dev>,默认:/dev/pwm_output0 [-l <val>] PWM 低值(以 us 为单位),默认值:1000 [-h <val>] PWM 高值(以 us 为单位),默认值:2000 [-c <val>] 选择通道形式:1234 (每个通道 1 位数字,1=第一位) [-m <val>] 通过位掩码选择通道(例如 0xF,3) [-a] 选择所有通道
# 失败
资料来源 systemcmds/failure (打开新窗口)
# 说明
将故障注入系统。
# 实施情况
该系统指令通过 uORB 发送载具指令以触发故障。
# 实例
通过停止 GPS 测试 GPS 防故障保护:
故障 GPS 关闭
# 使用方法
失败 [参数...] 帮助 显示此帮助文本 gps|...指定组件 ok|off|...指定故障类型 [-i <val>] 传感器实例(0=全部) 默认值:0
# gpio
# 说明
该命令用于读写 GPIO
gpio 读 <PORT><PIN>/<DEVICE> [PULLDOWN|PULLUP] [--force] gpio 写 <PORT><PIN>/<DEVICE> <VALUE> [PUSHPULL|OPENDRAIN] [--force] gpio 读 <PORT><PIN>/<DEVICE> <VALUE> [PUSHPULL|OPENDRAIN] [--force
# 实例
读取配置为上拉的端口 H 引脚 4 的值,该值为高电平
gpio 读 H4 PULLUP
1 OK
将端口 E 第 7 针的输出值设置为高电平
gpio write E7 1 --force
将设备 /dev/gpin1 上的输出值设置为高电平
gpio 写 /dev/gpin1 1
# 使用方法
gpio [arguments...读 <PORT><PIN>/<DEVICE> GPIO 端口和引脚或设备 [PULLDOWN|PULLUP] 下拉/上拉 [--force] 强制(忽略板上的 gpio 列表) 写 <PORT><PIN> GPIO 端口和引脚 <VALUE> 要写入的值 [PUSHPULL|OPENDRAIN] 下拉/上拉 [--force] 强制(忽略板上的 gpio 列表)
# 硬故障日志
资料来源 systemcmds/hardfault_log (打开新窗口)
硬故障实用程序
在启动脚本中用于处理硬故障
# 使用方法
hardfault_log <command> [arguments...] 命令: check 检查是否有未提交的硬故障 rearm 删除未提交的硬故障 fault 生成硬故障(此命令会导致系统崩溃:) [0|1] 硬故障类型:0= 除以 0,1= 断言(默认值=0) commit 将未提交的硬故障写入 /fs/microsd/fault_%i.txt(并重新上膛,但不重置) count 读取重启计数器,计算未提交的硬故障的重启次数(作为程序的退出代码返回) reset 重置重启计数器
# i2cdetect
资料来源 systemcmds/i2cdetect (打开新窗口)
# 使用方法
i2cdetect [arguments...] [-b <val>] I2C 总线默认值:1
# led_control
资料来源 systemcmds/led_control (打开新窗口)
# 说明
控制 & 的命令行工具;测试(外部)LED。
要使用它,必须确保有一个处理 led_control uorb 主题的驱动程序在运行。
LED 有不同的优先级,例如,一个模块可以低优先级设置一种颜色,另一个模块可以高优先级闪烁 N 次,闪烁后 LED 自动回到低优先级状态。优先级 重置
命令也可用于返回较低的优先级。
# 实例
第一个 LED 蓝色闪烁 5 次:
led_control 闪烁 -c 蓝色 -l 0 -n 5
# 使用方法
led_control <command> [arguments...命令: test 运行测试模式 on 打开 LED off 关闭 LED reset 重置 LED 优先级 blink 闪烁 LED N 次 [-n <val>] 闪烁次数默认值:3 [-s <val>] 设置闪烁速度值:快速|正常|慢速,默认值:正常 breathe 持续淡入淡出闪烁两次快速闪烁,然后熄灭,频率为 1Hz 除 "test "外,以下参数适用于上述所有命令:[-c <val>] 颜色值:红色|蓝色|绿色|黄色|紫色|琥珀色|青色|白色,默认值:白色 [-l <val>] 控制哪个 LED:0、1、2......(默认值=全部) [-p <val>] 优先级 默认值:2
# 听众
资料来源 systemcmds/topic_listener (打开新窗口)
监听 uORB 主题并将数据打印到控制台的实用程序。
可随时按 Ctrl+C、Esc 或 Q 键退出监听器。
# 使用方法
listener <command> [arguments...] 命令: <topic_name> uORB 主题名称 [-i <val>] 主题实例 默认值: 0 [-n <val>] 消息数量 默认值: 1 [-r <val>] 订阅率(如果为 0 则无限制) 默认值: 0
# mfd
# 使用方法
mfd <command> [arguments...] 命令: 查询 如果不存在,则返回 true
# 混频器
# 说明
向 ESC 驱动程序加载或添加混音器文件。
请注意,驱动程序必须支持所使用的 ioctl,NuttX 就是这种情况,但例如 RPi 就不支持。
# 使用方法
mixer <command> [arguments...] 命令: load <file:dev> <file> 输出设备(例如 /dev/pwm_output0)和混音器文件 append <file:dev> <file> 输出设备(例如 /dev/pwm_output0)和混音器文件
# 坡道
资料来源 systemcmds/motor_ramp (打开新窗口)
# 说明
应用于测试电机升速。
启动前,确保停止任何正在运行的姿态控制器:
mc_rate_control 停止 fw_att_control 停止
启动时,会启动一个后台任务,运行几秒钟(按指定时间),然后退出。
# 示例
motor_ramp sine -a 1100 -r 0.5
# 使用方法
motor_ramp [arguments...] ramp|sine|square mode [-d <val>] Pwm 输出设备默认值:/dev/pwm_output0 -a <val> 以 usec 为单位选择最小 pwm 占空比 [-b <val>] 以 usec 为单位选择最大 pwm 占空比,默认值: 2000 [-r <val>] 以秒为单位选择电机斜坡持续时间,默认值: 1.0 警告:电机将斜坡上升到全速!
# 电机测试
资料来源 systemcmds/motor_test (打开新窗口)
测试电机的实用程序。
警告:使用此命令前请移除所有道具。
# 使用方法
motor_test <command> [arguments...] 命令: test 将电机设置为特定输出值 [-m <val>] 要测试的电机(1...8,未指定时为全部) [-p <val>] 功率(0...100) 默认值: 0 [-t <val>] 超时,以秒为单位(默认值=无超时) 默认值: 0 [-i <val>] 驱动器实例 默认值: 0 stop 停止所有电机 iterate 迭代所有电机,逐个启动和停止
# mtd
安装和测试分区的实用程序(基于电路板定义的 FRAM/EEPROM 存储空间)
# 使用方法
mtd <命令> [参数...] 命令: status 打印状态信息 readtest 执行读取测试 rwtest 执行读写测试 erase 擦除分区 命令 "readtest "和 "rwtest "有一个可选的实例索引:-i<val>]存储索引(如果电路板有多个存储空间) 默认值:0 "readtest"、"rwtest "和 "erase "命令有一个可选参数: [<partition_name1> [<partition_name2> ...]] 分区名称(例如//partition_name1> [<partition_name2> ...])。分区名称(如 /fs/mtd_params),如果未提供,则使用系统默认值
# nshterm
资料来源 systemcmds/nshterm (打开新窗口)
在指定端口上启动 NSH shell。
以前,它用于在 USB 串口上启动 shell。现在有了 mavlink,就可以在 mavlink 上使用 shell 了。
# 使用方法
nshterm [arguments...] <file:dev> 启动 shell 的设备(例如 /dev/ttyACM0)
# 停止
# 说明
通过 shell 或脚本访问和操作参数的命令。
例如在启动脚本中用于设置机身特定参数。
参数更改后会自动保存,例如使用 参数集
.它们通常存储在 FRAM 或 SD 卡中。 参数选择
可用于更改后续保存的存储位置(每次启动时都需要(重新)配置)。
如果启用了基于 FLASH 的后端(在编译时启用,如 Intel Aero 或 Omnibus)、
参数选择
不起作用,默认情况下始终使用 FLASH 后端。但是 参数 save/load <file>;
仍可用于写入/读取文件。
每个参数都有一个 "已用 "标志,在启动过程中读取时会设置该标志。它只用于向地面控制站显示相关参数。
# 实例
更改机身并确保已加载机身的默认参数:
参数设置 SYS_AUTOSTART 4001 参数设置 SYS_AUTOCONFIG 1 重新启动
# 使用方法
param <command> [arguments...] 命令:load 从文件加载参数(覆盖所有参数) [<file>] 文件名(如果未给出,则使用默认值) import 从文件导入参数 [<file>] 文件名(如果未给出,则使用默认值) save 将参数保存到文件 [<file>] 文件名(如果未给出,则使用默认值) select 选择默认文件 [<file>;显示参数值 [-a] 显示所有参数(不仅仅是使用过的参数) [-c] 仅显示更改过的参数(也包括未使用过的参数) [-q] 静音模式,仅打印参数值(名称必须准确) [<filter>] 根据参数名称进行过滤(允许在末尾使用通配符,例如sys_*) show-for-airframe 显示已更改的机身参数 config status 打印参数状态 system set 将参数设置为一个值 <param_name> <value> 参数名称和要设置的值 [fail] 如果提供,如果找不到参数,则命令失败 set-default 将参数默认设置为一个值 <param_name> <value> 参数名称和要设置的值 [fail] 如果提供,如果找不到参数,则命令失败 compare 比较一个参数和一个值。如果相等,则命令成功 [-s] 如果提供,则在参数不存在时无声出错 <param_name> <value> 要比较的参数名和值 greater 比较参数和值。如果参数大于值,命令将成功执行 [-s] 如果提供,如果参数不存在,将出现无声错误 <param_name> <value> 要比较的参数名和值 <param_name> <value> 要比较的参数名和值 touch 将参数标记为已使用 [<param_name1> [<param_name2>]] 参数名(一个或多个参数名称(一个或多个) reset 仅将指定的参数重置为默认值 [<param1> [<param2>]] 重置的参数名称(一个或多个要重置的参数名(允许在末尾使用通配符) reset_all 将所有参数重置为默认值 [<exclude1> [<exclude2>]] 不重置匹配的参数(允许在末尾使用通配符)。不重置匹配的参数(允许使用末尾的通配符 index 显示给定索引的参数 <index> 索引:整数 >= 0 index_used 显示给定索引的已用参数 <index> 索引:整数 >= 0 find 显示参数的索引 <param> 参数名
# 敷衍
# 使用方法
reset 重置所有计数器 latency 打印 HRT 定时器延迟直方图 如果未给出参数,则打印所有性能计数器
# pwm
# 说明
该命令用于配置用于伺服和电调控制的 PWM 输出。
默认设备 /dev/pwm_output0
是主通道,辅助通道在 /dev/pwm_output1
(-d
参数)。
它用于启动脚本,以确保 PWM 参数 (PWM_*
)(或机身配置提供的参数(如有指定))。 pwm 状态
显示当前设置(微调值是一个偏移量,用 PWM_MAIN_TRIMx
和 PWM_AUX_TRIMx
).
解除值应设置为电机不转(也用于熄火开关),最小值为电机应转。
通道被分配到一个组中。由于硬件限制,更新率只能按组设置。使用方法
pwm 状态
来显示组。如果 -c
参数,则必须包含任何包含组的所有通道。
参数 -p
和 -r
可以设置为一个参数,而不是指定一个整数:例如使用 -p p:PWM_MIN。
请注意,在 OneShot 模式下,PWM 范围 [1000, 2000] 会自动映射为 [125, 250]。
# 实例
将所有通道的 PWM 频率设为 400 Hz:
pwm 速率 -a -r 400
测试通道 1 和 3 的输出,并将 PWM 值设置为 1200 us:
pwm arm pwm test -c 13 -p 1200
# 使用方法
pwm <命令> [参数...] 命令: arm Arm 输出 解除警报 Disarm 输出状态 打印所有通道的当前配置 forcefail 强制故障安全模式。将 PWM 输出设置为故障安全值。 on|off 打开或关闭 terminatefail 启用终止故障安全模式。尽管如此,发生的任何故障安全都将无法恢复(即使满足恢复条件)。on|off 打开或关闭速率 配置 PWM 速率 -r <val>;以 Hz 为单位的 PWM 速率(0 = Oneshot,否则为 50 至 400Hz) oneshot 配置 Oneshot125(速率设为 0) failsafe 设置 Failsafe PWM 值 disarmed 设置 Disarmed PWM 值 min 设置最小 PWM 值 max 设置最大 PWM 值 test 设置输出为特定值,直到按下 'q' 或 'c' 或 'ctrl-c' 步骤 从 0 到 100% 运行 5 个步骤 'failsafe'、'disarmed'、'min'、'max' 和 'test' 命令需要一个 PWM 值:-p <val> PWM 值(例如: 11001100)此外,"rate"、"oneshot"、"failsafe"、"disarmed"、"min"、"max"、"test "和 "steps "命令还需要使用以下命令之一指定通道:[-c <val>]以下列形式选择通道:1234 (每个通道 1 位数字,1=第一位) [-m <val>] 通过位掩码选择通道(例如 0xF,3) [-g <val>] 通过组选择通道(例如 0、1、2,使用 "pwm status "显示组) [-a] 选择所有通道 这些参数适用于所有命令:[-d <val>] 选择 PWM 输出设备值:<file:dev>,默认值:/dev/pwm_output0 [-v] 冗余输出 [-e] 出错时以 1 而不是 0 退出
# 重新启动
资料来源 systemcmds/reboot (打开新窗口)
# 使用方法
重启 [参数...] [-b] 重启到引导加载程序 [lock|unlock] 获取/释放关机锁(用于测试)
# sd_bench
资料来源 systemcmds/sd_bench (打开新窗口)
# 使用方法
sd_bench [arguments...] [-b <val>] 每次读/写的块大小 默认值:4096 [-r <val>] 运行次数 默认值:5 [-d <val>] 以毫秒为单位的运行时间 默认值:2000 [-s] 在每个块后调用 fsync(默认值=每次运行结束时) [-u] 测试未对齐数据的性能) [-s] 在每个块后调用 fsync(默认值=每次运行结束时
# 系统时间
资料来源 systemcmds/system_time (打开新窗口)
# 说明
命令行工具,用于设置和获取系统时间。
# 实例
设置系统时间并回读
system_time set 1600775044 system_time get
# 使用方法
system_time <命令> [参数...] 命令: set 设置系统时间,以 unix epoch 时间格式提供时间 get 获取系统时间
# 顶级
# 使用方法
置顶 [参数...] 一次 仅打印加载一次
# usb_connected
资料来源 systemcmds/usb_connected (打开新窗口)
用于检查 USB 是否已连接的实用程序。以前用于启动脚本。返回值为 0 表示 USB 已连接,否则为 1。
# 使用方法
usb_connected [参数...]
# ......验证
# 使用方法
ver <command> [arguments...] 命令: hw 硬件架构 mcu MCU 信息 git git 版本信息 bdate 生成日期和时间 gcc 编译器信息 bdate 生成日期和时间 px4guid PX4 GUID uri 生成 URI all 打印所有版本 hwcmp 比较硬件版本(匹配时返回 0) <hw> [<hw2>] 要与之比较的硬件(例如 PX4_FMU_V4)。如果指定多个,则使用 OR 比较 hwtypecmp 比较硬件类型(匹配时返回 0) <hwtype> [<hwtype2>] 要与之比较的硬件类型(例如 V2)。如果指定多个,则使用 OR 比较