Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Robustify Ulanding Radar #24333

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

Robustify Ulanding Radar #24333

wants to merge 2 commits into from

Conversation

niklaut
Copy link
Contributor

@niklaut niklaut commented Feb 13, 2025

Solved Problem

We measured 50%-100% message drop, which could lead to repeated timeouts.
The issue was that the driver is written with the assumption that the entire message is received.
However the sensor sends a message every 10ms and when the driver samples every 10ms, only parts of the message will be received.

Solution

This workaround fixes this by setting the sample rate to 12ms, since 11ms still had single digit message drops.

Alternatives

The driver would have to be rewritten as a proper state machine to find the full message. For now this fix is sufficient.

Test coverage

  • Tested in hardware

Context

The sensor does not perform byte stuffing, thus the header must be searched together with the CRC.

The current implementation of the Aerotenna uLanding radar driver assumes that
the UART frames are received in full. If the driver polls with 10ms this is not
always the case and the driver will fail to parse the frame leading to
significant packet loss. This workaround polls at 12ms which ensures that at
least one entire frame is received.
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.

1 participant