-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Move atmel-samd to tinyusb and support nRF flash. #1321
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
Conversation
This started while adding USB MIDI support (and descriptor support is in this change.) When seeing that I'd have to implement the MIDI class logic twice, once for atmel-samd and once for nrf, I decided to refactor the USB stack so its shared across ports. This has led to a number of changes that remove items from the ports folder and move them into supervisor. Furthermore, we had external SPI flash support for nrf pending so I factored out the connection between the usb stack and the flash API as well. This PR also includes the QSPI support for nRF.
Awesome work! 👍 |
i dont think i'd be good for code reviewing this opus, but i could do hardware testing for sure :) just let me know! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very impressive refactoring! In some ways, there are fewer changes than I would have expected due to tinyusb. There are many more cleanup changes, which are really welcome!
ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
Outdated
Show resolved
Hide resolved
Thanks for the quick review! I'll get back to you tomorrow. Trying to run down the last few things to get the build green now. |
* Clean up board defines. * Add flush on eject and stay ejected. * Swith back to NONE protocol for CDC.
@dhalbert This is ready for another look. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fantastic! This is a huge step forward: tinyusb, and getting rid of a lot of technical debt.
This PR is causing problems for me. The board is connected to a Raspberry Pi.
The same problem is also experienced when trying out libraries in the REPL. Suddenly the connection closes down. In this case I can just reconnect, but loading a library and trying a few things, leads to disconnect again. Anything I can do to diagnose this further? |
@notro have you tried the tip of master? Some fixes went in yesterday. |
Yes, I've tried the latest master. |
@notro Please file a new issue with instructions to reproduce. For that issue:
|
To be precise, this PR didn't work at all (looked like something was corrupted in the transfer), I needed the overrun fix in order to copy anything at all. |
This started while adding USB MIDI support (and descriptor support is
in this change.) When seeing that I'd have to implement the MIDI class
logic twice, once for atmel-samd and once for nrf, I decided to refactor
the USB stack so its shared across ports. This has led to a number of
changes that remove items from the ports folder and move them into
supervisor.
Furthermore, we had external SPI flash support for nrf pending so I
factored out the connection between the usb stack and the flash API as
well. This PR also includes the QSPI support for nRF.
I'm using my own fork of tinyusb until I can land the changes upstream.