模块参考:命令

bl_update

源代码: systemcmds/bl_update

从文件烧写引导程序的实用程序

用法

  1. bl_update [参数...]
  2. setopt 设置可选位来解锁FLASH(仅在锁定状态时需要)
  3. <file> 引导程序的二进制文件

config

源代码: systemcmds/config

配置传感器驱动器(采样率、发布频率以及范围等等)

用法

  1. config <命令> [参数...]
  2. 命令:
  3. <file:dev> 参数通常是/dev/{gyro,accel,mag}i之一
  4. block 锁定传感器主题发布
  5. <file:dev> 传感器驱动文件
  6. unblock 解锁传感器主题发布
  7. <file:dev> 传感器驱动文件
  8. sampling 设置传感器采样率
  9. <file:dev> <rate> 传感器驱动文件和采样频率,单位Hz
  10. rate 设置传感器发布频率
  11. <file:dev> <rate> 传感器驱动文件和发布频率,单位Hz
  12. range 设置传感器测量范围
  13. <file:dev> <rate> 传感器驱动文件和范围
  14. check 执行传感器自检(并打印信息)
  15. <file:dev> 传感器驱动文件

dumpfile

源代码: systemcmds/dumpfile

转储文件实用程序。 以二进制模式打印文件大小和内容(不要用CR LF替换LF)到stdout。

用法

  1. dumpfile [参数...]
  2. <file> 转储文件

esc_calib

源代码: systemcmds/esc_calib

电调校准工具

校准流程(运行此命令将引导完成):

  • 移除螺旋桨,电调断电
  • 关闭姿态控制器:mc_att_control stop,fw_att_control stop
  • 确保安全开关关闭
  • 运行此命令

用法

  1. esc_calib [参数...]
  2. [-d <val>] 选择PWM输出设备
  3. 可选: <file:dev>, 缺省: /dev/pwm_output0
  4. [-l <val>] 最低PWM值,单位,us
  5. 缺省: 1000
  6. [-h <val>] 最高PWM值,单位,us
  7. 缺省: 2000
  8. [-c <val>] 以这种形式选择通道:1234 (每一位代表一个通道,1为第一通道)
  9. [-m <val>] 通过位掩码的形式选择通道(例如,0xF为第三通道))
  10. 缺省: 0
  11. [-a] 选择所有通道

hardfault_log

源代码: systemcmds/hardfault_log

硬故障实用程序

在启动脚本中使用来处理硬故障

用法

  1. hardfault_log <命令> [参数...]
  2. 命令:
  3. check 检查是否存在未提交的硬故障
  4. rearm 抛掉一个未提交的硬故障
  5. fault 抛出一个硬故障 (这个命令会让系统崩溃:)
  6. [0|1] 硬故障类型: 0=除零, 1=断言 (缺省值为0)
  7. commit 将未提交的硬故障写入/fs/microsd/fault_%i.txt
  8. (并执行rearm,但不会执行reset)
  9. count 读取重启计数器,统计一个未提交的硬故障的重启次数
  10. (作为程序的退出码返回)
  11. reset 重置重启计数器

led_control

源代码: systemcmds/led_control

说明

控制和测试(外部)LED的命令行工具。

要使用它,请确保有一个处理led_control uorb主题的驱动程序运行。

可以设置不同的优先级,例如一个模块可以以低优先级设置颜色,另一个模块可以以高优先级闪烁N次,那么LED将在闪烁后自动返回到较低优先级的状态。 reset命令也可以用于返回较低的优先级。

示例

第一个LED以蓝色闪烁5次

  1. led_control blink -c blue -l 0 -n 5

用法

  1. led_control <命令> [参数...]
  2. 命令:
  3. test 运行测试模式
  4. on 点亮LED
  5. off 熄灭LED
  6. reset 重置LED的优先级
  7. blink 闪烁LED
  8. [-n <val>] 闪烁次数
  9. 缺省: 3
  10. [-s <val>] 设置闪烁速度
  11. 可选: fast|normal|slow, 默认: normal
  12. breathe 持续地淡入淡出(呼吸灯)
  13. 以下参数适用于除'test'之外的所有上述命令:
  14. [-c <val>] 颜色
  15. 可选: red|blue|green|yellow|purple|amber|cyan|white
  16. 缺省: white
  17. [-l <val>] 指定控制的LED: 0, 1, 2, ...
  18. 缺省: -1(所有)
  19. [-p <val>] 优先级
  20. 缺省: 2

listener

源代码: systemcmds/topic_listener

用于监听uORB主题并将数据打印到控制台的实用程序。

限制:只能监听一个主题的第一个实例。

用法

  1. listener [参数...]
  2. <topic_name> [<num_msgs>] uORB主题名称以及消息数目(可选,缺省为1)

mixer

源代码: systemcmds/mixer

说明

