Drivers Tiepie Engineering



Description

Functions to control the device list: open and close devices and retrieve device information.

LibTiePie maintains a Device list, containing all available supported devices. Possible devices are oscilloscopes, generators and I2C hosts. Instruments can contain multiple devices, e.g. the Handyscope HS5 contains an oscilloscope, a generator and an I2C host.

After starting the application, the device list must be filled with all available devices, using LstUpdate(). When the application is running, the device list is automatically maintained. When new compatible devices are connected to the computer, they will be added to the device list automatically. When devices are disconnected from the computer, they are automatically removed from the list.

Getting device information

MATLAB Central contributions by TiePie engineering. Founded in 1987, the Dutch company TiePie engineering has become a recognized manufacturer of high quality computer controlled test and measurement equipment, such as USB oscilloscopes, arbitrary waveform generators, spectrum analyzers, protocol analyzers, data loggers and multimeters. This DataPlugin supports MultiChannel software files of TiePie engineering (Netherlands). This format is written by the MultiChannel software from TiePie engineering Netherla. Other TiePie engineering products Oscilloscopes. An oscilloscope toolbar and channel toolbars are available for each detected Handyscope. A convenient toolbar lets you navigate through the stored files to find the important moments in the measurement. TiePie Handyscope-HS4 DIFF (5MHz version). I would like to ask if you can communicate with Tiepie HP3 through VISA? I deleted its original USB drive, installed the VISA driver, and was able to recognize it.But no data could be collected.I wonder if I'm doing it the wrong way.How should Labview be combined with Tiepie HP3?Whic.

Before opening a device, information from the listed devices can be retrieved. This information can help opening the required device, when multiple devices are available in the list.

Opening a device

Before any device action can be performed a device needs to be opened. When a device in the device list is opened, a unique handle to the device is assigned. This handle is required to access the device.

LibTiePie has four functions for opening devices. One function for each device type (LstOpenOscilloscope, LstOpenGenerator and LstOpenI2CHost), and one (LstOpenDevice) to open a device by specifying its device type. A device can only be opened once.

Device open methods

LibTiePie supports three different methods for opening devices.

  • Open by device list index (IDKIND_INDEX), e.g.:
    TpDeviceHandle_t hScp = LstOpenDevice( IDKIND_INDEX , 4 , DEVICETYPE_OSCILLOSCOPE ); // Try to open oscilloscope at device list index 4.
  • Open by serial number (IDKIND_SERIALNUMBER), e.g.:
    TpDeviceHandle_t hGen = LstOpenDevice( IDKIND_SERIALNUMBER , 22110 , DEVICETYPE_GENERATOR ); // Try to open generator with serial number 22110.
  • Open by product id (IDKIND_PRODUCTID), e.g.:
    TpDeviceHandle_t hI2C = LstOpenDevice( IDKIND_PRODUCTID , PID_HS5 , DEVICETYPE_I2CHOST ); // Try to open a Handyscope HS5 I2C host.

When a device cannot be opened the function to open returns TPDEVICEHANDLE_INVALID.

Drivers Tiepie Engineering Colleges

Closing a disconnected device

When an open device is disconnected from the computer, the handle to that device will be no longer valid and the device needs to be closed using DevClose(). Calling functions pointing to a disconnected device will set the status flag to LIBTIEPIESTATUS_DEVICE_GONE.

Combining devices

Several devices support combining, where multiple units can be combined to form a larger device. Two different methods are possible.

Automatic combining

This applies to the Handyscope HS5.

Connect the instruments to each other using a special coupling cable and update the device list using LstUpdate(). A new combined device with a new (virtual) serial number will be added to the device list, the original devices remain present in the device list but can not be accessed anymore.

To undo an automatic combination, remove the coupling cable(s) and update the device list using LstUpdate().

Manual combining

This applies to the Handyscope HS4, Handyscope HS4 DIFF and ATS5004D.

Connect the instruments to each other using a special coupling cable and open the individual oscilloscopes to retrieve their handles. Then call a coupling function, supplying the handles of the devices to combine. A new combined device with a new (virtual) serial number will be added to the device list, the original devices remain present in the device list but their handles become invalid. These should be closed using DevClose(). An example in C is available on the TiePie engineering website.

