diff --git a/refelt/refelt/Pdu.xmi b/refelt/refelt/Pdu.xmi index 5669de328a84d6d3cd1e53de5190bb584366ed37..3b88c31df18fd7b9a84e612b42e8830ccf8301c5 100644 --- a/refelt/refelt/Pdu.xmi +++ b/refelt/refelt/Pdu.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="PDU" pogoRevision="9.6"> - <description description="Ref (Reference Elt) PDU device" title="PDU" sourcePath="/home/kat/git/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Elt) PDU device" title="PDU" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../../skabase/SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/refelt/refelt/Rack.xmi b/refelt/refelt/Rack.xmi index 914391e515ecdf824f52a4b8de84fcee5df8f1d3..a2de4c66702190bfca8f4e679ecadbfc3e2b0679 100644 --- a/refelt/refelt/Rack.xmi +++ b/refelt/refelt/Rack.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="Rack" pogoRevision="9.6"> - <description description="Ref (Reference Elt) Rack device" title="Rack" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files" license="GPL" copyright="" hasMandatoryProperty="true" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Elt) Rack device" title="Rack" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files" license="GPL" copyright="" hasMandatoryProperty="true" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../../skabase/SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/refelt/refelt/RefA.xmi b/refelt/refelt/RefA.xmi index 21e9d26b94bd4746502a69a812c195c1870a85ca..88738454a2a4cc9a19098926efda06b68dd15400 100644 --- a/refelt/refelt/RefA.xmi +++ b/refelt/refelt/RefA.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="RefA" pogoRevision="9.6"> - <description description="An Ref (Reference Elt) device of type A" title="RefA" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="An Ref (Reference Elt) device of type A" title="RefA" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../../skabase/SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/refelt/refelt/RefAchild.xmi b/refelt/refelt/RefAchild.xmi index 81875cc122eeb0090256f28add0d0d3072c2eba1..7d2a0cab1d93235b2fa2a6c5faf058a29b85691f 100644 --- a/refelt/refelt/RefAchild.xmi +++ b/refelt/refelt/RefAchild.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="RefAchild" pogoRevision="9.6"> - <description description="Ref (Reference Element) device of type Achild" title="RefAchild" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Element) device of type Achild" title="RefAchild" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../../skabase/SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/refelt/refelt/RefAlarmHandler.xmi b/refelt/refelt/RefAlarmHandler.xmi index 5644cd3a49f1052e6a93303124dc336787c0e3f7..4baae7beaf2a1d96da5ce46fa9976e375c36ea72 100644 --- a/refelt/refelt/RefAlarmHandler.xmi +++ b/refelt/refelt/RefAlarmHandler.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="RefAlarmHandler" pogoRevision="9.6"> - <description description="Ref (Reference Element) device of Type AlarmHandler" title="RefAlarmHandler" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Element) device of Type AlarmHandler" title="RefAlarmHandler" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKAAlarmHandler" sourcePath="../../skabase/SKAAlarmHandler"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA"/> diff --git a/refelt/refelt/RefB.xmi b/refelt/refelt/RefB.xmi index 358d11b6155bee5d94e625ddd27bf419f732bd3b..a985efa7da398e3ae3985775c26d0347d088f049 100644 --- a/refelt/refelt/RefB.xmi +++ b/refelt/refelt/RefB.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="RefB" pogoRevision="9.6"> - <description description="Ref (Reference Element) device of type B." title="RefB" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Element) device of type B." title="RefB" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../../skabase/SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/refelt/refelt/RefBchild.xmi b/refelt/refelt/RefBchild.xmi index 5e07be0e206520e757b424455f4e6c82d1187765..9007cd3f0303dc1a8375a5fcc7621e11093d0e84 100644 --- a/refelt/refelt/RefBchild.xmi +++ b/refelt/refelt/RefBchild.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="RefBchild" pogoRevision="9.6"> - <description description=" Ref (Reference Element) device of type Bchild." title="RefBchild" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description=" Ref (Reference Element) device of type Bchild." title="RefBchild" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../../skabase/SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/refelt/refelt/RefMaster.xmi b/refelt/refelt/RefMaster.xmi index 4ead846a054b8145ae6274a58a0b839427614118..85a00962c4d7c39c9d6d8b7c97c7fc4077f3f407 100644 --- a/refelt/refelt/RefMaster.xmi +++ b/refelt/refelt/RefMaster.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="RefMaster" pogoRevision="9.6"> - <description description="Ref (Reference Element) device of Type Master" title="RefMaster" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Element) device of Type Master" title="RefMaster" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKAMaster" sourcePath="../../skabase/SKAMaster"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/refelt/refelt/RefSubarray.xmi b/refelt/refelt/RefSubarray.xmi index ea4f95871c264f30249f0310175a22d69f4cb325..72d9f9b43d7544a53462e8f1010d3e4caf585846 100644 --- a/refelt/refelt/RefSubarray.xmi +++ b/refelt/refelt/RefSubarray.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="RefSubarray" pogoRevision="9.6"> - <description description="Ref (Reference Element) device of Type Subarray" title="RefSubarray" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Element) device of Type Subarray" title="RefSubarray" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKASubarray" sourcePath="../../skabase/SKASubarray"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/refelt/refelt/RefTelState.xmi b/refelt/refelt/RefTelState.xmi index 2b21353dff455bca200bc687749674f09c697c15..252bfa6ca612acc8f10d95fd870c2bec6466bbb1 100644 --- a/refelt/refelt/RefTelState.xmi +++ b/refelt/refelt/RefTelState.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="RefTelState" pogoRevision="9.6"> - <description description="Ref (Reference Element) device of Type TelState" title="RefTelState" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Element) device of Type TelState" title="RefTelState" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKATelState" sourcePath="../../skabase/SKATelState"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA"/> diff --git a/refelt/refelt/Server.xmi b/refelt/refelt/Server.xmi index 8d3ba167b8ed9163a72dfdf830abb7b51f811cf2..4c7eab7d04e6726dd00279e3799f2922f7d077f3 100644 --- a/refelt/refelt/Server.xmi +++ b/refelt/refelt/Server.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="Server" pogoRevision="9.6"> - <description description="Ref (Reference Elt) Server device" title="Server" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Elt) Server device" title="Server" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../../skabase/SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/refelt/refelt/Switch.xmi b/refelt/refelt/Switch.xmi index 775d93706ef8d1dc2fc1de015670e1c2b18e53bc..12d1be3ae5d49d878693ae702958c27f135baee6 100644 --- a/refelt/refelt/Switch.xmi +++ b/refelt/refelt/Switch.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="Switch" pogoRevision="9.6"> - <description description="Ref (Reference Elt) Swtich device" title="Switch" sourcePath="/home/kat/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Ref (Reference Elt) Swtich device" title="Switch" sourcePath="/home/tango-cs/src/levpro/refelt/refelt" language="PythonHL" filestogenerate="XMI file,Code files" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../../skabase/SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> diff --git a/skabase/SKACapability/SKACapability.xmi b/skabase/SKACapability/SKACapability.xmi index 9e6aba3ddabfc3acd0032790c63ce27aa11984e5..05859ed113be94307449a2044f6c79798d99be2c 100644 --- a/skabase/SKACapability/SKACapability.xmi +++ b/skabase/SKACapability/SKACapability.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="SKACapability" pogoRevision="9.6"> - <description description="Subarray handling device" title="SKACapability" sourcePath="/home/kat/src/levpro/skabase/SKACapability" language="PythonHL" filestogenerate="XMI file,Code files, Python Package, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="true" hasConcreteProperty="true" hasAbstractCommand="true" hasAbstractAttribute="false"> + <description description="Subarray handling device" title="SKACapability" sourcePath="/home/tango-cs/src/levpro/skabase/SKACapability" language="PythonHL" filestogenerate="XMI file,Code files,Python Package,Protected Regions" license="GPL" copyright="" hasMandatoryProperty="true" hasConcreteProperty="true" hasAbstractCommand="true" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKAObsDevice" sourcePath="../SKAObsDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="SkaBase" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="none" reference=""/> @@ -25,11 +25,13 @@ <DefaultPropValue>localhost</DefaultPropValue> </deviceProperties> <deviceProperties name="MetricList" description="A subset of attributes we want to expose as metrics for this device."> - <type xsi:type="pogoDsl:StringType"/> + <type xsi:type="pogoDsl:StringVectorType"/> <status abstract="false" inherited="true" concrete="true"/> - <DefaultPropValue>healthState,adminMode,controlMode</DefaultPropValue> + <DefaultPropValue>healthState</DefaultPropValue> + <DefaultPropValue>adminMode</DefaultPropValue> + <DefaultPropValue>controlMode</DefaultPropValue> </deviceProperties> - <deviceProperties name="GroupDefinitions" description="List of grouped devices managed by a master. Each string in the array is a JSON 
document defining the ``groupname``, ``devices`` and ``groups`` in the group.
A proxy client will be opened for each of the managed devices.
A group will be instantiated for the managed devices per group.
Each entry in the array contains a JSON defining the group, like:
[ {``groupname``: ``group1``, 
 ``devices``: ``csv list of devices in group1``},
 {``groupname``: ``group2``, # a group with devices and a subgroup
 ``devices``: ``csv list of devices in group2``,
 ``groups`` : ``csv list of sub groups``},
 {``groupname``: ``group3``, 
 ``devices`` : ``csv list of devices in group3``}},
 {``groupname``: ``group4``, # a group with only subgroups
 ``groups`` : ``csv list of sub groups``}}]

