Skip to content

Latest commit

 

History

History
107 lines (76 loc) · 3.51 KB

File metadata and controls

107 lines (76 loc) · 3.51 KB

Parameters

The parameter subsystem provides access to configuration variables on the Crazyflie. Parameters can be read and written, and some support persistent storage in EEPROM so they survive reboots.

For more information on how to use the logging and parameter subsystems see this link

Usage: cfcli param <COMMAND>

Commands:
  list        List all available variables
  get         Read the value of a parameter
  set         Set the value of a parameter
  store       Store the current value of a parameter to EEPROM
  clear       Clear a stored parameter value from EEPROM (reverts to firmware default)
  help        Print this message or the help of the given subcommand(s)

List available parameters

cfcli param list

This will produce an output similar to this:

Name                           | Access | Persistent | Value/Stored
-------------------------------|--------|------------|------------
activeMarker.back              |   RW   | Yes        | U8(1)
activeMarker.front             |   RW   | Stored     | U8(3)/U8(3)
commander.enHighLevel          |   RW   |            | U8(0)
firmware.revision0             |   RO   |            | U16(14906)
...

Where Access is either RW (read-write) or RO (read-only), and Persistent shows whether the parameter supports EEPROM storage (Yes), has a value currently stored (Stored), or is blank if not persistent. The Value/Stored column shows the current value, and when a value is stored, shows value/stored.

Get parameter values

Read the value of one or more parameters by specifying comma-separated names:

cfcli param get ring.effect,activeMarker.back

The output includes persistent storage information for each parameter:

Name                           | Access | Persistent | Default         | Stored Value    | Value
-------------------------------|--------|------------|-----------------|-----------------|------
ring.effect                    |   RW   | No         | U8(0)           |                 | U8(6)
activeMarker.back              |   RW   | Yes        | U8(1)           | U8(3)           | U8(3)

The Persistent column shows whether a value is stored in EEPROM (Yes/No), Default shows the firmware default, and Stored Value shows the EEPROM value if any. Parameters that don't support persistence have these columns blank.

If no names are provided, an interactive selection prompt will be shown.

Set parameter values

Set one or more parameters using comma-separated name=value pairs:

cfcli param set ring.effect=10,ring.solidRed=100

If no parameters are provided, an interactive prompt will let you select writable parameters and enter values.

Persist after setting

Use --store to automatically store the value to EEPROM after setting it, so it survives reboots:

cfcli param set ring.effect=10 --store

Persistent parameters

Some parameters support persistent storage in the Crazyflie's EEPROM. When stored, these values are automatically restored on boot instead of using the firmware default. The get command shows the persistent state for each parameter.

Store to EEPROM

Store the current value of a parameter to EEPROM so it persists across reboots:

cfcli param store ring.effect

Clear from EEPROM

Clear a stored value from EEPROM, reverting the parameter to its firmware default on the next boot:

cfcli param clear ring.effect