I've been through all of the docs on the SDK's USB stack and I can't find anything useful about the deinit functions or what sequence they should be used in, and I can't find any demos that make use of them.
I need to shut down a composite device and reset the SIE, including a bus reset. This is so the device can switch between composite mode and MSD only. I'm moving my code from the v5 beta stack, and the hardware deinit was handled by my own code, but I'm trying to keep this version cleaner and avoid duplication of anything that's already there.
There's USB_DeviceStop, USB_DeviceDeinit, and USB_DeviceClassDeinit. It's not clear if any of these call each other or if any of them shut down the SIE hardware - presumably USB_DeviceStop, but it doesn't say so explicitly. Can someone tell me what the expected sequence is to shut everything down?