Skip to content

Pulling the latest bitcraze lib #1

Open
williamleferrand wants to merge 1152 commits into
hivyleague:esp-dronefrom
bitcraze:master
Open

Pulling the latest bitcraze lib #1
williamleferrand wants to merge 1152 commits into
hivyleague:esp-dronefrom
bitcraze:master

Conversation

@williamleferrand

Copy link
Copy Markdown
Member

No description provided.

gemenerik and others added 29 commits November 22, 2024 11:31
This dependency check is now redundant with the nightly build
Add serial reader to the log and remove N/A
Disarming is automatic after flight.
Manually arm Crazyflies in all examples
Exclude py 3.13 with mac from unittests
- Move radio link statistics into (universal) link statistics object
- Stop updating radio link statistics from callbacks if stop is called on link statistics. User probably will expect this behavior.
- Deprecation warning on calling link_quality_updated directly. Proxy call to link_statistics.link_quality_updated until removal.
These generally should be visible and fixed.

+ fix deprecated setDaemon warnings
Add serial number reader to log
Restart doesn't work anymore, since _RadioDriverThread expects a rate_limit. Fixing this by saving the rate_limit and reusing it here.
Calculate latency, receive uplink RSSI, calculate bandwidth congestion and packet rate
Initialize rate_limit to None, for good practice
…xamples

Aris/Clarify_Same_Channel_In_Swarm_Examples
…e and added an extra sentence on the first script description
Added inline comments in the sbs swarm interface
Added inline comment about same channel in sbs_swarm.py
Boot time was increased from 1 to 10 seconds in NRF firmware to prevent GAP8 freezes
Since nrf-firmware will now only delay boot if AI-deck is attached, and boot times have been reduced
ArisMorgens and others added 30 commits January 20, 2026 16:36
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
…equivalents

Move send_emergency_stop() and send_emergency_stop_watchdog() to the Supervisor class using the CRTP supervisor channel. Deprecate the Localization versions with a backwards-compatible fallback to the old localization channel for firmware below protocol version 12.
All public methods now warn and bail early if the connected
Crazyflie reports a protocol version < 12, which is required
for the supervisor port.
#592)

* improve udp driver based on other driver receiver thread implementations.

* added None check guard for _thread in close method and improved documentation with changelogs.

* update UDP driver to use localhost for socket connection in scanning feature

* update scan_interface to use configurable scan address from environment variable

* added SCAN_ADDRESS feature documentation.

* improve auto-doc generated documentation

* fix: remove unnecessary blank lines

---------

Co-authored-by: Arnaud Taffanel <arnaud@bitcraze.io>
---------

Co-authored-by: Enya <enyaannaida@gmail.com>
… memory

Same fix as for DeckCtrlElement — the mem_read_failed_cb passes 3 args
(mem, addr, data) but these callbacks only accepted 2.
Co-authored-by: Rik <49898887+gemenerik@users.noreply.github.com>
The deprecated platform.send_arming_request and
platform.send_crash_recovery_request delegated to the supervisor
module which version-gates on protocol >= 12, causing commands to be
silently dropped against old firmware. Add fallback to the old
platform port protocol, matching the pattern used in
localization.send_emergency_stop.
Supervisor methods now fall back to legacy CRTP ports when connected
to firmware with protocol < 12. Arming/recovery falls back to the
platform port, emergency stop to the localization port. A warning is
emitted in all fallback cases.

Reverts platformservice.py wrappers back to simple delegation since
supervisor.py now handles the fallback itself.
Supervisor: legacy CRTP fallback for pre-protocol-12 firmware
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.