Updating LabVIEW Code for New Time Tagger Software

This guide applies to the LabVIEW code created using Time Tagger software older than v2.4.0. Generally, the structure of the TimeTagger API remained practically the same except for a few minor changes. The LabVIEW code still uses .NET libraries to operate the Time Tagger, but we have changed how these libraries are located on user systems and how LabVIEW finds them. Earlier, you had to copy some DLL files to your project directory and point LabVIEW to their location.

Now, these libraries are installed and registered system-wide such that any program using them can locate them quickly using the .NET class registry. This simplifies a few things:

  • you don’t have to copy DLL files anymore;
  • update process now is much smoother;
  • both 32-bit and 64-bit versions of LabVIEW are now supported transparently.

Upgrading your LabVIEW code

What needs to be done to adapt your code to the new Time Tagger software:

  1. Delete copies of the old Time Tagger DLL files you may have copied to your projects.

  2. The DLL is now registered system-wide (in the Global Assembly Cache), and you will need to tell LabVIEW about that. LabVIEW is not able to find and match these files automatically. You will have to open every VI that contains a .NET class constructor node and select the correct class in the “Select .NET Constructor” window.

  3. Choose the assembly called “SwabianInstruments.TimeTagger”.

  1. Select the same constructor as the selected .NET node had before. This action shall automatically update references to other methods on the same “wire” as this constructor node. This process has to be repeated for all class constructor nodes, which are: measurement classes, virtual channel classes, and the TT class. Unfortunately, there is no convenient way to do this automatically. However, from now on, any version updates will be handled automatically, so this manual work is only one-time work.

In case you use the TimeTagStream class, you have to adjust your code because the getData() method returns an instance of the TimeTagStreamBuffer object, which has methods to get timestamps, channel numbers, overflows, etc.

Cookie Policy

We use third party service providers, like Freshworks Inc ("Freshworks") to enable interaction with you on our website and/or our product. As a data processor acting on our behalf, Freshworks automatically receives and records certain information of yours like device model, IP address, the type of browser being used and usage pattern through cookies and browser settings. Freshworks performs analytics on such data on our behalf which helps us improve our service to you. You can read about the cookies Freshworks' sets in their cookie policy here.