Use FX3 design USB3 Vision camera, how to properly use the XML file in GenICam offer?

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

cross mob
Anonymous
Not applicable

Dear All,         

   

     We use Cypress FX3 machine vision products designed and requires the use of USB3 Vision agreements. I use the example provided by the program's official website (http://www.cypress.com/forum/usb-known-problems-and-solutions/fx3-application-note-usb3-vision#comme...), it is currently available in Ni -MAX LabVIEW software recognize the device, but the device and the host in the initial communication happened unable to load camera's XML file errors. POINT GRAY U3V camera in my host environment is working properly, I tried to simulate POINT GRAY initial packet communication, but still stopped at the same position, the display unable to read / write to file error message.

   

     I use Bus Hound USB packet recording software, we found that when the device will terminate in reply to XML-related messages to host, this Bulk IN endpoint packet data corresponding to the FX3 program as follows:

   

uint8_t CyU3VManifest[] =
{
 0x01, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00,   // No. of Manifest entries = 1

   

 0x00, 0x00, 0x00, 0x01,   // GenICam file version 1.0.0
 0x00, 0x00, 0x01, 0x01,   // Schema/Filetype Uncompressed xml ver. 1.1.0
 U3V_XML_ADDR,     // Address for XML file
 0xFF, 0xFF, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00,   // Size of xml file (8 bytes width)
 NULL_20,      // SHA-1 for xml - not available
 NULL_20       // Reserved
};

   

 

   

Q1: GenICam in the XML file want to place the device side or the host side? (after installation Ni-MAX API has provided XML files)
Q2: If the XML file placement device, whether this is the official website provided usb3vision_xml.c file?
Q3: Each vendor to whether the use of XML files for the EMVA organizations? There is a need for a different camera on the XML file to modify it?

   

 

   

 

   

Thanks & Best regards,

   

-Roy

0 Likes
1 Solution

Hello,

Please confirm how is the xml file generated and if it is sent after compressing it.

This is the expected flow:

XML generation > compress (.zip) > Sha1 and append to .zip > covert to hex array and store it in xml.c

Also, please probe the USB lines to confirm if FX3 sends the XML

Regards,
Rashi

View solution in original post

0 Likes
8 Replies
Anonymous
Not applicable

Hi,

   

Roy H su, how do you solve the kernel driver? you develop it by yourself or use the third-party driver? I don't know how to make device enumerate composite device and USB3 VISION DEVICE, and how  Ni -MAX LabVIEW software recognize the device.

0 Likes
Anonymous
Not applicable

Hi Roy,

   

Me to struck with same xml load error....
Can u help me if u have resolved this issue......

0 Likes
Anonymous
Not applicable

Hi

   

I get same error.

   

Can anyone  help?

   

Thanks!

0 Likes

Hi,

Have you solved this problem?

Did you do this test with USB 3.0 cable?

I found it would be xml error with USB 2.0 cable every time.

Hope this information is useful

0 Likes
yiwa_4244806
Level 1
Level 1
First like given

Hi there,

uint8_t CyU3VManifest[] =
{
0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,   // No. of Manifest entries = 1

  

0x00, 0x00, 0x00, 0x01,   // GenICam file version 1.0.0
0x00, 0x00, 0x01, 0x01,   // Schema/Filetype Uncompressed xml ver. 1.1.0
U3V_XML_ADDR,     // Address for XML file
0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,   // Size of xml file (8 bytes width)
NULL_20,      // SHA-1 for xml - not available
NULL_20       // Reserved
};

so the size of xml file is 0xffff=65535 bytes?  My log shows overflow here.

I thinks this size should be updated.

And I am trying to update this number to

0xB9, 0x0D, 0x00, 0x00,//wangyilong true size=0xDB9

0x00, 0x00, 0x00, 0x00, // Size of xml file (8 bytes width)

but still no reponse from the host.

Hope anyone's further reply:(

0 Likes
yiwa_4244806
Level 1
Level 1
First like given

Hello, everyone

After I updated the length of the xml file, the host still can not recognize the xml file.

The xml file named "camfile.xml" content is the same and corresponding with

const uint8_t CyU3VXML[] =

in the source code.

But, did you find that the xml is with errors?

See:

<IntReg Name="WidthReg">

<ToolTip>Width of video stream in pixels</ToolTip>

<Address>0x05000000</Address>

<Length>4</Length>

<AccessMode>RW</AccessMode>

<pPport>Device</pPort>

<Sign>Unsigned</Sign>

<Endianess>LittleEndian</Endianess>

</IntReg>

pPport??? I think this is wrong, so I updated it and re-generate the data array code.

but the host still reponses with "i can not recognize this xml file":(

Keep going!

0 Likes

Hi, 

Have you solved this problem? I have the same issue and I also tried the ways you mentioned above. Could you kindly give me some help?

 

Thanks,

 

Yuming

0 Likes

Hello,

Please confirm how is the xml file generated and if it is sent after compressing it.

This is the expected flow:

XML generation > compress (.zip) > Sha1 and append to .zip > covert to hex array and store it in xml.c

Also, please probe the USB lines to confirm if FX3 sends the XML

Regards,
Rashi
0 Likes