using FX3 grabbing image

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
aaaa_4738566
Level 1
Level 1

I want to grab image through using FX3 .If i  set "VideoCapture cap(0) ,i can grab image using OPenCV. But now i can't get any usb devices through "CCyFX3Device* USB = new CCyFX3Device;".The number of "USB->DeviceCount()" always is 0.

0 Likes
1 Solution

Hello,

When you connect the FX3 device to host, it will be bound to cyusb3.sys. After you download a firmware image to FX3 using control center, it will bind to the appropriate driver based on the USB descriptors. If you are following AN75779, then the device will bind to the UVC driver after the firmware is loaded to FX3. Once this is done, the device is bound to UVC driver and not cyusb3.sys.

In this case, USBDevice->DeviceCount() will be 0. This is because the following code can be used to access devices bound to cyusb3.sys only and not any other drivers.

CCyUSBDevice *USB = CCyUSBDevice(NULL);

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna

View solution in original post

4 Replies
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Please let me know if you are able to stream the video properly by using your OpenCV application from FX3.

If the device is bound to cyusb3.sys, then it can be accessed by using the following code:

CCyUSBDevice *USB = CCyUSBDevice(NULL);

If the device is not bound to cyusb3.sys, then USB->DeviceCount() will return 0 always.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

I compiling upper software by Qt .Software only uses CyAPI.lib and some header files.I don't use cyusb3.sys.Can you tell how to bound to cyusb3.sys ?

0 Likes

If i select the FX3 Video model  ,i can't find the devices "CCyUSBDevice* USBDevice = new CCyUSBDevice; " 图片1.pngThe number of "USBDevice->DeviceCount()" always  is  0.  But OpenCV can open capture image.

If  i select the Universal Serial Bus controllers , i can find the devices .In this model OpenCV can't capture image. I guess if i want to communicate with the chip,i have to choose Universal Serial Bus controllers.图片2.png

0 Likes

Hello,

When you connect the FX3 device to host, it will be bound to cyusb3.sys. After you download a firmware image to FX3 using control center, it will bind to the appropriate driver based on the USB descriptors. If you are following AN75779, then the device will bind to the UVC driver after the firmware is loaded to FX3. Once this is done, the device is bound to UVC driver and not cyusb3.sys.

In this case, USBDevice->DeviceCount() will be 0. This is because the following code can be used to access devices bound to cyusb3.sys only and not any other drivers.

CCyUSBDevice *USB = CCyUSBDevice(NULL);

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna