FUTEK Device Communication

This module provides communication interfaces for FUTEK serial devices.

Custom Exceptions

FUTEK Serial Scanner

FUTEK Device

ADC Converter

TEDS Data

Note

TEDS properties should be accessed through the FutekDevice class methods.

TEDS Initialization Example

The following example demonstrates how to properly initialize TEDS (Transducer Electronic Data Sheet) data and retrieve TEDS information from a device:

 1def teds_scaled_reading():
 2    futek_devices = FutekSerialScanner.discover_devices()
 3    device: FutekDevice = futek_devices[0]
 4    device.pre_teds_operations()
 5    device.initialize_teds()
 6    device.post_teds_operations()
 7
 8    reading = device.get_reading()
 9
10    print(f"teds is connected: {device.teds_is_connected()}")
11    print(f"teds template: {device.get_teds_template()}")
12    print(f"teds serial number: {device.get_teds_serial_number()}")
13    print(f"teds engineering unit: {device.get_teds_engineering_unit()}")
14    print(f"teds max capacity: {device.get_teds_max_capacity()}")
15    print(f"auto teds enbaled {device.get_auto_teds()}")

Key Steps:

  1. Discover devices - Use FutekSerialScanner.discover_devices() to find connected devices

  2. Pre-TEDS operations - Call device.pre_teds_operations() to prepare the device

  3. Initialize TEDS - Call device.initialize_teds() to load TEDS data

  4. Post-TEDS operations - Call device.post_teds_operations() to complete initialization

  5. Access TEDS data - Use FutekDevice getter methods to retrieve TEDS information

Available TEDS Methods on FutekDevice:

  • device.teds_is_connected() - Check if TEDS is connected

  • device.get_teds_template() - Get template identifier

  • device.get_teds_serial_number() - Get TEDS serial number

  • device.get_teds_engineering_unit() - Get engineering unit

  • device.get_teds_max_capacity() - Get maximum capacity

  • device.get_auto_teds() - Check if auto-TEDS is enabled

Stream Data Converter

Unit of Measure Enum

Sampling Rate Enums

USB225 Sampling Rates

Example Usage:

from futek_device_communication import USB225SamplingRateEnum

# Set sampling rate to 100 SPS
device.set_sampling_rate(USB225SamplingRateEnum.SPS_100)

# Set sampling rate to 2400 SPS
device.set_sampling_rate(USB225SamplingRateEnum.SPS_2400)

QIA128 Sampling Rates

Example Usage:

from futek_device_communication import QIA128SamplingRateEnum

# Set sampling rate to 100 SPS
device.set_sampling_rate(QIA128SamplingRateEnum.SPS_100)

# Set sampling rate to 500 SPS
device.set_sampling_rate(QIA128SamplingRateEnum.SPS_500)

IDC150 Sampling Rates

Example Usage:

from futek_device_communication import IDC150SamplingRateEnum

# Set sampling rate to 100 SPS
device.set_sampling_rate(IDC150SamplingRateEnum.SPS_100)

# Set sampling rate to 850 SPS
device.set_sampling_rate(IDC150SamplingRateEnum.SPS_850)