stm32-rs / synopsys-usb-otg

usb-device implementation for Synopsys USB OTG IP cores
MIT License
41 stars 29 forks source link

Updating driver to usb-device 0.3.0 #39

Closed ryan-summers closed 11 months ago

ryan-summers commented 11 months ago

This PR bumps the usb-device version used to 0.3.0, which I just released earlier today. I've tested these changes on Stabilizer with a USB-CDC-ACM port and verified things work as expected.

Most of the changes are from rustfmt here.

Disasm commented 11 months ago

Thanks! I merged a PR which enforces rustfmt checks: https://github.com/stm32-rs/synopsys-usb-otg/pull/40 Could you rebase your PR to make the diff simpler?

ryan-summers commented 11 months ago

Should be much smaller now, thanks for the rustfmt checks! :)

ryan-summers commented 11 months ago

Ping back over to @disasm - if you don't have time, I'll merge and release later today/this week, so no worries. Thanks for helping!

Disasm commented 11 months ago

Hi! I started testing the proposed changes to the driver with the variety of boards I have. The test plan is quite big and it also includes https://github.com/stm32-rs/synopsys-usb-otg/pull/25 which I wanted to integrate before the 0.3.0 release. So far testing is complete by ~25%. If you think that the release should be prioritized, then I can prioritize testing of this update, but otherwise my plan is to finish testing on weekend this or next week.

ryan-summers commented 11 months ago

Hmm, personally I'd be more inclined to release early and often, and we can add in that support once its fully tested. It won't change any of the API, so it would be simple enough to include that in a patch release. What are your thoughts on that?

Disasm commented 11 months ago

That's what I want to make sure: that usb-device 0.3.0 is fully tested together with this driver :) Ok, I will test this update next, then let's make a new release of synopsys-usb-otg and then I'll proceed with other updates.

Disasm commented 11 months ago

Test results:

Disasm commented 11 months ago

I found that serial test behavior depends on the USB port type used: test passes if USB 2.0 port is used, fails if USB 3.0 port is used. And this is also a bug which was present in older versions of synopsys-usb-otg.