To undo a manual combination, remove the coupling cable, close the combined device using DevClose() with the handle of the combined device. Finally remove the combined device from the device list using LstRemoveDevice() with the serial number of the combined device.

Opening a combined device

Opening a combined device can be done in the ways described before, with one restriction. When opening a combined device by product id (IDKIND_PRODUCTID), the id PID_COMBI must be used.

Modules

Listed devices
Functions to retrieve information from the listed devices.
Notifications
Functions to set notifications that are triggered when the device list is changed.

Functions

void LstUpdate (void)
Update the device list. More...
uint32_t LstGetCount (void)
Get the number of devices in the device list. More...
TpDeviceHandle_tLstOpenDevice (uint32_t dwIdKind, uint32_t dwId, uint32_t dwDeviceType)
Open a device and get a handle to the device. More...
TpDeviceHandle_tLstOpenOscilloscope (uint32_t dwIdKind, uint32_t dwId)
Open an oscilloscope and get a handle to the oscilloscope. More...
TpDeviceHandle_tLstOpenGenerator (uint32_t dwIdKind, uint32_t dwId)
Open a generator and get a handle to the generator. More...
TpDeviceHandle_tLstOpenI2CHost (uint32_t dwIdKind, uint32_t dwId)
Open an I2C host and get a handle to the I2C host. More...
uint32_t LstCreateCombinedDevice (const TpDeviceHandle_t *pDeviceHandles, uint32_t dwCount)
Create a combined instrument. More...
TpDeviceHandle_tLstCreateAndOpenCombinedDevice (const TpDeviceHandle_t *pDeviceHandles, uint32_t dwCount)
Create and open a combined instrument. More...
void LstRemoveDevice (uint32_t dwSerialNumber)
Remove an instrument from the device list so it can be used by other applications. More...

Function Documentation

Update the device list.

This function searches for new instruments and adds these to the device list.

Status values
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESSThe function executed successfully.
Example
Since
0.5

Get the number of devices in the device list.

Returns
The number of devices in the device list.
Status values
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESSThe function executed successfully.
Since
0.4.0
TpDeviceHandle_t LstOpenDevice (uint32_t dwIdKind,
uint32_t dwId,
uint32_t dwDeviceType
)

Open a device and get a handle to the device.

Drivers tiepie engineering services
Parameters
[in]dwIdKindAn id kind.
[in]dwIdA device index, Product ID or serial number identifying the device to open as specified by dwIdKind.
[in]dwDeviceTypeA device type.
Returns
A device handle, or TPDEVICEHANDLE_INVALID on error.
Status values
INITIALIZATION_FAILEDThe instrument's initialization failed, please contact TiePie engineering support.
INVALID_EEPROMThe instrument's EEPROM content is damaged, please contact TiePie engineering support.
INVALID_FIRMWAREThe currently used firmware is not supported .
INVALID_DRIVERThe currently installed driver is not supported, see LstDevGetRecommendedDriverVersion(). (Windows only)
INVALID_VALUEThe value of dwIdKind or dwDeviceType is invalid.
INVALID_DEVICE_INDEXThe device index is invalid, must be < LstGetCount().
INVALID_PRODUCT_IDThere is no device with the requested product ID.
INVALID_DEVICE_SERIALNUMBERThere is no device with the requested serial number.
INVALID_DEVICE_TYPEThe device type is invalid.
INVALID_DRIVERThe currently installed driver is not supported, see LstDevGetRecommendedDriverVersion(). (Windows only)
UNSUCCESSFULThe device is already open or an other error occurred.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESSThe function executed successfully.
Examples
TpDeviceHandle_t hScp = LstOpenDevice( IDKIND_INDEX , 4 , DEVICETYPE_OSCILLOSCOPE ); // Try to open oscilloscope at device list index 4.
TpDeviceHandle_t hI2C = LstOpenDevice( IDKIND_PRODUCTID , PID_HS5 , DEVICETYPE_I2CHOST ); // Try to open a Handyscope HS5 I2C host.
TpDeviceHandle_t hGen = LstOpenDevice( IDKIND_SERIALNUMBER , 22110 , DEVICETYPE_GENERATOR ); // Try to open generator with serial number 22110.
See also
LstOpenOscilloscope
LstOpenGenerator
LstOpenI2CHost
DevClose
Since
0.4.0
TpDeviceHandle_t LstOpenOscilloscope (uint32_t dwIdKind,
uint32_t dwId
)

