CleanFlight CLI Command Reference

CleanFlight CLI Command Reference

Command

Description

1wire <esc>

passthrough 1wire to the specified esc

adjrange

show/set adjustment ranges settings

aux

show/set aux settings

mmix

design custom motor mixer

smix

design custom servo mixer

color

configure colors

defaults

reset to defaults and reboot

dump

print configurable settings in a pastable form

exit

feature

list or -val or val

get

get variable value

gpspassthrough

passthrough gps to serial

help

led

configure leds

map

mapping of rc channel order

mixer

mixer name or list

motor

get/set motor output value

play_sound

index, or none for next

profile

index (0 to 2)

rateprofile

index (0 to 2)

rxrange

configure rx channel ranges (end-points)

save

save and reboot

set

name=value or blank or * for list

status

show system status

version

 

CleanFlight CLI Variable Reference

Variable

Description/Units

Min

Max

Default

Type

Datatype

looptime

This is the main loop time (in us). Changing this affects PID effect with some PID controllers (see PID section for details). Default of 3500us/285Hz should work for everyone. Setting it to zero does not limit loop time, so it will go as fast as possible.

0

9000

3500

Master

UINT16

emf_avoidance

Default value is 0 for 72MHz processor speed. Setting this to 1 increases the processor speed, to move the 6th harmonic away from 432MHz.

OFF

ON

OFF

Master

UINT8

i2c_highspeed

Enabling this feature speeds up IMU speed significantly and faster looptimes are possible.

OFF

ON

ON

Master

UINT8

gyro_sync

This option enables gyro_sync feature. In this case the loop will be synced to gyro refresh rate. Loop will always wait for the newest gyro measurement. Use gyro_lpf and gyro_sync_denom determine the gyro refresh rate. Note that different targets have different limits. Setting too high refresh rate can mean that FC cannot keep up with the gyro and higher gyro_sync_denom is needed,

OFF

ON

ON

Master

UINT8

gyro_sync_denom

This option determines the sampling ratio. Denominator of 1 means full gyro sampling rate. Denominator 2 would mean 1/2 samples will be collected. Denominator and gyro_lpf will together determine the control loop speed.

0

1

1

Master

UINT8

mid_rc

This is an important number to set in order to avoid trimmingreceiver/transmitter. Most standard receivers will have this at 1500, however Futaba transmitters will need this set to 1520. A way to find out if this needs to be changed, is to clear all trim/subtrim on transmitter, and connect to GUI. Note the value most channels idle at - this should be the number to choose. Once midrc is set, use subtrim on transmitter to make sure all channels (except throttle of course) are centered at midrc value.

1200

1700

1500

Master

UINT16

min_check

These are min/max values (in us) which, when a channel is smaller (min) or larger (max) than the value will activate various RC commands, such as arming, or stick configuration. Normally, every RC channel should be set so that min = 1000us, max = 2000us. On most transmitters this usually means 125% endpoints. Default check values are 100us above/below this value.

0

2000

1100

Master

UINT16

max_check

These are min/max values (in us) which, when a channel is smaller (min) or larger (max) than the value will activate various RC commands, such as arming, or stick configuration. Normally, every RC channel should be set so that min = 1000us, max = 2000us. On most transmitters this usually means 125% endpoints. Default check values are 100us above/below this value.

0

2000

1900

Master

UINT16

rssi_channel

0

18

0

Master

INT8

rssi_scale

1

255

30

Master

UINT8

rssi_ppm_invert

0

1

0

Master

UINT8

input_filtering_mode

0

1

0

Master

INT8

rc_smoothing

Interpolation of Rc data during looptimes when there are no new updates. This gives smoother RC input to PID controller and cleaner PIDsum

OFF

ON

ON

Master

INT8

min_throttle

These are min/max values (in us) that are sent to esc when armed. Defaults of 1150/1850 are OK for everyone, for use with AfroESC, they could be set to 1064/1864.

0

2000

1150

Master

UINT16

max_throttle

These are min/max values (in us) that are sent to esc when armed. Defaults of 1150/1850 are OK for everyone, for use with AfroESC, they could be set to 1064/1864. If you have brushed motors, the value should be set to 2000.

0

2000

1850

Master

UINT16

min_command

This is the PWM value sent to ESCs when they are not armed. If ESCs beep slowly when powered up, try decreasing this value. It can also be used for calibrating all ESCs at once.

0

2000

1000

Master

UINT16

servo_center_pulse

0

2000

1500

Master

UINT16

3d_deadband_low

0

2000

1406

Master

UINT16

3d_deadband_high

0

2000

1514

Master

UINT16

