Skip to content

Pulling the latest bitcraze lib #1

Open
williamleferrand wants to merge 1124 commits intohivyleague:esp-dronefrom
bitcraze:master
Open

Pulling the latest bitcraze lib #1
williamleferrand wants to merge 1124 commits intohivyleague:esp-dronefrom
bitcraze:master

Conversation

@williamleferrand
Copy link
Member

No description provided.

gemenerik and others added 29 commits November 12, 2024 12:51
0.1.27.dev0 is considered < 1.1.27 breaking compatibility with latest cfclient release

New version is considered pre-release of 0.1.27.1
Modernize Python Packaging: Transition to pyproject.toml and PyPI Trusted Publishing
Identical to cfclient
On all supported OSes and Python versions
Dependency update, Py313 doc, and automatic versioning
Nightly Build: Use Visual Studio for compiling wheels on Windows
gemenerik and others added 30 commits October 22, 2025 15:52
Use correct updated parameter name
Correctly pack color
Changed the color type from rgbw to wrgb and reordered parameters to (w, r, g, b)
to better reflect the actual data packet structure (0xWWRRGGBB).
Add LED Deck Example Scripts
Color LED examples now detect which deck variant is present (bottom
or top-facing) and use the first one found. This keeps examples simple
while supporting both colorLedBot and colorLedTop parameter groups.
Enhance target handling in Bootloader to support multiple targets
Add auto-detection for color LED deck variants in examples
Updated description to clarify library capabilities and supported models.
Increased the delay after flashing a deck
Use np.linalg.eigh instead of np.linalg.eig for the symmetric matrix
Q.T @ Q. eigh is designed for symmetric matrices and guarantees real
eigenvalues/eigenvectors, whereas eig can return complex values due to
numerical precision. This fixes a dtype mismatch error in scipy's
Rotation.from_quat which now strictly validates input types.
Add DeckCtrlElement class and integrate with Memory management
Use new V2 commands (MISC_GET_EXTENDED_TYPE_V2, MISC_GET_DEFAULT_VALUE_V2)
when protocol >= 11 to get unambiguous success/error responses.
Add CRTP protocol v11 support for param MISC commands
Library projects should not commit lock files - users need flexibility
to resolve dependencies against their own environment.
When the nRF51 bootloader reports a dirty build (bit 0x80 set in the
version data), cflib constructed a version string ending in bare "+",
e.g. "2024.1.0+". This is invalid PEP 440 and causes
packaging.version.Version() to raise an error during flashing.

This likely started failing when the packaging library tightened its
PEP 440 validation in a newer release.

Reproducible with any Crazyflie running custom-built nRF51 firmware
(which sets the dirty bit). Fix changes the suffix from "+" to "+dirty"
which is valid PEP 440.

Tested by flashing a Crazyflie with dirty nRF51 bootloader firmware.
The bootloader's VERSION_DIRTY flag doesn't only mean uncommitted
changes; it's set for any non-release build, including commits ahead
of the latest tag or release candidate tags. "+dev" better reflects
that.
…ring

Fix invalid PEP 440 version string from nRF51 bootloader dirty bit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.