I am building a minicamera that can handle 1080p, 720p, 480p using UVC. At startup in CyFxApplicationDefine, I create a thread that handles all the inits and gets things going. During that time, I also init the camera via SetRegValue. It is from there that the camera is set for the resolution of interest among many other things. Fine. I can do each at start up. Now I need to do this dynamically.
Has anyone come across a way to cause a warm restart, such that I can code it to perform a clean up and then restart things dynamically with different resolutions as defined in the descriptor, etc?
In reviewing USBBulkSourceSink, I noticed that there are USBEvent types CY_U3P_USB_EVENT_SETCONF, CY_U3P_USB_EVENT_RESET, CY_U3P_USB_EVENT_DISCONNECT for SET_CONF, RESET and DISCONNECT events which are received from the USB host. However, I also see that there are vendor controls such as 0x90/0xE0 (for this case) that can request to switch control back to the boot firmware or reset the Fx3 device. What would be the correct implementation for what I am attempting to do?