Open an oscilloscope and get a handle to the oscilloscope.

Parameters
[in]dwIdKindAn id kind.
[in]dwIdA device index, Product ID or serial number identifying the oscilloscope to open as specified by dwIdKind.
Returns
A device handle, or TPDEVICEHANDLE_INVALID on error.
Status values
INITIALIZATION_FAILEDThe instrument's initialization failed, please contact TiePie engineering support.
INVALID_EEPROMThe instrument's EEPROM content is damaged, please contact TiePie engineering support.
INVALID_FIRMWAREThe currently used firmware is not supported .
INVALID_DRIVERThe currently installed driver is not supported, see LstDevGetRecommendedDriverVersion(). (Windows only)
INVALID_VALUEThe value of dwIdKind is invalid.
INVALID_DEVICE_INDEXThe device index is invalid, must be < LstGetCount().
INVALID_PRODUCT_IDThere is no device with the requested product ID.
INVALID_DEVICE_SERIALNUMBERThere is no device with the requested serial number.
INVALID_DRIVERThe currently installed driver is not supported, see LstDevGetRecommendedDriverVersion(). (Windows only)
UNSUCCESSFULThe device is already open or an other error occured.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESSThe function executed successfully.
Examples
TpDeviceHandle_t hScp = LstOpenOscilloscope( IDKIND_INDEX , 4 ); // Try to open oscilloscope at device list index 4.
TpDeviceHandle_t hScp = LstOpenOscilloscope( IDKIND_SERIALNUMBER , 27917 ); // Try to open oscilloscope with serial number 27917.
TpDeviceHandle_t hScp = LstOpenOscilloscope( IDKIND_PRODUCTID , PID_HS5 ); // Try to open a Handyscope HS5 oscilloscope.
See also
LstOpenDevice
LstOpenGenerator
LstOpenI2CHost
DevClose
Since
0.4.0
TpDeviceHandle_t LstOpenGenerator (uint32_t dwIdKind,
uint32_t dwId
)

Open a generator and get a handle to the generator.

Parameters
[in]dwIdKindAn id kind.
[in]dwIdDevice index, Product ID or serial number identifying the generator to open as specified by dwIdKind.
Returns
A device handle, or TPDEVICEHANDLE_INVALID on error.
Status values
INITIALIZATION_FAILEDThe instrument's initialization failed, please contact TiePie engineering support.
INVALID_EEPROMThe instrument's EEPROM content is damaged, please contact TiePie engineering support.
INVALID_FIRMWAREThe currently used firmware is not supported .
INVALID_DRIVERThe currently installed driver is not supported, see LstDevGetRecommendedDriverVersion(). (Windows only)
INVALID_VALUEThe value of dwIdKind is invalid.
INVALID_DEVICE_INDEXThe device index is invalid, must be < LstGetCount().
INVALID_PRODUCT_IDThere is no device with the requested product ID.
INVALID_DEVICE_SERIALNUMBERThere is no device with the requested serial number.
INVALID_DRIVERThe currently installed driver is not supported, see LstDevGetRecommendedDriverVersion(). (Windows only)
UNSUCCESSFULThe device is already open or an other error occured.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESSThe function executed successfully.
Examples
TpDeviceHandle_t hGen = LstOpenGenerator( IDKIND_INDEX , 2 ); // Try to open generator at device list index 2.
TpDeviceHandle_t hGen = LstOpenGenerator( IDKIND_SERIALNUMBER , 22110 ); // Try to open generator with serial number 22110.
TpDeviceHandle_t hGen = LstOpenGenerator( IDKIND_PRODUCTID , PID_HS5 ); // Try to open a Handyscope HS5 generator.
See also
LstOpenDevice
LstOpenOscilloscope
LstOpenI2CHost
DevClose
Since
0.4.0
TpDeviceHandle_t LstOpenI2CHost (uint32_t dwIdKind,
uint32_t dwId
)

Open an I2C host and get a handle to the I2C host.

