Files
2026-04-17 14:55:32 -04:00

14 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/SensorDB/TSF/TSFChannel.cs
DataPRO/SensorDB/TSF/G5DigitalInputChannelTSFEntry.cs
DataPRO/SensorDB/TSF/TSFCalculatedChannelEntry.cs
DataPRO/SensorDB/TSF/TSFTCFSection.cs
DataPRO/SensorDB/TSF/TSFSquibFireEntry.cs
DataPRO/SensorDB/TSF/TSFDigitalChannel.cs
DataPRO/SensorDB/TSF/TSFDIMEntry.cs
DataPRO/SensorDB/TSF/TSFSensorEntry.cs
DataPRO/SensorDB/TSF/TSFCalibrationInformation.cs
DataPRO/SensorDB/TSF/TSFSamplingInformationSection.cs
DataPRO/SensorDB/TSF/TSFModuleDescription.cs
DataPRO/SensorDB/TSF/TSFOutputChannelDescription.cs
DataPRO/SensorDB/TSF/TSFInputChannelDescription.cs
DataPRO/SensorDB/TSF/TSFRackInformationSection.cs
DataPRO/SensorDB/TSF/TSFSystemDescription.cs
DataPRO/SensorDB/TSF/TSFModuleInformationSection.cs
2026-04-17T15:45:32.064653+00:00 zai-org/GLM-5-FP8 1 183a641a3ddd29ec

TSF Module Documentation

1. Purpose

This module provides data structures and parsing logic for Test Setup Files (TSF) used in the DTS SensorDB/DataPRO data acquisition system. It defines channel entry types for various hardware configurations (analog sensors, digital I/O, squib fire channels, calculated channels), section parsers for TSF file structure (sampling information, rack/module information, TCF sections), and hardware description classes for system configuration. The TSF format serves as a configuration file format for data acquisition hardware including SIMs (Sensor Input Modules), TOMs (Trigger/Output Modules), and G5 modules.


2. Public Interface

TSFChannel (abstract class)

Base class providing a unified indexing mechanism for all channel types.

Member Signature Description
NOT_ASSIGNED const int = -1 Constant indicating an unassigned channel number
TestChannelNumber int { get; set; } Unified channel index for all channel types, defaults to NOT_ASSIGNED

G5DigtalInputChannelTSFEntry : TSFChannel

Represents an entry in the G5 Digital Input Channels section.

Member Signature Description
DataChan int { get; set; } Data channel number
Rack int { get; set; } Rack identifier
Module int { get; set; } Module identifier
Chan int { get; set; } Channel number
Descripton string { get; set; } Channel description (note: typo in property name)
ISOCode string { get; set; } ISO code identifier
Scale double { get; set; } Scaling factor
Invert bool { get; set; } Inversion flag
Fields enum Enum values: datachan, rack, mod, chan, descrip, ISOCode, scale, invert

TSFCalculatedChannelEntry : TSFChannel

Represents a calculated channel section entry.

Member Signature Description
Chan int { get; set; } Channel number
Description string { get; set; } Channel description
ProcessType int { get; set; } Processing type identifier
FirstChan, SecondChan, ThirdChan int { get; set; } Source channel references
Value double { get; set; } Constant value
EU string { get; set; } Engineering units label
ExpMaxRange double { get; set; } Expected maximum range
Progress2, Progress3 double { get; set; } Progress values
Fields enum Enum values: chan, descrip, processtype, firstchan, secondchan, thirdchan, value, EU, expmaxrange, progress2, progress3

TSFTCFSection

Handles the TCF (Test Configuration File) section of a TSF.

Member Signature Description
TCFPath string { get; set; } Path to the TCF file
ReadFrom void ReadFrom(List<string> lines, ref int currentLine, ref List<ReadTSFError> errors) Parses the TCF section from TSF lines; expects currentLine to point to section start

TSFSquibFireEntry : TSFChannel

Represents an entry in the TOM Squib Fire Channels section.

