ska-sa / katsdpcal

MeerKAT calibration pipeline
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

SPR1-2993: New PipelineSyncEvent triggered by "await_pipeline" scan #68

Closed ludwigschwardt closed 3 months ago

ludwigschwardt commented 3 months ago

Introduce a new scan activity state called "await_pipeline". This serves two main purposes:

When the observation script sets the "await_pipeline" activity, it triggers a break in the Accumulator task and additionally sends a PipelineSyncEvent to the Pipeline task. The Pipeline task processes this event by running a flush_pipeline function which currently does nothing, but will do reference pointing beam fitting in future.

The data captured during the "await_pipeline" scan is ignored by the pipeline, since this activity is in the ignore_states list in the _is_break method. The cal pipeline therefore treats this scan as a slew, while katdal will eventually expose this as a track for the benefit of other users.

In the process I also shuffled code around to more logical places and consolidated and reworked test_control to reduce redundancy, so it's probably worth reviewing this commit by commit. The bulk of the PR is actually just moving stuff around and the main action happens in commits 177ffaa and c54e8eb, which only adds about 60 lines of code.