-
Notifications
You must be signed in to change notification settings - Fork 17.5k
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
UART framing API #24335
UART framing API #24335
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where is the metadata that tells us how long each frame is?
998fbfd
to
75a666b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to try a simpler version that only holds 1 frame, if a new frame arrives while we have a frame pending then we discard the old frame
I can't immediately think of a case where we need multi-frame, but if we do we could add that once this has settled in
75a666b
to
4fcf5af
Compare
7f91b10
to
e0d6b16
Compare
…ate end of frames ensure that DMA transfers triggered by IDLE line occur before framing start and stop serial device when changing config
check sync byte for GHST and CRSF to avoid confusing the two protocols do not change baudrate when scanning GHST protocol unless specifically configured
e0d6b16
to
41d652e
Compare
Now working with A/B variant and cleaned up. Actually found some subtle issues with CRSFv3 and IDLE frames. Flown briefly on my 3" |
do not change to GHST baudrate unless it has been specifically configured
This turned out to have too many problems and doesn't actually work reliably on TBS kit |
This implements a UART framing API and uses it in our CRSF protocol implementation.
Flown briefly using CRSF tracer on a 3" quad.