init
This commit is contained in:
60
docs/ai/DataPRO/IService/StateMachine/States.md
Normal file
60
docs/ai/DataPRO/IService/StateMachine/States.md
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
source_files:
|
||||
- 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
|
||||
generated_at: "2026-04-17T16:34:18.361174+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "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)
|
||||
```csharp
|
||||
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)
|
||||
```csharp
|
||||
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)
|
||||
```csharp
|
||||
public override State State => State.ConfigureStart;
|
||||
public override IDASState StateSelector();
|
||||
public override Action OnEntry { get; }
|
||||
private void ApplyConfig();
|
||||
``
|
||||
Reference in New Issue
Block a user