加载或附加混控器文件到ESC驱动程序。

注意,驱动程序必须支持所用的ioctl函数,例如NuttX支持,但RPi不支持。

用法

  1. mixer <命令> [参数...]
  2. 命令:
  3. load
  4. <file:dev> <file> 输出设备(例如:/dev/pwm_output0)和混控器文件
  5. append
  6. <file:dev> <file> 输出设备(例如:/dev/pwm_output0)和混控器文件

motor_ramp

源代码: systemcmds/motor_ramp

说明

测试电机加速的应用

开始前,请务必关闭所有运行中的姿态控制器:

  1. mc_att_control stop
  2. fw_att_control stop

启动时,作为后台任务启动,运行指定时间,然后退出。

注意:此命令目前只支持/dev/pwm_output0输出。

示例

  1. motor_ramp sine 1100 0.5

用法

  1. motor_ramp [参数...]
  2. ramp|sine|square 模式
  3. <min_pwm> <time> [<max_pwm>] pwm值单位为us,时间单位为sec
  4. 警告:电机将加速到全速!

motor_test

源代码: systemcmds/motor_test

测试电机的实用程序

注意:这只能用于支持motor_test uorb主题的驱动程序(目前有uavcan和tap_esc)

用法

  1. motor_test <命令> [参数...]
  2. 命令:
  3. test 设置电机到指定输出值
  4. [-m <val>] 待测试电机(0...7,如不指定,则为全部)
  5. 缺省: -1
  6. [-p <val>] 以百分比设置输出值 (0...100)
  7. 缺省: 0
  8. stop 停止所有电机
  9. iterate 依次启动并停止所有电机

mtd

源代码: systemcmds/mtd

挂载并测试分区(基于飞控板定义的FRAM / EEPROM存储)的实用程序

用法

  1. mtd <命令> [参数...]
  2. 命令:
  3. status 打印状态信息
  4. start 挂载分区
  5. readtest 执行读取测试
  6. rwtest 执行读写测试
  7. erase 擦除分区
  8. 命令 'start''readtest''rwtest''erase'有可选参数:
  9. [<partition_name1> [<partition_name2> ...]]
  10. 分区名称 (例如,/fs/mtd_params), 如果未指定的话,该参数为系统默认值

nshterm

源代码: systemcmds/nshterm

在给定端口上启动NSH shell。

以前用于在USB串行端口上启动shell,现在运行mavlink,可以在mavlink上使用shell。

用法

  1. nshterm [参数...]
  2. <file:dev> 运行shell的设备(例如,/dev/ttyACM0)

param

源代码: systemcmds/param

说明

通过shell或脚本访问和操作参数的命令。

例如,用于在启动脚本中设置与机型相关的参数。

当参数更改时可以自动保存,例如,param set。参数通常存储在FRAM或SD卡中。 param select可以用于更改存储位置以供后续保存(需要在每次启动时重新配置)。

每个参数都有一个’used’标志,它在引导过程中被读取时设置。 它只用于向地面控制站显示相关参数。

示例

更改机型并确保机型的默认参数被加载:

  1. param set SYS_AUTOSTART 4001
  2. param set SYS_AUTOCONFIG 1
  3. reboot

用法

  1. param <命令> [参数...]
  2. 命令:
  3. load 从文件中载入参数(覆盖所有)
  4. [<file>] 文件名 (如未给出,则使用缺省值)
  5. import 从文件中导入参数
  6. [<file>] 文件名 (如未给出,则使用缺省值)
  7. save 保存参数到文件
  8. [<file>] 文件名 (如未给出,则使用缺省值)
  9. select 选择缺省文件
  10. [<file>] 文件名 (如未给出,则使用<root>/eeprom/parameters)
  11. show 显示参数值
  12. [-c] 仅显示有变动的参数
  13. [<filter>] 参数名过滤器(允许在参数名的最后使用通配符,例如sys_*)
  14. set 设置参数
  15. <param_name> <value> 参数名和参数值
  16. [fail] 如果设置了该参数,那么如果没有找到参数,则命令失败
  17. compare 比较参数,如果相等,则命令成功
  18. <param_name> <value> 参数名和待比较的值
  19. greater 比较参数,如果参数大于待比较值,则命令成功
  20. <param_name> <value> 参数名和待比较的值
  21. reset 重置参数到缺省值
  22. [<exclude1> [<exclude2>]] 不重置匹配到的参数(允许在参数名的最后使用通配符)
  23. reset_nostart 重置除过SYS_AUTOSTARTSYS_AUTOCONFIG以外的参数到缺省值
  24. [<exclude1> [<exclude2>]] 不重置匹配到的参数(允许在参数名的最后使用通配符)
  25. index 显示给定序号的参数
  26. <index> 序号: 大于等于0的整数
  27. index_used 显示给定序号的已用参数
  28. <index> 序号: 大于等于0的整数
  29. find 显示给定参数的序号
  30. <param> 参数名

