Modules Reference: Command
bl_update
파일에서 bootloader를 플래쉬하는 유틸리티
사용법
bl_update [arguments...]
setopt Set option bits to unlock the FLASH (only needed if in locked
state)
<file> Bootloader bin file
설정
센서 드라이버 설정(샘플링 & public rate, range 등)
사용법
config <command> [arguments...]
Commands:
The <file:dev> argument is typically one of /dev/{gyro,accel,mag}i
block Block sensor topic publication
<file:dev> Sensor device file
unblock Unblock sensor topic publication
<file:dev> Sensor device file
sampling Set sensor sampling rate
<file:dev> <rate> Sensor device file and sampling rate in Hz
rate Set sensor publication rate
<file:dev> <rate> Sensor device file and publication rate in Hz
range Set sensor measurement range
<file:dev> <rate> Sensor device file and range
check Perform sensor self-test (and print info)
<file:dev> Sensor device file
dumpfile
덤프 파일 유틸리티. binary 모드에서 stdout으로 파일 사이즈와 내용을 출력(LF를 CR LF로 바꾸지 말것)
사용법
dumpfile [arguments...]
<file> File to dump
esc_calib
ESC 칼리브레이션을 위한 도구
칼리브레이션 절차(명령 실행을 통한 가이드):
- 프로펠러 제거, ESC 전원끄기
- attitude 제어기 정지: mc_att_control stop, fw_att_control 정지
- safety가 꺼져있는지 확인
- 이 명령 실행
사용법
esc_calib [arguments...]
[-d <val>] Select PWM output device
values: <file:dev>, default: /dev/pwm_output0
[-l <val>] Low PWM value in us
default: 1000
[-h <val>] High PWM value in us
default: 2000
[-c <val>] select channels in the form: 1234 (1 digit per channel,
1=first)
[-m <val>] Select channels via bitmask (eg. 0xF, 3)
default: 0
[-a] Select all channels
hardfault_log
Hardfault 유틸리티
hardfaults를 처리하기 위해서 시작 스크립트에서 사용
사용법
hardfault_log <command> [arguments...]
Commands:
check Check if there's an uncommited hardfault
rearm Drop an uncommited hardfault
fault Generate a hardfault (this command crashes the system :)
[0|1] Hardfault type: 0=divide by 0, 1=Assertion (default=0)
commit Write uncommited hardfault to /fs/microsd/fault_%i.txt (and
rearm, but don't reset)
count Read the reboot counter, counts the number of reboots of an
uncommited hardfault (returned as the exit code of the program)
reset Reset the reboot counter
led_control
설명
(외부) LED를 제어 및 테스트하기 위한 커맨드 라인 툴
이를 사용하기 위해서 실행되고 있는 드라이버가 있는지 확인. 이 드라이버가 led_control uorb topic을 처리.
여기에는 다양한 우선순위가 있는데 예를 들면 하나의 모듈이 낮은 우선순위로 색깔을 설정할 수 있고 다른 모듈은 높은 우선순위로 N번 깜빡이게 할 수 있습니다. 깜빡임 후에 LED는 자동으로 낮은 우선순위로 돌아갑니다. reset
명령은 더 낮은 우선순위로 사용할 수도 있습니다.
예제
처음 LED를 5회 파란색으로 깜빡임 :
led_control blink -c blue -l 0 -n 5
사용법
led_control <command> [arguments...]
Commands:
test Run a test pattern
on Turn LED on
off Turn LED off
reset Reset LED priority
blink Blink LED N times
[-n <val>] Number of blinks
default: 3
[-s <val>] Set blinking speed
values: fast|normal|slow, default: normal
breathe Continuously fade LED in & out
The following arguments apply to all of the above commands except for 'test':
[-c <val>] color
values: red|blue|green|yellow|purple|amber|cyan|white, default:
white
[-l <val>] Which LED to control: 0, 1, 2, ... (default=all)
default: -1
[-p <val>] Priority
default: 2
listener
uORB topic을 listen하는 유틸리티로 콘솔에 데이터를 출력합니다.
제약: topic의 처음 인스턴스만 listen할 수 있습니다.
사용법
listener [arguments...]
<topic_name> [<num_msgs>] uORB topic name and optionally number of messages
(default=1)
mixer
소스: systemcmds/mixer
설명
ESC driver로 믹서 파일을 로드하거나 추가합니다.
이 드라이버는 반드시 ioctl 사용을 지원해야만 합니다. NuttX에 해당되지만 RPi에는 해당되지 않습니다.
사용법
mixer <command> [arguments..Reference.]
Commands:
load
<file:dev> <file> Output device (eg. /dev/pwm_output0) and mixer file
append
<file:dev> <file> Output device (eg. /dev/pwm_output0) and mixer file
motor_ramp
설명
모터를 ramp up 테스트를 위한 어플리케이션.
시작하기 전에, 실행 중인 attitude 제어기를 정지시켰는지 확인 :
mc_att_control stop
fw_att_control stop
시작할때, 백그라운드 태스크가 시작되고 실행하는데 수 초가 걸립니다(지정한 바와 같이). 그런 다음 빠져나옵니다. When starting, a background task is started, runs for several seconds (as specified), then exits.
Note: 이 명령은 동시에 /dev/pwm_output0
출력만 지원합니다.
예제
motor_ramp sine 1100 0.5
사용법
motor_ramp [arguments...]
ramp|sine|square mode
<min_pwm> <time> [<max_pwm>] pwm value in us, time in sec
WARNING: motors will ramp up to full speed!
motor_test
모터 테스트를 위한 유틸리티
Note: motor_test uorb topic을 지원하는 드라이버에 대해서만 사용할 수 있습니다.(현재 uavcan과 tap_esc)
사용법
motor_test <command> [arguments...]
Commands:
test Set motor(s) to a specific output value
[-m <val>] Motor to test (0...7, all if not specified)
default: -1
[-p <val>] Power (0...100)
default: 0
stop Stop all motors
iterate Iterate all motors starting and stopping one after the other
mtd
소스: systemcmds/mtd
파티션을 마운트하고 테스트하는 유틸리티(FRAM/EEPROM 스토리지 기반으로 해당 보드에서 정의)
사용법
mtd <command> [arguments...]
Commands:
status Print status information
start Mount partitions
readtest Perform read test
rwtest Perform read-write test
erase Erase partition(s)
The commands 'start', 'readtest', 'rwtest' and 'erase' have an optional
parameter:
[<partition_name1> [<partition_name2> ...]] Partition names (eg.
/fs/mtd_params), use system default if not provided
nshterm
NSH 쉘을 해당 포트에서 실행.
USB 시리얼 포트로 쉘을 시작하는데 사용했던 것입니다. 이제는 mavlink를 실행하며 mavlink 상에서 쉘을 사용하는 것이 가능합니다.
사용법
nshterm [arguments...]
<file:dev> Device on which to start the shell (eg. /dev/ttyACM0)
param
소스: systemcmds/param
설명
쉘이나 스크립트로 파라미터를 접근하고 처리하는 명령.
airframe-specific 파라미터를 설정하는 시작 스크립트에서 예제로 사용합니다.
파라미터는 변경되면 자동으로 저장됩니다. 예로 param set
. 이것들은 일반적으로 FRAM이나 SD 카드에 저장됩니다. param select
은 차후 저장을 위한 저장 위치를 변경하는데 사용할 수 있습니다.(매번 부팅마다 (재)설정이 필요합니다)
각 파라미터는 'used' flag를 가지고 있고, 부팅동안 읽히는 경우 설정됩니다. 그라운드 컨트롤 스테이션과 관련 파라미터를만 보여주는데 사용합니다.
예제
airframe을 변경하고 airframe의 디폴트 파라미터가 로드되었는지 확인:
param set SYS_AUTOSTART 4001
param set SYS_AUTOCONFIG 1
reboot
사용법
param <command> [arguments...]
Commands:
load Load params from a file (overwrite all)
[<file>] File name (use default if not given)
import Import params from a file
[<file>] File name (use default if not given)
save Save params to a file
[<file>] File name (use default if not given)
select Select default file
[<file>] File name (use <root>/eeprom/parameters if not given)
show Show parameter values
[-c] Show only changed params
[<filter>] Filter by param name (wildcard at end allowed, eg. sys_*)
set Set parameter to a value
<param_name> <value> Parameter name and value to set
[fail] If provided, let the command fail if param is not found
compare Compare a param with a value. Command will succeed if equal
<param_name> <value> Parameter name and value to compare
greater Compare a param with a value. Command will succeed if param is
greater than the value
<param_name> <value> Parameter name and value to compare
reset Reset params to default
[<exclude1> [<exclude2>]] Do not reset matching params (wildcard at end
allowed)
reset_nostart Reset params to default, but keep SYS_AUTOSTART and
SYS_AUTOCONFIG
[<exclude1> [<exclude2>]] Do not reset matching params (wildcard at end
allowed)
index Show param for a given index
<index> Index: an integer >= 0
index_used Show used param for a given index
<index> Index: an integer >= 0
find Show index of a param
<param> param name
perf
소스: systemcmds/perf
성능 카운터를 출력하는 도구
사용법
perf [arguments...]
reset Reset all counters
latency Print HRT timer latency histogram
Prints all performance counters if no arguments given
pwm
소스: systemcmds/pwm
설명
이 명령은 servo와 ESC 제어를 위한 PWM 출력을 설정하는데 사용합니다.
디폴트 장치 /dev/pwm_output0
가 메인 채널이고 AUX 채널은 /dev/pwm_output1
에 있습니다.(-d
parameter).
PWM 파라미터 (PWM_*
)를 적용하기 위해서 스타트업 스크립트에서 사용됩니다.(혹은 특정 airframe config에서 제공) pwm info
는 현재 셋팅을 보여줍니다.(trim 값은 offset이고 PWM_MAIN_TRIMx
와 PWM_AUX_TRIMx
로 설정)
disarmed 값은 모터가 회전하지 않는 값으로 설정해야만 하며(이는 kill 스위치로 사용할 수도 있음), 회전해야하는 최소값.
채널들을 하나의 그룹에 할당합니다. 하드웨어 제약 때문에, 업데이트 rate는 그룹에 한해서만 설정할 수 있습니다. pwm info
를 사용해서 해당 그룹을 출력할 수 있습니다. -c
인자를 사용하면, 포함된 그룹의 모든 채널은 반드시 포함해야만 합니다.
파라미터 -p
와 -r
은 정수를 지정하는 대신에 파라미터로 지정할 수 있습니다: 예제로 -p p:PWM_MIN을 사용합니다.
OneShot 모드에서 PWM 범위 [1000, 2000]는 자동으로 [125, 250]로 매핑됩니다.
예제
모든 채널을 400 Hz로 PWM rate을 설정:
pwm rate -a -r 400
채널 1과 3의 출력을 테스트하고 PWM 값을 1200 us로 설정:
pwm arm
pwm test -c 13 -p 1200
사용법
pwm <command> [arguments...]
Commands:
arm Arm output
disarm Disarm output
info Print current configuration of all channels
forcefail Force Failsafe mode
on|off Turn on or off
terminatefail Force Termination Failsafe mode
on|off Turn on or off
rate Configure PWM rates
-r <val> PWM Rate in Hz (0 = Oneshot, otherwise 50 to 400Hz)
oneshot Configure Oneshot125 (rate is set to 0)
failsafe Set Failsafe PWM value
disarmed Set Disarmed PWM value
min Set Minimum PWM value
max Set Maximum PWM value
test Set Output to a specific value until 'q' or 'c' or 'ctrl-c'
pressed
steps Run 5 steps from 0 to 100%
The commands 'failsafe', 'disarmed', 'min', 'max' and 'test' require a PWM
value:
-p <val> PWM value (eg. 1100)
The commands 'rate', 'oneshot', 'failsafe', 'disarmed', 'min', 'max', 'test'
and 'steps' additionally require to specify the channels with one of the
following commands:
[-c <val>] select channels in the form: 1234 (1 digit per channel,
1=first)
[-m <val>] Select channels via bitmask (eg. 0xF, 3)
default: 0
[-g <val>] Select channels by group (eg. 0, 1, 2. use 'pwm info' to show
groups)
default: 0
[-a] Select all channels
These parameters apply to all commands:
[-d <val>] Select PWM output device
values: <file:dev>, default: /dev/pwm_output0
[-v] Verbose output
[-e] Exit with 1 instead of 0 on error
reboot
시스템 리부팅
Usage
reboot [arguments...]
[-b] Reboot into bootloader
sd_bench
SD 카드의 속도를 테스트
사용법
sd_bench [arguments...]
[-b <val>] Block size for each read/write
default: 4096
[-r <val>] Number of runs
default: 5
[-d <val>] Duration of a run in ms
default: 2000
[-s] Call fsync after each block (default=at end of each run)
top
소스: systemcmds/top
실행 중인 프로세스, CPU, 스택 사용, 우선순위와 상태를 모니터링
Usage
top [arguments...]
once print load only once
usb_connected
USB가 연결되어 있는지 확인하는 유틸리티. 이전에는 시작 스크립트에서 사용했었음. 리턴값 0은 USB가 연결되어 있다는 뜻이고 그렇지 않은 경우 1.
사용법
usb_connected [arguments...]
ver
소스: systemcmds/ver
여러 버전 정보를 출력하는 도구
사용법
ver <command> [arguments...]
Commands:
hw Hardware architecture
mcu MCU info
git git version information
bdate Build date and time
gcc Compiler info
bdate Build date and time
uid UUID
mfguid Manufacturer UUID
uri Build URI
all Print all versions
hwcmp Compare hardware version (returns 0 on match)
<hw> Hardware to compare against (eg. PX4FMU_V4)