Aquesta és una versió anterior. La versió actual és la 0.18.0. cfcli 0.18.0 · Data de publicació:
Fitxers d’instal·lació 0.15.0
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| 64 bits | ZIP → Portable | — | — | github.com | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
### New features
• **Listing the attached decks** — the new `deck list` command prints one line per
attached expansion deck with its board name, board revision and serial number.
See [docs/deck.md](docs/deck.md).
```text
Name | Rev | Serial
---------------+-----+--------------------------
bcFlow2 | A | 0DD07B8E0000002D
WiFi camera de | G | 7E0048001250465753393020
```
Both kinds of deck identity memory are covered:`OneWire` decks, where the
serial is the 1-wire ROM id, and `DeckCtrl` decks, where the name and revision
come from the info page and the serial is the deck controller's CPU id. The
serial is reported together with the memory listing, so a deck whose memory
can't be read — a 1-wire memory failing its CRC check, for instance — is still
listed with its serial and `?` in the fields that could not be read, with the
reason on stderr. `--csv` gives machine-readable output. A deck with no
identity memory at all is not listed, since the Crazyflie has no way of knowing
it is there.
• **Verifying memory contents** — `mem verify` takes the same arguments as
`mem write`, but reads the memory back and compares it against the data you
give it, so a write can be confirmed:
```bash
cfcli mem verify DeckMemory -s 0x10000000 -i color-led.bin
```
The number of bytes read back is the length of the expected data, so the same
`--data`/`--input` that wrote a region verifies exactly that region. A match
prints a confirmation and exits **0**; otherwise the differing bytes are listed
with their absolute offsets and the command exits **1**, so a script can act on
it:
```text
Offset | Expected | Actual
-----------+----------+--------
0x00000004 | 0xFF | 0x00
0x00000005 | 0xBD | 0xBC
Error:Verify FAILED: 2 of 32 bytes differ
```
At most 16 differing bytes are listed, the rest are summarised as
`... and N more`. See [docs/memory.md](docs/memory.md).
### Bug fixes
• **Flashing no longer fails on a deck that is already up to date** — the
Lighthouse deck cannot be commanded into its bootloader, and the firmware only
leaves it there while its bitstream is out of date. A running deck is therefore
already up to date, and is now skipped instead of failing the whole flash run.
The Crazyflie is only restarted if something was actually written.
([#6](https://github.com/bitcraze/cfcli/issues/6))
### Improvements
• **Consistent table output** — `param list`/`get`, `log list`, `mem list`,
`loco display` and the new `deck list` now build their tables with
[tabled](https://crates.io/crates/tabled), so columns are sized to fit their
contents instead of being padded to a fixed width. A name longer than the old
fixed width no longer pushes the rest of the row out of alignment, a set of
short names no longer leaves a wide gap before the next column, and numeric
columns are right-aligned. Note that `mem list` changes shape as
part of this — it prints an `ID | Type | Size | Serial` table rather than one
formatted line per memory, so anything parsing that output should use `--csv`,
which is unchanged.
• **Warning when a deck product name is too long** — the product name in the
DeckCtrl info page is stored in a 15 byte field, so `util deck-ctrl bingen`
and `binflash` now warn on stderr when the name in the YAML configuration does
not fit and say how it will be stored. The configuration is still written, so a
name that was already flashed keeps working.
• **Arming moved to the supervisor subsystem** — `hlc arm`/`hlc disarm` now use
the supervisor API in crazyflie-lib, replacing a method deprecated in 0.8.2.
No change in behaviour.
• **crazyflie-link and crazyradio are used through crazyflie-lib** — both are
re-exported by crazyflie-lib, so the exact versions it was built against are
reachable as `crazyflie_lib::crazyflie_link` and no longer have to be direct
dependencies kept manually in sync. `packet_capture` is enabled through the
crazyflie-lib passthrough feature, still on Unix targets only. Internal change,
no difference in behaviour.