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

Fix serial corruption on x7 chips #844

Conversation

ahshah
Copy link

@ahshah ahshah commented Feb 16, 2024

  • We never clear LTXOK when we finish transmission of the ring buffer. This means that on the next pass, when new data needs transmission, enabling the Transmit Performed Interrupt fires the interrupt handler immediately, which then proceeds to load data from pointers that are stale as they haven't been set to the correct index.

  • Don't enable Transmit Performed Interrupt prior to setting the correct tail index and prior to loading data in LINDAT reg

-  We never clear LTXOK when we finish transmission of the ring
   buffer. This means that on the next pass, when new data needs
   transmission, enabling the Transmit Performed Interrupt fires the interrupt
   handler immediately, which then proceeds to load data from pointers
   that are stale as they haven't been set to the correct indexing.

- Don't enable Transmit Performed Interrupt prior to setting the correct
  tail index and prior to loading data in LINDAT reg
@ahshah
Copy link
Author

ahshah commented Jul 30, 2024

Hey Spence any word on this? Its been outstanding for a good while now. Would be great to have this in. Thanks!

@SpenceKonde SpenceKonde merged commit 7cdaa11 into SpenceKonde:v2.0.0-devThis-is-the-head-submit-PRs-against-this Sep 5, 2024
10 of 51 checks passed
@SpenceKonde
Copy link
Owner

Thanks

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.

2 participants