This is based on your AN75779 code and cyfxuvcdscr.c setup for the HS or SS descriptors.
In the Windows 10 x64 cyusb3.inf there is no entry for PID = 00F8 or 00F9 which is used for standard and SS product IDs for AN75779.
I have tried adding them to the .inf file, but when I try to re-install the driver for the FX3 camera it says that the driver is not compatible for an x64 based system.
Please can you advise on what driver I need to allow AN75779 to work correctly.
To add more data (and in one place) I have attached my modified AN75779 project, together with a DirectShow snap shot of what driver information has been loaded and images of my data being received at the PC.
I assuming that the data packets are correct as the same parallel data is fed to an OLED and this works fine. The driver information also appears correct.
I'm sending 768x576 YUY2 data at 9fps and the data is interlaced.
AMcap and windows 10 Camera both report 768x576 9fps and YUY2 format, but neither show any image (of any type).
By default the AN757779 example should bind to UVC drivers (not CyUSB3). This is because the USB descriptors are configured for UVC class (not as Vendor class). For this reason we have not provided this PID in our .inf file. If you want to bind this device to CyUSB3, then you will not be able to detect this device in AMCap or any standard video player (As the device will be in vendor class, not in UVC class).
When you are changing the resolution, you need to change the following in AN75779:
Change the descriptor for for your resolution in the VS Frame descriptor
Frame interval as per your fps
Next, you need to update these same values in the probe control setting in the uvc.c file
Please note that if you have changed the GPIF bus width, then you will need to change the GPIF side counters as well. Also, I assume that you are using the same format as in AN75779, else you will have to change the image format in the descriptors as well as the UVC headers which we add in the DMA callback
Thanks for the reply, however I have changed the VS Frame Descriptor for frame size, interval and size, together with the appropriate changes in UVC.C.
The camera applications all register the format as a 768x576 9fps and YUY2 format.
Using a USB analyzer I can see x27 16384 and x1 444 sized buffers (which relate to the frame size of 442368).
The data within these buffers is correct for YUY2 with the Cr/Cb values preset to 0x80.
It looks like something is consuming the buffers packets from the FX3 (whether that's the windows driver or the application I don't know); yet none of the camera applications will display the data image...
I have set a value in the VS Frame Descriptor to relate to an Interlaced image frame with regular Frame 1 - Frame 2 and Frame 1 first.
Is there ant further assistance you can provide in getting a camera application to display an image rather than a black screen...
Is it because I'm sending Frame 1 then Frame 2 (then repeat) rather than a progressive image format?
Actually the data rate is 25fps. It's just that the image is updated at 9fps. However, I still get a black screen...
I noticed that the amount of data received should have been width x height x 2 (768 x 576 x 2) however, what I'm actually sending is 768 x 576 ( as I'm sending the even line frame first, then the odd line frame).
I tried making the frame size 768 x 288 and low and behold I get an image !!!!!!!
However, it is flicker vertically as the two frames are not being interlaced correctly. Can you provide any support on how to merge the two images correctly, if it is a UVC issue, or is itan application issue?