Skip to content

Conversation

@cceckman
Copy link
Owner

@cceckman cceckman commented Mar 31, 2025

The Real Deal. Add the serial proxy program and padding.

Link to #5

cceckman added 2 commits April 1, 2025 23:17
In testing on real hardware (Fomu), I was missing a lot of "tail end"
packets... like, a *lot* of them. This prevented clients from getting
the full body, hanging up, etc etc.

This seems to be related to the 64B packet size of the USB ACM CDC TLA
WTF protocol we're using under the hood. I haven't checked the gateware,
but it's *acting like* it doesn't send the packet until there's >64B in
the buffer. (Or maybe 64 exactly, and I was doing my math wrong before.)

Luckily, we haven't been using "Stream ID zero", so we can redefine Not
TCP such that every packet begins with a nonzero byte (stream ID), and
zero bytes between packets are ignored. Then, pad on the device side,
and *wham*, working.

(Mostly. The LED endpoint doesn't always want to finish its job; needs
more investigation.)
@cceckman cceckman changed the base branch from main to cceckman/logging April 2, 2025 03:18
@cceckman cceckman requested a review from slongfield April 2, 2025 03:18
Copy link
Collaborator

@slongfield slongfield left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@cceckman cceckman merged commit 8dcfcd1 into cceckman/logging Apr 19, 2025
1 check passed
@cceckman cceckman deleted the cceckman/serial branch April 19, 2025 14:36
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