Member Signature Description
Rack, Module, Chan int { get; set; } Hardware location identifiers
Description string { get; set; } Channel description
Id string { get; set; } Identifier; setter converts "none" (case-insensitive) to empty string
Type int { get; set; } Squib type identifier
Current double { get; set; } Current value
Delay double { get; set; } Delay time
DurationOn bool { get; set; } Duration enabled flag
Duration double { get; set; } Duration value
OhmLow, OhmHigh double { get; set; } Resistance tolerance range
ISOcode string { get; set; } ISO code identifier
Fields enum Enum values: rack, module, chan, descrip, id, type, current, delay, durationON, duration, OhmLow, OhmHigh, ISOcode

TSFTOMDigitalOutputChannel : TSFChannel

Represents an entry in the TOM Digital Channels (output) section.

Member Signature Description
Rack, Module, Chan int { get; set; } Hardware location identifiers
Type DigitalOutputTypes { get; set; } Output type; defaults to NONE
Delay double { get; set; } Delay time
DurationOn bool { get; set; } Duration enabled flag
Duration double { get; set; } Duration value
Description string { get; set; } Channel description; defaults to "N/A"
DigitalOutputTypes enum Values: NONE = 0, FiveVLH = 1, FiveVHL = 2, CCNO = 3, CCNC = 4
GetDigitalOutputMode static DigitalOutputModes GetDigitalOutputMode(DigitalOutputTypes outputType) Converts DigitalOutputTypes to DigitalOutputModes enum
Fields enum Enum values: rack, module, chan, type, delay, durationON, duration

TSFDIMEntry : TSFChannel

Represents an entry in the DIM (Digital Input Module) Begin section.

Member Signature Description
DataChan int { get; set; } Data channel number
Rack, Module, Chan int { get; set; } Hardware location identifiers
Description string { get; set; } Channel description
SerialNumber string { get; set; } Serial number
Mode string { get; set; } Mode setting
Inverted int { get; set; } Inversion flag (integer)
EID string { get; set; } Event identifier
FileName string { get; set; } Associated filename
Scale double { get; set; } Scaling factor
FilterMode int { get; set; } Filter mode setting
FilterThreshold double { get; set; } Filter threshold value
ISOCode string { get; set; } ISO code identifier
CableTest int { get; set; } Cable test setting
Fields enum Enum values: Datachan, Rack, Module, Chan, Description, SerialNo, Mode, Inverted, EID, Filename, Scale, FilterMode, FilterThreshold, ISOCODE, CableTest

TSFSensorEntry : TSFChannel

Represents an entry in the Sensor Channel Information section (analog sensor channels).

Member Signature Description
DataChan, Rack, Module, Chan int { get; set; } Hardware location identifiers
Description string { get; set; } Channel description
SerialNumber string { get; set; } Sensor serial number
OffsetLow, OffsetHigh double { get; set; } Offset range values
RemoveOffset bool { get; set; } Offset removal flag; defaults to true
CalMode CalMode { get; set; } Calibration mode object
CalStep, ShuntValue double { get; set; } Calibration parameters
ProportionalToExcitation bool { get; set; } Excitation proportionality flag
Sensitivity, Gain, ExtVolt double { get; set; } Signal conditioning parameters
EU string { get; set; } Engineering units label
Filter double { get; set; } Filter setting
Invert bool { get; set; } Inversion flag
ZeroRef ZeroRef { get; set; } Zero reference configuration
DesiredMaxRange double { get; set; } Desired maximum range
CommentField string { get; set; } Comment text
CalDate DateTime { get; set; } Calibration date
Offset bool { get; set; } Offset flag
InitialEU double { get; set; } Initial engineering units value
SensorId string { get; set; } Sensor identifier; setter converts "none" to empty string
ISOCode string { get; set; } ISO code identifier
IRTRACCexponent double { get; set; } IRTRACC exponent value
SensorCategory SensorInformationFile.TDCSensorCategory { get; set; } Sensor category; defaults to Normal
DesiredMaxRangeScaling double { get; set; } Max range scaling factor
C0 through C6 double { get; set; } Polynomial coefficients
Fields enum Enum with 32 field identifiers for TSF parsing

TSFCalibrationInformation

Handles calibration information for a channel.

