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

Rp2040 audio fixes; disallow ctrl-C interrupts of SPI and PIO. #4974

Merged
merged 3 commits into from
Jul 8, 2021

Conversation

dhalbert
Copy link
Collaborator

@dhalbert dhalbert commented Jul 8, 2021

This fixes some but not all RP2040 audio issues, and fixes MacroPad display issues.

There are a several DMA cleanups. Ctrl-C interrupts of SPI and PIO transactions are also disallowed. SPI ctrl-C interrupts are not allowed on other ports. Allowing ctrl-C can cause bad data/commands to be sent to things like displays.

Tested by @kattni on a MacroPad. Prevents display mess-ups that rendered the display unusable.

I know there is still some underlying DMA problem, and am continuing to work on that.

1. Check for correct error values from dma_claim_unused_channel.
2. Introduce a .stereo flag for simplicity.
3. Clarify PWM carrier frequency choice.
4. Start introducing quiescent audio value. Still need to ramp up/down.
5. Redo audio stop logic a bit.
6. Fix (unrelated) displayio dependency things.

There is still an interference problem between other DMA users and audio. Still debugging this.
@dhalbert dhalbert requested a review from kattni July 8, 2021 17:46
Copy link

@kattni kattni left a comment

Choose a reason for hiding this comment

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

Thanks for the fix!

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

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

Thanks for these fixes!

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.

None yet

3 participants