3d_neutral

0

2000

1460

Master

UINT16

3d_deadband_throttle

0

2000

50

Master

UINT16

motor_pwm_rate

Output frequency (in Hz) for motor pins. Defaults are 400Hz for motor. If setting above 500Hz, will switch to brushed (direct drive) motors mode. For example, setting to 8000 will use brushed mode at 8kHz switching frequency. Up to 32kHz is supported. Default is 16000 for boards with brushed motors. Note, that in brushed mode, minthrottle is offset to zero. For brushed mode, set max_throttle to 2000.

50

32000

400

Master

UINT16

servo_pwm_rate

Output frequency (in Hz) servo pins. Default is 50Hz. When using tricopters or gimbal with digital servo, this rate can be increased. Max of 498Hz (for 500Hz pwm period), and min of 50Hz. Most digital servos will support for example 330Hz.

50

498

50

Master

UINT16

servo_lowpass_freq

Selects the servo PWM output cutoff frequency. Valid values range from 10 to 400. This is a fraction of the loop frequency in 1/1000ths. For example,40 means 0.040. The cutoff frequency can be determined by the following formula: Frequency = 1000 * servo_lowpass_freq / looptime

10

400

400

Master

INT16

servo_lowpass_enable

Disabled by default.

OFF

ON

OFF

Master

INT8

retarded_arm

Disabled by default, enabling (setting to 1) allows disarming by throttle low + roll. This could be useful for mode-1 users and non-acro tricopters, where default arming by yaw could move tail servo too much.

OFF

ON

OFF

Master

UINT8

disarm_kill_switch

Enabled by default. Disarms the motors independently of throttle value. Setting to 0 reverts to the old behaviour of disarming only when the throttle is low. Only applies when arming and disarming with an AUX channel.

OFF

ON

ON

Master

UINT8

auto_disarm_delay

0

60

5

Master

UINT8

small_angle

If the copter tilt angle exceed this value the copter will refuse to arm. default is 25°.

0

180

25

Master

UINT8

pid_at_min_throttle

If enabled, the copter will process the pid algorithm at minimum throttle. Cannot be used when retarded_armis enabled.

OFF

ON

ON

Master

UINT8

airmode_saturation_limit

When air mode is enabled this will act as a "crash detection". It prevents too much compensation for very high errors what can cause spazzing out. 0 = no limit 100 is always limited during saturation.

0

100

50

Master

UINT8

flaps_speed

0

100

0

Master

UINT8

fixedwing_althold_dir

-1

1

1

Master

INT8

reboot_character

48

126

82

Master

UINT8

gps_provider

NMEA, UBLOX

NMEA

Master

UINT8

gps_sbas_mode

EGNOS, WAAS, MSAS, GAGAN

AUTO

Master

UINT8

gps_auto_config

OFF

ON

ON

Master

UINT8

gps_auto_baud

OFF

ON

OFF

Master

UINT8

gps_pos_p

0

200

15

Profile

UINT8

gps_pos_i

0

200

0

Profile

UINT8

gps_pos_d

0

200

0

Profile

UINT8

gps_posr_p

0

200

34

Profile

UINT8

gps_posr_i

0

200

14

Profile

UINT8

gps_posr_d

0

200

53

Profile

UINT8

gps_nav_p

0

200

25

Profile

UINT8

gps_nav_i

0

200

33

Profile

UINT8

gps_nav_d

0

200

83

Profile

UINT8

gps_wp_radius

0

2000

200

Profile

UINT16

nav_controls_heading

OFF

ON

ON

Profile

UINT8

nav_speed_min

10

2000

100

Profile

UINT16

nav_speed_max

10

2000

300

Profile

UINT16

nav_slew_rate

0

100

30

Profile

UINT8

serialrx_provider

When feature SERIALRX is enabled, this allows connection to several receivers which output data via digital interface resembling serial. See RX section.

0

6

0

Master

UINT8

sbus_inversion

Standard SBUS (Futaba, FrSKY) uses an inverted signal. Some OpenLRS receivers produce a non-inverted SBUS signal. This setting is to support this type of receivers (including modified FrSKY). This only works on supported hardware (mainly F3 based flight controllers).

OFF

ON

ON

Master

UINT8

spektrum_sat_bind

0

10

0

Master

UINT8

telemetry_switch

Which aux channel to use to change serial output & baud rate (MSP / Telemetry). It disables automatic switching to Telemetry when armed.

OFF

ON

OFF

Master

UINT8

telemetry_inversion

OFF

ON

OFF

Master

UINT8

frsky_default_lattitude

-90

90

0

Master

FLOAT

frsky_default_longitude

-180

180

0

Master

FLOAT

frsky_coordinates_format

0

1

0

Master

UINT8

frsky_unit

*

Master

UINT8

battery_capacity

0

20000

0

Master

UINT16

vbat_scale

Result is Vbatt in 0.1V steps. 3.3V = ADC Vref, 4095 = 12bit adc, 110 = 11:1 voltage divider (10k:1k) x 10 for 0.1V. Adjust this slightly if reported pack voltage is different from multimeter reading. You can get current voltage by typing "status"" in cli."

0

255

110

Master

UINT8

vbat_max_cell_voltage

Maximum voltage per cell, used for auto-detecting battery voltage in 0.1V units, default is 43 (4.3V)

10

50

43

Master

UINT8

vbat_min_cell_voltage

Minimum voltage per cell, this triggers battery out alarms, in 0.1V units, default is 33 (3.3V)

10

50

33

Master

UINT8

vbat_warning_cell_voltage

10

50

35

Master

UINT8

current_meter_scale

This sets the output voltage to current scaling for the current sensor in 0.1 mV/A steps. 400 is 40mV/A such as the ACS756 sensor outputs. 183 is the setting for the uberdistro with a 0.25mOhm shunt.

-10000

10000

400

Master

INT16

current_meter_offset

This sets the output offset voltage of the current sensor in millivolts.

0

3300

0

Master

UINT16

multiwii_current_meter_output

Default current output via MSP is in 0.01A steps. Setting this to 1 causes output in default multiwii scaling (1mA steps).

OFF

ON

OFF

Master

UINT8

current_meter_type

0

2

1

Master

UINT8

align_gyro

When running on non-default hardware or adding support for new sensors/sensor boards, these values are used for sensor orientation. When carefully understood, these values can also be used to rotate (in 90deg steps) or flip the board. Possible values are: DEFAULT, CW0, CW90, CW180, CW270, CW0FLIP, CW90FLIP, CW180FLIP, CW270FLIP.

DEFAULT

Master

UINT8

align_acc

When running on non-default hardware or adding support for new sensors/sensor boards, these values are used for sensor orientation. When carefully understood, these values can also be used to rotate (in 90deg steps) or flip the board. Possible values are: DEFAULT, CW0, CW90, CW180, CW270, CW0FLIP, CW90FLIP, CW180FLIP, CW270FLIP.

DEFAULT

Master

UINT8

align_mag

When running on non-default hardware or adding support for new sensors/sensor boards, these values are used for sensor orientation. When carefully understood, these values can also be used to rotate (in 90deg steps) or flip the board. Possible values are: DEFAULT, CW0, CW90, CW180, CW270, CW0FLIP, CW90FLIP, CW180FLIP, CW270FLIP.

DEFAULT

Master

UINT8

align_board_roll

Arbitrary board rotation in degrees, to allow mounting it sideways / upside down / rotated etc

-180

360

0

Master

INT16

align_board_pitch

Arbitrary board rotation in degrees, to allow mounting it sideways / upside down / rotated etc

-180

360

0

Master

INT16

align_board_yaw

Arbitrary board rotation in degrees, to allow mounting it sideways / upside down / rotated etc

-180

360

0

Master

INT16

max_angle_inclination

This setting controls max inclination (tilt) allowed in angle (level) mode. default 500 (50 degrees).

100

900

500

Master

UINT16

gyro_lpf

Hardware lowpass filter for gyro. Allowed values depend on the driver - For example MPU6050 allows 10HZ,20HZ,42HZ,98HZ,188HZ,256Hz (8khz mode). If you have to set gyro lpf below 42Hz generally means the frame is vibrating too much, and that should be fixed first.

10HZ

256HZ

42HZ

Master

UINT16

moron_threshold

When powering up, gyro bias is calculated. If the model is shaking/moving during this initial calibration, offsets are calculated incorrectly, and could lead to poor flying performance. This threshold (default of 32) means how much average gyro reading could differ before re-calibration is triggered.

0

128

32

Master

UINT8

gyro_cmpf_factor

This setting controls the Gyro Weight for the Gyro/Acc complementary filter. Increasing this value reduces and delays Acc influence on the output of the filter.

100

1000

600

Master

UINT16

gyro_cmpfm_factor

This setting controls the Gyro Weight for the Gyro/Magnetometer complementary filter. Increasing this value reduces and delays the Magnetometer influence on the output of the filter.

100

1000

250

Master

UINT16

alt_hold_deadband

1

250

40

Profile

UINT8

alt_hold_fast_change

OFF

ON

ON

Profile

UINT8

deadband

