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

[Core] Stabilize Half-duplex RP2040 PIO split comms #17612

Merged

Conversation

KarlK90
Copy link
Member

@KarlK90 KarlK90 commented Jul 10, 2022

Description

...by disabling USB IRQs during sending as those tend to occur during the timing critical sending phase. This hack notably reduces the amount of spurious failed transactions. Also the PIO IRQ now gets the highest priority over all other IRQs.

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

  • Spurious failed transactions and disconnects

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

...by disabling USB IRQs during sending as those tend to occur during
the timing critical sending phase. This hack notably reduces the amount
of spurious failed transactions. Also the PIO IRQ now gets the highest
priority over all other IRQs.
@github-actions github-actions bot added the core label Jul 10, 2022
@KarlK90 KarlK90 requested a review from a team July 10, 2022 14:47
Copy link
Member

@tzarc tzarc left a comment

Choose a reason for hiding this comment

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

I'm assuming there aren't any issues with USB after this change?

@KarlK90
Copy link
Member Author

KarlK90 commented Jul 11, 2022

I'm assuming there aren't any issues with USB after this change?

None so far, even with a disconnected half where the whole split comms procedure takes a longer time.

@drashna drashna merged commit 0348071 into qmk:develop Jul 11, 2022
nolanseaton pushed a commit to nolanseaton/qmk_firmware that referenced this pull request Jan 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants