LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to communicate with a USB Raw device after VISA recognizes the Device.

Hello,

I had some questions regarding communication with a USB Raw Device, and this is my first time trying to do this. Anyways,  I have installed the driver using the instrument  driver wirzard, and I can technically communicate with my device through VISA. However, I am not sure how to work things out from here on.  For example, I am not sure if my device uses Bulk, control, or an interrupt pipe, and I am not sure how I can read and write from my device even if I knew the appropriate pipe or endpoint. I was reading several articles posted by other users, and they mentioned how communicating with a USB raw device is device specific. What do they mean by this? What should I be looking for in my device's manual? Given that my device has several commands, how can I get these commands to work in LabView. Also, I noticed that the "VISA USB Control In" and "VISA USB Control Out" SubVI's have fields such as "request", "request type", "index", etc. I read some notes trying to figure out what these meant, but I couldn't find anything. I also looked at my device's manual to see if I can make sense of these, still, I couldn't find anything. Now, based on my questions, can anybody name any tutorial/article(s)  I should read that will help me answer these questions.  Any help will be appreciated.

Thank You
Molana

0 Kudos
Message 1 of 6
(4,665 Views)

Device specific means that the manufacturer of the device can write a windows driver just about any way they please. Outside of some pre-defined classes, there is no software specification for USB. Some clearly defined classes are USB keyboards, mice, printers and you would not use USB RAW to communicate with them. You use the windows api. Another clearly defined class is USB TMC where the instrument is programmed exactly the same way that a GPIB version of the instrument is. I don't know where you would look in the manual for USB RAW information as I have never seen a USB device with this information published. They normally provide a driver of their own (i.e. dll or ActiveX) and give information on how to use that. What kind of device is this? What has the manufacturer provided in the way of software? USB RAW should be considered as the last possible option in communication.

Message 2 of 6
(4,658 Views)
Thank your for the helpful information. My device is a light to digital converter, TSL2560 by TAOS. The manufacturer has provided the dll and ActiveX. Do I need to program my LabView application using the ActiveX commands?
0 Kudos
Message 3 of 6
(4,649 Views)
Yes, I think that would be the easiest. Make sure that you remove the inf file you created with the instrument wizard so that the one that came with the instrument is used by windows.
Message 4 of 6
(4,644 Views)
Thanks again.
0 Kudos
Message 5 of 6
(4,641 Views)

Hi all,

 

I get the error 0xBFFF003E using USB raw with a microcontroler from Freescale. In fact, I can ask for the USB descriptors fine, however if I press the command to read them constantly (say 10x very quickly), I receive this error.

And the error goes to the point of needing to deleting the driver and reinstalling the whole thing again (inf file), so that VISA can recognize it again (in fact, in the system folder it remains there with the exclamation sign).

 

Is it maybe a configuration from the firmware and somehow it freezes if I request it many times? I don't think there would be a problem in the pipe0 in terms of bandwidth... 🙂

 

Does anyone have any idea?

Thx!

 

 

0 Kudos
Message 6 of 6
(4,230 Views)