• 模块参考:命令
    • bl_update
      • 用法
    • config
      • 用法
    • dumpfile
      • 用法
    • esc_calib
      • 用法
    • hardfault_log
      • 用法
    • led_control
      • 说明
      • 示例
      • 用法
    • listener
      • 用法
    • mixer
      • 说明
      • 用法
    • motor_ramp
      • 说明
      • 示例
      • 用法
    • motor_test
      • 用法
    • mtd
      • 用法
    • nshterm
      • 用法
    • param
      • 说明
      • 示例
      • 用法
    • perf
      • 用法
    • pwm
      • 说明
      • 示例
      • 用法
    • reboot
      • 用法
    • sd_bench
      • 用法
    • top
      • 用法
    • usb_connected
      • 用法
    • ver
      • 用法

    模块参考:命令

    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)