e.g. for a hierarchy of racks, servers and switches
[{ ``groupname``: ``servers``, 
 ``devices``: ``elt/server/1,elt/server/2,elt/server/3,elt/server/4``},
 {``groupname``: ``switches``, 
 ``devices``: ``elt/switch/A,elt/switch/B``},
 {``groupname``: ``pdus``, 
 ``devices``: ``elt/pdu/rackA,elt/pdu/rackB``},
 {``groupname``:``rackA``, 
 ``devices``: ``elt/server/1,elt/server/2,elt/switch/A,elt/pdu/rackA``},
 {``groupname``:``rackB``,
 ``devices``: ``elt/server/3,elt/server/4,elt/switch/B,elt/pdu/rackB``},
 {``groupname``:``racks``,
 ``groups``: ``rackA,rackB``}]"> + <deviceProperties name="GroupDefinitions" description="Each string in the list is a JSON serialised dict defining the ``group_name``,
``devices`` and ``subgroups`` in the group. A TANGO Group object is created
for each item in the list, according to the hierarchy defined. This provides
easy access to the managed devices in bulk, or individually.

The general format of the list is as follows, with optional ``devices`` and
``subgroups`` keys:
 [ {``group_name``: ``<name>``,
 ``devices``: [``<dev name>``, ...]},
 {``group_name``: ``<name>``,
 ``devices``: [``<dev name>``, ``<dev name>``, ...],
 ``subgroups`` : [{<nested group>},
 {<nested group>}, ...]},
 ...
 ]