These are values (in us) by how much RC input can be different before it's considered valid for roll and pitch axis. For transmitters with jitter on outputs, this value can be increased. Defaults are zero, but can be increased up to 10 or so if rc inputs twitch while idle. This value is applied either side of the centrepoint.

0

32

0

Profile

UINT8

yaw_deadband

These are values (in us) by how much RC input can be different before it's considered valid for the yaw axis. For transmitters with jitter on outputs, this value can be increased. Defaults are zero, but can be increased up to 10 or so if rc inputs twitch while idle. This value is applied either side of the centrepoint.

0

100

0

Profile

UINT8

throttle_correction_value

The throttle_correction_value will be added to the throttle input. It will be maximal at the throttle_correction_angle and over, null when the copter is leveled and proportional in bewteen. The angle is set with 0.1 deg steps from 1 to 900, ie : 300 = 30.0 deg, 225 = 22.5 deg.

0

150

0

Profile

UINT8

throttle_correction_angle

The throttle_correction_value will be added to the throttle input. It will be maximal at the throttle_correction_angle and over, null when the copter is leveled and proportional in bewteen. The angle is set with 0.1 deg steps from 1 to 900, ie : 300 = 30.0 deg, 225 = 22.5 deg.

1

900

800

Profile

UINT16

yaw_control_direction

-1

1

1

Master

INT8

yaw_motor_direction

-1

1

1

Profile

INT8

yaw_jump_prevention_limit

Prevent yaw jumps during yaw stops. To disable set to 500.

80

500

200

Master

UINT16

tri_unarmed_servo

On tricopter mix only, if this is set to 1, servo will always be correcting regardless of armed state. to disable this, set it to 0.

OFF

ON

ON

Profile

INT8

default_rate_profile

Default = profile number

0

2

Profile

UINT8

rc_rate

0

250

90

Rate Profile

UINT8

rc_expo

0

100

65

Rate Profile

UINT8

rc_yaw_expo

0

100

0

Rate Profile

UINT8

thr_mid

0

100

50

Rate Profile

UINT8

thr_expo

0

100

0

Rate Profile

UINT8

roll_pitch_rate

0

100

0

Rate Profile

UINT8

yaw_rate

0

100

0

Rate Profile

UINT8

tpa_rate

Throttle PID attenuation reduces influence of P on ROLL and PITCH as throttle increases. For every 1% throttle after the TPA breakpoint, P is reduced by the TPA rate.

0

100

0

Rate Profile

UINT8

tpa_breakpoint

See tpa_rate.

1000

2000

1500

Rate Profile

UINT16

failsafe_delay

Time in deciseconds to wait before activating failsafe when signal is lost. See Failsafe documentation.

0

200

10

Profile

UINT8

failsafe_off_delay

Time in deciseconds to wait before turning off motors when failsafe is activated. See Failsafe documentation.

0

200

200

Profile

UINT8

failsafe_throttle

Throttle level used for landing when failsafe is enabled. See Failsafe documentation.

1000

2000

1000

Profile

UINT16

rx_min_usec

Defines the shortest pulse width value used when ensuring the channel value is valid. If the receiver gives a pulse value lower than this value then the channel will be marked as bad and will default to the value ofmid_rc.

100

2000

885

Profile

UINT16

rx_max_usec

Defines the longest pulse width value used when ensuring the channel value is valid. If the receiver gives a pulse value higher than this value then the channel will be marked as bad and will default to the value ofmid_rc.

100

3000

2115

Profile

UINT16

gimbal_mode

When feature SERVO_TILT is enabled, this can be either NORMAL or MIXTILT

NORMAL

Profile

UINT8

acc_hardware

This is used to suggest which accelerometer driver should load, or to force no accelerometer in case gyro-only flight is needed. Default (0) will attempt to auto-detect among enabled drivers. Otherwise, to force a particular device, set it to 2 for ADXL345, 3 for MPU6050 integrated accelerometer, 4 for MMA8452, 5 for BMA280, 6 for LSM303DLHC, 7 for MPU6000, 8 for MPU6500 or 1 to disable accelerometer alltogether - resulting in gyro-only operation.

0

9

0

Master

UINT8

acc_lpf_factor

This setting controls the Low Pass Filter factor for ACC. Increasing this value reduces ACC noise (visible in GUI), but would increase ACC lag time. Zero = no filter

0

250

4

Profile

UINT8

accxy_deadband

0

100

40

Profile

UINT8

accz_deadband

0

100

40

Profile

UINT8

accz_lpf_cutoff

1

20

5

Profile

FLOAT

acc_unarmedcal

OFF

