Files
DP44/docs/ai/DataPRO/IService/StateMachine/States.md
2026-04-17 14:55:32 -04:00

2.4 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/IService/StateMachine/States/Arm.cs
DataPRO/IService/StateMachine/States/Arming.cs
DataPRO/IService/StateMachine/States/Realtime.cs
DataPRO/IService/StateMachine/States/Download.cs
DataPRO/IService/StateMachine/States/HardwareDiscovery.cs
DataPRO/IService/StateMachine/States/Prepare.cs
DataPRO/IService/StateMachine/States/ConfigureStart.cs
DataPRO/IService/StateMachine/States/RealtimeStart.cs
DataPRO/IService/StateMachine/States/Configure.cs
DataPRO/IService/StateMachine/States/Diagnose.cs
DataPRO/IService/StateMachine/States/DownloadStart.cs
DataPRO/IService/StateMachine/States/HardwareDiscoveryStart.cs
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(): Returns States.Instance.ConfigureStart if AllowApplyConfig() returns true; otherwise returns States.Instance.Configure.
  • AllowApplyConfig(): Currently returns true unconditionally. 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();
``