LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Issues Finding/Installing Polhemus Position Tracking Drivers

Hi all, I'm new to using non-NI hardware in LabVIEW and am having issues setting up my Polhemus device for position tracking. I've downloaded "drivers" from the Instrument Driver Network (attached), which includes a VI library and multiple DLL files. When I try to use one of the VIs, I receive error 1097, which I believe indicates that I don't have the driver installed correctly.

 

I was told that I would need to download NI-VISA to install the USB driver for the device, but I've gotten stuck trying to generate a driver from the .inf file as I was prompted at the end of the VISA Driver Wizard (https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019L9QSAU&l=en-CA). I'm receiving errors when performing the Inf2Cat function.

 

I've reached out to others who installed Polhemus drivers in LabVIEW 19.0 (I'm using 20.0), and they said they were able to perform all of the install in NI-VISA without doing some of these external steps, but were unsure where I may have gone wrong. Is there something I am missing in this install or in the "drivers" I've already downloaded? I'm happy to provide more information if needed. Thanks in advance.

 

 

0 Kudos
Message 1 of 3
(1,380 Views)

Wow!  I wrote code for a Polhemus system when I was starting out with LabVIEW.  This code was a complete rewrite of the (somewhat messy) code I inherited, worked perfectly for the 4-6 years that the Lab continued to run (until the P.I. essentially retired, and the "powers-that-be" chose to let a superbly-designed system for doing Sound Localization experiments using human subjects, using movable sound sources controlled by robotic arms, be abandoned).

 

I don't remember the model of the Polhemus, but I do remember that it used a strange encoding scheme that used transmission of a binary data stream over RS-232, readable in LabVIEW using VISA.  However, as the data were not in ASCII, we had to read individual bytes, looking for the "start" (or was it the "end") flag, then start reading the (12?)-byte stream, packing and unpacking the bits to get the 6 spatial and angular parameters being returned.

 

I just went looking for this old code.  I found a document I wrote in 2010 that describes the early stages of migrating the "old code" that used the Polhemus over a 38.4 kBaud serial port.  To get the 120 updates/second that the Polhemus was sending us, I calculated that each "message" should be no more than 32 bytes -- transmitting the data in ASCII took about 50 characters to sed the header and 6 coordinates, while the proprietary binary format took only 16 bytes (a three-character header and 6 2-byte coordinates), which is why (I now recall) we went "binary".

 

Unfortuately, this is where the Document ends.  I don't think I have the old Manual, but I might be able to find the old code ...

 

Bob Schor

 

 

0 Kudos
Message 2 of 3
(1,317 Views)

Hi Bob,

 

Thanks for the detailed reply. That sounds like a very cool application!

 

I've been digging a bit further with both Polhemus and NI and found the issue was very simple - Polhemus said its drivers are compatible with 32-bit versions of LabVIEW 2017 and newer (I was using 64-bit). As soon as I made the switch, it performed beautifully!

 

Thanks for the help!

Trevor

0 Kudos
Message 3 of 3
(1,276 Views)