ON

ON

Profile

UINT8

acc_trim_pitch

-300

300

0

Profile

INT16

acc_trim_roll

-300

300

0

Profile

INT16

baro_tab_size

0

48

21

Profile

UINT8

baro_noise_lpf

0

1

0.6

Profile

FLOAT

baro_cf_vel

0

1

0.985

Profile

FLOAT

baro_cf_alt

0

1

0.965

Profile

FLOAT

mag_hardware

0 = Default, use whatever mag hardware is defined for your board type ; 1 = None, disable mag ; 2 = HMC5883 ; 3 = AK8975 (for versions <= 1.7.1: 1 = HMC5883 ; 2 = AK8975 ; 3 = None, disable mag)

0

3

0

Master

UINT8

mag_declination

Current location magnetic declination in format. For example, -6deg 37min, = for Japan. Leading zero in ddd not required. Get your local magnetic declination here: http://magnetic-declination.com/

-18000

18000

0

Profile

INT16

pid_controller

MW23, MWREWRITE, LUX

MWREWRITE

Profile

UINT8

p_pitch

0

200

40

Profile

UINT8

i_pitch

0

200

30

Profile

UINT8

d_pitch

0

200

23

Profile

UINT8

p_roll

0

200

40

Profile

UINT8

i_roll

0

200

30

Profile

UINT8

d_roll

0

200

23

Profile

UINT8

p_yaw

0

200

85

Profile

UINT8

i_yaw

0

200

45

Profile

UINT8

d_yaw

0

200

0

Profile

UINT8

p_pitchf

0

100

1.5

Profile

FLOAT

i_pitchf

0

100

0.4

Profile

FLOAT

d_pitchf

0

100

0.03

Profile

FLOAT

p_rollf

0

100

1.5

Profile

FLOAT

i_rollf

0

100

0.4

Profile

FLOAT

d_rollf

0

100

0.03

Profile

FLOAT

p_yawf

0

100

2.5

Profile

FLOAT

i_yawf

0

100

1.0

Profile

FLOAT

d_yawf

0

100

0.00

Profile

FLOAT

level_horizon

0

10

3

Profile

FLOAT

level_angle

0

10

5

Profile

FLOAT

sensitivity_horizon

0

250

75

Profile

UINT8

p_alt

0

200

50

Profile

UINT8

i_alt

0

200

0

Profile

UINT8

d_alt

0

200

0

Profile

UINT8

p_level

0

200

20

Profile

UINT8

i_level

0

200

10

Profile

UINT8

d_level

0

200

100

Profile

UINT8

p_vel

0

200

120

Profile

UINT8

i_vel

0

200

45

Profile

UINT8

d_vel

0

200

1

Profile

UINT8

dterm_cut_hz

Lowpass cutoff filter for Dterm for all PID controllers

0

200

0

Profile

UINT8

pterm_cut_hz

Lowpass cutoff filter for Pterm for all PID controllers

0

200

0

Profile

UINT8

gyro_cut_hz

Lowpass cutoff filter for gyro input

0

200

0

Profile

UINT8

yaw_jump_prevention_limit

Yaw Jump Prevention Limit, adjust this if your aircraft 'skids out'

80

500

200

Profile

UINT16

yaw_p_limit

Limiter for yaw P term. This parameter is only affecting PID controller MW23. To disable set to 500 (actual default).

100

500

500

Profile

UINT16

blackbox_rate_num

1

32

1

Master

UINT8

blackbox_rate_denom

1

32

1

Master

UINT8

 

CleanFlight Backup via CLI

Disconnect main power, connect to cli via USB/FTDI.

dump using cli

rateprofile 0

profile 0

dump

dump profiles using cli if you use them

profile 1

dump profile

profile 2

dump profile

dump rate profiles using cli if you use them

rateprofile 1

dump rates

rateprofile 2

dump rates

copy screen output to a file and save it.

 

CleanFlight Restore via CLI.

Use the cli defaults command first.

When restoring from a backup it is a good idea to do a dump of the latest defaults so you know what has changed - if you do this each time a firmware release is created youwill be able to see the cli changes between firmware versions. For instance, in December 2014 the default GPS navigation PIDs changed. If you blindly restore your backup you would not benefit from these new defaults.

Use the CLI and send all the output from the saved backup commands.

Do not send the file too fast, if you do the FC might not be able to keep up when using USART adapters (including built in ones) since there is no hardware serial flow control.

You may find you have to copy/paste a few lines at a time.

Repeat the backup process again!

Compare the two backups to make sure you are happy with your restored settings.

Re-apply any new defaults as desired.

위로 스크롤