Cfcli is a command-line interface (CLI) designed to control and interact with Bitcraze Crazyflie drones. It provides developers and researchers with tools to manage firmware, access logs, configure parameters, and perform system operations.
Key Features:
Firmware Management: Flash firmware for nRF51, STM32F4 boards, and Crazyflie decks.
Console Output: View real-time console data from the Crazyflie.
Log Variables: Monitor and log variables such as stabilizer roll or pitch.
Parameter Management: Set and retrieve parameters to customize drone behavior.
Memory Operations: Read, write, display, or erase memory contents.
Radio Configuration: Adjust radio settings like channel, address, and speed.
Audience & Benefit:
Ideal for developers and researchers working on Crazyflie projects, cfcli simplifies interaction with the drone's subsystems without requiring custom script development. It enables quick testing, debugging, and system configuration, streamlining the development process.
Installation via winget is supported for easy setup.
README
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:
Flash firmware (nRF51/STM32F4 as well as decks)
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
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]
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
bootload Bootload the Crazyflie and decks
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
loco Loco Positioning System
hlc High-level commander operations (takeoff, land, go-to, trajectory, etc.)
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
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 --
For example:
cargo run -- select
Cross compilation
Compilation for linux on other platform is possible using the cross tool.
It requires both cross and [docker or podman] to be installed.
# Install podman or docker ...
# To install cross
cargo install cross
# To compile for ARM64
cross build --target aarch64-unknown-linux-gnu
# The resulting executable is now in ./target/aarch64-unknown-linux-gnu/debug/cfcli