Skip to content

[MCCS-1507] TileComponentManager as a PollingComponentManager

Alistair Child requested to merge mccs-1507 into main

See https://confluence.skatelescope.org/display/SE/Draft%3A+Re-Implementation+of+TileComponentManager+as+a+Poller for background information.

This MR should solve bug SKB-281. This MR will solve MCCS-2109. Tested SpsStation.Off() using main the MccsTiles Report OFF but the TPMs are actually ON. Tested SpsStation.Off() using this MR, the MccsTiles Report ON and the TPMs are actually ON.

This MR has some large changes. See read the docs for more information (https://developer.skao.int/projects/ska-low-mccs-spshw/en/mccs-1507/reference/tile_brief_overview.html)

The TileComponentManager is now a PollingComponentManager. The poll prioritisation is handled by the TileRequestProvider, this replaces the TileOrchestrator entirely.

The TileComponentManager will poll certain attributes on a fixed cadence (certain mean allowed given current TpmStatus.). The TileComponentManager is now responsible for claiming the hardware lock to ensure only one thread interfaces with the pyaavs.Tile at a time. The TpmDriver has been removed with all functionality moved to the TileComponentManager.

LongRunningCommands will have the task_callback passed down so the TANGO user can probe command status and result. To preserve previous behavior the On command will ask the Subrack to turn on, then it will put on initialise command request on a QUEUE to be picked up if the subrack successfully turns the TPM on (i.e we can connect with the TPM in a poll), if we fail to communicate the initialise command will be aborted after 60 seconds.

Edited by Alistair Child

Merge request reports