|
|
What is better than a state machine? More state machines.
|
|
|
|
|
|
### AcqState
|
|
|
|
|
|
```mermaid
|
|
|
graph TD;
|
|
|
Idle-->Acquiring;
|
|
|
Acquiring-->Saving;
|
|
|
Saving-->Finished;
|
|
|
Finished-->Idle;
|
|
|
Aborted;
|
|
|
```
|
|
|
|
|
|
### DetStatus
|
|
|
|
|
|
```mermaid
|
|
|
graph TD;
|
|
|
Idle-->WaitForTrigger;
|
|
|
WaitForTrigger-->ShutterOpen
|
|
|
ShutterOpen-->Exposure;
|
|
|
Exposure-->ShutterClose
|
|
|
ShutterClose-->ChargeShift
|
|
|
ChargeShift-->Readout;
|
|
|
Readout-->Latency;
|
|
|
Latency-->Idle;
|
|
|
Fault;
|
|
|
```
|
|
|
|
|
|
### CmdThread
|
|
|
|
|
|
```mermaid
|
|
|
graph TD;
|
|
|
Init;
|
|
|
Abort;
|
|
|
Prepared;
|
|
|
Finished;
|
|
|
Readout;
|
|
|
Exposure;
|
|
|
``` |