perf

源代码: systemcmds/perf

打印性能计数器的工具

用法

  1. perf [参数...]
  2. reset 重置所有计数器
  3. latency 打印HRT定时器延迟直方图
  4. 如果没有给出,则打印所有性能计数器

pwm

源代码: systemcmds/pwm

说明

该命令用于配置舵机和电调的PWM输出。

默认设备/dev/pwm_output0是主通道,辅助通道为/dev/pwm_output1-d参数指定)。

在启动脚本中使用来确保PWM参数(PWM_*)被正确配置(如果指定机型配置,则由机型配置文件提供PWM参数)。

pwm info显示当前设置(修正值是一个偏移量并由PWM_MAIN_TRIMxPWM_AUX_TRIMx配置)。

应该设置锁定值,使得电机在最小值时不会旋转(同样用于终止开关)。

通道被分配成组。由于硬件限制,更新速率只能以组为单位设置。使用pwm info显示组。如果使用-c参数,则必须包括该组的所有通道。

可以将参数-p-r设置为参数,而不是指定一个整数:例如,使用-p p:PWM_MIN。

注意,在OneShot模式下,PWM范围[1000, 2000]自动映射到[125, 250]。

示例

设置所有通道的PWM速率为400Hz:

  1. pwm rate -a -r 400

测试例如通道1和通道3的输出,将PWM值设置为1200 us:

  1. pwm arm
  2. pwm test -c 13 -p 1200

用法

  1. pwm <命令> [参数...]
  2. 命令:
  3. arm 解锁输出
  4. disarm 锁定输出
  5. info 打印所有通道的当前配置信息
  6. forcefail 强制切换Failsafe模式
  7. on|off 打开|关闭
  8. terminatefail 强制切换Termination Failsafe模式
  9. on|off 打开|关闭
  10. rate 配置PWM速率
  11. -r <val> PWM速率单位为Hz(0Oneshot模式,其它50400Hz)
  12. oneshot 配置Oneshot125 (速率设置为0)
  13. failsafe 设置Failsafe模式的PWM
  14. disarmed 设置锁定PWM
  15. min 设置最小PWM
  16. max 设置最大PWM
  17. test 设置输出为指定值直到'q''c''ctrl-c'被按下
  18. steps 0100%分5步运行
  19. 命令'failsafe''disarmed''min''max''test'需要指定PWM值:
  20. -p <val> PWM (例如1100)
  21. 命令'rate''oneshot''failsafe''disarmed''min''max''test''steps'
  22. 需要额外以下列参数中的一个指定通道:
  23. [-c <val>] 以这种形式选择通道:1234 (每一位代表一个通道,
  24. 1代表第一个通道)
  25. [-m <val>] 以位掩码的形式选择通道(例如,0xF, 3)
  26. 缺省: 0
  27. [-g <val>] 通过组来选择通道(例如,0, 1, 2. 使用'pwm info'显示组)
  28. 缺省: 0
  29. [-a] 选择所有通道
  30. 这些参数可用于所有命令:
  31. [-d <val>] 选择PWM输出设备
  32. 可选: <file:dev>, 缺省: /dev/pwm_output0
  33. [-v] 详细输出
  34. [-e] 发生错误时以1退出,而不是0

reboot

源代码: systemcmds/reboot

重启系统

用法

  1. reboot [参数...]
  2. [-b] 重启进入引导程序

sd_bench

源代码: systemcmds/sd_bench

测试SD卡的速度

用法

  1. sd_bench [参数...]
  2. [-b <val>] 一次读写的块大小
  3. 缺省: 4096
  4. [-r <val>] 运行次数
  5. 缺省: 5
  6. [-d <val>] 运行持续时间,单位:ms
  7. 缺省: 2000
  8. [-s] 每块运行结束后调用fsync(缺省,每次运行完成后调用)

top

源代码: systemcmds/top

监控运行进程及其CPU占用,堆栈使用情况,优先级和状态

用法

  1. top [参数...]
  2. once 仅仅打印一次

usb_connected

源代码: systemcmds/usb_connected

检查USB是否连接的实用程序。以前在启动脚本中使用。 返回0表示USB已连接,否则为1。

用法

  1. usb_connected [参数...]

ver

源代码: systemcmds/ver

打印各种版本信息的工具

用法

  1. ver <命令> [参数...]
  2. 命令:
  3. hw 硬件架构
  4. mcu MCU信息
  5. git git版本信息
  6. bdate 构建日期和时间
  7. gcc 编译器信息
  8. uid UUID
  9. mfguid 制造商UUID
  10. uri 构建URI
  11. all 打印所有版本信息
  12. hwcmp 比较硬件版本(匹配的话返回0)
  13. <hw> 待比较的硬件(例如,PX4FMU_V4)