Parameters
[in]dwIdKindAn id kind.
[in]dwIdA device index, Product ID or serial number identifying the I2C host to open as specified by dwIdKind.
Returns
A device handle, or TPDEVICEHANDLE_INVALID on error.
Status values

Drivers Tiepie Engineering Services

INITIALIZATION_FAILEDThe instrument's initialization failed, please contact TiePie engineering support.
INVALID_EEPROMThe instrument's EEPROM content is damaged, please contact TiePie engineering support.
INVALID_FIRMWAREThe currently used firmware is not supported .
INVALID_DRIVERThe currently installed driver is not supported, see LstDevGetRecommendedDriverVersion(). (Windows only)
INVALID_VALUEThe value of dwIdKind is invalid.
INVALID_DEVICE_INDEXThe device index is invalid, must be < LstGetCount().
INVALID_PRODUCT_IDThere is no device with the requested product ID.
INVALID_DEVICE_SERIALNUMBERThere is no device with the requested serial number.
INVALID_DRIVERThe currently installed driver is not supported, see LstDevGetRecommendedDriverVersion(). (Windows only)
UNSUCCESSFULThe device is already open or an other error occured.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESSThe function executed successfully.
Examples
TpDeviceHandle_t hI2C = LstOpenI2CHost( IDKIND_INDEX , 0 ); // Try to open I2C host at device list index 0.
TpDeviceHandle_t hI2C = LstOpenI2CHost( IDKIND_SERIALNUMBER , 26697 ); // Try to open I2C host with serial number 26697.
TpDeviceHandle_t hI2C = LstOpenI2CHost( IDKIND_PRODUCTID , PID_HS5 ); // Try to open a Handyscope HS5 I2C host.

Drivers Tiepie Engineering Jobs

See also
LstOpenDevice
LstOpenOscilloscope
LstOpenGenerator
DevClose
Since
0.4.0
uint32_t LstCreateCombinedDevice (const TpDeviceHandle_t * pDeviceHandles,
uint32_t dwCount
)

Create a combined instrument.

This function creates combined instrument from the indicated devices.

Parameters
[in]pDeviceHandlesPointer to an array of handles of the devices to combine.
[in]dwCountThe number of device handles.
Returns
Serial number of the combined device, or zero on error.
Status values
NOT_SUPPORTEDCombining is not supported.
INVALID_HANDLEOne or more device handles are invalid.
INVALID_VALUEpDeviceHandles must be != NULL and the number of device handles must be >= 2.
DEVICE_GONEOne or more devices indicated by the device handles is no longer available.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESSThe function executed successfully.
See also
LstCreateAndOpenCombinedDevice
Since
0.4.4
TpDeviceHandle_t LstCreateAndOpenCombinedDevice (const TpDeviceHandle_t * pDeviceHandles,
uint32_t dwCount
)

Create and open a combined instrument.

This function creates a combined instrument from the indicated devices and opens it.

Parameters
[in]pDeviceHandlesPointer to an array of handles of the devices to combine.
[in]dwCountThe number of device handles.
Returns
A device handle, or TPDEVICEHANDLE_INVALID on error.
Drivers tiepie engineering schools
Status values
NOT_SUPPORTEDCombining is not supported.
INVALID_HANDLEOne or more device handles are invalid.
INVALID_VALUEpDeviceHandles must be != NULL and the number of device handles must be >= 2.
DEVICE_GONEOne or more devices indicated by the device handles is no longer available.
UNSUCCESSFULAn error occurred during execution of the last called function.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESSThe function executed successfully.
See also
LstCreateCombinedDevice
Since
0.4.4

Remove an instrument from the device list so it can be used by other applications.

Parameters
[in]dwSerialNumberSerial number of the device to remove.

Drivers Tiepie Engineering

Status values
UNSUCCESSFULDevice is still open?
NOT_SUPPORTEDDevice can't be removed from the list. To remove a combined Handyscope HS5, unplug the coupling cable and call LstUpdate().
INVALID_DEVICE_SERIALNUMBERThere is no device with the requested serial number.
LIBRARY_NOT_INITIALIZEDThe library is not initialized, see LibInit().
SUCCESSThe function executed successfully.

Drivers Tiepie Engineering Schools

Since
0.4.0