init
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common.Serialization/DDAS (Chrysler)/ChannelDefinition.h
|
||||
- Common/DTS.Common.Serialization/DDAS (Chrysler)/DDASTestDefinition.h
|
||||
- Common/DTS.Common.Serialization/DDAS (Chrysler)/DataFloat.h
|
||||
- Common/DTS.Common.Serialization/DDAS (Chrysler)/DDAS.File.cs
|
||||
- Common/DTS.Common.Serialization/DDAS (Chrysler)/DDASTest.cs
|
||||
- Common/DTS.Common.Serialization/DDAS (Chrysler)/DDAS.File.Writer.cs
|
||||
- Common/DTS.Common.Serialization/DDAS (Chrysler)/TSVSettingsWindow.cs
|
||||
- Common/DTS.Common.Serialization/DDAS (Chrysler)/TSVSettingsWindow.Designer.cs
|
||||
- Common/DTS.Common.Serialization/DDAS (Chrysler)/DDASChannel.cs
|
||||
generated_at: "2026-04-16T10:56:49.509276+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "3efc64a6d144d6f5"
|
||||
---
|
||||
|
||||
# DDAS Serialization Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides serialization support for the DDAS (DaimlerChrysler Data Acquisition System) file format, enabling reading and writing of test configuration and channel data. It bridges legacy C++ data structures (CHANNEL, FILEINFOBLOCK, TESTINFO, etc.) with a modern C# serialization framework, supporting export of test data including channel metadata, transducer information, and floating-point sample data to the proprietary DDAS ".ddas" and ".fpd" file formats.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### C++ Structures (ChannelDefinition.h)
|
||||
|
||||
**`CHANNEL` / `PCHANNEL` / `PCHAN`** - Channel definition structure:
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `Size` | `short` | Size of this object |
|
||||
| `Flags` | `short` | Channel flags |
|
||||
| `Name` | `char[64]` | Channel name |
|
||||
| `Sign` | `char[8]` | Sign (+, -, or blank) |
|
||||
| `Axis` | `char[8]` | Axis (X,Y,Z,FX,MX,AX,...) |
|
||||
| `FilterFreq` | `float` | Channel filter class (Hz) |
|
||||
| `SetGain` | `float` | Gain setting (1-n) |
|
||||
| `ActGain` | `float` | Actual (measured) gain |
|
||||
| `Rcal` | `float` | Shunt calibration resistance |
|
||||
| `Excitation` | `float` | Excitation voltage (programmable) |
|
||||
| `byteSpares` | `byte[4]` | Spare bytes (was CalDate) |
|
||||
| `Transducer` | `TRANSDUCER` | Snapshot of transducer values |
|
||||
|
||||
**Channel Macros:**
|
||||
- `ISCHANACTIVE(pChan)` - Returns 1 if channel active flag is set
|
||||
- `SETCHANACTIVE(pChan)` - Sets channel active flag
|
||||
- `CLRCHANACTIVE(pChan)` - Clears channel active flag
|
||||
|
||||
**Enumerations:**
|
||||
- `ChannelFlags { CHANFLAG_ACTIVE }`
|
||||
|
||||
---
|
||||
|
||||
### C++ Structures (DDASTestDefinition.h)
|
||||
|
||||
**`FILEINFOBLOCK`** - File metadata:
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `Size` | `UINT` | Block size including Size |
|
||||
| `FileTypeName` | `char[12]` | Software type name |
|
||||
| `FileTypeVers` | `char[12]` | File version name |
|
||||
| `FileTypeFlags` | `UINT` | Hardware type (upper 16 bits), File type (lower 16 bits) |
|
||||
| `CreatedByName` | `char[16]` | Creator T-number |
|
||||
| `UpdatedByName` | `char[16]` | Updater T-number |
|
||||
|
||||
**`DATASYSTEMBLOCK`** - Data system configuration:
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `Size` | `UINT` | Block size |
|
||||
| `NumberOfSystems` | `UINT` | Number of systems |
|
||||
| `ChannelsPerSystem` | `UINT` | Channels per system |
|
||||
| `MaxSampleRate` | `UINT` | Max/default sample rate |
|
||||
| `SizeOfConfig` | `UINT` | Size of DDASCONFIGBLOCK |
|
||||
|
||||
**`DDASCONFIGBLOCK`** - Per-system configuration:
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `Size` | `UINT` | Block size |
|
||||
| `AnalogUnitNo` | `short` | DDAS analog unit number |
|
||||
| `AnalogOptions` | `short` | Analog unit options |
|
||||
| `MemoryUnitNo` | `short` | DDAS memory unit number |
|
||||
| `MemoryOptions` | `short` | Memory unit options |
|
||||
| `MemorySize` | `long` | Memory unit RAM (bytes) |
|
||||
|
||||
**`ACQUISITIONBLOCK`** - Acquisition parameters:
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `nSize` | `long` | Block size |
|
||||
| `nRecordMode` | `long` | Record mode (RECORDMODE_EVENT or RECORDMODE_TAPE) |
|
||||
| `SampleRate` | `long` | Samples per second |
|
||||
| `TotalSamples` | `long` | Total samples in record |
|
||||
| `PreEventSamples` | `long` | Pre-event samples (Event mode only) |
|
||||
| `TapeModeChannels` | `long` | Number of channels (Tape mode only) |
|
||||
| `nTrigBlock` | `long` | Number of trigger entries |
|
||||
|
||||
**`TRIGCHANDEF`** - Trigger channel definition:
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `ChanNo` | `BYTE` | Channel number for trigger |
|
||||
| `LevelPct` | `BYTE` | Trigger level % full scale (0=off) |
|
||||
|
||||
**`TRIGCHANBLOCK`** - Trigger channel block:
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `SizeBlock` | `unsigned short` | Block size in bytes |
|
||||
| `NumTrigs` | `unsigned short` | Number of trigger entries |
|
||||
| `TrigChan` | `TRIGCHANDEF[MAXTRIGCHANS]` | Channel trigger array |
|
||||
|
||||
**Enumerations:**
|
||||
- `FileTypeFlags { FILETYPE_IMPORTED4X }`
|
||||
- `HardwareType { HWTYPE_UNKNOWN, HWTYPE_DDAS3, HWTYPE_KAYSERTHREDE, HWTYPE_COUNT }`
|
||||
- `AnalogOptionFlags { ANAOPT_CHANTRIGGERS }`
|
||||
- `MemoryOptionFlags { MEMOPT_TAPEMODE, MEMOPT_PREEVENT, MEMOPT_PREEVENTXXX }`
|
||||
- `RecordModes { RECORDMODE_EVENT, RECORDMODE_TAPE }`
|
||||
|
||||
**Constants:**
|
||||
- `MAXTRIGCHANS = 4`
|
||||
- `TRIGCHANDSBL = 0x80`
|
||||
- `TESTDEFEXT = ".tdf"`
|
||||
- `DDASTYPENAME = "DDAS V5"`
|
||||
- `DDASFILEVERS = "Ver 500"`
|
||||
|
||||
---
|
||||
|
||||
### C++ Structures (DataFloat.h)
|
||||
|
||||
**`TESTINFO`** - Test information:
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `Size` | `unsigned long` | Block size |
|
||||
| `DeviceID` | `unsigned long` | DAQ device ID |
|
||||
| `ChannelNo` | `long` | Channel number (1-32) |
|
||||
| `SampleRate` | `long
|
||||
Reference in New Issue
Block a user