Files
DP44/docs/ai/Common/DTS.Common.Serialization/DDAS (Chrysler)/FromChrysler.md
2026-04-17 14:55:32 -04:00

89 lines
3.9 KiB
Markdown

---
source_files:
- Common/DTS.Common.Serialization/DDAS (Chrysler)/FromChrysler/ChannelDefinition.h
- Common/DTS.Common.Serialization/DDAS (Chrysler)/FromChrysler/FilePath.h
- Common/DTS.Common.Serialization/DDAS (Chrysler)/FromChrysler/DDASTestDefinition.h
- Common/DTS.Common.Serialization/DDAS (Chrysler)/FromChrysler/DataFloat.h
generated_at: "2026-04-17T15:36:51.829395+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "39b9f7039a4c0cc0"
---
# DDAS (Chrysler) Serialization Module Documentation
## 1. Purpose
This module provides data structures and utilities for the DaimlerChrysler DDAS (Dynamic Data Acquisition System) file format. It defines the binary layout for test definitions, channel configurations, transducer data, and floating-point data files used in crash test data acquisition. The module handles serialization of test configurations, channel definitions, and acquired data, serving as the bridge between proprietary DDAS hardware and software analysis tools.
---
## 2. Public Interface
### ChannelDefinition.h
**Structures:**
- `CHANNEL` / `PCHANNEL` / `PCHAN` — A 64-bit aligned structure representing a data acquisition channel.
- `short Size` — Size of the object
- `short Flags` — Channel flags (bitfield)
- `char Name[64]` — Channel name
- `char Sign[8]` — Sign indicator (+, -, or blank)
- `char Axis[8]` — Axis identifier (X, Y, Z, FX, MX, AX, etc.)
- `float FilterFreq` — Filter frequency in Hz
- `float SetGain` — Configured gain setting
- `float ActGain` — Actual/measured gain
- `float Rcal` — Shunt calibration resistance
- `float Excitation` — Excitation voltage
- `byte byteSpares[4]` — Spare bytes (formerly `CalDate`)
- `TRANSDUCER Transducer` — Embedded transducer snapshot
**Enumerations:**
- `ChannelFlags` — Contains `CHANFLAG_ACTIVE`
**Macros:**
- `ISCHANACTIVE(pChan)` — Returns 1 if channel active flag is set
- `SETCHANACTIVE(pChan)` — Sets channel active flag
- `CLRCHANACTIVE(pChan)` — Clears channel active flag
---
### FilePath.h
**Class: `CFilePath`**
File path manipulation utility with the following public methods:
| Method | Signature | Description |
|--------|-----------|-------------|
| `CFilePath` | `()` | Constructor |
| `~CFilePath` | `() virtual` | Virtual destructor |
| `operator=` | `(const CFilePath &src)` | Assignment operator |
| `Clear` | `void ()` | Clears all path components |
| `SetDrive` | `int (int nDriveAis1)` | Sets drive by number (A=1) |
| `SetDriveOrResource` | `int (char *szNewDrive, int* nNext)` | Sets drive or network resource |
| `SetDir` | `int (char *szNewDir, int* nNext)` | Sets directory component |
| `SetFile` | `int (char *szNewFile, int *nNext)` | Sets filename component |
| `SetExtension` | `int (char *szNewExt)` | Sets file extension |
| `SetFullFilePathAndName` | `int (char* szPathAndName)` | Parses and sets complete path |
| `ParseFilePathAndName` | `int (char *szPathAndName)` | Parses path into components |
| `GetFullFilePathAndName` | `const char* ()` | Returns complete path string |
| `GetFileName` | `const char* ()` | Returns filename without extension |
| `GetFileNameExt` | `const CString ()` | Returns filename with extension |
| `GetFileExtension` | `const char* ()` | Returns file extension |
| `FileExists` | `BOOL ()` | Checks if file exists on disk |
| `IsFileType` | `bool (char *szFileTypeExt)` | Validates file extension matches |
| `IsPathComplete` | `bool (int *pFlgValid)` | Checks if path is fully specified |
| `IsFileValid` | `bool (const char* szFileSpec, const char *szFileTypeExt, CString* pcsError)` | Validates file specification |
| `IsAllValidChars` | `bool (char* szInString, int* pnPosBad)` | Validates characters in string |
**Enumerations:**
- `FileSpecOK` — Bitmask flags for path validation:
- `FSPEC_EXTOK = 0x1` — Extension valid
- `FSPEC_NAMEOK = 0x2` — Filename valid
- `FSPEC_PATHOK = 0x4` — Path valid
- `FSPEC_ROOTOK = 0x8` — Drive/computer valid
- `FSPEC_REL