Abort on DishManager

DishManager implemented Abort as part of its adaptation of the base classes long running command interface (LRC). There is extensive documentation on the implementation details and usage LRC. For clients of DishLMC, cancelling a task (Stop for MeerKAT dish proxy and Abort for TMC) means more than just instructing the executor to cancel a LRC.

In TMC for example, it could mean:

  • stop moving the dish

  • and clear the scan id

In the MeerKAT dish proxy, it could mean:

  • stop moving the dish

  • and request the dish to go to STANDBY-FP mode.

In light of the above, Abort for DishManager consolidates cancelling tasks on DishLMC from the clients’ (TMC, MeerKAT Dish Proxy) perspective. The goal is to arrive at the same state regardless of which client is requesting the action.

What does Abort do?

Abort transitions the device to a state from which further commands can be requested, i.e STANDBY-FP mode.

Note

Abort in the other sub-systems usually comes with a Reset command: no Reset functionality is accounted for.

Guarantees and Caveats

  • Only slew/track tasks will be interrupted when Abort is triggered; tasks like receiver indexing, will not be affected.

  • Abort will stop an ongoing slew to STOW position.

  • Dish will always be restored to STANDBY-FP mode regardless of the previous state before Abort was triggered

See abort documentation for discussion and flow diagram

Warning

An ongoing STOW can be interrupted if Abort is triggered. SetStowMode can be requested again to resume STOW movement. STOW is primarily a SAFETY request is the user’s responsibility to avoid unintended consequences.