8000 pkg/tinyusb: add nrf52 support by gschorcht · Pull Request #18781 · RIOT-OS/RIOT · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

pkg/tinyusb: add nrf52 support #18781

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

Merged
merged 2 commits into from
Oct 26, 2022
Merged

Conversation

gschorcht
Copy link
Contributor

Contribution description

This PR adds nRF52xxx support for tinyUSB package. The tinyUSB support is only enabled by the tinyusb_feature for boards that have a separate USB OTG port which is not used for stdio_cdc_acm.

Testing procedure

Use one of the boards for which the tinyusb_device feature is enabled by this PR and use tests/pkg_tinyusb_cdc_msc to test it, for example:

BOARD=waveshare-nrf52840-eval-kit make -j8 -C tests/pkg_tinyusb_cdc_msc flash term

The node should be mounted as storage device to the host.

Issues/PRs references

@github-actions github-actions bot added Area: boards Area: Board ports Area: Kconfig Area: Kconfig integration Area: pkg Area: External package ports labels Oct 20, 2022
@gschorcht gschorcht added Platform: ARM Platform: This PR/issue effects ARM-based platforms Type: new feature The issue requests / The PR implemements a new feature for RIOT CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Oct 20, 2022
@riot-ci
Copy link
riot-ci commented Oct 20, 2022

Murdock results

✔️ PASSED

4d1f434 boards: enable feature tinyusb_device for nRF52 boards

Success Failures Total Runtime
1992 0 1992 06m:50s

Artifacts

This only reflects a subset of all builds from https://ci-prod.riot-os.org. Please refer to https://ci.riot-os.org for a complete build for now.

@github-actions github-actions bot removed the Platform: ARM Platform: This PR/issue effects ARM-based platforms label Oct 21, 2022
@gschorcht gschorcht force-pushed the pkg/tinyusb_nrf52 branch 3 times, most recently from 12887bd to bb1080c Compare October 21, 2022 13:56
@github-actions github-actions bot added the Area: drivers Area: Device drivers label Oct 21, 2022
@bergzand
Copy link
Member

Tested on the nrf52840dk:

/home/koen/dev/RIOT-review/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200"  
Twisted not available, please install it if you want to use pyterm's JSON capabilities
2022-10-21 16:01:27,422 # Connect to serial port /dev/ttyACM0
/home/koen/dev/RIOT-review/dist/tools/pyterm/pyterm:289: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
  receiver_thread.setDaemon(1)
Welcome to pyterm!
Type '/exit' to exit.
2022-10-21 16:01:28,426 # main(): This is RIOT! (Version: 2022.10-devel-1255-gbb108-HEAD)
2022-10-21 16:01:28,426 # tinyUSB tud_mount_cb

Shows up as USB device:

Bus 007 Device 018: ID 1209:7d01 Generic TinyUSB Device

And my Linux file explorer picked it up:
image
image

@bergzand bergzand added the Reviewed: 3-testing The PR was tested according to the maintainer guidelines label Oct 21, 2022
Since tinyUSB is not compatible with periph_usbdev, it can only be used on nRF52 boards that don't use highlevel_stdio.
@gschorcht
Copy link
Contributor Author

Oops, on the last rebase I accidentally included @benpicco's commit c5f7d9c.

@gschorcht
Copy link
Contributor Author

I rebased it therefore again.

@github-actions github-actions bot removed the Area: drivers Area: Device drivers label Oct 21, 2022
@benpicco benpicco merged commit 55766f2 into RIOT-OS:master Oct 26, 2022
@gschorcht gschorcht deleted the pkg/tinyusb_nrf52 branch October 27, 2022 06:16
@kaspar030 kaspar030 added this to the Release 2023.01 milestone Jan 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports Area: Kconfig Area: Kconfig integration Area: pkg Area: External package ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Reviewed: 3-testing The PR was tested according to the maintainer guidelines Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants
0