For example, a hierarchy of racks, servers and switches:
 [ {``group_name``: ``servers``,
 ``devices``: [``elt/server/1``, ``elt/server/2``,
 ``elt/server/3``, ``elt/server/4``]},
 {``group_name``: ``switches``,
 ``devices``: [``elt/switch/A``, ``elt/switch/B``]},
 {``group_name``: ``pdus``,
 ``devices``: [``elt/pdu/rackA``, ``elt/pdu/rackB``]},
 {``group_name``: ``racks``,
 ``subgroups``: [
 {``group_name``: ``rackA``,
 ``devices``: [``elt/server/1``, ``elt/server/2``,
 ``elt/switch/A``, ``elt/pdu/rackA``]},
 {``group_name``: ``rackB``,
 ``devices``: [``elt/server/3``, ``elt/server/4``,
 ``elt/switch/B``, ``elt/pdu/rackB``],
 ``subgroups``: []}
 ]} ]"> <type xsi:type="pogoDsl:StringVectorType"/> <status abstract="false" inherited="true" concrete="true"/> </deviceProperties> @@ -54,14 +56,14 @@ </argout> <status abstract="true" inherited="true" concrete="false"/> </commands> - <commands name="Reset" description="Reset device to its default state" execMethod="reset" displayLevel="OPERATOR" polledPeriod="0"> + <commands name="Reset" description="Reset device to its default state" execMethod="reset" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false"> <argin description=""> <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description=""> <type xsi:type="pogoDsl:VoidType"/> </argout> - <status abstract="true" inherited="true" concrete="false"/> + <status abstract="false" inherited="true" concrete="true" concreteHere="true"/> </commands> <commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0"> <argin description="none"> @@ -155,12 +157,12 @@ <status abstract="false" inherited="true" concrete="true"/> <properties description="Build state of this device" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="centralLoggingLevel" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true"> + <attributes name="centralLoggingLevel" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true"> <dataType xsi:type="pogoDsl:UShortType"/> <status abstract="false" inherited="true" concrete="true"/> <properties description="Current logging level to Central logging target for this device - 
initialises to CentralLoggingLevelDefault on startup" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="elementLoggingLevel" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true"> + <attributes name="elementLoggingLevel" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true"> <dataType xsi:type="pogoDsl:UShortType"/> <status abstract="false" inherited="true" concrete="true"/> <properties description="Current logging level to Element logging target for this device - 
initialises to ElementLoggingLevelDefault on startup" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> diff --git a/skabase/SKACapability/SKACapability/SKACapability.py b/skabase/SKACapability/SKACapability/SKACapability.py index 2d3fbd18547977519496ee7ed689697b1d08d0f8..ee6cd82b4674e6e8659cb3c4e6eb7ab97765551a 100644 --- a/skabase/SKACapability/SKACapability/SKACapability.py +++ b/skabase/SKACapability/SKACapability/SKACapability.py @@ -144,6 +144,14 @@ class SKACapability(SKAObsDevice): # Commands # -------- + @command( + ) + @DebugIt() + def Reset(self): + # PROTECTED REGION ID(SKACapability.Reset) ENABLED START # + pass + # PROTECTED REGION END # // SKACapability.Reset + @command( dtype_in='uint16', doc_in="The number of instances to configure for this Capability.", diff --git a/skabase/SKACapability/test/SKACapability_test.py b/skabase/SKACapability/test/SKACapability_test.py index 596da2839b4fe716363924e6d34d7118f13b3c09..461a97a3c53b4cc15e0ccb666da63638f237f6aa 100644 --- a/skabase/SKACapability/test/SKACapability_test.py +++ b/skabase/SKACapability/test/SKACapability_test.py @@ -39,7 +39,7 @@ class SKACapabilityDeviceTestCase(DeviceTestCase): # PROTECTED REGION ID(SKACapability.test_additionnal_import) ENABLED START # # PROTECTED REGION END # // SKACapability.test_additionnal_import device = SKACapability - properties = {'SkaLevel': '4', 'CentralLoggingTarget': '', 'ElementLoggingTarget': '', 'StorageLoggingTarget': 'localhost', 'MetricList': 'healthState,adminMode,controlMode', 'GroupDefinitions': '', 'CapType': '', 'CapID': '', 'subID': '', + properties = {'SkaLevel': '4', 'CentralLoggingTarget': '', 'ElementLoggingTarget': '', 'StorageLoggingTarget': 'localhost', 'MetricList': 'healthState', 'GroupDefinitions': '', 'CapType': '', 'CapID': '', 'subID': '', } empty = None # Should be [] diff --git a/skabase/SKALogger/SKALogger.xmi b/skabase/SKALogger/SKALogger.xmi index 240416f3e823c6dd7b8e0eea5ae688975ca2ec4f..6dab222d5f7a154a522dab60a957f617d68bbfaa 100644 --- a/skabase/SKALogger/SKALogger.xmi +++ b/skabase/SKALogger/SKALogger.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="SKALogger" pogoRevision="9.6"> - <description description="A generic base device for Logging for SKA." title="SKALogger" sourcePath="/home/kat/src/levpro/skabase/SKALogger" language="PythonHL" filestogenerate="XMI file,Code files, Python Package, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="true" hasAbstractAttribute="false"> + <description description="A generic base device for Logging for SKA." title="SKALogger" sourcePath="/home/tango-cs/src/levpro/skabase/SKALogger" language="PythonHL" filestogenerate="XMI file,Code files,Python Package,Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKALogger"/> @@ -12,11 +12,13 @@ <DefaultPropValue>4</DefaultPropValue> </deviceProperties> <deviceProperties name="MetricList" description="A subset of attributes we want to expose as metrics for this device."> - <type xsi:type="pogoDsl:StringType"/> + <type xsi:type="pogoDsl:StringVectorType"/> <status abstract="false" inherited="true" concrete="true"/> - <DefaultPropValue>healthState,adminMode,controlMode</DefaultPropValue> + <DefaultPropValue>healthState</DefaultPropValue> + <DefaultPropValue>adminMode</DefaultPropValue> + <DefaultPropValue>controlMode</DefaultPropValue> </deviceProperties> - <deviceProperties name="GroupDefinitions" description="List of grouped devices managed by a master. Each string in the array is a JSON 
document defining the ``groupname``, ``devices`` and ``groups`` in the group.
A proxy client will be opened for each of the managed devices.
A group will be instantiated for the managed devices per group.
Each entry in the array contains a JSON defining the group, like:
[ {``groupname``: ``group1``, 
 ``devices``: ``csv list of devices in group1``},
 {``groupname``: ``group2``, # a group with devices and a subgroup
 ``devices``: ``csv list of devices in group2``,
 ``groups`` : ``csv list of sub groups``},
 {``groupname``: ``group3``, 
 ``devices`` : ``csv list of devices in group3``}},
 {``groupname``: ``group4``, # a group with only subgroups
 ``groups`` : ``csv list of sub groups``}}]

e.g. for a hierarchy of racks, servers and switches
[{ ``groupname``: ``servers``, 
 ``devices``: ``elt/server/1,elt/server/2,elt/server/3,elt/server/4``},
 {``groupname``: ``switches``, 
 ``devices``: ``elt/switch/A,elt/switch/B``},
 {``groupname``: ``pdus``, 
 ``devices``: ``elt/pdu/rackA,elt/pdu/rackB``},
 {``groupname``:``rackA``, 
 ``devices``: ``elt/server/1,elt/server/2,elt/switch/A,elt/pdu/rackA``},
 {``groupname``:``rackB``,
 ``devices``: ``elt/server/3,elt/server/4,elt/switch/B,elt/pdu/rackB``},
 {``groupname``:``racks``,
 ``groups``: ``rackA,rackB``}]"> + <deviceProperties name="GroupDefinitions" description="Each string in the list is a JSON serialised dict defining the ``group_name``,
``devices`` and ``subgroups`` in the group. A TANGO Group object is created
for each item in the list, according to the hierarchy defined. This provides
easy access to the managed devices in bulk, or individually.

The general format of the list is as follows, with optional ``devices`` and
``subgroups`` keys:
 [ {``group_name``: ``<name>``,
 ``devices``: [``<dev name>``, ...]},
 {``group_name``: ``<name>``,
 ``devices``: [``<dev name>``, ``<dev name>``, ...],
 ``subgroups`` : [{<nested group>},
 {<nested group>}, ...]},
 ...
 ]

For example, a hierarchy of racks, servers and switches:
 [ {``group_name``: ``servers``,
 ``devices``: [``elt/server/1``, ``elt/server/2``,
 ``elt/server/3``, ``elt/server/4``]},
 {``group_name``: ``switches``,
 ``devices``: [``elt/switch/A``, ``elt/switch/B``]},
 {``group_name``: ``pdus``,
 ``devices``: [``elt/pdu/rackA``, ``elt/pdu/rackB``]},
 {``group_name``: ``racks``,
 ``subgroups``: [
 {``group_name``: ``rackA``,
 ``devices``: [``elt/server/1``, ``elt/server/2``,
 ``elt/switch/A``, ``elt/pdu/rackA``]},
 {``group_name``: ``rackB``,
 ``devices``: [``elt/server/3``, ``elt/server/4``,
 ``elt/switch/B``, ``elt/pdu/rackB``],
 ``subgroups``: []}
 ]} ]"> <type xsi:type="pogoDsl:StringVectorType"/> <status abstract="false" inherited="true" concrete="true"/> </deviceProperties> @@ -48,7 +50,7 @@ <status abstract="false" inherited="false" concrete="true"/> <DefaultPropValue>4</DefaultPropValue> </deviceProperties> - <commands name="Log" description="LogConsumer interface" displayLevel="OPERATOR" polledPeriod="0"> + <commands name="Log" description="LogConsumer interface" execMethod="log" displayLevel="OPERATOR" polledPeriod="0"> <argin description="none"> <type xsi:type="pogoDsl:StringArrayType"/> </argin> @@ -102,14 +104,14 @@ </argout> <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> </commands> - <commands name="Reset" description="Reset device to its default state" execMethod="reset" displayLevel="OPERATOR" polledPeriod="0"> + <commands name="Reset" description="Reset device to its default state" execMethod="reset" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false"> <argin description=""> <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description=""> <type xsi:type="pogoDsl:VoidType"/> </argout> - <status abstract="true" inherited="true" concrete="false"/> + <status abstract="false" inherited="true" concrete="true" concreteHere="true"/> </commands> <commands name="GetMetrics" description="Gets list of attributes marked as metrics, with their values, 
for device" execMethod="get_metrics" displayLevel="OPERATOR" polledPeriod="0"> <argin description=""> diff --git a/skabase/SKALogger/SKALogger/SKALogger.py b/skabase/SKALogger/SKALogger/SKALogger.py index 5bb0474f08c332f099924bfba2db2312a50c0ee4..6761bf3890b9cd6a4aa16514289415015b34c874 100644 --- a/skabase/SKALogger/SKALogger/SKALogger.py +++ b/skabase/SKALogger/SKALogger/SKALogger.py @@ -159,6 +159,14 @@ class SKALogger(SKABaseDevice): pass # PROTECTED REGION END # // SKALogger.SetStorageLoggingLevel + @command( + ) + @DebugIt() + def Reset(self): + # PROTECTED REGION ID(SKALogger.Reset) ENABLED START # + pass + # PROTECTED REGION END # // SKALogger.Reset + # ---------- # Run server # ---------- diff --git a/skabase/SKALogger/test/SKALogger_test.py b/skabase/SKALogger/test/SKALogger_test.py index 45b3a76887acc1f69259c9d30d0c2ebd13242222..65824447af7d8dfe0da4ab9270ea12eb78206f95 100644 --- a/skabase/SKALogger/test/SKALogger_test.py +++ b/skabase/SKALogger/test/SKALogger_test.py @@ -39,7 +39,7 @@ class SKALoggerDeviceTestCase(DeviceTestCase): # PROTECTED REGION ID(SKALogger.test_additionnal_import) ENABLED START # # PROTECTED REGION END # // SKALogger.test_additionnal_import device = SKALogger - properties = {'SkaLevel': '4', 'MetricList': 'healthState,adminMode,controlMode', 'GroupDefinitions': '', 'CentralLoggingTarget': '', 'ElementLoggingTarget': '', 'StorageLoggingTarget': 'localhost', 'CentralLoggingLevelDefault': '2', 'ElementLoggingLevelDefault': '3', 'StorageLoggingLevelDefault': '4', + properties = {'SkaLevel': '4', 'MetricList': 'healthState', 'GroupDefinitions': '', 'CentralLoggingTarget': '', 'ElementLoggingTarget': '', 'StorageLoggingTarget': 'localhost', 'CentralLoggingLevelDefault': '2', 'ElementLoggingLevelDefault': '3', 'StorageLoggingLevelDefault': '4', } empty = None # Should be [] diff --git a/skabase/SKAObsDevice/SKAObsDevice.xmi b/skabase/SKAObsDevice/SKAObsDevice.xmi index 8e7ef6a668ed9906fc156a0fab9a0c31f03b1ccf..32b9d742af1b9891858cc7d58d5b49d8c3deda7a 100644 --- a/skabase/SKAObsDevice/SKAObsDevice.xmi +++ b/skabase/SKAObsDevice/SKAObsDevice.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="SKAObsDevice" pogoRevision="9.6"> - <description description="A generic base device for Observations for SKA." title="SKAObsDevice" sourcePath="/home/kat/src/levpro/skabase/SKAObsDevice" language="PythonHL" filestogenerate="XMI file,Code files, Python Package, Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="true" hasAbstractAttribute="false"> + <description description="A generic base device for Observations for SKA." title="SKAObsDevice" sourcePath="/home/tango-cs/src/levpro/skabase/SKAObsDevice" language="PythonHL" filestogenerate="XMI file,Code files,Python Package,Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="true" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKAObsDevice"/> @@ -25,11 +25,13 @@ <DefaultPropValue>localhost</DefaultPropValue> </deviceProperties> <deviceProperties name="MetricList" description="A subset of attributes we want to expose as metrics for this device."> - <type xsi:type="pogoDsl:StringType"/> + <type xsi:type="pogoDsl:StringVectorType"/> <status abstract="false" inherited="true" concrete="true"/> - <DefaultPropValue>healthState,adminMode,controlMode</DefaultPropValue> + <DefaultPropValue>healthState</DefaultPropValue> + <DefaultPropValue>adminMode</DefaultPropValue> + <DefaultPropValue>controlMode</DefaultPropValue> </deviceProperties> - <deviceProperties name="GroupDefinitions" description="List of grouped devices managed by a master. Each string in the array is a JSON 
document defining the ``groupname``, ``devices`` and ``groups`` in the group.
A proxy client will be opened for each of the managed devices.
A group will be instantiated for the managed devices per group.
Each entry in the array contains a JSON defining the group, like:
[ {``groupname``: ``group1``, 
 ``devices``: ``csv list of devices in group1``},
 {``groupname``: ``group2``, # a group with devices and a subgroup
 ``devices``: ``csv list of devices in group2``,
 ``groups`` : ``csv list of sub groups``},
 {``groupname``: ``group3``, 
 ``devices`` : ``csv list of devices in group3``}},
 {``groupname``: ``group4``, # a group with only subgroups
 ``groups`` : ``csv list of sub groups``}}]

e.g. for a hierarchy of racks, servers and switches
[{ ``groupname``: ``servers``, 
 ``devices``: ``elt/server/1,elt/server/2,elt/server/3,elt/server/4``},
 {``groupname``: ``switches``, 
 ``devices``: ``elt/switch/A,elt/switch/B``},
 {``groupname``: ``pdus``, 
 ``devices``: ``elt/pdu/rackA,elt/pdu/rackB``},
 {``groupname``:``rackA``, 
 ``devices``: ``elt/server/1,elt/server/2,elt/switch/A,elt/pdu/rackA``},
 {``groupname``:``rackB``,
 ``devices``: ``elt/server/3,elt/server/4,elt/switch/B,elt/pdu/rackB``},
 {``groupname``:``racks``,
 ``groups``: ``rackA,rackB``}]"> + <deviceProperties name="GroupDefinitions" description="Each string in the list is a JSON serialised dict defining the ``group_name``,
``devices`` and ``subgroups`` in the group. A TANGO Group object is created
for each item in the list, according to the hierarchy defined. This provides
easy access to the managed devices in bulk, or individually.

The general format of the list is as follows, with optional ``devices`` and
``subgroups`` keys:
 [ {``group_name``: ``<name>``,
 ``devices``: [``<dev name>``, ...]},
 {``group_name``: ``<name>``,
 ``devices``: [``<dev name>``, ``<dev name>``, ...],
 ``subgroups`` : [{<nested group>},
 {<nested group>}, ...]},
 ...
 ]

For example, a hierarchy of racks, servers and switches:
 [ {``group_name``: ``servers``,
 ``devices``: [``elt/server/1``, ``elt/server/2``,
 ``elt/server/3``, ``elt/server/4``]},
 {``group_name``: ``switches``,
 ``devices``: [``elt/switch/A``, ``elt/switch/B``]},
 {``group_name``: ``pdus``,
 ``devices``: [``elt/pdu/rackA``, ``elt/pdu/rackB``]},
 {``group_name``: ``racks``,
 ``subgroups``: [
 {``group_name``: ``rackA``,
 ``devices``: [``elt/server/1``, ``elt/server/2``,
 ``elt/switch/A``, ``elt/pdu/rackA``]},
 {``group_name``: ``rackB``,
 ``devices``: [``elt/server/3``, ``elt/server/4``,
 ``elt/switch/B``, ``elt/pdu/rackB``],
 ``subgroups``: []}
 ]} ]"> <type xsi:type="pogoDsl:StringVectorType"/> <status abstract="false" inherited="true" concrete="true"/> </deviceProperties> @@ -42,14 +44,14 @@ </argout> <status abstract="true" inherited="false" concrete="false" concreteHere="false"/> </commands> - <commands name="Reset" description="Reset device to its default state" execMethod="reset" displayLevel="OPERATOR" polledPeriod="0"> + <commands name="Reset" description="Reset device to its default state" execMethod="reset" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false"> <argin description=""> <type xsi:type="pogoDsl:VoidType"/> </argin> <argout description=""> <type xsi:type="pogoDsl:VoidType"/> </argout> - <status abstract="true" inherited="true" concrete="false"/> + <status abstract="false" inherited="true" concrete="true" concreteHere="true"/> </commands> <commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0"> <argin description="none"> @@ -144,83 +146,73 @@ <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> <properties description="Configuration delay expected in seconds" label="" unit="seconds" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="buildState" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="60000" maxX="" maxY="" allocReadMember="true" isDynamic="false"> + <attributes name="buildState" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="60000" maxX="" maxY="" allocReadMember="true"> <dataType xsi:type="pogoDsl:StringType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="Build state of this device" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="versionId" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="60000" maxX="" maxY="" allocReadMember="true" isDynamic="false"> + <attributes name="versionId" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="60000" maxX="" maxY="" allocReadMember="true"> <dataType xsi:type="pogoDsl:StringType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="Build state of this device" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="centralLoggingLevel" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" allocReadMember="true" isDynamic="false"> + <attributes name="centralLoggingLevel" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" allocReadMember="true"> <dataType xsi:type="pogoDsl:UShortType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="Current logging level to Central logging target for this device - 
initialises to CentralLoggingLevelDefault on startup" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="elementLoggingLevel" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" allocReadMember="true" isDynamic="false"> + <attributes name="elementLoggingLevel" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" allocReadMember="true"> <dataType xsi:type="pogoDsl:UShortType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="Current logging level to Element logging target for this device - 
initialises to ElementLoggingLevelDefault on startup" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="storageLoggingLevel" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true" isDynamic="false"> + <attributes name="storageLoggingLevel" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true"> <dataType xsi:type="pogoDsl:UShortType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="Current logging level to Syslog for this device - 
initialises from StorageLoggingLevelDefault on first execution of device.
Needs to be READ_WRITE To make it memorized - but writing this attribute should 
do the same as command SetStorageLoggingLevel to ensure the targets and adjustments
are made correctly" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="healthState" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" allocReadMember="true" isDynamic="false"> + <attributes name="healthState" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" allocReadMember="true"> <dataType xsi:type="pogoDsl:EnumType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="The health state reported for this device. It interprets the current device condition 
and condition of all managed devices to set this. Most possibly an aggregate attribute." label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="adminMode" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true" isDynamic="false"> + <attributes name="adminMode" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true"> <dataType xsi:type="pogoDsl:EnumType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="The admin mode reported for this device. It may interpret the current device condition 
and condition of all managed devices to set this. Most possibly an aggregate attribute." label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="controlMode" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true" isDynamic="false"> + <attributes name="controlMode" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true"> <dataType xsi:type="pogoDsl:EnumType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="The control mode of the device. REMOTE, LOCAL
TANGO Device accepts only from a ‘local’ client and ignores commands and queries received from TM
or any other ‘remote’ clients. The Local clients has to release LOCAL control before REMOTE clients
can take control again." label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="simulationMode" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true" isDynamic="false"> + <attributes name="simulationMode" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true"> <dataType xsi:type="pogoDsl:BooleanType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="Reports the simulation mode of the device. Some devices may implement both modes,
while others will have simulators that set simulationMode to True while the real
devices always set simulationMode to False." label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> - <attributes name="testMode" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true" isDynamic="false"> + <attributes name="testMode" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="1000" maxX="" maxY="" memorized="true" allocReadMember="true"> <dataType xsi:type="pogoDsl:StringType"/> <changeEvent fire="false" libCheckCriteria="false"/> <archiveEvent fire="false" libCheckCriteria="false"/> - <dataReadyEvent fire="false" libCheckCriteria="true"/> <status abstract="false" inherited="true" concrete="true" concreteHere="false"/> <properties description="The test mode of the device. 
Either no test mode (empty string) or an indication of the test mode." label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/> </attributes> @@ -249,13 +241,5 @@ <status abstract="false" inherited="true" concrete="true"/> </states> <preferences docHome="./doc_html" makefileHome="/usr/share/pogo/preferences"/> - <overlodedPollPeriodObject name="centralLoggingLevel" type="attribute" pollPeriod="0"/> - <overlodedPollPeriodObject name="elementLoggingLevel" type="attribute" pollPeriod="0"/> - <overlodedPollPeriodObject name="storageLoggingLevel" type="attribute" pollPeriod="0"/> - <overlodedPollPeriodObject name="healthState" type="attribute" pollPeriod="0"/> - <overlodedPollPeriodObject name="adminMode" type="attribute" pollPeriod="0"/> - <overlodedPollPeriodObject name="controlMode" type="attribute" pollPeriod="0"/> - <overlodedPollPeriodObject name="simulationMode" type="attribute" pollPeriod="0"/> - <overlodedPollPeriodObject name="testMode" type="attribute" pollPeriod="0"/> </classes> </pogoDsl:PogoSystem> diff --git a/skabase/SKAObsDevice/SKAObsDevice/SKAObsDevice.py b/skabase/SKAObsDevice/SKAObsDevice/SKAObsDevice.py index 4bd03aa1c8a57453524bd2a9a22067bbf8825e40..935f645076852302d61ca220cd8f21c02e9d7bcb 100644 --- a/skabase/SKAObsDevice/SKAObsDevice/SKAObsDevice.py +++ b/skabase/SKAObsDevice/SKAObsDevice/SKAObsDevice.py @@ -144,6 +144,14 @@ class SKAObsDevice(SKABaseDevice): # Commands # -------- + @command( + ) + @DebugIt() + def Reset(self): + # PROTECTED REGION ID(SKAObsDevice.Reset) ENABLED START # + pass + # PROTECTED REGION END # // SKAObsDevice.Reset + # ---------- # Run server # ---------- diff --git a/skabase/SKAObsDevice/test/SKAObsDevice_test.py b/skabase/SKAObsDevice/test/SKAObsDevice_test.py index c8d826d59c57786bb68862ae941ccc318e93df38..4e4c4a445cff12d943c75df29dd2596650a91bbd 100644 --- a/skabase/SKAObsDevice/test/SKAObsDevice_test.py +++ b/skabase/SKAObsDevice/test/SKAObsDevice_test.py @@ -39,7 +39,7 @@ class SKAObsDeviceDeviceTestCase(DeviceTestCase): # PROTECTED REGION ID(SKAObsDevice.test_additionnal_import) ENABLED START # # PROTECTED REGION END # // SKAObsDevice.test_additionnal_import device = SKAObsDevice - properties = {'SkaLevel': '4', 'CentralLoggingTarget': '', 'ElementLoggingTarget': '', 'StorageLoggingTarget': 'localhost', 'MetricList': 'healthState,adminMode,controlMode', 'GroupDefinitions': '', + properties = {'SkaLevel': '4', 'CentralLoggingTarget': '', 'ElementLoggingTarget': '', 'StorageLoggingTarget': 'localhost', 'MetricList': 'healthState', 'GroupDefinitions': '', } empty = None # Should be [] diff --git a/skabase/SKATestDevice/SKATestDevice.xmi b/skabase/SKATestDevice/SKATestDevice.xmi index f627daeced2375b8eca1a2fa312a348faad23faf..a8bad68521e94392e77a562832e6ef316a66412a 100644 --- a/skabase/SKATestDevice/SKATestDevice.xmi +++ b/skabase/SKATestDevice/SKATestDevice.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="SKATestDevice" pogoRevision="9.6"> - <description description="A generic Test device for testing SKA base class functionalites." title="SKATestDevice" sourcePath="/home/kat/git/levpro/skabase/SKATestDevice" language="PythonHL" filestogenerate="XMI file,Code files,Python Package,Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="true" hasAbstractAttribute="false"> + <description description="A generic Test device for testing SKA base class functionalites." title="SKATestDevice" sourcePath="/home/tango-cs/src/levpro/skabase/SKATestDevice" language="PythonHL" filestogenerate="XMI file,Code files,Python Package,Protected Regions" license="GPL" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_Impl" sourcePath=""/> <inheritances classname="SKABaseDevice" sourcePath="../SKABaseDevice"/> <identification contact="at ska.ac.za - cam" author="cam" emailDomain="ska.ac.za" classFamily="OtherInstruments" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="SKASA" reference="SKA-SKATestDevice"/> @@ -37,9 +37,11 @@ <status abstract="false" inherited="true" concrete="true"/> </deviceProperties> <deviceProperties name="MetricList" description="A subset of attributes we want to expose as metrics for this device."> - <type xsi:type="pogoDsl:StringType"/> + <type xsi:type="pogoDsl:StringVectorType"/> <status abstract="false" inherited="true" concrete="true"/> - <DefaultPropValue>healthState,adminMode,controlMode</DefaultPropValue> + <DefaultPropValue>healthState</DefaultPropValue> + <DefaultPropValue>adminMode</DefaultPropValue> + <DefaultPropValue>controlMode</DefaultPropValue> </deviceProperties> <deviceProperties name="GroupDefinitions" description="Each string in the list is a JSON serialised dict defining the ``group_name``,
``devices`` and ``subgroups`` in the group. A TANGO Group object is created
for each item in the list, according to the hierarchy defined. This provides
easy access to the managed devices in bulk, or individually.

The general format of the list is as follows, with optional ``devices`` and
``subgroups`` keys:
 [ {``group_name``: ``<name>``,
 ``devices``: [``<dev name>``, ...]},
 {``group_name``: ``<name>``,
 ``devices``: [``<dev name>``, ``<dev name>``, ...],
 ``subgroups`` : [{<nested group>},
 {<nested group>}, ...]},
 ...
 ]

For example, a hierarchy of racks, servers and switches:
 [ {``group_name``: ``servers``,
 ``devices``: [``elt/server/1``, ``elt/server/2``,
 ``elt/server/3``, ``elt/server/4``]},
 {``group_name``: ``switches``,
 ``devices``: [``elt/switch/A``, ``elt/switch/B``]},
 {``group_name``: ``pdus``,
 ``devices``: [``elt/pdu/rackA``, ``elt/pdu/rackB``]},
 {``group_name``: ``racks``,
 ``subgroups``: [
 {``group_name``: ``rackA``,
 ``devices``: [``elt/server/1``, ``elt/server/2``,
 ``elt/switch/A``, ``elt/pdu/rackA``]},
 {``group_name``: ``rackB``,
 ``devices``: [``elt/server/3``, ``elt/server/4``,
 ``elt/switch/B``, ``elt/pdu/rackB``],
 ``subgroups``: []}
 ]} ]"> <type xsi:type="pogoDsl:StringVectorType"/> @@ -49,15 +51,6 @@ <type xsi:type="pogoDsl:UShortType"/> <status abstract="false" inherited="true" concrete="true"/> </deviceProperties> - <commands name="ObsState" description="Set the observation state" execMethod="obs_state" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false"> - <argin description=""> - <type xsi:type="pogoDsl:VoidType"/> - </argin> - <argout description="Observation state"> - <type xsi:type="pogoDsl:ConstStringType"/> - </argout> - <status abstract="true" inherited="false" concrete="false" concreteHere="false"/> - </commands> <commands name="Reset" description="Reset device to its default state" execMethod="reset" displayLevel="OPERATOR" polledPeriod="0"> <argin description=""> <type xsi:type="pogoDsl:VoidType"/> @@ -65,7 +58,7 @@ <argout description=""> <type xsi:type="pogoDsl:VoidType"/> </argout> - <status abstract="true" inherited="true" concrete="false"/> + <status abstract="false" inherited="true" concrete="true" concreteHere="true"/> </commands> <commands name="GetMetrics" description="Gets list of attributes marked as metrics, with their values, 
for device" execMethod="get_metrics" displayLevel="OPERATOR" polledPeriod="0"> <argin description=""> diff --git a/skabase/SKATestDevice/SKATestDevice/SKATestDevice.py b/skabase/SKATestDevice/SKATestDevice/SKATestDevice.py index 39c596cdf8e35afa3be8ff04b91b83db2651b2a4..8e6eee116a8464eae39c5edf3a5dfb9ac39548de 100644 --- a/skabase/SKATestDevice/SKATestDevice/SKATestDevice.py +++ b/skabase/SKATestDevice/SKATestDevice/SKATestDevice.py @@ -143,10 +143,18 @@ class SKATestDevice(SKABaseDevice): # -------- @command( - dtype_in='str', - doc_in="JSON encoded dict with this format\n{``group``: str, # name of existing group\n ``command``: str, # name of command to run\n ``arg_type``: str, # data type of command input argument\n ``arg_value``: str, # value for command input argument\n ``forward``: bool # True if command should be forwarded to all subgroups (default)\n}", - dtype_out='str', - doc_out="Return value from command on the group, as a JSON encoded string.\nThis will be a list of dicts of the form \n[ \n{``device_name``: str, # TANGO device name\n ``argout``: <value>, # return value from command (type depends on command)\n ``failed``: bool # True if command failed\n},\n{ ... },\n ... ]", + ) + @DebugIt() + def Reset(self): + # PROTECTED REGION ID(SKATestDevice.Reset) ENABLED START # + pass + # PROTECTED REGION END # // SKATestDevice.Reset + + @command( + dtype_in='str', + doc_in="JSON encoded dict with this format\n{``group``: str, # name of existing group\n ``command``: str, # name of command to run\n ``arg_type``: str, # data type of command input argument\n ``arg_value``: str, # value for command input argument\n ``forward``: bool # True if command should be forwarded to all subgroups (default)\n}", + dtype_out='str', + doc_out="Return value from command on the group, as a JSON encoded string.\nThis will be a list of dicts of the form \n[ \n{``device_name``: str, # TANGO device name\n ``argout``: <value>, # return value from command (type depends on command)\n ``failed``: bool # True if command failed\n},\n{ ... },\n ... ]", ) @DebugIt() def RunGroupCommand(self, argin): diff --git a/skabase/SKATestDevice/test/SKATestDevice_test.py b/skabase/SKATestDevice/test/SKATestDevice_test.py index 7fff47a5edac0335923ba69d14e1d1281eb7a6b1..f57f8236e3f2e5346a7df95f3327eeec1eda63af 100644 --- a/skabase/SKATestDevice/test/SKATestDevice_test.py +++ b/skabase/SKATestDevice/test/SKATestDevice_test.py @@ -39,7 +39,7 @@ class SKATestDeviceDeviceTestCase(DeviceTestCase): # PROTECTED REGION ID(SKATestDevice.test_additionnal_import) ENABLED START # # PROTECTED REGION END # // SKATestDevice.test_additionnal_import device = SKATestDevice - properties = {'SkaLevel': '4', 'CentralLoggingTarget': '', 'ElementLoggingTarget': '', 'StorageLoggingTarget': 'localhost', 'CentralLoggingLevelDefault': '', 'ElementLoggingLevelDefault': '', 'StorageLoggingLevelStorage': '', 'MetricList': 'healthState,adminMode,controlMode', 'GroupDefinitions': '', 'StorageLoggingLevelDefault': '', + properties = {'SkaLevel': '4', 'CentralLoggingTarget': '', 'ElementLoggingTarget': '', 'StorageLoggingTarget': 'localhost', 'CentralLoggingLevelDefault': '', 'ElementLoggingLevelDefault': '', 'StorageLoggingLevelStorage': '', 'MetricList': 'healthState', 'GroupDefinitions': '', 'StorageLoggingLevelDefault': '', } empty = None # Should be [] @@ -57,12 +57,6 @@ class SKATestDeviceDeviceTestCase(DeviceTestCase): # PROTECTED REGION END # // SKATestDevice.test_properties pass - def test_ObsState(self): - """Test for ObsState""" - # PROTECTED REGION ID(SKATestDevice.test_ObsState) ENABLED START # - self.device.ObsState() - # PROTECTED REGION END # // SKATestDevice.test_ObsState - def test_Reset(self): """Test for Reset""" # PROTECTED REGION ID(SKATestDevice.test_Reset) ENABLED START #