2016-03-15 10:09 AM
I develop this class for a company specific device working with USBLIB, under Linux or Windows. Using a previous release of standard library (not HAL) running on STM32F103.
2 ENP's, one IN and one OUT are added to the CDC class. This works actually on few devices. I try to migrate to STM32F407, OTG FS with the same class. Enumeration is OK, older CDC ENP works properly up to the first transfer of the new ENP IN. Code seems the same, USB registers are similar, but the ENP_ENABLE FLAG never returns to 0, the final interrupt does not occur, the LIBUSB returns an error and the USB is fully locked. I also verify the setup callback (OK). I add a lot of cautions to prevent the use of few ENP simultaneously. I did not take these cautions with the older release on device only STM32F103. I verify that data are writen in the FIFO, with interrupt at the end of write.