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

4.9 KiB
Raw Permalink Blame History

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Enums/SliceSimpleArm/SSACommands.cs
2026-04-16T02:43:56.731605+00:00 Qwen/Qwen3-Coder-Next-FP8 1 50cc5ab91bad7384

SliceSimpleArm

1. Purpose

This module defines the command and response enumerations used for communication with a SliceSimpleArm (SSA) subsystem—likely a hardware control or embedded device interface. SSACommand enumerates the set of high-level operations that can be issued to the device (e.g., arming, starting recording, diagnostics), while SSAResponse enumerates the possible structured responses the system may return, including success/failure states and specific error conditions (e.g., NoSensorsFound, DiagnosticsFailedOffsetTolerance). These enums serve as the contract for commandresponse semantics between the host software and the SSA hardware or its simulator.

2. Public Interface

The module exposes two public enums:

  • SSACommand
    Type: enum
    Values:

    • ConfigureDevice Likely used to initialize or reconfigure device parameters.
    • Diagnostics Triggers a self-test or health check.
    • Arm Arms the device for operation (e.g., enables data acquisition or triggering).
    • StartRecord Begins data recording.
    • CheckForArmed Polls the device to verify if it is armed.
    • Disarm Disarms the device, halting active operations.
    • Download Requests data or logs from the device.
    • SetLowPowerMode Puts the device into a low-power state.
    • Trigger Sends an external trigger command (e.g., manual or timed trigger).
  • SSAResponse
    Type: enum
    Values:

    • Unknown Default/unrecognized response.
    • Status Generic status update (possibly informational).
    • Pass Operation completed successfully.
    • Fail Operation failed for unspecified reason.
    • SystemNotArmed Requested operation requires the system to be armed first.
    • NoSensorsFound No sensors detected during diagnostics or configuration.
    • NoEIDsFound No EIDs (Event Identifiers?) found—likely during configuration or diagnostics.
    • UnknownEIDFound An unexpected or invalid EID was encountered.
    • NoDASConnected Data Acquisition System (DAS) is not connected or detected.
    • ExceptionThrown An exception occurred during command processing.
    • DiagnosticsFailedOffsetTolerance Diagnostics failed due to sensor offset exceeding tolerance.
    • DiagnosticsFailedShuntCheck Diagnostics failed during shunt verification (e.g., electrical integrity test).

3. Invariants

  • The SSACommand and SSAResponse enums are strictly declarative—they define symbolic names only; no validation, serialization, or parsing logic resides in this file.
  • Each SSACommand value corresponds to a well-defined operation in the SSA protocol; similarly, each SSAResponse value represents a distinct outcome or error condition.
  • No ordering guarantees are implied by the enum values (i.e., they are not ordered by priority, frequency, or sequence).
  • The Unknown value in both enums likely serves as a sentinel for uninitialized or unhandled cases.

4. Dependencies

  • Internal dependencies: This module resides in DTS.Common.Enums.SliceSimpleArm, suggesting it is part of a shared/common library (DTS.CommonCore). It has no external dependencies beyond the base .NET runtime (no using directives beyond namespace).
  • Consumers: Other modules in the codebase (e.g., communication layers, device drivers, UI logic) likely reference this enum to construct commands and interpret responses. The presence of DTS.Common in the namespace implies this is a cross-cutting contract used by higher-level components (e.g., DTS.CommonCore, DTS.SliceSimpleArm, or test harnesses).
  • No external libraries or hardware-specific dependencies are declared in this file.

5. Gotchas

  • Ambiguity in EID/DAS terminology: The meaning of “EID” (Event Identifier?) and “DAS” (Data Acquisition System?) is not defined in this file. Their usage in NoEIDsFound, UnknownEIDFound, and NoDASConnected suggests domain-specific concepts that require external documentation.
  • No explicit mapping to command/response payloads: This file defines what commands/responses exist, but not how they are serialized, transmitted, or deserialized (e.g., via serial, TCP, or binary protocol). That logic resides elsewhere.
  • Status vs. Pass: The distinction between Status (generic update) and Pass (explicit success) is unclear—Status may be used for intermediate or polling responses, but this is not specified.
  • No versioning or extensibility guidance: Adding new commands/responses may break backward compatibility if consumers switch on all values; no attributes or patterns (e.g., [Flags]) suggest safe extension strategies.
  • None identified from source alone.