01-25-2018 05:52 AM
I have a system with a USB RAW communication with PC.
When I use Java USB interface to communicate with my device. It works perfectly. But with same sources and bulk in and out parameters I lose some data on Labview VISA.
I used FX3 interface for USB and VISA can get most of data(app. 80%) but cannot get 20% of data which java can get.
Are there any suggestions for this situation in Labview?
01-26-2018 09:07 AM
Can you go into a bit more detail into the issue you are having. It will definitely give other users more context to help answer your issue.
01-29-2018 01:49 AM
I am using bulk communication with USB Raw. I have Cypress FX3 USB device and I am using slave fifo interface. Bulk communication protocol is same also. Java can get signals perfectly, but when it is made by labview bulk in communication labivew starts to make some unstable 1 and 0 signals for my control on reading. I am trying to read approximately 2 MB from USB with VISA_read function
01-29-2018 06:25 PM
It is an interesting problem that you are describing. I am not sure why you are seeing this loss of data. Perhaps if you can post your LabVIEW and Java code more forum users will have some idea of potential problems and insight to why this is happening.
01-30-2018 01:06 AM
I am using java/c code of cypress which is wrritten for FX3 devices for Slave Fifo interface for usb communication.(
I am using usb device with USB Raw communication Making connections with the NI VISA wizard to create the .inf file and succesfully installed it. the device is recognized by NI MAX. Bulk in and out connections are also same.
My NI Labview code is added. Using USBTMC for this device can be a solution?
When NI makes USB Raw device driver becomes WİnUSB(184.108.40.206) from WinUsb(6.7.xxx.xxx)
01-30-2018 06:23 PM
Perhaps you should try re-posting into our instrument control forum board in order to reach out to users who are more familiar with VISA communication. Perhaps these users will be able to share some insight into the issue you are seeing.
Here is the link to that forum board:
01-31-2018 04:27 AM - edited 01-31-2018 04:34 AM
USBTMC is most certainly not an option. This is a specific USB protocol using a similar structure as USB Mass Storage devices, but specifically designed for communication with test and measurement devices. Aside from a very specific configuration of the USB endpoints and the way bulk transfers are supposed to be done it also includes a higher level specification that uses the IEEE 488.2 standard commands. I would be very surprised if Cypress chose both the USBTMC compatible device profile as well as supporting the IEEE 4888.2 commands like your *IDN?. Nowhere in the document does it say anything like that (but I only scanned it briefly).
To implement the USB Raw communication on VISA USB Raw you will have to do considerably more effort than just use a VISA Opem, VISA Write and VISA Read. You also need to configure the correct communication endpoints, pipes and possibly interrupt transfers and the likes. That's the difference between communicating on USB Raw rather than a specific device profile like USB TMC or USB HID, where this kind of things are specifically defined by the device profile.
But VISA only supports USB Raw and USB TMC. So other USB protocols need to be either implemented on USB Raw but in most cases it is easier to use an alternative APIs from some DLL and integrate that through the Call Library Node.