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 - ISO API to make Audio work #2843 #2844

Closed
wants to merge 1 commit into from

Conversation

pschatzmann
Copy link
Contributor

@pschatzmann pschatzmann commented Oct 15, 2024

Following the discussion that the RP2040 is missing the new ISO API, here is my take on it.
I added the 2 following methods

  • bool dcd_edpt_iso_alloc(uint8_t rhport, uint8_t ep_addr, uint16_t largest_packet_size)
  • bool dcd_edpt_iso_activate(uint8_t rhport, tusb_desc_endpoint_t const * p_endpoint_desc)

I was keeping the existing logic and I just needed to split up some functions to fit the new logic.

This is addressing this issue.
See #1802 (comment)

I hope that now only the following files will show up as changed:

  • tusb_mcu.h (to activate the ISO API)
  • dcd_rp2040.c (see above)
  • video_device.c (to correct a data cast error because ep_addr was defined as uint16_t instead of uint8_t)

I create a branch from testing and submitted to testing now!

@HiFiPhile
Copy link
Collaborator

Did some clean up same as #2845.

The logic looks like correct although I can't test it myself.

Please also reopen the PR merging into master branch.

@pschatzmann
Copy link
Contributor Author

Can you give some testing hints: are there some scenarios that I should watch for ?
So far I was just testing my audio sketches in Arduino using Audacity to make sure that the audio generation is stable and works properly together with Serial (CDC).

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