Releases: bitcraze/cfcli
0.11.1
cfcli 0.11.1
cfcli has moved to the Bitcraze organization. It is now developed at
github.com/bitcraze/cfcli and its packages are
published from Bitcraze-hosted repositories. Old evoggy/cfcli git and release
links keep working via GitHub redirects.
Packaging changes
-
APT repository moved to
https://packages.bitcraze.io/apt. New installs — and the.deb's post-install step — configure it automatically. The signing key is unchanged, so no key re-import is needed. Existing apt users set up against the oldevoggy.github.ioURL must do a one-time switch:sudo rm -f /etc/apt/sources.list.d/cfcli.list curl -fsSL https://packages.bitcraze.io/apt/bitcraze.gpg.key \ | sudo gpg --dearmor -o /usr/share/keyrings/bitcraze-archive-keyring.gpg echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/bitcraze-archive-keyring.gpg] https://packages.bitcraze.io/apt stable main" \ | sudo tee /etc/apt/sources.list.d/bitcraze.list sudo apt update
See MIGRATION.md for details.
-
Homebrew tap is now
bitcraze/tap— install withbrew tap bitcraze/tap && brew install cfcli. The old tap keeps working via redirect, but retapping is recommended.
0.11.0
cfcli 0.11.0
Improvements
- Simplified deck firmware flashing — deck bootloading now uses the
newflash_firmware_with_progressAPI from crazyflie-lib. The manual
workaround that parsed the deck memory info section and wrote the
firmware size to the command region viaRawMemoryhas been removed —
the library now handles erasing the correct region up front internally.
Dependencies
- Updated to crazyflie-lib 0.8.0 (#8, thanks @gemenerik)
- Updated to crazyflie-link 0.5.0
- Updated to crazyradio 0.7.0
0.10.2
cfcli 0.10.2
Bug fixes
__completeno longer offered in tab-completion — the internal dynamic-completion helper subcommand was showing up as a candidate when completingcfcli <TAB>. It is now dispatched before argument parsing, so it stays out of both--helpand the generated completion scripts (bash, zsh, fish, PowerShell).
0.10.1
cfcli 0.10.1
Bug fixes
- zsh completion now works after
.debinstall — the zsh completion was installed to/usr/share/zsh/site-functions, which is not on the defaultfpathon Debian/Ubuntu, so zsh never loaded it (bash completion was unaffected). It now installs to/usr/share/zsh/vendor-completions, the directory Debian/Ubuntu scan for packaged completions. Active in a new shell after reinstalling.
0.10.0
cfcli 0.10.0
New features
- Shell completion — generate completions for bash, zsh and powershell. Includes dynamic completion of runtime values (e.g. log block names) via helper scripts. See docs/shell-completion.md.
Improvements
- Packet capture enabled by default — the
packet_capturefeature is now on by default. The overhead is low and it's useful to have when you need it. (Not enabled on Windows.) - DeckCtrl rescue bootloading —
bootloadcan now flash the DeckCtrl board even when no decks are detected, so a board with broken software can be recovered. - Transfer speed in progress bar — memory transfers now show the achieved transfer speed once the transfer completes.
Docs
- Added documentation for
test mem-perfthroughput testing.
0.9.0
cfcli 0.9.0
Breaking changes
mem read/mem write—offsetandlengthare now flags (-s,-n), not positional.mem read 5defaults to offset 0, length 32.hlc takeoff/hlc land—heightanddurationare now flags (-z,-d). Both work with no arguments using sensible defaults.hlc trajectory upload— trajectory ID is now the positional argument; YAML path is-i/--input; offset short is-s(was-o).hlc trajectory run—--time-scaleshort changed from-sto-f.log print—periodis now-p/--period.util deck-ctrl binflash—probe_idxis now-p.
New features
lh config— Lighthouse positioning configuration:display(human-readable),read(YAML to stdout/file),write(YAML from file/stdin). See docs/lighthouse.md.debug assert— print the firmware's stored assert info (same mechanism as cfclient's "Assert info" button).--wait-timeout-mstunes the per-command wait on slow links. See docs/debug.md.test link-perf— link benchmark over the CRTP link service. Subtests:ping,uplink,downlink,echo,all. See docs/test.md.test mem-perf— throughput benchmark against the firmware MemoryTester.- Memory type names —
mem read/write/display/eraseaccept type names (e.g.DeckCtrlDFU,Lighthouse) so commands stay stable across firmwares. Multiple instances disambiguated asDeckMemory:0,DeckMemory:1. Numeric IDs still work. - DeckCtrl bootloading — new
deckctrl-fwanddeckctrl-cfgtargets flash the DeckCtrl board via the DeckCtrlDFU memory path. - bcCam flash target — bootloader supports the Bitcraze camera deck (
bcCam:qcc). mem display DeckCtrlDFU— formatted view (version, deck-ctrl count, DFU status flags).
Improvements
-yshort for--yawonhlc takeoff,hlc land,hlc goto.bootload flash --coldwith a usb:// URI is now accepted (rescue mode ignores the URI and scans for the bootloader).- USB links bypass
--timeout— the global timer no longer applies tousb://connections.
Scripting / AI-agent friendliness
A pass to make cfcli predictable when driven from scripts or by AI agents:
- Global
--timeout <ms>— wall-clock cap. Streaming commands (console,log print,cr sniff) exit0on timeout; bounded commands exit40. - Global
--non-interactive— disablesinquirepickers. Auto-enabled when stdin is not a TTY; commands that would otherwise prompt exit30with the missing-argument name. - Global
--csv— machine-readable CSV forscan,param list/get,log list/print,mem list,platform info,test link-perf. - Distinct exit codes —
0success,2clap usage,10connection failure,20not found,30invalid value,40timeout on a bounded command. Documented in the--helpepilog. console --clear— delete the preserved console history file without connecting.settings shownow prints the preserved-console-history file path.- Connection spinner removed — captured output stays clean;
--debugstill prints connection time on stderr. - Progress bars suppressed in non-TTY output for
mem read/write, bootloader flashing, and the stability/reboot tests. --helpepilog documents exit codes, streaming commands, scripting flags, and a worked example.
0.8.0
New features
- Persist console output across commands with the new
-p/--preserve-consoleglobal flag. When enabled, console data from every connection is saved to disk and accumulated across invocations. Runningcfcli consoleprints the saved history first, then continues with live output, and clears the cache. Useful for capturing debug prints that occur duringparam set,log print, or other short-lived commands. See docs/console.md for details.
Maintenance
- Updated
Cargo.lockto avoid platform version incompatibilities.
0.7.1
Updated release scripts to check that tag matches the Cargo.toml version. Otherwise same as https://github.com/evoggy/cfcli/releases/tag/0.7.0
0.7.0
New features
- Crazyradio subcommand (
cr) — new top-level command for direct Crazyradio dongle operations that don't require a Crazyflie connection:cr list— list connected Crazyradio USB dongles with serial number, firmware version, and USB bus informationcr sniff— sniff radio packets on a given channel, datarate, and address. Prints pipe, RSSI, timestamp, and payload for each received packetcr broadcast— send a single packet (no ack) with data provided inline (--data) or from a binary file (--input)
Improvements
- Use the new power management function from the library instead of the local implementation
- Updated dependencies
0.6.2
New features
- Added option for flashing binaries to a specific address/page offset
- Print more bootloader info during flash operations
Bug fixes
- Fixed missing console output
- Fixed issue with bootloader URI and timeout parameter