FSP Processing Mode Component Manager

class ska_csp_lmc_mid.capability.mid_fsp_capability_component_manager.MidFspCapabilityComponentManager(*args: Any, **kwargs: Any)

Bases: CapabilityComponentManager

Class for Mid Csp Fsp Capability Component Manager.

__init__(properties: ComponentManagerConfiguration, update_device_property_cbk: Callable | None = None, logger: Logger | None = None) None

Initialize the FspCapability Component Manager Class

Parameters:
  • properties – A class instance whose properties are the device properties.

  • max_workers – the number of worker threads used by the ComponentManager ThreadPool

  • update_device_property_cbk – The device method invoked to update the attributes. Defaults to None.

  • logger – The device or python logger if default is None.

property devices_function_mode: List[str]

Return the list of FSPs function modes.

property devices_available: List[int]

Return the list of available FSPs. A FSP is available when its state is ON and the functionMode is IDLE.

property devices_correlation: List[int]

Return the list of FSPs programmed for correlation.

property devices_pss: List[int]

Return the list of FSPs programmed for pss beam-forming.

property devices_pst: List[int]

Return the list of FSPs programmed for pst beam-forming.

property devices_unavailable: List[int]

Return the list of FSPs not available. A FSP is not available when its state is not ON.

property devices_subarray_membership: list[str]

Return the FSPs subarray membership.

Returns:

a list of strings. Each string reports the subarray IDs to which a FSP belongs to.

Note

Example:

fsp_num = list_idx + 1

[“1,2”, “1,3,4”, “”, “”]

FSP 1 is assigned to subarrays 1 and 2 FSP 2 is assigned to subarrays 1,3,4 The other FSPs are not assigned at all.

property devices_fqdn_assigned: List[List[str]]

Return the nested list of the FSPs’ fqdn assigned to all subarrays. .. note:

Examples:
fsps_fqdn_assigned =
[
    ['mid_csp_cbf/fsp/01', '','',''],
    ['', 'mid_csp_cbf/fsp/03','',''],
    ['', '','',''],
    ['mid_csp_cbf/fsp/02','mid_csp_cbf/fsp/02','',''],
    ....
]
fsps_fqdn_assigned[0] = FQDNs of the FSPs assigned to subarray1
fsps_fqdn_assigned[1] = FQDNs of the FSPs assigned to subarray2
property devices_json: int

Return the devices data structure as json string.

property devices_deployed: int

Return the number of devices deployed in the system.

property subarray_fsp_map: List[str]

Return the list of FSPs state.

_create_init_callbacks()

Method not used by this device

_create_stop_callbacks()

Method not used by this device

_instantiate_data_handler(logger: Logger | None = None)

Instantiate the specific data handler that is meant to update the capability attributes

_populate_capability_specifics() None

Specify the specific variables of the Capability

_retrieve_devices_fqdn() None

Retrieve the FQDNs of the subsystem devices to be connected By default, the fqdn list can be retrieved directly from master device. Otherwise the method has to be specialized

return: the list of the subsistems FQDN deployed

_read_device_id(device_online) None

Retrieve the ID of an online device.

Parameters:

device_online – one of the online pst component

_read_device_version(device_online) None
Read the Software, firmware and hardware version attributes

from an online FSP.

Parameters:

device_online – one of the online FSP

off(task_callback: Callable | None = None)

Method not used by this device

on(task_callback: Callable | None = None)

Method not used by this device

standby(task_callback: Callable | None = None)

Method not used by this device

stop_communicating(task_callback: Callable | None = None)

Method not used by this device

get_fsp_data_subarray(subarray_num) str

Return string attributes from FSPs assigned to requested subarray. .. note:

The dictionary is in the following format:
    {'fsp_01':{"state": DevState.OFF,
            "health_state": 'UNKNOWN',
            "function_mode": 'IDLE'}
    'fsp_02':{"state": DevState.OFF,
            "health_state": 'UNKNOWN',
            "function_mode": 'IDLE'}}