-
Notifications
You must be signed in to change notification settings - Fork 189
add dual-host-device-cdc-sdio-example #195
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
base: main
Are you sure you want to change the base?
add dual-host-device-cdc-sdio-example #195
Conversation
|
Thank you for the pull request. I’m planning to merge it, so could you please add this example as a subdirectory in examples/CMakeLists.txt? |
|
Is “sdio” a typo for “stdio”? |
🤦 yes. Thank you for catching that. I've also added it to the |
|
bump -- is there anything preventing this PR from getting merged? |
|
CI still fails |
|
If I'm understanding the CI result only the old versions are failing which will be the case because it needs the latest version to work. Am I mistaken? |
|
I can see this is failing in CMakeLists.txt:22 where I'm trying to add Pico-PIO-USB but I am not sure how to fix this in CI; it works on my own system and I'm unfamiliar with github's CI system: set(PICO_PIO_USB_DIR "${PICO_TINYUSB_PATH}/hw/mcu/raspberry_pi/Pico-PIO-USB")
add_subdirectory(${PICO_PIO_USB_DIR} pico_pio_usb) |
|
@sekigon-gonnoc bump -- I'd like to get this merged but am not sure how to satisfy the CI system. |
|
Just random side comment, I am new to USB PIO and Pico in general. I used your https://patch-diff.githubusercontent.com/raw/raspberrypi/pico-sdk/pull/2764.patch on SDK 2.1.1 instead of downgrading to USB PIO 0.5.3. It seems to work for my audio project |
This is great news, thank you for the feedback! @sekigon-gonnoc bump again -- I'd like to get this merged, but don't know how to appease the CI system. Can you help direct me? |
This adds an example which implements a device which uses the USB peripheral in device mode offering two CDC interfaces and usb_sdio support including the picoloader reset interface as well as a usb host on the PIO-USB peripheral which supports a hub and connecting multiple CDC devices.
The example program will dump data seen on the first host CDC device to the first CDC device interface, and transparently transfers data between the second host CDC device and the second CDC device interface.
Confusing? :-)
tinyusb-device side (USB peripheral) - implements CDC0 and CDC1, and the picoloader reset interface. usb_sdio is attached to CDC0 so printf() and friends work.
tinyusb-host side (using PIO-USB via Pico-PIO-USB) supports a hub and up to two CDC devices (call them hCDC0 and hCDC1)
The example program will dump any data received from hCDC0 to CDC0, and will transparently transfer data between CDC1 and hCDC1.
Will require pico-sdk PR #2764 to work (raspberrypi/pico-sdk#2764)