1. When the VCOM device is removed when it is opened by any of the host applications (such as terminal), the device manager will not detect the device removal. This is because of the "persistent" feature implemented in the Cypress driver. Hence, the host application that uses the COM port must be closed before removing the device to identify the removal. Also, you can use the Microsoft provided CDC class driver which does not implement the "persistent" feature.
NOTE: The purpose of this feature is that the device does not change its COM port number when disconnected and re-connected with the terminal application open.
2. Please let us know if you are using the DMA channel between UART and USB of FX3 or are you sending debug messages from the CPU to USB over the DMA channel. Also, let us know if you are referring to any of the Cypress provided example firmware.
Thank you for the explanation of the persistent driver. I have verified that if the terminal is disconnected from the COM port the device disappears in device manager. When the device is reconnected it is enumerated, sometimes with a different COM port number.
2) I am using the dma Channel between UART and USB. I am sending debug strings over this dma channel by overriding it and manually sending the buffer. See below. You helped me get this working in a separate thread.
- Please check if any of the APIs that you have mentioned is not returning CY_U3P_SUCCESS.
- Probe the USB lines using a protocol analyzer to check if there is any data transfer happening between FX3 and PC.