--- source_files: - Common/DTS.Common/Interface/TSRAIRGo/INavigationButtonInfo.cs - Common/DTS.Common/Interface/TSRAIRGo/ArmStateMachineStates.cs generated_at: "2026-04-17T16:06:29.967746+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "9dc42f5f04856916" --- # TSRAIRGo ### Purpose This module provides interfaces and enums for the TSRAIRGo feature, specifically defining navigation button configuration and arm state machine states. The `INavigationButtonInfo` interface standardizes navigation button properties, while `ArmStateMachineStates.States` enum defines the lifecycle states for an arming process, likely related to hardware device control or data acquisition triggering. ### Public Interface - **`INavigationButtonInfo`** (interface) - Defines properties for navigation button configuration: - `NavigationButtonId Id { get; }` - Read-only identifier for the button. - `string Text { get; set; }` - Button display text. - `string Tooltip { get; set; }` - Button tooltip text. - `bool Enabled { get; set; }` - Button enabled state. - `bool ShowBorder { get; set; }` - Border visibility toggle. - **`ArmStateMachineStates`** (class) - Container class for the `States` enum. - **`ArmStateMachineStates.States`** (enum) - Defines arming state machine states with `Description` attributes: - `CheckingArmState` - "Checking Arm State" - `Disarmed` - "Disarmed" - `IDLE` - "IDLE" - `PreparingForArming` - "Preparing For Arming" - `ClearingFlash` - "Clearing Flash" - `WaitingForTrigger` - "Waiting For Trigger" - `Recording` - "Recording" - `PostTestProcessing` - "Post Test Processing" - `CheckingForData` - "Checking For Data" - `GettingEventInfo` - "Getting Event Info" - `ReadyForDownload` - "Ready For Download" - `Faulted` - "Faulted" ### Invariants - `INavigationButtonInfo.Id` is read-only and should remain constant for a given button instance.