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

55 lines
2.9 KiB
Markdown

---
source_files:
- Common/DTS.Common.Serialization/IRIGCH10/Attributes/DescriptionDecoder.cs
- Common/DTS.Common.Serialization/IRIGCH10/Attributes/PacketHeaderValueAttribute.cs
- Common/DTS.Common.Serialization/IRIGCH10/Attributes/DataTypeVersionValueAttribute.cs
generated_at: "2026-04-17T15:40:03.278067+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "62884204c246cc16"
---
# Documentation: IRIG Chapter 10 Attribute Utilities
## 1. Purpose
This module provides attribute-based metadata extraction utilities for IRIG 106 Chapter 10 data serialization. It enables annotating enum values with descriptive strings, max lengths, packet header values, and data type version numbers—metadata used when generating TMATS (Telemetry Attributes Transfer Standard) files and processing Chapter 10 packet structures. The module serves as a bridge between .NET enum definitions and their corresponding binary protocol representations as defined in the IRIG 106 Chapter 10 specification.
---
## 2. Public Interface
### `DescriptionDecoder` (static class)
**Namespace:** `IRIGCh10`
| Method | Signature | Description |
|--------|-----------|-------------|
| `GetDescription` | `public static string GetDescription(Enum value)` | Retrieves the `DescriptionAttribute` value from an enum member. Returns the description string if the attribute is present; otherwise returns `value.ToString()`. |
### `MaxLengthDecoder` (static class)
**Namespace:** `IRIGCh10`
| Method | Signature | Description |
|--------|-----------|-------------|
| `GetMaxLength` | `public static int GetMaxLength(Enum value)` | Retrieves the `MaxLengthAttribute` length value from an enum member. Returns the length if the attribute is present; otherwise returns `0`. |
### `PacketHeaderValueAttribute`
**Namespace:** `DTS.Serialization.IRIGCh10.Attributes`
| Member | Signature | Description |
|--------|-----------|-------------|
| `Default` (static field) | `public static readonly PacketHeaderValueAttribute Default` | Default instance initialized with `0x00`. |
| `PacketHeader` (property) | `public virtual byte PacketHeader { get; }` | Gets the packet header byte value. |
| `GetPacketHeaderValue` (static method) | `public static byte GetPacketHeaderValue(Enum value)` | Retrieves the `PacketHeaderValueAttribute` byte from an enum member. Returns the attribute value if present; otherwise returns `Default.PacketHeaderValue` (`0x00`). |
**Constructors:**
- `public PacketHeaderValueAttribute()` — Initializes with `0x00`.
- `public PacketHeaderValueAttribute(byte packetHeader)` — Initializes with the specified byte value.
### `DataTypeVersionValueAttribute`
**Namespace:** `DTS.Serialization.IRIGCh10.Attributes`
| Member | Signature | Description |
|--------|-----------|-------------|
| `Default` (static field) | `public static readonly DataTypeVersionValueAttribute Default` | Default instance initialized with `0x00`. |
| `DataTypeVersion` (