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:
Discover devices - Use
FutekSerialScanner.discover_devices()to find connected devicesPre-TEDS operations - Call
device.pre_teds_operations()to prepare the deviceInitialize TEDS - Call
device.initialize_teds()to load TEDS dataPost-TEDS operations - Call
device.post_teds_operations()to complete initializationAccess TEDS data - Use
FutekDevicegetter methods to retrieve TEDS information
Available TEDS Methods on FutekDevice:
device.teds_is_connected()- Check if TEDS is connecteddevice.get_teds_template()- Get template identifierdevice.get_teds_serial_number()- Get TEDS serial numberdevice.get_teds_engineering_unit()- Get engineering unitdevice.get_teds_max_capacity()- Get maximum capacitydevice.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)