Skip to main content
Skip table of contents

Migration Guide: LabJack UE9 to T7

Overview

The LabJack T7 represents a significant advancement over its predecessor the UE9, offering enhanced capabilities such as higher resolution, an expanded analog input range, accelerated communication speeds, a more robust feature set, and a streamlined, more user-friendly Application Programming Interface (API).

For most applications, migrating will not require any hardware changes. All of the features in the UE9 have direct equivalents in the T7. Certain features may not be available on the same Digital I/O (DIO) lines and may have small behavior differences. See the Hardware Changes section below for more information.

All applications will require software changes. The T7 uses the LJM API instead of the UD API used by the UE9. Code developed for the UE9 will need to be updated to support the T7. See Software Changes section below for more details.

Prerequisites

Successful migration requires knowledge of the UE9 features being used, what those features are connected to, and code level knowledge of any custom applications that are being used to communicate with the UE9. Information about analog input configurations, Timers & Counters, serial communication, and the Watchdog timer will also be required.

Migration

Hardware Changes

The first step of migration is to determine whether any of the hardware connections need to be changed. For most applications, no changes will be necessary. Review the Hardware Comparison section below to determine whether any hardware changes are required.

Software Changes

LabJack applications such as LJLogUD and LJStreamUD should be replaced with LJLogM and LJStreamM respectively.

Application specific programs will need to be updated to support the new API. The new API is easier to learn and use and we have many examples available.

Some key areas that will require close attention:

  • Analog inputs: The T7’s Analog Inputs need to be configured so that the range, resolution and differential vs single-ended configurations are appropriate for the end application.

  • Timers & Counters: These features will need to re-implemented and may require shifting to another DIO.

  • Watchdog: The T7 has a more versatile watchdog timer. If the watchdog in the UE9 is being used, then the settings must be review and adapted to the T7’s Watchdog.

  • Stream: The LJM library has a more advanced and flexible streaming API. If you were using stream mode on the UE9, you will need to re-implement it using LJM's stream functions (e.g., LJM_eStreamStart, LJM_eStreamRead).

  • Serial Communication: Any code using I2C, SPI or Asynchronous Serial will need to be re-implemented.

We have examples available which demonstrate most of the available features, that is always a good place to start.

Examples

Python (LabJackPython to LJM Python)

UE9 (ExoDriver):

PY
# Open first UE9 found
d = ue9.UE9()
d.getCalibrationData()

ain_value = d.getAIN(0) # Read AIN0
d.setDIOState(0, 1) # Set FIO0 high, automatically set to output.

# The device connection is automatically closed once the process ends.

T7 (LJM):

PY
# Open first T7 found
handle = ljm.openS("T7", "ANY", "ANY") # You can specify "T7", "USB", etc.

ain_value = ljm.eReadName(handle, "AIN0") # Read AIN0
ljm.eWriteName(handle, "FIO0", 1) # Set FIO0 high, automatically set to output.

# Close device
ljm.close(handle)
C/C++ (UD Functions to LJM Functions)

UE9 (UD Functions):

C
LJ_HANDLE hDevice;
OpenLabJack(LJ_dtUE9, LJ_ctUSB, "1", 1, &hDevice); // Open first UE9 found

double ainValue;
eAIN(hDevice, 0, 15, &ainValue, LJ_rgBIP5V, 0, 0, 0, 0, 0); // Read AIN0
eDO(hDevice, 0, 1); // Set FIO0 high, automatically set to output.

// The device connection is automatically closed once the process ends.

T7 (LJM Functions):

C
int handle;
LJM_Open(LJM_dtT7, LJM_ctANY, "ANY", &handle); // Open first T7 found

double ainValue;
LJM_eReadName(handle, "AIN0", &ainValue); // Read AIN0
LJM_eWriteName(handle, "FIO0", 1); // Set FIO0 high, automatically set to output.

LJM_Close(handle);

Hardware Comparison 

Analog Inputs 

(No hardware changes required)

  • The T7 and the UE9 both have 14 analog inputs. The locations on the screw terminals and the DB37 are identical. 

  • The T7's analog inputs have greater resolution. 

  • The T7's analog inputs have more range and gain options.

T7’s analog inputs

Digital I/O - Basic IO

(No hardware changes required) 

  • The T7 and the UE9 both have 23 digital IO. The names and locations on the screw terminals, the CB15 and the CB37 are all identical.

  • Both devices use 3.3V logic.

  • For basic input and output, no changes are required.

  • Serial Communication: Both devices support I2C, SPI, and UART communication. The DIO used are specified in software and have no restrictions.

Digital I/O - Advanced

(Possible hardware changes required)

  • Both devices have the ability to generate PWM outputs and measure several characteristics of digital waveforms. 

  • The pins used for PWM generation and waveform measurement are different between the two devices. The UE9’s Timer/Counters feature supports many functions. If any of those are in use, compare the pin and the assigned function used on the UE9 to the T7’s DIO Extended Features table for pin compatibility. Any features being used on the UE9 which do not have an equivalent available on the same pin on the T7 must be moved to a different DIO.

Analog Outputs

(No hardware changes required) 

  • The T7 and the UE9 both have 2 analog outputs (DACs).

  • The DACs on both devices have the same range and resolution

  • No direct changes to wiring are needed.

Other Hardware Differences

(Possible hardware changes required)

  • SDA and SCL: The T7 replaces these lines with current sources. The UE9 does not expose any features on these pins. 

  • LEDs: The T7 has different patterns. See Section 8.0 LEDs of the T-Series Datasheet and Section 2.4 Comm and Control LEDs of the UE9 Datasheet.

  • Vext: The UE9 has screw terminals and barrel jack that can be used to power the device. The T7 can only be powered over the USB jack.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.