From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Linux: trouble using FTD2xx

Solved!
Go to solution

Hello,

 

So I have been trying to use the FTD2XX drivers and I downloaded what I thought to be the correct file here. After installing it using the instructions found here, I tried to run even the most basic VI that came with the package. For some reason it is telling me that I'm missing an FTD2XX.dll file, which I checked and don't have. I googled to check to see if it came separately but everything I found seemed too general and specific to LabVIEW (it just kind of looked sketchy). Anyway, am I missing some important file on my computer? Or just misinstalled the driver.

 

Best,

Roger

 

PS. I am running Scientific Linux 6 and it is 32bit.

0 Kudos
Message 1 of 6
(5,009 Views)

Hi again,

 

So i've done some more research and the problem may be with LabVIEW. I didn't know before, but since linux uses .so's as it's object libraries, it makes sense that a linux OS wouldn't recognize .dll's as the correct ending for libraries. So I guess my question now becomes:

Why is LabVIEW looking for .dll's if it's a linux installation and how do I get it to recognize the .so that I do have?

 

Best,

Roger

 

0 Kudos
Message 2 of 6
(4,970 Views)
LabVIEW is looking for a dll because that is how the example was written. The bigger question is why you are using the D2XX driver instead of VCP? With the virtual com port, you just use the VISA serial port functions and don't call a dll or so.
0 Kudos
Message 3 of 6
(4,946 Views)
Solution
Accepted by topic author Catalan14

Catalan14 wrote:

 

Why is LabVIEW looking for .dll's if it's a linux installation and how do I get it to recognize the .so that I do have?


LabVIEW uses wildcards to search for Windows, Linux, or Mac libraries [1]. In your case, try FTD2XX.* as the name of the libary in the Call Library Function node's configuration pane. You'll at least uncover the next obstacle, if there is one.

 

If the libary has a different name on each platform, you can use a conditional disable structure [2] instead and use the OS symbol to change behavior according to the platform.

 

[1] LabVIEW Help :: Configuring the CLF Node

http://zone.ni.com/reference/en-XX/help/371361J-01/lvexcodeconcepts/configuring_the_clf_node/

 

[2] LabVIEW Help :: Creating Conditonal Disable Structures

http://zone.ni.com/reference/en-XX/help/371361L-01/lvhowto/creating_cond_disable_struc/

Joe Friedchicken
NI Configuration Based Software
Get with your fellow OS users
[ Linux ] [ macOS ]
Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
0 Kudos
Message 4 of 6
(4,927 Views)

Dennis - there are lots of reasons for using the D2XX driver with the FTDI devices - it allows you to use things like the libMPSSE driver for doing digital I/O, I2C (e.g. reading/writing EEPROMS) and SPI. I think you also need to use that driver if you want to do things like querying available FTDI devices and the device information (e.g. serial number). If you're just using it as a serial port, you should definitely just stick with the VCP drivers and VISA though.


LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 5 of 6
(4,896 Views)

Sam and Dennis,

Yes that is exactly why I am using the D2XX drivers instead of the VCP; they easily allow me to query the device and interface better with the voltage supplies that I am using. If you have any other ideas for acceptable equivalent drivers that might interface better, I would be happy to hear your suggestions.

 

Joe Friedchicken,

I am very intrigued by the the conditional disable structure and will probably explore that option later but for now, your first point allowed me to actually get the VI's to work. I simply changed the file name to end with .so and then everything worked like a charm. The only downside, of course, was that I need to do that for dozens and dozens of VI's. But at least it worked. Thank you for your help.

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