Skip to content

Conversation

@gemenerik
Copy link
Member

@gemenerik gemenerik commented Oct 3, 2024

🚀 Features

Refactor link quality callback to contain signal health obj with additional signal health information:

  • Uplink RSSI parsed from ack
  • Bandwidth congestion calculated using null packet ratio
  • Packet rate

📝 To-do

  • CF link C++ uses a different calculation for link quality, investigate if we can unify this.
  • Need to better integrate with Introduce Link Statistics and Latency Measurement #477, the signal health callback can probably be routed into LinkStatistics.
  • Review naming for better clarity. Link statistics, link quality, and signal health can be easily confused. Also signal health is not a good name if we integrate things like bandwidth congestion.
  • Can integrate Bandwidth congestion and rate from radio driver #479 into the same signal health format.

- Refactor link quality callback to contain signal health obj with additional signal health information
- Parse uplink RSSI in ack into signal health obj
@gemenerik
Copy link
Member Author

The C++ link driver's 'link quality' implementation is different from the (default) radio driver's. The the C++ link driver's implementation is based on the percentage of messages acked, while the radio driver's implementation is based on the number of retries. The structure introduced in this PR is a work in progress, but given that they hook into the same callback, I may want to unify them.

knmcguire and others added 2 commits October 3, 2024 13:10
Return a dictionary with all updated signal quality statistics in the callback, rather than the entire class.
@gemenerik
Copy link
Member Author

gemenerik commented Oct 3, 2024

4435c7c and 73963e0 combine #479 into this, updating PR to reflect

@gemenerik gemenerik changed the title Receive uplink RSSI Receive uplink RSSI, calculate bandwidth congestion and packet rate Oct 3, 2024
@gemenerik
Copy link
Member Author

Also, I verified, and the way this is set up currently, it does not break compatibility with cfclient

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.

3 participants