.describing package

Submodules

.describing.inspections module

.describing.mvp_conditions module

.describing.mvp_names module

Module that allows for decoupling tango FQDN names by means of specific and namespaced symbols

class CBF(tag)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase

allocator() ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

FQDN for low cbf allocator.

Returns

FQDN for low cbf allocator

fsp(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.FSP[source]

FQDN for CBF fsp instance

Parameters

index – index representing the subarray instance (max 25)

Returns

FQDN for CBF fsp instances

subarray(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

FQDN for CBF subarray instance

Parameters

index – index representing the subarray instance (max 16)

Returns

FQDN for CBF subarray instance

tags = ('cbf scope', 'csp scope', 'cbf')
vcc(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.VCC[source]

FQDN namespace for VCC for CBF

Parameters

index – index representing the VCC instance

Returns

FQDN namespace for VCC for CBF

class CSP(tag)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase

subarray(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

FQDN for CSP subarray instance

param index: index representing the subarray instance (max 16)

Returns

FQDN for CSP subarray instance as a DeviceName

tags = ('csp scope', 'csp')
class Correlator(tag: str, index: int)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.FSPSubelement

Represent tango FQDN names for the Correlator FSP Subelement.

from skallop.connectors.configuration import get_device_proxy
from skallop.mvp_control.describing import mvp_names

device = get_device_proxy(mvp_names.Correlator)

Note that Correlator is a Symbol class which means you can give the direct object to the ska_ser_skallop.connectors.configuration.get_device_proxy() function.

name: str

The actual FQDN for the device

type = 'corr'
class DeviceName(name: str, *tags: str)[source]

Bases: ska_ser_skallop.utils.generic_classes.Symbol

An object that binds additional tag metadata to a particular device FQDN name to facilitate searching devices based on categories (tags)

property enabled: bool

Whether the device is withing currently set scoped or not.

Returns

True if the device is within the scope.

filter(*tags: str) Optional[ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName][source]

checks if the device are within a given set of categories indicated by the tags :returns: itself if the deice are within the given tags, otherwise None

name: str

The actual FQDN for the device

tags: Tuple

a Tuple of tags that applies user defined categories to the name

class DomainList(token: Optional[Union[int, List[ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName]]])[source]

Bases: object

Abstract/generic class that contains a list of DeviceName objects within a particular domain. For example a list of all the dishes. A domain list implements a set of basic binary operations on the collective as a whole e.g. :

filter(*tags: str)[source]
filterables() collections.Counter[source]

Generate a summary of tags.

The summary is a mapping from tag to a frequency count of their occurrence; e.g.

Returns

a Counter object containing the nr of occurrences for each tag

property list: List[str]

The list of devices names (excluding their metadata) that this object represents. Use this when you want to instantiate a particular device e.g.:

Returns

a list of device names as FQDN strings

subtract(tag: str) ska_ser_skallop.mvp_control.describing.mvp_names.DomainList[source]

Remove or filter out the set of devices that have a given tag.

Returns

a new DomainList object with the devices belonging to the given tag removed

class FSP(tag: str, index: int)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase, ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName

Represent tango FQDN names for the FSP element.

e.g.

from skallop.connectors.configuration import get_device_proxy
from skallop.mvp_control.describing import mvp_names

corr = get_device_proxy(mvp_names.Correlator)
corr = get_device_proxy(mvp_names.PSS)

Note that FSPSubElement is a Symbol class which means you can give the direct object to the ska_ser_skallop.connectors.configuration.get_device_proxy() function.

correlator

Represent tango FQDN names for the Correlator FSP Subelement.

name: str

The actual FQDN for the device

Represent tango FQDN names for the PSS FSP Subelement.

pulsar_timing(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

Represent tango FQDN names for the Pulsar timing FSP Subelement

from skallop.connectors.configuration import get_device_proxy
from skallop.mvp_control.describing import mvp_names

pss = get_device_proxy(Mid.csp.cbf.fsp(1).pulsar_timing(1))
Parameters

index – the particular index (or instance) of pulsar search device

Returns

the FQDN name as a DeviceName

tags: Tuple = ('fsp', 'cbf scope', 'csp scope')

a Tuple of tags that applies user defined categories to the name

vlbi(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

Represent tango FQDN names for the Pulsar timing FSP Subelement

from skallop.connectors.configuration import get_device_proxy
from skallop.mvp_control.describing import mvp_names

pss = get_device_proxy(Mid.csp.cbf.fsp(1).vlbi(1))
Parameters

index – the particular index (or instance) of the vlbi device

Returns

the FQDN name as a DeviceName

class FSPSubelement(tag: str, index: int)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase, ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName

Represent tango FQDN names for the generic FSP Subelement. The actual FQDN name will be determined by the concrete implementation of this class (e.g Correlator or PSS)

e.g.

from skallop.connectors.configuration import get_device_proxy
from skallop.mvp_control.describing import mvp_names

corr = get_device_proxy(mvp_names.Mid.csp.cbf.fsp(1).correlator)
pss = get_device_proxy(mvp_names.Mid.csp.cbf.fsp(1).pulsar_search)

Note that FSPSubElement is a Symbol class which means you can give the direct object to the ska_ser_skallop.connectors.configuration.get_device_proxy() function.

name: str

The actual FQDN for the device

subarray(nr: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

Represent the tango FQDN name for the FSP Subelement subarray device (namespaced according to the particular concrete implementation)

from skallop.connectors.configuration import get_device_proxy
from skallop.mvp_control.describing import mvp_names

corr_subarray_1 = get_device_proxy(
    mvp_names.Mid.csp.cbf.fsp(1).correlator.subarray(1)
)
pss_subarray_1 = get_device_proxy(
    mvp_names.Mid.csp.cbf.fsp(1).pulsar_search.subarray(1)
)
Returns

the subarray name as a DeviceName

tags: Tuple = ('fsp', 'csp domain', 'cbf domain', 'cbf scope')

a Tuple of tags that applies user defined categories to the name

type = ''
class Low[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase

csp = <ska_ser_skallop.mvp_control.describing.mvp_names.CSP object>
mccs = <ska_ser_skallop.mvp_control.describing.mvp_names.MCCS object>
sdp = <ska_ser_skallop.mvp_control.describing.mvp_names.SDP object>
tag = 'low'
tm = <ska_ser_skallop.mvp_control.describing.mvp_names.TMLow object>
class LowMasters[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.DomainList

class LowSubArrays(token: Optional[Union[int, List[ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName]]])[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.DomainList

nr_of_fsps = 4
class MCCS(tag)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase

antenna(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]
apiu(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]
beam(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]
station(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]
subarray(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]
subarraybeam(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]
subrack(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]
tags = ('mccs scope', 'mccs')
tile(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]
class MCCSDevices(token: Optional[Union[int, List[ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName]]])[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.DomainList

low only

nr_antenna = 8
nr_apiu = 2
nr_beam = 4
nr_station = 2
nr_subarray_beam = 4
nr_tile = 4
class Masters[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.DomainList

A specific implementation of Domain List in that it is used to obtain the device names of all the “masters” e.g.

class Mid[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase

Represents a namespace for containing tango FQDNs in the SKA Mid telescope

from skallop.connectors.configuration import get_device_proxy
from skallop.mvp_control.describing.mvp_names import Mid

csp = Mid.csp
sdp = Mid.sdp
cbf = Mid.csp.cbf
tm = Mid.tm
fsp1 = cbf.fsp(1)
correlator1 = fsp1.correlator
pulsar_search1 = fsp1.pulsar_search
subarray1 = tm.subarray(1)

corr1_sub1 = get_device_proxy(correlator1.subarray(1))
pss1_sub1 = get_device_proxy(pulsar_search.subarray(1))
vlbi1 = get_device_proxy(fsp1.vlbi(1))
csp_master = get_device_proxy(csp.master)
csp_subarray1 = get_device_proxy(csp.subarray(1))
cbf_master = get_device_proxy(cbf.master)
dish1 = get_device_proxy(Mid.dish(1))
central_node = get_device_proxy(tm.central_node)
csp_ln = get_device_proxy(tm.csp_leaf_node)
dish_ln = get_device_proxy(tm.dish_leafnode(1))
sdp_ln = get_device_proxy(tm.sdp_leaf_node)
sdp_subarray1_ln = get_device_proxy(subarray1.sdp_leaf_node)
csp_subarray1_ln = get_device_proxy(subarray1.csp_leaf_node)
subarray_1 = get_device_proxy(subarray1)
sdp = get_device_proxy(sdp.master)
sdp_subarray1 = get_device_proxy(sdp.subarray(1))
csp = <ska_ser_skallop.mvp_control.describing.mvp_names.CSP object>

SKA Mid csp namespace for tango FQDNs

static dish(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

FDQN for SKA Mid Dish

Parameters

index – index representing the instance of the dish

Returns

FDQN for SKA Mid Dish

static dishes(ids: List[int]) ska_ser_skallop.mvp_control.describing.mvp_names.DomainList[source]

List of FDQNs for SKA Mid Dishes based on input indices.

Parameters

ids – List of indices representing the instance of the dish

Returns

List of FDQNs for SKA Mid Dishes

sdp = <ska_ser_skallop.mvp_control.describing.mvp_names.SDP object>

SKA Mid sdp namespace for tango FQDNs

tag = 'mid'
tm = <ska_ser_skallop.mvp_control.describing.mvp_names.TMMid object>

SKA Mid tm namespace for tango FQDNs

class MidMasters[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.DomainList

class MidSubArrays(token: Optional[Union[int, List[ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName]]])[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.DomainList

nr_of_fsps = 4
class PSS(tag: str, index: int)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.FSPSubelement

Represent tango FQDN names for the PSS FSP Subelement.

from skallop.connectors.configuration import get_device_proxy
from skallop.mvp_control.describing import mvp_names

pss = get_device_proxy(mvp_names.Mid.csp.cbf.fsp(1).pulsar_search)

Note that PSS is a Symbol class which means you can give the direct object to the ska_ser_skallop.connectors.configuration.get_device_proxy() function.

name: str

The actual FQDN for the device

type = 'pss'
class SDP(tag)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase

subarray(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

FQDN for SDP subarray instance

Parameters

index – index representing the subarray instance (max 16)

Returns

FQDN for SDP subarray instance

tags = ('sdp scope', 'sdp')
class ScopeContainer(*args: Any, **kwargs: Any)[source]

Bases: object

revert_scope()[source]
set_scope(*scope: str)[source]
class Sensors(token: Optional[Union[int, List[ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName]]])[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.DomainList

mid only

nr_bands = 4
nr_switches = 2
class SubArrays(token: Optional[Union[int, List[ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName]]])[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names.DomainList

nr_of_fsps = 4
class TEL[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase

Represents an abstracted namespace for for containing tango FQDNs for a generic telescope.

masters() ska_ser_skallop.mvp_control.describing.mvp_names.DomainList[source]
sensors(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DomainList[source]
subarrays(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DomainList[source]
class TMLow(tag)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase

subarray(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.TMSubarrayLow[source]
tags = ('tmc scope', 'tm')
class TMMid(tag)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase

dish_leafnode(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

FDQN for TM dish leaf node

Parameters

index – index representing the instance of the dish leaf node

Returns

FDQN for TM dish leaf node

subarray(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.TMSubarrayMid[source]

FDQN for TM subarray node

Parameters

index – index representing the instance of the subarray node

Returns

FDQN namespace for TM subarray node

tags = ('tmc scope', 'tm')
class TMSubarrayLow(index: int, tag: str)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase, ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName

name: str

The actual FQDN for the device

tags: Tuple = ('tmc scope', 'subarrays', 'tm')

a Tuple of tags that applies user defined categories to the name

class TMSubarrayMid(index: int, tag: str)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase, ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName

name: str

The actual FQDN for the device

property node: ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName
tags: Tuple = ('tmc scope', 'subarrays', 'tm')

a Tuple of tags that applies user defined categories to the name

class VCC(tag: str, index: int)[source]

Bases: ska_ser_skallop.mvp_control.describing.mvp_names._NameBase, ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName

band(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]
band_mappings = {1: '12', 2: '3', 3: '4', 4: '5'}
name: str

The actual FQDN for the device

sw(index: int) ska_ser_skallop.mvp_control.describing.mvp_names.DeviceName[source]

FQDN for VCC switch

Parameters

index – index representing the VCC switch instance (max 25)

Returns

FQDN for VCC switch as a DeviceName

tags: Tuple = ('vcc', 'sensor domain', 'cbf scope', 'csp scope', 'cbf', 'csp')

a Tuple of tags that applies user defined categories to the name

get_tel()[source]
set_scope(*scope: str)[source]

.describing.mvp_states module

.describing.names_spec module

Module contents