2.4 KiB
2.4 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
2026-04-17T16:34:18.361174+00:00 | zai-org/GLM-5-FP8 | 1 | 916778b8f4ae68d3 |
State Machine States Module Documentation
1. Purpose
This module implements the concrete state classes for a Data Acquisition System (DAS) service state machine within the DTS.DASLib.Service.StateMachine namespace. It defines individual state behaviors and state transition logic for the system's operational lifecycle, including hardware discovery, configuration, diagnosis, arming, real-time operation, and data download phases. The states follow a polymorphic design pattern with two class hierarchies: simple states (DASState) and state selectors (DASStateSelector) that determine the next state transition.
2. Public Interface
Simple States (inherit from DASState)
Realtime (public)
public override State State => State.Realtime;
A terminal state representing real-time data acquisition mode. No custom entry behavior is defined in this class.
State Selectors (inherit from DASStateSelector)
Configure (public)
public override State State => State.Configure;
public override IDASState StateSelector();
public bool AllowApplyConfig();
StateSelector(): ReturnsStates.Instance.ConfigureStartifAllowApplyConfig()returnstrue; otherwise returnsStates.Instance.Configure.AllowApplyConfig(): Currently returnstrueunconditionally. Source contains TODO comments indicating future logic for channel resolution validation.
ConfigureStart (public)
public override State State => State.ConfigureStart;
public override IDASState StateSelector();
public override Action OnEntry { get; }
private void ApplyConfig();
``