We are thrilled to announce the new 2022.1 release of the Crazyflie firmwares, library and client! There have been a lot of bug fixes, polishing and new features and we are glad we finally get to share it with all of you.
Noteworthy features and fixes
The features and fixes listed here is only a subset of all the bug fixes and other additions we have done in the last six months. For a more complete view, please check the release notes on GitHub.
Crazyflie STM firmware — Main firmware
- We now allow the creation of persistent parameters in the firmware
- This enables you to set a value that will remain across resets and even across upgrades
- This enables you to set a value that will remain across resets and even across upgrades
- Matěj Karásek added support for …
- It is now possible to override and control the onboard LEDs from ground
- This is achieved by setting a new parameter: led.bitmask
- Using this one could, for instance, implement a stealth mode with no LEDs active
- James Preiss implemented a new push-based high-level commander
- There is now an attempt to gracefully shutdown when you press the power button
- The main driver for this was to avoid SD card corruption
- The main driver for this was to avoid SD card corruption
- While implementing the autonomous swarm demo for BAM days Kristoffer found and fixed issues and bugs in our Peer-to-peer (P2P) implementation
Crazyflie NRF firmware — Radio and power management
- We now report the version of the NRF firmware on the Crazyflie console
- Found and fixed a couple of issues with BLE and P2P
- It is now possible to control the blue LED via the syslink protocol
Crazyflie Python library — The official Python API
- We increased the minimum Python version required to 3.7
- Python 3.6 is not officially supported by python.org anymore
- Python 3.6 is not officially supported by python.org anymore
- An initial version of persistent parameter API was added
- As well as an example script
- As well as an example script
- A new connection query parameter rate_limit= was added to the radio URI
- The idea is that will help with air-time when doing P2P connections
- The idea is that will help with air-time when doing P2P connections
- It is now possible to debug the radio communication using Wireshark
- Added support for compressed trajectories for the High Level Commander
- Switch to using the Pypi packaged libusb library
- This will simplify the usage of the lib in MacOS and allow the use of the winUSB driver on Windows
- This will simplify the usage of the lib in MacOS and allow the use of the winUSB driver on Windows
- We no longer set the PID controller by default in the PositionHLCommander
- Since this could lead to surprising behavior when the cfclient instantiated the commander
- Since this could lead to surprising behavior when the cfclient instantiated the commander
- Some helpers so get estimated positions have been added to the Swarm class
Crazyflie Client — The Crazyflie PC client
- Rework of the Parameters tab
- To better show parameter documentation and to include persistent functionality
- We fixed problems with receiving Loco data
- Adjust to new QTM version in the Qualisys tab
- Make sure we support Python 3.10
Documentation
Along with all the new features, bug fixes and general polish of our software we have also spent time making sure our documentation is up-to-date and relevant! You can check it out on our website. Do not forget to check out the individual repositories documentation. And the tutorial page has gotten some love this cycle, check it out!
Please go forth and install this new release and please file issues with any problem you find!
Where to get it?
The firmware images for the Crazyflie STM firmware and the Crazyflie NRF firmware should already be available through the cfclient. And if you want to download them yourself you can find them at https://github.com/bitcraze/crazyflie-firmware/releases.
The Crazyflie Client and the Crazyflie Python library are available through Pypi (The Python Package Index), to install them you can use the following commands:
$ python3 -m pip install --upgrade cfclient # to install or upgrade the Crazyflie client
$ python3 -m pip install --upgrade cflib # to install or upgrade the Crazyflie Python library
Code language: PHP (php)
Happy hacking!