State machine for capture control | preparation phase
This refactoring step concentrates on extracting flats and dark preparation from
Capture into the sequence job state machine:
- Create a check... method for each flat light source that turns light on, opens or closes the scope cap etc.
- Create a check... method for each dark capturing method.
- For each action to be taken an event is created by the state machine that signals the command processor to trigger the corresponding device action. The state machine listens to these device changes and as soon as the expected device change is received, the corresponding action is assumed to be finished.
- These checks are shifted from the pending tasks part to the capture preparation - similar to the preparation steps of light frames, which are already refactored.
- Checks for open scope cover shifted to the state machine.
- Create test cases for all cases
Additionally, there is some code cleanup for the capture preparation step:
- Current temperature is requested from the state machine on demand, no longer set manually from
- If the "Only Start if Guide Deviation" option is selected in
Capture, the preparation is only completed if guiding is running.
- For future use, the state machine will react upon turning guiding on or off. Currently,
Capturewill manually abort capturing if guiding is aborted. This behavior will be shifted to the state machine at a later stage.