Member Signature Description
Version int { get; set; } Version number
Parent TSFChannelDescription { get; set; } Parent channel reference
Source int { get; set; } Source identifier
CRC32 ulong { get; set; } CRC32 checksum
CalibrationValid, CalPass bool { get; set; } Calibration validity flags
CalGainErrorPercent, CalShuntErrorPercent double { get; set; } Error percentages
CalMeasuredScaleFactorMV double { get; set; } Measured scale factor in mV
CalExcitationVolts double { get; set; } Excitation voltage
CalChannelOffsetADC, CalChannelZeroADC int { get; set; } ADC offset values
CalNaturalSensorOffsetMV double { get; set; } Natural sensor offset in mV
CalNaturalFloorADC int { get; set; } Natural floor ADC value
CalInputRangeMV double { get; set; } Input range in mV
CalNoiseFloorADC, CalNoiseAtRangeADC double { get; set; } Noise measurements
TSFCalibrationInformation() Constructor Default constructor
TSFCalibrationInformation(TSFCalibrationInformation copy, TSFChannelDescription channel) Constructor Copy constructor with new parent reference

TSFSamplingInformationSection

Handles the sampling information section of a TSF.

Member Signature Description
SampleRateHz double { get; set; } Sample rate in Hz
PreTriggerSeconds double { get; set; } Pre-trigger time in seconds (always positive)
PostTriggerSeconds double { get; set; } Post-trigger time in seconds (always positive)
AAF double { get; set; } Adjustable anti-aliasing filter frequency in Hz
PostCalTimeSeconds double { get; set; } Post-calibration time in seconds
TSFSamplingInformationSection(List<string> lines, ref int currentLine) Constructor Parses sampling section from TSF lines; throws EndOfStreamException or InvalidDataException on errors

TSFModuleDescription

Describes a hardware module (derived from HLAPI).

Member Signature Description
Version int { get; set; } Version number
Type int { get; set; } Module type (see HLAPI_MODULE_TYPE_)
Parent TSFRackDescription { get; set; } Parent rack reference
Source int { get; set; } Source identifier
Slot int { get; set; } Slot position
CRC32 ulong { get; set; } CRC32 checksum
HardwareInfoValid bool { get; set; } Hardware info validity flag
HWSerialNumber string { get; set; } Hardware serial number
HWTOMTriggerType int { get; set; } TOM trigger type (see HLAPI_MODULE_TOM_TRIGGER_)
HWRackPosition int { get; set; } Rack position
HWChannelCount int { get; set; } Number of channels
HWChannelList TSFChannelDescription[] { get; set; } Array of channel descriptions
DownloadDescriptionValid, DownloadTriggerDetected bool { get; set; } Download status flags
DownloadDataFlag char { get; set; } Download data flag
DownloadBeginSeconds, DownloadEndSeconds double { get; set; } Download time range
ModuleBatteryVolts double { get; set; } Battery voltage
TSFModuleDescription() Constructor Default constructor
TSFModuleDescription(TSFModuleDescription copy, TSFRackDescription rack) Constructor Copy constructor with new parent reference

TSFOutputChannelDescription

Describes an output channel (derived from HLAPI).

Member Signature Description
Version, Source int { get; set; } Version and source identifiers
Parent TSFChannelDescription { get; set; } Parent channel reference
CRC32 ulong { get; set; } CRC32 checksum
SquibInfoValid bool { get; set; } Squib info validity flag
SquibFireMode char { get; set; } Fire mode (see HLAPI_OUTPUT_FIRE_MODE)
SquibMeasurementType char { get; set; } Measurement type (see HLAPI_OUTPUT_MEASUREMENT_TYPE)
SquibBypassCurrentFilter, SquibBypassVoltageFilter bool { get; set; } Filter bypass flags
SquibToleranceLow, SquibToleranceHigh double { get; set; } Tolerance range
SquibOutputCurrent double { get; set; } Output current
DigitalInfoValid bool { get; set; } Digital info validity flag
DigitalOutputMode char { get; set; } Digital output mode (see HLAPI_OUTPUT_DIGITAL_MODE)
SquibMeasurementValid bool { get; set; } Measurement validity flag
SquibMeasuredOhms double { get; set; } Measured resistance
SquibFireValid, `Squib