Skip to content

evoggy/cfcli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crazyflie CLI

This is a command line interface (CLI) for the Bitcraze Crazyflie written in Rust. It's intended to be used during development to quickly access various subsystems in the Crazyflie and supports features like:

  • Get console output
  • Log variables
  • Get and set parameters
  • Read and write (as well as display and erase some) memories
  • Configure radio settings like channel, address and speed
  • Turn the platform on/off or put it to sleep/wake it up
  • Run stability tests with the Crazyflie

It's not intended to be used for creating more advanced scripts or functionality, it's better to use the the Crazyflie python library for that.

Installation

If you would like to install the cli for general use use the following command:

cargo install cfcli

Usage

To see how to use the CLI type cfcli in your terminal and you will get the following help message:

Crazyflie command-line client

Usage: cfcli [OPTIONS] <COMMAND>

Commands:
  log       Access to the log subsystem
  param     Access to the parameter subsystem
  mem       Access to the memory subsystem
  config    Configure the Crazyflie (radio settings, etc)
  util      Various supporting utilities for the Crazyflie and its ecosystem
  test      Run tests with the Crazyflie
  platform  Access platform functionality
  scan      List the Crazyflies found while scanning (on the selected address)
  select    Scan for Crazyflies and select which one to save for later interactions
  console   Print the console text from a Crazyflie
  help      Print this message or the help of the given subcommand(s)

Options:
  -n, --no-toc-cache  Do not use TOC cache
  -d, --debug         Enable debug mode
  -h, --help          Print help
  -V, --version       Print version

To use the CLI you must first select which URI to use, this is done by scanning for available Crazyflies and selecting the one you prefer.

cfcli select

If you have a Crazyflie on a different address than the default you can specify it while scanning or selecting:

cfcli select 0xE7E7E7E7E7

Now this URI will be used in all commands until a new one is selected. For instance a parameter can be set using the following command:

cfcli param set motorPowerSet.enable 1

And a log variable can be printed using the following command:

cfcli log print stabilizer.roll 100

Some commands support interactively selecting parameters, like the following commands:

cfcli param get
cfcli param set
cfcli log print
cfcli mem display

Development

If you would like to run it from source use the following command:

git clone https://github.com/evoggy/cfcli.git
cd cfcli
cargo run -- <args>

For example:

cargo run -- select

About

Crazyflie command line interface written in Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages