From 78ed5a7ab131e003d7e65562a556740cd4bbba8f Mon Sep 17 00:00:00 2001 From: "m.marn" <m.marn@gsi.de> Date: Tue, 23 Jan 2024 13:44:05 +0100 Subject: [PATCH] Symlink design files instead of copying. Add some comments. --- .../src/xml/test/AllTypesFESA.silecsdesign | 303 +--- .../xml/test/fesa/test_generateFesaDesign.py | 14 +- .../generated_correct/AllTypesFESA.design | 715 +-------- test/AllTypesFESA/copyDesigns.sh | 6 - test/AllTypesFESA/src/AllTypesFESA.design | 1315 ++--------------- .../AllTypesFESA/RealTime/RTDeviceClass.cpp | 39 +- .../RealTime/StatusUpdateAction.cpp | 5 + .../AllTypesFESA/Server/GetMyCBlockProp.cpp | 1 + .../AllTypesFESA/Server/GetMyROBlockProp.cpp | 1 + .../AllTypesFESA/Server/SetMyWOBlockProp.cpp | 4 + .../src/AllTypesFESA_DU.silecsdeploy | 6 +- 11 files changed, 206 insertions(+), 2203 deletions(-) mode change 100644 => 120000 silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign mode change 100644 => 120000 silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design delete mode 100755 test/AllTypesFESA/copyDesigns.sh diff --git a/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign b/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign deleted file mode 100644 index 11fd4aa..0000000 --- a/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign +++ /dev/null @@ -1,302 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<SILECS-Design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" silecs-version="3.0.0" created="06/27/16" updated="06/27/16" xsi:noNamespaceSchemaLocation="/home/cosylab/mmarn/lnx/workspace751/opensilecs/build/3.0.0/silecs-model/xml/DesignSchema.xsd"> - <Information> - <Owner user-login="schwinn"/> - <Editor user-login="schwinn"/> - </Information> - <SILECS-Class name="AllTypesFESA" version="0.1.0" domain="OPERATIONAL"> - <Acquisition-Block name="MyROBlock" generateFesaProperty="true" fesaPropertyName="MyROBlockProp"> - <Acquisition-Register name="RO_int8" generateFesaValueItem="true"> - <scalar format="int8"/> - </Acquisition-Register> - <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa"> - <scalar format="uint8"/> - </Acquisition-Register> - <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa"> - <scalar format="int16"/> - </Acquisition-Register> - <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa"> - <scalar format="uint16"/> - </Acquisition-Register> - <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa"> - <scalar format="int32"/> - </Acquisition-Register> - <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa"> - <scalar format="uint32"/> - </Acquisition-Register> - <!--<Register name="RO_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RO_int64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> - <!--<Register name="RO_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RO_uint64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> - <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa"> - <scalar format="float32"/> - </Acquisition-Register> - <!--<Register name="RO_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" esaFieldName="RO_float64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa"> - <string string-length="64" format="string"/> - </Acquisition-Register> - <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa"> - <scalar format="date"/> - </Acquisition-Register> - <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa"> - <scalar format="char"/> - </Acquisition-Register> - <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa"> - <scalar format="byte"/> - </Acquisition-Register> - <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa"> - <scalar format="word"/> - </Acquisition-Register> - <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa"> - <scalar format="dword"/> - </Acquisition-Register> - <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa"> - <scalar format="int"/> - </Acquisition-Register> - <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa"> - <scalar format="dint"/> - </Acquisition-Register> - <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa"> - <scalar format="real"/> - </Acquisition-Register> - <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa"> - <scalar format="dt"/> - </Acquisition-Register> - <Acquisition-Register name="RO_enum" generateFesaValueItem="true" fesaFieldName="RO_enum_fesa"> - <custom-type-scalar custom-type-name-ref="TEST_ENUM"/> - </Acquisition-Register> - </Acquisition-Block> - <Setting-Block name="MyRWBlock" generateFesaProperty="true" fesaPropertyName="MyRWBlockProp"> - <Setting-Register name="RW_int8" generateFesaValueItem="true"> - <scalar format="int8"/> - </Setting-Register> - <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa"> - <scalar format="uint8"/> - </Setting-Register> - <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa"> - <scalar format="int16"/> - </Setting-Register> - <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa"> - <scalar format="uint16"/> - </Setting-Register> - <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa"> - <scalar format="int32"/> - </Setting-Register> - <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa"> - <scalar format="uint32"/> - </Setting-Register> - <!--<Register name="RW_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_int64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> - <!--<Register name="RW_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_uint64_fesa"/> not Supported for Beckhoff, Siemens and Schneider --> - <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa"> - <scalar format="float32"/> - </Setting-Register> - <!--<Register name="RW_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" esaFieldName="RW_float64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa"> - <string string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa"> - <scalar format="date"/> - </Setting-Register> - <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa"> - <scalar format="char"/> - </Setting-Register> - <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa"> - <scalar format="byte"/> - </Setting-Register> - <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa"> - <scalar format="word"/> - </Setting-Register> - <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa"> - <scalar format="dword"/> - </Setting-Register> - <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa"> - <scalar format="int"/> - </Setting-Register> - <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa"> - <scalar format="dint"/> - </Setting-Register> - <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa"> - <scalar format="real"/> - </Setting-Register> - <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa"> - <scalar format="dt"/> - </Setting-Register> - <Setting-Register name="RW2_int8" generateFesaValueItem="true"> - <array2D dim1="2" dim2="2" format="int8"/> - </Setting-Register> - <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Setting-Register> - <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa"> - <array2D dim1="2" dim2="2" format="int16"/> - </Setting-Register> - <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Setting-Register> - <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa"> - <array2D dim1="2" dim2="2" format="int32"/> - </Setting-Register> - <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Setting-Register> - <!-- <Register name="RW_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_int64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Beckhoff, Siemens and Schneider --> - <!--<Register name="RW_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_uint64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Beckhoff, Siemens and Schneider --> - <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa"> - <array2D dim1="2" dim2="2" format="float32"/> - </Setting-Register> - <!--<Register name="RW_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_float64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <!-- <Register name="RW_string" format="string" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" array-dim1="2" array-dim2="2"/> 2d string arrays not supported in FESA --> - <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa"> - <array2D dim1="2" dim2="2" format="date"/> - </Setting-Register> - <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa"> - <array2D dim1="2" dim2="2" format="char"/> - </Setting-Register> - <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa"> - <array2D dim1="2" dim2="2" format="byte"/> - </Setting-Register> - <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa"> - <array2D dim1="2" dim2="2" format="word"/> - </Setting-Register> - <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa"> - <array2D dim1="2" dim2="2" format="dword"/> - </Setting-Register> - <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa"> - <array2D dim1="2" dim2="2" format="int"/> - </Setting-Register> - <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa"> - <array2D dim1="2" dim2="2" format="dint"/> - </Setting-Register> - <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa"> - <array2D dim1="2" dim2="2" format="real"/> - </Setting-Register> - <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa"> - <array2D dim1="2" dim2="2" format="dt"/> - </Setting-Register> - <Setting-Register name="RW_enum" generateFesaValueItem="true" fesaFieldName="RW_enum_fesa"> - <custom-type-scalar custom-type-name-ref="TEST_ENUM"/> - </Setting-Register> - </Setting-Block> - <Command-Block name="MyWOBlock" generateFesaProperty="true" fesaPropertyName="MyWOBlockProp"> - <Setting-Register name="WO_int8" generateFesaValueItem="true"> - <array dim="10" format="int8"/> - </Setting-Register> - <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa"> - <array dim="10" format="uint8"/> - </Setting-Register> - <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa"> - <array dim="10" format="int16"/> - </Setting-Register> - <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa"> - <array dim="10" format="uint16"/> - </Setting-Register> - <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa"> - <array dim="10" format="int32"/> - </Setting-Register> - <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa"> - <array dim="10" format="uint32"/> - </Setting-Register> - <!--<Register name="WO_int64" format="int64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_int64_fesa" array-dim1="10"/> not Supported for Beckhoff, Siemens and Schneider --> - <!--<Register name="WO_uint64" format="uint64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_uint64_fesa" array-dim1="10"/> not Supported for Beckhoff, Siemens and Schneider --> - <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa"> - <array dim="10" format="float32"/> - </Setting-Register> - <!--<Register name="WO_float64" format="float64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_float64_fesa" array-dim1="10"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa"> - <stringArray dim="10" string-length="64" format="string"/> - </Setting-Register> - <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa"> - <array dim="10" format="date"/> - </Setting-Register> - <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa"> - <array dim="10" format="char"/> - </Setting-Register> - <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa"> - <array dim="10" format="byte"/> - </Setting-Register> - <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa"> - <array dim="10" format="word"/> - </Setting-Register> - <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa"> - <array dim="10" format="dword"/> - </Setting-Register> - <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa"> - <array dim="10" format="int"/> - </Setting-Register> - <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa"> - <array dim="10" format="dint"/> - </Setting-Register> - <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa"> - <array dim="10" format="real"/> - </Setting-Register> - <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa"> - <array dim="10" format="dt"/> - </Setting-Register> - <Setting-Register name="WO_enum" generateFesaValueItem="true" fesaFieldName="WO_enum_fesa"> - <custom-type-array dim="10" custom-type-name-ref="TEST_ENUM"/> - </Setting-Register> - </Command-Block> - <Configuration-Block name="MyCBlock" generateFesaProperty="true" fesaPropertyName="MyCBlockProp"> - <Configuration-Register name="C_int8" generateFesaValueItem="true"> - <array2D dim1="2" dim2="2" format="int8"/> - </Configuration-Register> - <Configuration-Register name="C_uint8" generateFesaValueItem="true" fesaFieldName="C_uint8_fesa"> - <array2D dim1="2" dim2="2" format="uint8"/> - </Configuration-Register> - <Configuration-Register name="C_int16" generateFesaValueItem="true" fesaFieldName="C_int16_fesa"> - <array2D dim1="2" dim2="2" format="int16"/> - </Configuration-Register> - <Configuration-Register name="C_uint16" generateFesaValueItem="true" fesaFieldName="C_uint16_fesa"> - <array2D dim1="2" dim2="2" format="uint16"/> - </Configuration-Register> - <Configuration-Register name="C_int32" generateFesaValueItem="true" fesaFieldName="C_int32_fesa"> - <array2D dim1="2" dim2="2" format="int32"/> - </Configuration-Register> - <Configuration-Register name="C_uint32" generateFesaValueItem="true" fesaFieldName="C_uint32_fesa"> - <array2D dim1="2" dim2="2" format="uint32"/> - </Configuration-Register> - <!--<Register name="C_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="C_int64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <!--<Register name="C_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="C_uint64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <Configuration-Register name="C_float32" generateFesaValueItem="true" fesaFieldName="C_float32_fesa"> - <array2D dim1="2" dim2="2" format="float32"/> - </Configuration-Register> - <!--<Register name="C_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="C_float64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider --> - <!--<Configuration-Register name="C_string" generateFesaValueItem="true" fesaFieldName="C_string_fesa"> - <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/> - </Configuration-Register>--> - <Configuration-Register name="C_date" generateFesaValueItem="true" fesaFieldName="C_date_fesa"> - <array2D dim1="2" dim2="2" format="date"/> - </Configuration-Register> - <Configuration-Register name="C_char" generateFesaValueItem="true" fesaFieldName="C_char_fesa"> - <array2D dim1="2" dim2="2" format="char"/> - </Configuration-Register> - <Configuration-Register name="C_byte" generateFesaValueItem="true" fesaFieldName="C_byte_fesa"> - <array2D dim1="2" dim2="2" format="byte"/> - </Configuration-Register> - <Configuration-Register name="C_word" generateFesaValueItem="true" fesaFieldName="C_word_fesa"> - <array2D dim1="2" dim2="2" format="word"/> - </Configuration-Register> - <Configuration-Register name="C_dword" generateFesaValueItem="true" fesaFieldName="C_dword_fesa"> - <array2D dim1="2" dim2="2" format="dword"/> - </Configuration-Register> - <Configuration-Register name="C_int" generateFesaValueItem="true" fesaFieldName="C_int_fesa"> - <array2D dim1="2" dim2="2" format="int"/> - </Configuration-Register> - <Configuration-Register name="C_dint" generateFesaValueItem="true" fesaFieldName="C_dint_fesa"> - <array2D dim1="2" dim2="2" format="dint"/> - </Configuration-Register> - <Configuration-Register name="C_real" generateFesaValueItem="true" fesaFieldName="C_real_fesa"> - <array2D dim1="2" dim2="2" format="real"/> - </Configuration-Register> - <Configuration-Register name="C_dt" generateFesaValueItem="true" fesaFieldName="C_dt_fesa"> - <array2D dim1="2" dim2="2" format="dt"/> - </Configuration-Register> - </Configuration-Block> - <custom-types> - <enum name="TEST_ENUM"> - <item access="RW" value="0" symbol="OK"/> - <item access="RW" value="1" symbol="WARNING"/> - <item access="RW" value="2" symbol="ERROR"/> - <item access="RW" value="3" symbol="UNKNOWN"/> - </enum> - </custom-types> - </SILECS-Class> -</SILECS-Design> diff --git a/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign b/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign new file mode 120000 index 0000000..c6db0ab --- /dev/null +++ b/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign @@ -0,0 +1 @@ +../../../../test/AllTypesFESA/src/AllTypesFESA.silecsdesign \ No newline at end of file diff --git a/silecs-codegen/src/xml/test/fesa/test_generateFesaDesign.py b/silecs-codegen/src/xml/test/fesa/test_generateFesaDesign.py index ffbeb5f..d25452b 100644 --- a/silecs-codegen/src/xml/test/fesa/test_generateFesaDesign.py +++ b/silecs-codegen/src/xml/test/fesa/test_generateFesaDesign.py @@ -14,8 +14,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -import unittest - import fesa.fesa_7_3_0.generateFesaDesign fesa_version = "7.5.0" @@ -96,10 +94,20 @@ class TestGenerateFesaDesign(unittest.TestCase): fesaRoot = self.generator.fillXML(fesa_version, 'AllTypesFESA', fesaRoot, silecsRoot, logTopics={'errorlog': True}) fesaNewDocPath = "test/generated_temp/AllTypesFESA.design" fesaCompareDocPath = "test/generated_correct/AllTypesFESA.design" + fesaCompareTestDocPath = "test/generated_correct/AllTypesFESA.design.testing" with open(fesaNewDocPath, 'w') as fd: fesaRoot.saveTo(fd, format = True) + correct = libxml2.readFile(fesaCompareDocPath, "utf-8", 0) + for node in correct.xpathEval("//*"): + if node.hasProp("id"): + node.unsetProp("id") + if node.name == "equipment-model": + node.setProp("xsi:noNamespaceSchemaLocation", "../design-gsi.xsd") + + correct.saveFormatFile(fesaCompareTestDocPath, format=True) + print('FESA design document saved successfully') # Compare files. - with open(fesaNewDocPath) as a, open(fesaCompareDocPath) as b: + with open(fesaNewDocPath) as a, open(fesaCompareTestDocPath) as b: self.assertListEqual(list(a), list(b)) diff --git a/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design b/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design deleted file mode 100644 index 7648de7..0000000 --- a/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design +++ /dev/null @@ -1,714 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<equipment-model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../design-gsi.xsd"> - <information> - <class-name>AllTypesFESA</class-name> - <class-major-version>0</class-major-version> - <class-minor-version>1</class-minor-version> - <class-tiny-version>0</class-tiny-version> - <type>Final</type> - <description>An empty design with GSI-specific standard properties</description> - <fesa-version>7.5.0</fesa-version> - </information> - <ownership> - <responsible name="ACO"/> - <creator login="schwinn"/> - </ownership> - <interface> - <device-interface> - <setting> - <command-property name="MyWOBlockProp" visibility="development" multiplexed="false"><value-item name="WO_enum_fesa" direction="IN"><custom-type-array data-type-name-ref="TEST_ENUM"><dim>10</dim></custom-type-array><data-field-ref field-name-ref="WO_enum_fesa"/></value-item><value-item name="WO_dt_fesa" direction="IN"><array type="double"><dim>10</dim></array><data-field-ref field-name-ref="WO_dt_fesa"/></value-item><value-item name="WO_real_fesa" direction="IN"><array type="float"><dim>10</dim></array><data-field-ref field-name-ref="WO_real_fesa"/></value-item><value-item name="WO_dint_fesa" direction="IN"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_dint_fesa"/></value-item><value-item name="WO_int_fesa" direction="IN"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int_fesa"/></value-item><value-item name="WO_dword_fesa" direction="IN"><array type="int64_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_dword_fesa"/></value-item><value-item name="WO_word_fesa" direction="IN"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_word_fesa"/></value-item><value-item name="WO_byte_fesa" direction="IN"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_byte_fesa"/></value-item><value-item name="WO_char_fesa" direction="IN"><array type="int8_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_char_fesa"/></value-item><value-item name="WO_date_fesa" direction="IN"><array type="double"><dim>10</dim></array><data-field-ref field-name-ref="WO_date_fesa"/></value-item><value-item name="WO_string_fesa" direction="IN"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D><data-field-ref field-name-ref="WO_string_fesa"/></value-item><value-item name="WO_float32_fesa" direction="IN"><array type="float"><dim>10</dim></array><data-field-ref field-name-ref="WO_float32_fesa"/></value-item><value-item name="WO_uint32_fesa" direction="IN"><array type="int64_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint32_fesa"/></value-item><value-item name="WO_int32_fesa" direction="IN"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int32_fesa"/></value-item><value-item name="WO_uint16_fesa" direction="IN"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint16_fesa"/></value-item><value-item name="WO_int16_fesa" direction="IN"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int16_fesa"/></value-item><value-item name="WO_uint8_fesa" direction="IN"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint8_fesa"/></value-item><value-item name="WO_int8" direction="IN"><array type="int8_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int8"/></value-item><set-action><server-action-ref server-action-name-ref="SetMyWOBlockProp"/></set-action></command-property><GSI-Init-Property multiplexed="false" name="Init" visibility="operational"> - <description>Control property, used to initialize the device with default values from the device instantiation file</description> - <set-action partial-setting="true" transaction="true"> - <server-action-ref server-action-name-ref="InitSetAction"/> - </set-action> - </GSI-Init-Property> - <GSI-Reset-Property multiplexed="false" name="Reset" visibility="operational"> - <description>Control property, used to reset the device while keeping the persistent data.</description> - <set-action partial-setting="true" transaction="true"> - <server-action-ref server-action-name-ref="ResetSetAction"/> - </set-action> - </GSI-Reset-Property> - <GSI-Setting-Property multiplexed="false" name="Setting" visibility="operational"> - <description>Used for setting hardware parameters for controlling the device.</description> - <update-flag-item direction="OUT" name="updateFlags" optional="true"> - <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> - </update-flag-item> - <cycle-name-item direction="OUT" name="cycleName" optional="true"> - <array type="char"> - <dim>32</dim> - </array> - </cycle-name-item> - <set-action partial-setting="true" transaction="true"> - <server-action-ref server-action-name-ref="SettingSetAction"/> - </set-action> - <get-action> - <server-action-ref server-action-name-ref="SettingGetAction"/> - </get-action> - </GSI-Setting-Property> - <GSI-Setting-Property name="MyRWBlockProp" visibility="development" multiplexed="false"><value-item name="RW_enum_fesa" direction="INOUT"><custom-type-scalar data-type-name-ref="TEST_ENUM"/><data-field-ref field-name-ref="RW_enum_fesa"/></value-item><value-item name="RW2_dt_fesa" direction="INOUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dt_fesa"/></value-item><value-item name="RW2_real_fesa" direction="INOUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_real_fesa"/></value-item><value-item name="RW2_dint_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dint_fesa"/></value-item><value-item name="RW2_int_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int_fesa"/></value-item><value-item name="RW2_dword_fesa" direction="INOUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dword_fesa"/></value-item><value-item name="RW2_word_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_word_fesa"/></value-item><value-item name="RW2_byte_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_byte_fesa"/></value-item><value-item name="RW2_char_fesa" direction="INOUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_char_fesa"/></value-item><value-item name="RW2_date_fesa" direction="INOUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_date_fesa"/></value-item><value-item name="RW2_float32_fesa" direction="INOUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_float32_fesa"/></value-item><value-item name="RW2_uint32_fesa" direction="INOUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint32_fesa"/></value-item><value-item name="RW2_int32_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int32_fesa"/></value-item><value-item name="RW2_uint16_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint16_fesa"/></value-item><value-item name="RW2_int16_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int16_fesa"/></value-item><value-item name="RW2_uint8_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint8_fesa"/></value-item><value-item name="RW2_int8" direction="INOUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int8"/></value-item><value-item name="RW_dt_fesa" direction="INOUT"><scalar type="double"/><data-field-ref field-name-ref="RW_dt_fesa"/></value-item><value-item name="RW_real_fesa" direction="INOUT"><scalar type="float"/><data-field-ref field-name-ref="RW_real_fesa"/></value-item><value-item name="RW_dint_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_dint_fesa"/></value-item><value-item name="RW_int_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int_fesa"/></value-item><value-item name="RW_dword_fesa" direction="INOUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_dword_fesa"/></value-item><value-item name="RW_word_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_word_fesa"/></value-item><value-item name="RW_byte_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_byte_fesa"/></value-item><value-item name="RW_char_fesa" direction="INOUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_char_fesa"/></value-item><value-item name="RW_date_fesa" direction="INOUT"><scalar type="double"/><data-field-ref field-name-ref="RW_date_fesa"/></value-item><value-item name="RW_string_fesa" direction="INOUT"><array type="char"><dim>64</dim></array><data-field-ref field-name-ref="RW_string_fesa"/></value-item><value-item name="RW_float32_fesa" direction="INOUT"><scalar type="float"/><data-field-ref field-name-ref="RW_float32_fesa"/></value-item><value-item name="RW_uint32_fesa" direction="INOUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_uint32_fesa"/></value-item><value-item name="RW_int32_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_int32_fesa"/></value-item><value-item name="RW_uint16_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_uint16_fesa"/></value-item><value-item name="RW_int16_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int16_fesa"/></value-item><value-item name="RW_uint8_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_uint8_fesa"/></value-item><value-item name="RW_int8" direction="INOUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_int8"/></value-item><update-flag-item direction="OUT" name="updateFlags" optional="true"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true"><array type="char"><dim>32</dim></array></cycle-name-item><set-action><server-action-ref server-action-name-ref="SetMyRWBlockProp"/></set-action><get-action><server-action-ref server-action-name-ref="GetMyRWBlockProp"/></get-action></GSI-Setting-Property><GSI-Power-Property multiplexed="false" name="Power" visibility="operational"> - <description>Used to turn the power of a device on or off.</description> - <update-flag-item direction="OUT" name="updateFlags" optional="true"> - <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> - </update-flag-item> - <cycle-name-item direction="OUT" name="cycleName" optional="true"> - <array type="char"> - <dim>32</dim> - </array> - </cycle-name-item> - <set-action partial-setting="true" transaction="true"> - <server-action-ref server-action-name-ref="PowerSetAction"/> - </set-action> - <get-action> - <server-action-ref server-action-name-ref="PowerGetAction"/> - </get-action> - <power-item direction="INOUT" name="power"> - <custom-type-scalar data-type-name-ref="DEVICE_POWER"/> - - <data-field-ref field-name-ref="power"/> - </power-item> - </GSI-Power-Property> - </setting> - <acquisition> - <GSI-Status-Property cycle-bound="false" name="Status" on-change="true" subscribable="true" visibility="operational"> - <description>Used to display the (cycle independent) overall status of the device.</description> - <description>Detailed status information may be additionally added to this property.</description> - <acq-stamp-item direction="OUT" name="acqStamp"> - <scalar type="int64_t"/> - </acq-stamp-item> - <update-flag-item direction="OUT" name="updateFlags" optional="true"> - <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> - </update-flag-item> - <cycle-name-item direction="OUT" name="cycleName" optional="true"> - <array type="char"> - <dim>32</dim> - </array> - </cycle-name-item> - <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true"> - <scalar type="int64_t"/> - </cycle-stamp-item> - <get-action> - <server-action-ref server-action-name-ref="StatusGetAction"/> - </get-action> - <status-item direction="OUT" name="status"> - <custom-type-scalar data-type-name-ref="DEVICE_STATUS"/> - - <data-field-ref field-name-ref="status"/> - </status-item> - <detailed-status-item direction="OUT" name="detailedStatus"> - <description>Detailed status should consist of an array of boolean values considered as detailed status information as well as a -corresponding string array containing keys to illustrate the meaning of the detailed status information.</description> - <array type="bool"> - <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/> - </array> - <data-field-ref field-name-ref="detailedStatus"/> - </detailed-status-item> - <detailed-status-labels-item direction="OUT" name="detailedStatus_labels"> - <description>Labels of detailed status bits.</description> - <array2D type="char"> - <custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/> - <custom-constant-dim2 constant-name-ref="MAX_DETAILED_STATUS_LABEL_LENGTH"/> - </array2D> - <data-field-ref field-name-ref="detailedStatus_labels"/> - </detailed-status-labels-item> - <detailed-status-severity-item direction="OUT" name="detailedStatus_severity"> - <description>Severities of the detailed status bits</description> - <custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY"> - <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/> - </custom-type-array> - <data-field-ref field-name-ref="detailedStatus_severity"/> - </detailed-status-severity-item> - <powerState-item direction="OUT" name="powerState"> - <description>Power state of the device (ON, OFF)</description> - <custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/> - - <data-field-ref field-name-ref="powerState"/> - </powerState-item> - <control-item direction="OUT" name="control"> - <custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/> - <data-field-ref field-name-ref="control"/> - </control-item> - <interlock-item direction="OUT" name="interlock"> - <description>Interlock state of the device</description> - <scalar type="bool"/> - <data-field-ref field-name-ref="interlock"/> - </interlock-item> - <opReady-item direction="OUT" name="opReady"> - <description>Contains the devices state regarding operation</description> - <scalar type="bool"/> - <data-field-ref field-name-ref="opReady"/> - </opReady-item> - <modulesReady-item direction="OUT" name="modulesReady"> - <description>Contains the devices module state</description> - <scalar type="bool"/> - <data-field-ref field-name-ref="modulesReady"/> - </modulesReady-item> - <error_collection-item direction="OUT"> - <error_codes direction="OUT" name="error_codes"> - <array type="int32_t"> - <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/> - </array> - </error_codes> - <error_messages direction="OUT" name="error_messages"> - <array2D type="char"> - <custom-constant-dim1 constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/> - <custom-constant-dim2 constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/> - </array2D> - </error_messages> - <error_timestamps direction="OUT" name="error_timestamps"> - <array type="int64_t"> - <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/> - </array> - </error_timestamps> - <error_cycle_names direction="OUT" name="error_cycle_names"> - <array2D type="char"> - <custom-constant-dim1 constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/> - <custom-constant-dim2 constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/> - </array2D> - </error_cycle_names> - <error_collection-field-ref field-name-ref="error_collection"/> - </error_collection-item> - </GSI-Status-Property> - <GSI-ModuleStatus-Property visibility="operational" subscribable="true" name="ModuleStatus" cycle-bound="false"> - <description>Gives detailed information on the state of 3rd party hardware and software components which are required to operate the device.</description> - <acq-stamp-item name="acqStamp" direction="OUT"> - <scalar type="int64_t"/> - </acq-stamp-item> - <update-flag-item optional="true" name="updateFlags" direction="OUT"> - <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> - </update-flag-item> - <cycle-name-item optional="true" name="cycleName" direction="OUT"> - <array type="char"> - <dim>32</dim> - </array> - </cycle-name-item> - <cycle-stamp-item optional="true" name="cycleStamp" direction="OUT"> - <scalar type="int64_t"/> - </cycle-stamp-item> - <get-action> - <server-action-ref server-action-name-ref="ModuleStatusGetAction"/> - </get-action> - <module-status-item name="moduleStatus" direction="OUT"> - <custom-type-array data-type-name-ref="MODULE_STATUS"> - <custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/> - </custom-type-array> - <data-field-ref field-name-ref="moduleStatus"/> - </module-status-item> - <module-status-labels-item name="moduleStatus_labels" direction="OUT"> - <array2D type="char"> - <custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/> - <custom-constant-dim2 constant-name-ref="MAX_MODULE_STATUS_LABEL_LENGTH"/> - </array2D> - <data-field-ref field-name-ref="moduleStatus_labels"/> - </module-status-labels-item> - </GSI-ModuleStatus-Property> - <GSI-Acquisition-Property cycle-bound="true" name="Acquisition" on-change="true" subscribable="true" visibility="operational"> - <description>Used for returning acquisition data which is retrieved from the hardware.</description> - <acq-stamp-item direction="OUT" name="acqStamp"> - <scalar type="int64_t"/> - </acq-stamp-item> - <update-flag-item direction="OUT" name="updateFlags" optional="true"> - <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> - </update-flag-item> - <cycle-name-item direction="OUT" name="cycleName" optional="true"> - <array type="char"> - <dim>32</dim> - </array> - </cycle-name-item> - <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true"> - <scalar type="int64_t"/> - </cycle-stamp-item> - <get-action> - <server-action-ref server-action-name-ref="AcquisitionGetAction"/> - </get-action> - <acquisition-context-item direction="OUT"> - <processIndex direction="OUT" name="processIndex"> - <scalar type="int32_t"/> - </processIndex> - <sequenceIndex direction="OUT" name="sequenceIndex"> - <scalar type="int32_t"/> - </sequenceIndex> - <chainIndex direction="OUT" name="chainIndex"> - <scalar type="int32_t"/> - </chainIndex> - <eventNumber direction="OUT" name="eventNumber"> - <scalar type="int32_t"/> - </eventNumber> - <timingGroupID direction="OUT" name="timingGroupID"> - <scalar type="int32_t"/> - </timingGroupID> - <acquisitionStamp direction="OUT" name="acquisitionStamp"> - <scalar type="int64_t"/> - </acquisitionStamp> - <eventStamp direction="OUT" name="eventStamp"> - <scalar type="int64_t"/> - </eventStamp> - <processStartStamp direction="OUT" name="processStartStamp"> - <scalar type="int64_t"/> - </processStartStamp> - <sequenceStartStamp direction="OUT" name="sequenceStartStamp"> - <scalar type="int64_t"/> - </sequenceStartStamp> - <chainStartStamp direction="OUT" name="chainStartStamp"> - <scalar type="int64_t"/> - </chainStartStamp> - <acquisition-context-field-ref field-name-ref="acquisitionContext"/> - </acquisition-context-item> - </GSI-Acquisition-Property> - <GSI-Acquisition-Property name="MyROBlockProp" visibility="development" subscribable="true" cycle-bound="false" on-change="true"><value-item name="RO_enum_fesa" direction="OUT"><custom-type-scalar data-type-name-ref="TEST_ENUM"/><data-field-ref field-name-ref="RO_enum_fesa"/></value-item><value-item name="RO_dt_fesa" direction="OUT"><scalar type="double"/><data-field-ref field-name-ref="RO_dt_fesa"/></value-item><value-item name="RO_real_fesa" direction="OUT"><scalar type="float"/><data-field-ref field-name-ref="RO_real_fesa"/></value-item><value-item name="RO_dint_fesa" direction="OUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_dint_fesa"/></value-item><value-item name="RO_int_fesa" direction="OUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_int_fesa"/></value-item><value-item name="RO_dword_fesa" direction="OUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RO_dword_fesa"/></value-item><value-item name="RO_word_fesa" direction="OUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_word_fesa"/></value-item><value-item name="RO_byte_fesa" direction="OUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_byte_fesa"/></value-item><value-item name="RO_char_fesa" direction="OUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RO_char_fesa"/></value-item><value-item name="RO_date_fesa" direction="OUT"><scalar type="double"/><data-field-ref field-name-ref="RO_date_fesa"/></value-item><value-item name="RO_string_fesa" direction="OUT"><array type="char"><dim>64</dim></array><data-field-ref field-name-ref="RO_string_fesa"/></value-item><value-item name="RO_float32_fesa" direction="OUT"><scalar type="float"/><data-field-ref field-name-ref="RO_float32_fesa"/></value-item><value-item name="RO_uint32_fesa" direction="OUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RO_uint32_fesa"/></value-item><value-item name="RO_int32_fesa" direction="OUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_int32_fesa"/></value-item><value-item name="RO_uint16_fesa" direction="OUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_uint16_fesa"/></value-item><value-item name="RO_int16_fesa" direction="OUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_int16_fesa"/></value-item><value-item name="RO_uint8_fesa" direction="OUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_uint8_fesa"/></value-item><value-item name="RO_int8" direction="OUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RO_int8"/></value-item><acq-stamp-item direction="OUT" name="acqStamp"><scalar type="int64_t"/></acq-stamp-item><update-flag-item direction="OUT" name="updateFlags" optional="true"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true"><array type="char"><dim>32</dim></array></cycle-name-item><cycle-stamp-item direction="OUT" name="cycleStamp" optional="true"><scalar type="int64_t"/></cycle-stamp-item><get-action><server-action-ref server-action-name-ref="GetMyROBlockProp"/></get-action><acquisition-context-item direction="OUT"><processIndex direction="OUT" name="processIndex"><scalar type="int32_t"/></processIndex><sequenceIndex direction="OUT" name="sequenceIndex"><scalar type="int32_t"/></sequenceIndex><chainIndex direction="OUT" name="chainIndex"><scalar type="int32_t"/></chainIndex><eventNumber direction="OUT" name="eventNumber"><scalar type="int32_t"/></eventNumber><timingGroupID direction="OUT" name="timingGroupID"><scalar type="int32_t"/></timingGroupID><acquisitionStamp direction="OUT" name="acquisitionStamp"><scalar type="int64_t"/></acquisitionStamp><eventStamp direction="OUT" name="eventStamp"><scalar type="int64_t"/></eventStamp><processStartStamp direction="OUT" name="processStartStamp"><scalar type="int64_t"/></processStartStamp><sequenceStartStamp direction="OUT" name="sequenceStartStamp"><scalar type="int64_t"/></sequenceStartStamp><chainStartStamp direction="OUT" name="chainStartStamp"><scalar type="int64_t"/></chainStartStamp><acquisition-context-field-ref field-name-ref="acquisitionContext"/></acquisition-context-item></GSI-Acquisition-Property><GSI-Acquisition-Property name="MyCBlockProp" visibility="development" subscribable="true" cycle-bound="false" on-change="true"><value-item name="C_dt_fesa" direction="OUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dt_fesa"/></value-item><value-item name="C_real_fesa" direction="OUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_real_fesa"/></value-item><value-item name="C_dint_fesa" direction="OUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dint_fesa"/></value-item><value-item name="C_int_fesa" direction="OUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int_fesa"/></value-item><value-item name="C_dword_fesa" direction="OUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dword_fesa"/></value-item><value-item name="C_word_fesa" direction="OUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_word_fesa"/></value-item><value-item name="C_byte_fesa" direction="OUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_byte_fesa"/></value-item><value-item name="C_char_fesa" direction="OUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_char_fesa"/></value-item><value-item name="C_date_fesa" direction="OUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_date_fesa"/></value-item><value-item name="C_float32_fesa" direction="OUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_float32_fesa"/></value-item><value-item name="C_uint32_fesa" direction="OUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint32_fesa"/></value-item><value-item name="C_int32_fesa" direction="OUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int32_fesa"/></value-item><value-item name="C_uint16_fesa" direction="OUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint16_fesa"/></value-item><value-item name="C_int16_fesa" direction="OUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int16_fesa"/></value-item><value-item name="C_uint8_fesa" direction="OUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint8_fesa"/></value-item><value-item name="C_int8" direction="OUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int8"/></value-item><acq-stamp-item direction="OUT" name="acqStamp"><scalar type="int64_t"/></acq-stamp-item><update-flag-item direction="OUT" name="updateFlags" optional="true"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true"><array type="char"><dim>32</dim></array></cycle-name-item><cycle-stamp-item direction="OUT" name="cycleStamp" optional="true"><scalar type="int64_t"/></cycle-stamp-item><get-action><server-action-ref server-action-name-ref="GetMyCBlockProp"/></get-action><acquisition-context-item direction="OUT"><processIndex direction="OUT" name="processIndex"><scalar type="int32_t"/></processIndex><sequenceIndex direction="OUT" name="sequenceIndex"><scalar type="int32_t"/></sequenceIndex><chainIndex direction="OUT" name="chainIndex"><scalar type="int32_t"/></chainIndex><eventNumber direction="OUT" name="eventNumber"><scalar type="int32_t"/></eventNumber><timingGroupID direction="OUT" name="timingGroupID"><scalar type="int32_t"/></timingGroupID><acquisitionStamp direction="OUT" name="acquisitionStamp"><scalar type="int64_t"/></acquisitionStamp><eventStamp direction="OUT" name="eventStamp"><scalar type="int64_t"/></eventStamp><processStartStamp direction="OUT" name="processStartStamp"><scalar type="int64_t"/></processStartStamp><sequenceStartStamp direction="OUT" name="sequenceStartStamp"><scalar type="int64_t"/></sequenceStartStamp><chainStartStamp direction="OUT" name="chainStartStamp"><scalar type="int64_t"/></chainStartStamp><acquisition-context-field-ref field-name-ref="acquisitionContext"/></acquisition-context-item></GSI-Acquisition-Property><GSI-Version-Property cycle-bound="false" name="Version" on-change="false" subscribable="false" visibility="operational"> - <description>Returns the current software and hardware versions of a piece of equipment.</description> - <acq-stamp-item direction="OUT" name="acqStamp"> - <scalar type="int64_t"/> - </acq-stamp-item> - <update-flag-item direction="OUT" name="updateFlags" optional="true"> - <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> - </update-flag-item> - <cycle-name-item direction="OUT" name="cycleName" optional="true"> - <array type="char"> - <dim>32</dim> - </array> - </cycle-name-item> - <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true"> - <scalar type="int64_t"/> - </cycle-stamp-item> - <get-action> - <server-action-ref server-action-name-ref="VersionGetAction"/> - </get-action> - <version-item direction="OUT" name="classVersion"> - <array type="char"> - <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/> - </array> - </version-item> - <version-item direction="OUT" name="deployUnitVersion"> - <array type="char"> - <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/> - </array> - </version-item> - <version-item direction="OUT" name="fesaVersion"> - <array type="char"> - <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/> - </array> - </version-item> - </GSI-Version-Property> - </acquisition> - </device-interface> - <global-interface> - <setting> - <diagnostic-property multiplexed="false" name="DiagnosticSetting" visibility="expert"> - <description>Generic property which allows to diagnose any FESA classes</description> - <mode-item direction="INOUT" name="enableDiagMode"> - <scalar type="bool"/> - </mode-item> - <host-item direction="INOUT" name="hostName"> - <description>Host of the FESA class</description> - <array type="char"> - <dim>32</dim> - </array> - </host-item> - <port-item direction="INOUT" name="portNumber"> - <description>Port used by the FESA class</description> - <scalar type="int32_t"/> - </port-item> - <config-item direction="IN" name="requestConfig"> - <scalar type="bool"/> - </config-item> - <state-item direction="IN" name="requestState"> - <scalar type="bool"/> - </state-item> - <fwk-topic-item direction="INOUT" name="fwkTopic"> - <builtin-type-scalar data-type-name-ref="DIAG_FWK_TOPIC"/> - </fwk-topic-item> - <custom-topic-item direction="INOUT" name="customTopic"> - <custom-type-scalar data-type-name-ref="DIAG_TOPIC"/> - </custom-topic-item> - <device-trace-item direction="INOUT" name="traceDevices"> - <array type="char"> - <dim>320</dim> - </array> - </device-trace-item> - <bypass-action-item direction="INOUT" name="bypassActions"> - <array type="char"> - <dim>320</dim> - </array> - </bypass-action-item> - </diagnostic-property> - </setting> - <acquisition> - <GSI-DeviceDescription-Property cycle-bound="false" name="DeviceDescription" on-change="false" subscribable="false" visibility="operational"> - <timing-info-item direction="OUT" name="deviceNameTimingReceiver"> - <array type="char"> - <variable-dim/> - </array> - <data-field-ref field-name-ref="deviceNameTimingReceiver"/> - </timing-info-item> - <property-info-item direction="OUT" name="propertyNames"> - <array2D type="char"> - <variable-dim1/> - <variable-dim2/> - </array2D> - </property-info-item> - <device-info-item direction="OUT" name="deviceNames"> - <array2D type="char"> - <variable-dim1/> - <variable-dim2/> - </array2D> - </device-info-item> - <global-device-info-item direction="OUT" name="globalDeviceName"> - <array type="char"> - <variable-dim/> - </array> - </global-device-info-item> - <host-info-item direction="OUT" name="host"> - <array type="char"> - <variable-dim/> - </array> - </host-info-item> - </GSI-DeviceDescription-Property> - </acquisition> - </global-interface> - </interface> - <builtin-types> - <notification-update-enum name="NOTIFICATION_UPDATE"> - <IMMEDIATE access="RO" symbol="IMMEDIATE" value="1"/> - <SET access="RO" symbol="SET" value="2"/> - </notification-update-enum> - <diag-fwk-topic name="DIAG_FWK_TOPIC"> - <b0 name="SRV_GET_ACTION_PROFIING"/> - <b1 name="SRV_SET_ACTION_PROFILING"/> - <b2 name="RT_ACTION_PROFILING"/> - <b3 name="EVENT_PROFILING"/> - <b4 name="NOTIFICATION_PROFILING"/> - <b5 name="SRV_GET_ACTION_TRACKING"/> - <b6 name="SRV_SET_ACTION_TRACKING"/> - <b7 name="RT_ACTION_TRACKING"/> - <b8 name="EVENT_TRACKING"/> - <b9 name="NOTIFICATION_TRACKING"/> - <b10 name="PERSISTENCY_TRACKING"/> - <b11 name="TRANSACTION_TRACKING"/> - <b12 name="SUBSCRIPTION_TRACKING"/> - <b13 name="SIGNAL_HANDLER_TRACKING"/> - <b14 name="LOCAL_CONNECTION_TRACKING"/> - </diag-fwk-topic> - <fault-severity name="FaultSeverity"> - <description>Enumeration listing the available fault severities used by the fault fields</description> - <INFO access="RO" meaning="NONE" value="0" symbol="INFO"/> - <WARNING access="RO" meaning="WARNING" value="1" symbol="WARNING"/> - <ERROR access="RO" meaning="ERROR" value="2" symbol="ERROR"/> - <CRITICAL access="RO" meaning="ERROR" value="3" symbol="CRITICAL"/> - </fault-severity> - - </builtin-types> - <custom-types> - <diag-custom-topic name="DIAG_TOPIC"> - </diag-custom-topic> - <enum name="DEVICE_STATUS"> - <!--Possible (mutually exclusive) values to describe the device status--> - - <item access="RW" meaning="NONE" symbol="UNKNOWN" value="0"/> - <!--The device status is unknown--> - - <item access="RW" meaning="NONE" symbol="OK" value="1"/> - <!--The device is in fully operational state--> - - <item access="RW" meaning="NONE" symbol="WARNING" value="2"/> - <!--The device is not fully operational; A device in WARNING state can still be used operationally, --> - <!--but clients must be informed of a problem that might become worse. Details are explained in the errorMsg field.--> - - <item access="RW" meaning="NONE" symbol="ERROR" value="3"/> - <!--The device is in a fault state. Details are explained in the errorMsg field--> - </enum> - <enum name="DEVICE_POWER_STATE"> - <!--Possible (mutually exclusive) values to describe the power-state of the device.--> - - <item access="RW" meaning="NONE" symbol="UNKNOWN" value="0"/> - <!--The device mode is unknown--> - - <item access="RW" meaning="ON" symbol="ON" value="1"/> - <!--The device is in fully operational state--> - - <item access="RW" meaning="NONE" symbol="OFF" value="2"/> - <!--The device is turned off--> - - <item access="RW" meaning="NONE" symbol="STANDBY" value="3"/> - <!--The device is in a stand-by mode. This mode is a sort of “parking mode†in which the device can --> - <!--stay for hours or even days. It is defined by the following characteristics:--> - <!--It is safe, it does not wear out, it consumes little energy.--> - <!--Furthermore, it takes a short time to go from STANDBY to ON mode--> - - <item access="RW" meaning="NONE" symbol="POWER_DOWN" value="4"/> - <!--The device is shutting down. Note that some properties may not be accessible during this time.--> - <!--After shutdown the device will be in the mode OFF--> - - <item access="RW" meaning="NONE" symbol="POWER_UP" value="5"/> - <!--The device is starting up. Note that some properties may not be accessible during this time.--> - <!--After (re-)starting the device probably will be in the mode ON--> - - </enum> - <enum name="DEVICE_POWER"> - <!--An enumeration Type used to control the operational mode of the device.--> - <!--Its values are a subset of those in the DEVICE_POWER_STATE type--> - <item access="RW" meaning="ON" symbol="ON" value="1"/> - <!--The device is in fully operational state--> - - <item access="RW" meaning="OFF" symbol="OFF" value="2"/> - <!--The device is turned off--> - </enum> - <enum name="DEVICE_CONTROL"> - <!--Possible values to describe the control mode of a device--> - <!--Currently two control modes (LOCAL, REMOTE) are defined--> - - <item access="RW" meaning="NONE" symbol="REMOTE" value="0"/> - <!--The device can be controlled normally through the control system--> - - <item access="RW" meaning="NONE" symbol="LOCAL" value="1"/> - <!--The device can be controlled locally. But it can be accessed in read-only mode via the control system--> - </enum> - <enum name="TOL_CHECK_MODE"> - <!--This constant defines possible modes to check whether a control value is inside the tolerance values.--> - <!--Used to give information on how the tolerance fields are used to calculate the xxx_status information.--> - - <item access="RO" symbol="ABS" value="0"/> - <!--Use the absolute tolerance _tolAbs--> - - <item access="RO" symbol="REL" value="1"/> - <!--Use the relative tolerance _tolRel--> - </enum> - <bit-enum-32bits name="AQN_STATUS"> - <!--Possible values to describe the acquisition status of a field (in the _status suffix)--> - <!--If this suffix is missing, it means that no additional status information is provided for the corresponding field--> - <!--If all bits are 0, this means that the corresponding field is OK.--> - <!--Only the lower 16 bits are standardized, the upper 16 bits can be defined by the equipment specialist.--> - <!--The difference between the Status property and the _status suffix is described in the section on the Status property.--> - <b0 name="NOT_OK"/> - <!--Some problem occurred that is not represented by the other bits. This property is called--> - <!-- NOT_OK so that it is not mixed up with ERROR or WARNING in the Status property--> - <b1 name="BAD_QUALITY"/> - <!--The value was acquired with a degraded quality. This is typically used for measurements.--> - <b2 name="DIFFERENT_FROM_SETTING"/> - <!--Different from the requested control value (for discrete values)--><!--or out of tolerance (for continuous values).--> - <b3 name="OUT_OF_RANGE"/> - <!--The value is out of the normal range (e.g. a temperature is too high or too low).--> - <b4 name="BUSY"/> - <!--The property value is changing in response to receiving a new control value (e.g. moving to a--> - <!--new position, charging a capacitor, ...). If the value change does not reach the requested new--> - <!--value within the maximum timeout, the BUSY bit should remain=1 and the TIMEOUT bit must be turned on.--> - <b5 name="TIMEOUT"/> - <!--A timeout occurred, because the property did not reach the reqested new control value within the--> - <!--maximum allowable time. A timeout normally indicates a problem to be addressed by the--> - <!--equipment specialist. This is typically used for slow changing control values that are BUSY while they change.--> - <b6 name="bit6_is_reserved_for_later_usage"/> - <b7 name="bit7_is_reserved_for_later_usage"/> - <b8 name="bit8_is_reserved_for_later_usage"/> - <b9 name="bit9_is_reserved_for_later_usage"/> - <b10 name="bit10_is_reserved_for_later_usage"/> - <b11 name="bit11_is_reserved_for_later_usage"/> - <b12 name="bit12_is_reserved_for_later_usage"/> - <b13 name="bit13_is_reserved_for_later_usage"/> - <b14 name="bit14_is_reserved_for_later_usage"/> - <b15 name="bit15_is_reserved_for_later_usage"/> - <!--bit 6 to 15 are reserved ... dont use them!--> - - <b16 name="bit_16_and_higher_can_be_used_by_the_class_developer"/> - <!--into bit 16..32 you can put in anything you want--> - </bit-enum-32bits> - - <struct name="GSI_ERROR"> - <!--This struct-item describes the structure of an GSI-error--> - <struct-item name="error_string"> - <!--This string holds the error-message--> - <array type="char"> - <custom-constant-dim constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/> - </array> - </struct-item> - <struct-item name="error_code"> - <!--The error code according to the defined error-message--> - <scalar type="int32_t"/> - </struct-item> - <!--The timestamp when the error occured--> - <struct-item name="error_timestamp"> - <scalar type="int64_t"/> - </struct-item> - <!--The cycle for which the error occured--> - <struct-item name="error_cycle_name"> - <array type="char"> - <custom-constant-dim constant-name-ref="MAX_CYCLE_NAME_LENGTH"/> - </array> - </struct-item> - </struct> - <struct name="GSI_ACQ_CONTEXT"><description>WhiteRabbit event specific acquisition information</description> - <struct-item name="processIndex"> - <description>Used in order to index process-multiplexed data</description> - <scalar type="int32_t"/> - </struct-item> - <struct-item name="sequenceIndex"> - <description>Used in order to index sequence-multiplexed data</description> - <scalar type="int32_t"/> - </struct-item> - <struct-item name="chainIndex"> - <description>Refers to a specific beam production chain</description> - <scalar type="int32_t"/> - </struct-item> - <struct-item name="eventNumber"> - <description>The number of the event describes it's type</description> - <scalar type="int32_t"/> - </struct-item> - <struct-item name="timingGroupID"> - <description>ID of the timing group for which the event is relevant</description> - <scalar type="int32_t"/> - </struct-item> - <struct-item name="acquisitionStamp"> - <description>The acquisition stamp is used to indicate when a measurement was done</description> - <scalar type="int64_t"/> - </struct-item> - <struct-item name="eventStamp"> - <description>The event stamp is used to indicate when WhiteRabbit event was triggered on the Timing Receiver</description> - <scalar type="int64_t"/> - </struct-item> - <struct-item name="processStartStamp"> - <description>The process start stamp indicates when the first event of the current process was triggered</description> - <scalar type="int64_t"/> - </struct-item> - <struct-item name="sequenceStartStamp"> - <description>The sequence start stamp indicates when the first event of the current sequence was triggered</description> - <scalar type="int64_t"/> - </struct-item> - <struct-item name="chainStartStamp"> - <description>The chain start stamp indicates when the first event of the current chain was triggered</description> - <scalar type="int64_t"/> - </struct-item> - </struct> - <constant name="MAX_ERROR_MESSAGE_LENGTH" type="uint32_t" value="256"/> - <constant name="MAX_NUMBER_OF_ERROR_MESSAGES" type="uint32_t" value="16"/> - <constant name="MAX_CYCLE_NAME_LENGTH" type="uint32_t" value="256"/> - <constant name="MAX_VERSION_NAME_LENGTH" type="uint32_t" value="256"/> - <constant name="MAX_DETAILED_STATUS_LABEL_LENGTH" type="uint32_t" value="30"/> - <constant name="DETAILED_STATUS_SIZE" type="uint32_t" value="2"/> - <enum name="DETAILED_STATUS_SEVERITY"> - <item access="RO" symbol="INFO" value="0"/> - <item access="RO" symbol="WARNING_ON_FALSE" value="1"/> - <item access="RO" symbol="ERROR_ON_FALSE" value="2"/> - </enum> - <enum name="MODULE_STATUS"> - <!-- Mutually exclusive values to describe the status of a hardware / software module--> - <item access="RO" value="0" symbol="UNKNOWN"/> - <!--The status of the module is not known--> - <item access="RO" value="1" symbol="OK"/> - <!--The module is in fully operational state--> - <item access="RO" value="2" symbol="WARNING"/> - <!--The module is not fully operational; A module in WARNING state may still be used operationally, --> - <!--but clients must be informed of a problem that might become worse. --> - <item access="RO" value="3" symbol="ERROR"/> - <!--The module is in a fault state. The related device is not operational.--> - <item access="RO" value="4" symbol="NOT_AVAILABLE"/> - <!--The module is missing. The related device is not operational.--> - </enum> - <constant name="MAX_MODULE_STATUS_LABEL_LENGTH" type="uint32_t" value="30"/> - <constant name="MODULE_STATUS_SIZE" type="uint32_t" value="2"/> - <enum name="TEST_ENUM"><item access="RW" value="0" symbol="OK"/><item access="RW" value="1" symbol="WARNING"/><item access="RW" value="2" symbol="ERROR"/><item access="RW" value="3" symbol="UNKNOWN"/></enum></custom-types> - <data> - <device-data> - <configuration> - <field name="C_dt_fesa"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_real_fesa"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_dint_fesa"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int_fesa"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_dword_fesa"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_word_fesa"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_byte_fesa"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_char_fesa"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_date_fesa"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_float32_fesa"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint32_fesa"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int32_fesa"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint16_fesa"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int16_fesa"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint8_fesa"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int8"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="plcDeviceLabel"><description>Name of the related SILECS instance within the PLC mapping</description><array type="char"><dim>128</dim></array></field><field name="plcHostName"><description>Hostname of the PLC that contains the related SILECS class device</description><array type="char"><dim>128</dim></array></field><GSI-detailed-status-labels-field name="detailedStatus_labels"> - <array2D type="char"> - <custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/> - <custom-constant-dim2 constant-name-ref="MAX_DETAILED_STATUS_LABEL_LENGTH"/> - </array2D> - <default>{myStatusLabel1,myStatusLabel2}</default> - </GSI-detailed-status-labels-field> - <GSI-detailed-status-severity-field name="detailedStatus_severity"> - <custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY"> - <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/> - </custom-type-array> - <default>{INFO,INFO}</default> - </GSI-detailed-status-severity-field> - <GSI-module-status-labels-field name="moduleStatus_labels"> - <array2D type="char"> - <custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/> - - <custom-constant-dim2 constant-name-ref="MAX_MODULE_STATUS_LABEL_LENGTH"/> - </array2D> - <default>{myModule1,myModule2}</default> - </GSI-module-status-labels-field> - </configuration> - <setting> - <field name="WO_enum_fesa" multiplexed="false" persistent="true"><custom-type-array data-type-name-ref="TEST_ENUM"><dim>10</dim></custom-type-array></field><field name="WO_dt_fesa" multiplexed="false" persistent="true"><array type="double"><dim>10</dim></array></field><field name="WO_real_fesa" multiplexed="false" persistent="true"><array type="float"><dim>10</dim></array></field><field name="WO_dint_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_dword_fesa" multiplexed="false" persistent="true"><array type="int64_t"><dim>10</dim></array></field><field name="WO_word_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_byte_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_char_fesa" multiplexed="false" persistent="true"><array type="int8_t"><dim>10</dim></array></field><field name="WO_date_fesa" multiplexed="false" persistent="true"><array type="double"><dim>10</dim></array></field><field name="WO_string_fesa" multiplexed="false" persistent="true"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D></field><field name="WO_float32_fesa" multiplexed="false" persistent="true"><array type="float"><dim>10</dim></array></field><field name="WO_uint32_fesa" multiplexed="false" persistent="true"><array type="int64_t"><dim>10</dim></array></field><field name="WO_int32_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_uint16_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int16_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_uint8_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_int8" multiplexed="false" persistent="true"><array type="int8_t"><dim>10</dim></array></field><field name="RW_enum_fesa" multiplexed="false" persistent="true"><custom-type-scalar data-type-name-ref="TEST_ENUM"/></field><field name="RW2_dt_fesa" multiplexed="false" persistent="true"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_real_fesa" multiplexed="false" persistent="true"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dint_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dword_fesa" multiplexed="false" persistent="true"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_word_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_byte_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_char_fesa" multiplexed="false" persistent="true"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_date_fesa" multiplexed="false" persistent="true"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_float32_fesa" multiplexed="false" persistent="true"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint32_fesa" multiplexed="false" persistent="true"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int32_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint16_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int16_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint8_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int8" multiplexed="false" persistent="true"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_dt_fesa" multiplexed="false" persistent="true"><scalar type="double"/></field><field name="RW_real_fesa" multiplexed="false" persistent="true"><scalar type="float"/></field><field name="RW_dint_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_int_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_dword_fesa" multiplexed="false" persistent="true"><scalar type="int64_t"/></field><field name="RW_word_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_byte_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_char_fesa" multiplexed="false" persistent="true"><scalar type="int8_t"/></field><field name="RW_date_fesa" multiplexed="false" persistent="true"><scalar type="double"/></field><field name="RW_string_fesa" multiplexed="false" persistent="true"><array type="char"><dim>64</dim></array></field><field name="RW_float32_fesa" multiplexed="false" persistent="true"><scalar type="float"/></field><field name="RW_uint32_fesa" multiplexed="false" persistent="true"><scalar type="int64_t"/></field><field name="RW_int32_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_uint16_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_int16_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_uint8_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_int8" multiplexed="false" persistent="true"><scalar type="int8_t"/></field><GSI-power-field multiplexed="false" name="power" persistent="false"> - <custom-type-scalar data-type-name-ref="DEVICE_POWER"/> - </GSI-power-field> - </setting> - <acquisition> - <field name="RO_enum_fesa" cycle-bound="false" persistent="false"><custom-type-scalar data-type-name-ref="TEST_ENUM"/></field><field name="RO_dt_fesa" cycle-bound="false" persistent="false"><scalar type="double"/></field><field name="RO_real_fesa" cycle-bound="false" persistent="false"><scalar type="float"/></field><field name="RO_dint_fesa" cycle-bound="false" persistent="false"><scalar type="int32_t"/></field><field name="RO_int_fesa" cycle-bound="false" persistent="false"><scalar type="int16_t"/></field><field name="RO_dword_fesa" cycle-bound="false" persistent="false"><scalar type="int64_t"/></field><field name="RO_word_fesa" cycle-bound="false" persistent="false"><scalar type="int32_t"/></field><field name="RO_byte_fesa" cycle-bound="false" persistent="false"><scalar type="int16_t"/></field><field name="RO_char_fesa" cycle-bound="false" persistent="false"><scalar type="int8_t"/></field><field name="RO_date_fesa" cycle-bound="false" persistent="false"><scalar type="double"/></field><field name="RO_string_fesa" cycle-bound="false" persistent="false"><array type="char"><dim>64</dim></array></field><field name="RO_float32_fesa" cycle-bound="false" persistent="false"><scalar type="float"/></field><field name="RO_uint32_fesa" cycle-bound="false" persistent="false"><scalar type="int64_t"/></field><field name="RO_int32_fesa" cycle-bound="false" persistent="false"><scalar type="int32_t"/></field><field name="RO_uint16_fesa" cycle-bound="false" persistent="false"><scalar type="int32_t"/></field><field name="RO_int16_fesa" cycle-bound="false" persistent="false"><scalar type="int16_t"/></field><field name="RO_uint8_fesa" cycle-bound="false" persistent="false"><scalar type="int16_t"/></field><field name="RO_int8" cycle-bound="false" persistent="false"><scalar type="int8_t"/></field><GSI-control-field cycle-bound="false" name="control"> - <custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/> - </GSI-control-field> - <GSI-powerState-field cycle-bound="false" name="powerState"> - <custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/> - </GSI-powerState-field> - <GSI-status-field cycle-bound="false" name="status"> - <custom-type-scalar data-type-name-ref="DEVICE_STATUS"/> - </GSI-status-field> - <GSI-interlock-field cycle-bound="false" name="interlock"> - <scalar type="bool"/> - </GSI-interlock-field> - <GSI-opReady-field cycle-bound="false" name="opReady"> - <scalar type="bool"/> - </GSI-opReady-field> - <GSI-modulesReady-field name="modulesReady" cycle-bound="false"> - <scalar type="bool"/> - </GSI-modulesReady-field> - <GSI-detailed-status-field cycle-bound="false" name="detailedStatus"> - <array type="bool"> - <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/> - </array> - </GSI-detailed-status-field> - <GSI-module-status-field name="moduleStatus" cycle-bound="false"> - <custom-type-array data-type-name-ref="MODULE_STATUS"> - <custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/> - </custom-type-array> - </GSI-module-status-field> - <GSI-acquisition-context-field cycle-bound="true" name="acquisitionContext"> - <custom-type-scalar data-type-name-ref="GSI_ACQ_CONTEXT"/> - </GSI-acquisition-context-field> - <GSI-error_collection-field cycle-bound="false" name="error_collection"> - <custom-type-array data-type-name-ref="GSI_ERROR"> - <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/> - </custom-type-array> - </GSI-error_collection-field> - </acquisition> - </device-data> - <global-data> - <configuration> - <!-- The name of the timing receiver --> - <field name="plcClassVersion"><description>Version of the SILECS class that needs to be deployed in the controller</description><array type="char"><dim>5</dim></array><default>0.1.0</default></field><GSI-timing-receiver-name-field name="deviceNameTimingReceiver"> - <array type="char"> - <!-- The number of the timing receiver --> - <variable-dim/> - </array> - </GSI-timing-receiver-name-field> - </configuration> - </global-data> - </data> - <actions> - <set-server-action implementation="default" name="InitSetAction"/> - <set-server-action implementation="default" name="ResetSetAction"/> - <set-server-action implementation="default" name="SettingSetAction"/> - <set-server-action implementation="default" name="PowerSetAction"/> - <get-server-action implementation="default" name="PowerGetAction"/> - <get-server-action implementation="default" name="SettingGetAction"/> - <get-server-action implementation="default" name="AcquisitionGetAction"/> - <get-server-action implementation="default" name="StatusGetAction"/> - <get-server-action implementation="default" name="VersionGetAction"/> - <get-server-action implementation="default" name="ModuleStatusGetAction"/> - - <rt-action name="StatusUpdateAction"/> <!-- Pre-defined status update action --> - <get-server-action name="GetMyROBlockProp" implementation="custom"/><set-server-action name="SetMyRWBlockProp" implementation="custom"/><get-server-action name="GetMyRWBlockProp" implementation="custom"/><set-server-action name="SetMyWOBlockProp" implementation="custom"/><get-server-action name="GetMyCBlockProp" implementation="custom"/></actions> - <events> - <logical-events> - <logical-event use="required" name="StatusUpdateEvent" type="timer"/> - </logical-events> - </events> - <scheduling-units> - <scheduling-unit name="StatusUpdateSchedulingUnit"> - <rt-action-ref rt-action-name-ref="StatusUpdateAction"/> - <logical-event-ref logical-event-name-ref="StatusUpdateEvent"/> - </scheduling-unit> - </scheduling-units> - -</equipment-model> diff --git a/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design b/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design new file mode 120000 index 0000000..e024b85 --- /dev/null +++ b/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design @@ -0,0 +1 @@ +../../../../../test/AllTypesFESA/src/AllTypesFESA.design \ No newline at end of file diff --git a/test/AllTypesFESA/copyDesigns.sh b/test/AllTypesFESA/copyDesigns.sh deleted file mode 100755 index b53dbe7..0000000 --- a/test/AllTypesFESA/copyDesigns.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -SCRIPT_PATH=$(dirname $(readlink -f "$0")) - -cp $SCRIPT_PATH/../../silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design src/ -cp $SCRIPT_PATH/../../silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign src/ diff --git a/test/AllTypesFESA/src/AllTypesFESA.design b/test/AllTypesFESA/src/AllTypesFESA.design index 834e5df..9c40b23 100644 --- a/test/AllTypesFESA/src/AllTypesFESA.design +++ b/test/AllTypesFESA/src/AllTypesFESA.design @@ -1,4 +1,5 @@ -<?xml version="1.0" encoding="UTF-8"?><equipment-model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:/opt/fesa/fesa-model-gsi/7.5.0/xml/design/design-gsi.xsd"> +<?xml version="1.0" encoding="UTF-8"?> +<equipment-model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:/opt/fesa/fesa-model-gsi/7.5.0/xml/design/design-gsi.xsd"> <information> <class-name>AllTypesFESA</class-name> <class-major-version>0</class-major-version> @@ -15,138 +16,24 @@ <interface> <device-interface> <setting> - <command-property id="_231221102304_0" multiplexed="false" name="MyWOBlockProp" visibility="development"> - <value-item direction="IN" id="_231221102304_14" name="WO_enum_fesa"> - <custom-type-array data-type-name-ref="TEST_ENUM"> - <dim>10</dim> - </custom-type-array> - <data-field-ref field-name-ref="WO_enum_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_15" name="WO_dt_fesa"> - <array type="double"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_dt_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_16" name="WO_real_fesa"> - <array type="float"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_real_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_17" name="WO_dint_fesa"> - <array type="int32_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_dint_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_18" name="WO_int_fesa"> - <array type="int16_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_int_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_19" name="WO_dword_fesa"> - <array type="int64_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_dword_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_20" name="WO_word_fesa"> - <array type="int32_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_word_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_21" name="WO_byte_fesa"> - <array type="int16_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_byte_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_22" name="WO_char_fesa"> - <array type="int8_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_char_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_23" name="WO_date_fesa"> - <array type="double"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_date_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_24" name="WO_string_fesa"> - <array2D type="char"> - <dim1>10</dim1> - <dim2>64</dim2> - </array2D> - <data-field-ref field-name-ref="WO_string_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_25" name="WO_float32_fesa"> - <array type="float"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_float32_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_26" name="WO_uint32_fesa"> - <array type="int64_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_uint32_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_27" name="WO_int32_fesa"> - <array type="int32_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_int32_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_28" name="WO_uint16_fesa"> - <array type="int32_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_uint16_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_29" name="WO_int16_fesa"> - <array type="int16_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_int16_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_30" name="WO_uint8_fesa"> - <array type="int16_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_uint8_fesa"/> - </value-item> - <value-item direction="IN" id="_231221102304_31" name="WO_int8"> - <array type="int8_t"> - <dim>10</dim> - </array> - <data-field-ref field-name-ref="WO_int8"/> - </value-item> - <set-action> - <server-action-ref server-action-name-ref="SetMyWOBlockProp"/> - </set-action> - </command-property> - <GSI-Init-Property id="_231221102304_1" multiplexed="false" name="Init" visibility="operational"> + <command-property name="MyWOBlockProp" visibility="development" multiplexed="false" id="_240112141711_0"><value-item name="WO_enum_fesa" direction="IN" id="_240112141711_14"><custom-type-array data-type-name-ref="TEST_ENUM"><dim>10</dim></custom-type-array><data-field-ref field-name-ref="WO_enum_fesa"/></value-item><value-item name="WO_dt_fesa" direction="IN" id="_240112141711_15"><array type="double"><dim>10</dim></array><data-field-ref field-name-ref="WO_dt_fesa"/></value-item><value-item name="WO_real_fesa" direction="IN" id="_240112141711_16"><array type="float"><dim>10</dim></array><data-field-ref field-name-ref="WO_real_fesa"/></value-item><value-item name="WO_dint_fesa" direction="IN" id="_240112141711_17"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_dint_fesa"/></value-item><value-item name="WO_int_fesa" direction="IN" id="_240112141711_18"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int_fesa"/></value-item><value-item name="WO_dword_fesa" direction="IN" id="_240112141712_0"><array type="int64_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_dword_fesa"/></value-item><value-item name="WO_word_fesa" direction="IN" id="_240112141712_1"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_word_fesa"/></value-item><value-item name="WO_byte_fesa" direction="IN" id="_240112141712_2"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_byte_fesa"/></value-item><value-item name="WO_char_fesa" direction="IN" id="_240112141712_3"><array type="int8_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_char_fesa"/></value-item><value-item name="WO_date_fesa" direction="IN" id="_240112141712_4"><array type="double"><dim>10</dim></array><data-field-ref field-name-ref="WO_date_fesa"/></value-item><value-item name="WO_string_fesa" direction="IN" id="_240112141712_5"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D><data-field-ref field-name-ref="WO_string_fesa"/></value-item><value-item name="WO_float32_fesa" direction="IN" id="_240112141712_6"><array type="float"><dim>10</dim></array><data-field-ref field-name-ref="WO_float32_fesa"/></value-item><value-item name="WO_uint32_fesa" direction="IN" id="_240112141712_7"><array type="int64_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint32_fesa"/></value-item><value-item name="WO_int32_fesa" direction="IN" id="_240112141712_8"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int32_fesa"/></value-item><value-item name="WO_uint16_fesa" direction="IN" id="_240112141712_9"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint16_fesa"/></value-item><value-item name="WO_int16_fesa" direction="IN" id="_240112141712_10"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int16_fesa"/></value-item><value-item name="WO_uint8_fesa" direction="IN" id="_240112141712_11"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint8_fesa"/></value-item><value-item name="WO_int8" direction="IN" id="_240112141713_0"><array type="int8_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int8"/></value-item><set-action><server-action-ref server-action-name-ref="SetMyWOBlockProp"/></set-action></command-property><GSI-Init-Property multiplexed="false" name="Init" visibility="operational" id="_240112141711_1"> <description>Control property, used to initialize the device with default values from the device instantiation file</description> <set-action partial-setting="true" transaction="true"> <server-action-ref server-action-name-ref="InitSetAction"/> </set-action> </GSI-Init-Property> - <GSI-Reset-Property id="_231221102304_2" multiplexed="false" name="Reset" visibility="operational"> + <GSI-Reset-Property multiplexed="false" name="Reset" visibility="operational" id="_240112141711_2"> <description>Control property, used to reset the device while keeping the persistent data.</description> <set-action partial-setting="true" transaction="true"> <server-action-ref server-action-name-ref="ResetSetAction"/> </set-action> </GSI-Reset-Property> - <GSI-Setting-Property id="_231221102304_3" multiplexed="false" name="Setting" visibility="operational"> + <GSI-Setting-Property multiplexed="false" name="Setting" visibility="operational" id="_240112141711_3"> <description>Used for setting hardware parameters for controlling the device.</description> - <update-flag-item direction="OUT" id="_231221102304_32" name="updateFlags" optional="true"> + <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141713_1"> <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> </update-flag-item> - <cycle-name-item direction="OUT" id="_231221102304_33" name="cycleName" optional="true"> + <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141713_2"> <array type="char"> <dim>32</dim> </array> @@ -158,214 +45,12 @@ <server-action-ref server-action-name-ref="SettingGetAction"/> </get-action> </GSI-Setting-Property> - <GSI-Setting-Property id="_231221102304_4" multiplexed="false" name="MyRWBlockProp" visibility="development"> - <value-item direction="INOUT" id="_231221102304_34" name="RW_enum_fesa"> - <custom-type-scalar data-type-name-ref="TEST_ENUM"/> - <data-field-ref field-name-ref="RW_enum_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_35" name="RW2_dt_fesa"> - <array2D type="double"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_dt_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_36" name="RW2_real_fesa"> - <array2D type="float"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_real_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_37" name="RW2_dint_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_dint_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_38" name="RW2_int_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_int_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_39" name="RW2_dword_fesa"> - <array2D type="int64_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_dword_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_40" name="RW2_word_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_word_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_41" name="RW2_byte_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_byte_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_42" name="RW2_char_fesa"> - <array2D type="int8_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_char_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_43" name="RW2_date_fesa"> - <array2D type="double"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_date_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_44" name="RW2_float32_fesa"> - <array2D type="float"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_float32_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_45" name="RW2_uint32_fesa"> - <array2D type="int64_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_uint32_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_46" name="RW2_int32_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_int32_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_47" name="RW2_uint16_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_uint16_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_48" name="RW2_int16_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_int16_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_49" name="RW2_uint8_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_uint8_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_50" name="RW2_int8"> - <array2D type="int8_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="RW2_int8"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_51" name="RW_dt_fesa"> - <scalar type="double"/> - <data-field-ref field-name-ref="RW_dt_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_52" name="RW_real_fesa"> - <scalar type="float"/> - <data-field-ref field-name-ref="RW_real_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_53" name="RW_dint_fesa"> - <scalar type="int32_t"/> - <data-field-ref field-name-ref="RW_dint_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_54" name="RW_int_fesa"> - <scalar type="int16_t"/> - <data-field-ref field-name-ref="RW_int_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_55" name="RW_dword_fesa"> - <scalar type="int64_t"/> - <data-field-ref field-name-ref="RW_dword_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_56" name="RW_word_fesa"> - <scalar type="int32_t"/> - <data-field-ref field-name-ref="RW_word_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_57" name="RW_byte_fesa"> - <scalar type="int16_t"/> - <data-field-ref field-name-ref="RW_byte_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_58" name="RW_char_fesa"> - <scalar type="int8_t"/> - <data-field-ref field-name-ref="RW_char_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_59" name="RW_date_fesa"> - <scalar type="double"/> - <data-field-ref field-name-ref="RW_date_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_60" name="RW_string_fesa"> - <array type="char"> - <dim>64</dim> - </array> - <data-field-ref field-name-ref="RW_string_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_61" name="RW_float32_fesa"> - <scalar type="float"/> - <data-field-ref field-name-ref="RW_float32_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_62" name="RW_uint32_fesa"> - <scalar type="int64_t"/> - <data-field-ref field-name-ref="RW_uint32_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_63" name="RW_int32_fesa"> - <scalar type="int32_t"/> - <data-field-ref field-name-ref="RW_int32_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_64" name="RW_uint16_fesa"> - <scalar type="int32_t"/> - <data-field-ref field-name-ref="RW_uint16_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_65" name="RW_int16_fesa"> - <scalar type="int16_t"/> - <data-field-ref field-name-ref="RW_int16_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_66" name="RW_uint8_fesa"> - <scalar type="int16_t"/> - <data-field-ref field-name-ref="RW_uint8_fesa"/> - </value-item> - <value-item direction="INOUT" id="_231221102304_67" name="RW_int8"> - <scalar type="int8_t"/> - <data-field-ref field-name-ref="RW_int8"/> - </value-item> - <update-flag-item direction="OUT" id="_231221102304_68" name="updateFlags" optional="true"> - <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> - </update-flag-item> - <cycle-name-item direction="OUT" id="_231221102304_69" name="cycleName" optional="true"> - <array type="char"> - <dim>32</dim> - </array> - </cycle-name-item> - <set-action> - <server-action-ref server-action-name-ref="SetMyRWBlockProp"/> - </set-action> - <get-action> - <server-action-ref server-action-name-ref="GetMyRWBlockProp"/> - </get-action> - </GSI-Setting-Property> - <GSI-Power-Property id="_231221102304_5" multiplexed="false" name="Power" visibility="operational"> + <GSI-Setting-Property name="MyRWBlockProp" visibility="development" multiplexed="false" id="_240112141711_4"><value-item name="RW_enum_fesa" direction="INOUT" id="_240112141713_3"><custom-type-scalar data-type-name-ref="TEST_ENUM"/><data-field-ref field-name-ref="RW_enum_fesa"/></value-item><value-item name="RW2_dt_fesa" direction="INOUT" id="_240112141713_4"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dt_fesa"/></value-item><value-item name="RW2_real_fesa" direction="INOUT" id="_240112141713_5"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_real_fesa"/></value-item><value-item name="RW2_dint_fesa" direction="INOUT" id="_240112141713_6"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dint_fesa"/></value-item><value-item name="RW2_int_fesa" direction="INOUT" id="_240112141713_7"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int_fesa"/></value-item><value-item name="RW2_dword_fesa" direction="INOUT" id="_240112141713_8"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dword_fesa"/></value-item><value-item name="RW2_word_fesa" direction="INOUT" id="_240112141713_9"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_word_fesa"/></value-item><value-item name="RW2_byte_fesa" direction="INOUT" id="_240112141713_10"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_byte_fesa"/></value-item><value-item name="RW2_char_fesa" direction="INOUT" id="_240112141713_11"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_char_fesa"/></value-item><value-item name="RW2_date_fesa" direction="INOUT" id="_240112141713_12"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_date_fesa"/></value-item><value-item name="RW2_float32_fesa" direction="INOUT" id="_240112141713_13"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_float32_fesa"/></value-item><value-item name="RW2_uint32_fesa" direction="INOUT" id="_240112141713_14"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint32_fesa"/></value-item><value-item name="RW2_int32_fesa" direction="INOUT" id="_240112141713_15"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int32_fesa"/></value-item><value-item name="RW2_uint16_fesa" direction="INOUT" id="_240112141713_16"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint16_fesa"/></value-item><value-item name="RW2_int16_fesa" direction="INOUT" id="_240112141713_17"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int16_fesa"/></value-item><value-item name="RW2_uint8_fesa" direction="INOUT" id="_240112141713_18"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint8_fesa"/></value-item><value-item name="RW2_int8" direction="INOUT" id="_240112141713_19"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int8"/></value-item><value-item name="RW_dt_fesa" direction="INOUT" id="_240112141713_20"><scalar type="double"/><data-field-ref field-name-ref="RW_dt_fesa"/></value-item><value-item name="RW_real_fesa" direction="INOUT" id="_240112141713_21"><scalar type="float"/><data-field-ref field-name-ref="RW_real_fesa"/></value-item><value-item name="RW_dint_fesa" direction="INOUT" id="_240112141713_22"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_dint_fesa"/></value-item><value-item name="RW_int_fesa" direction="INOUT" id="_240112141713_23"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int_fesa"/></value-item><value-item name="RW_dword_fesa" direction="INOUT" id="_240112141713_24"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_dword_fesa"/></value-item><value-item name="RW_word_fesa" direction="INOUT" id="_240112141713_25"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_word_fesa"/></value-item><value-item name="RW_byte_fesa" direction="INOUT" id="_240112141713_26"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_byte_fesa"/></value-item><value-item name="RW_char_fesa" direction="INOUT" id="_240112141713_27"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_char_fesa"/></value-item><value-item name="RW_date_fesa" direction="INOUT" id="_240112141713_28"><scalar type="double"/><data-field-ref field-name-ref="RW_date_fesa"/></value-item><value-item name="RW_string_fesa" direction="INOUT" id="_240112141713_29"><array type="char"><dim>64</dim></array><data-field-ref field-name-ref="RW_string_fesa"/></value-item><value-item name="RW_float32_fesa" direction="INOUT" id="_240112141713_30"><scalar type="float"/><data-field-ref field-name-ref="RW_float32_fesa"/></value-item><value-item name="RW_uint32_fesa" direction="INOUT" id="_240112141713_31"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_uint32_fesa"/></value-item><value-item name="RW_int32_fesa" direction="INOUT" id="_240112141713_32"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_int32_fesa"/></value-item><value-item name="RW_uint16_fesa" direction="INOUT" id="_240112141714_0"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_uint16_fesa"/></value-item><value-item name="RW_int16_fesa" direction="INOUT" id="_240112141714_1"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int16_fesa"/></value-item><value-item name="RW_uint8_fesa" direction="INOUT" id="_240112141714_2"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_uint8_fesa"/></value-item><value-item name="RW_int8" direction="INOUT" id="_240112141714_3"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_int8"/></value-item><update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141714_4"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141714_5"><array type="char"><dim>32</dim></array></cycle-name-item><set-action><server-action-ref server-action-name-ref="SetMyRWBlockProp"/></set-action><get-action><server-action-ref server-action-name-ref="GetMyRWBlockProp"/></get-action></GSI-Setting-Property><GSI-Power-Property multiplexed="false" name="Power" visibility="operational" id="_240112141711_5"> <description>Used to turn the power of a device on or off.</description> - <update-flag-item direction="OUT" id="_231221102304_70" name="updateFlags" optional="true"> + <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141714_6"> <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> </update-flag-item> - <cycle-name-item direction="OUT" id="_231221102304_71" name="cycleName" optional="true"> + <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141714_7"> <array type="char"> <dim>32</dim> </array> @@ -376,7 +61,7 @@ <get-action> <server-action-ref server-action-name-ref="PowerGetAction"/> </get-action> - <power-item direction="INOUT" id="_231221102304_72" name="power"> + <power-item direction="INOUT" name="power" id="_240112141714_8"> <custom-type-scalar data-type-name-ref="DEVICE_POWER"/> <data-field-ref field-name-ref="power"/> @@ -384,32 +69,32 @@ </GSI-Power-Property> </setting> <acquisition> - <GSI-Status-Property cycle-bound="false" id="_231221102304_6" name="Status" on-change="true" subscribable="true" visibility="operational"> + <GSI-Status-Property cycle-bound="false" name="Status" on-change="true" subscribable="true" visibility="operational" id="_240112141711_6"> <description>Used to display the (cycle independent) overall status of the device.</description> <description>Detailed status information may be additionally added to this property.</description> - <acq-stamp-item direction="OUT" id="_231221102304_73" name="acqStamp"> + <acq-stamp-item direction="OUT" name="acqStamp" id="_240112141714_9"> <scalar type="int64_t"/> </acq-stamp-item> - <update-flag-item direction="OUT" id="_231221102304_74" name="updateFlags" optional="true"> + <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141714_10"> <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> </update-flag-item> - <cycle-name-item direction="OUT" id="_231221102304_75" name="cycleName" optional="true"> + <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141714_11"> <array type="char"> <dim>32</dim> </array> </cycle-name-item> - <cycle-stamp-item direction="OUT" id="_231221102304_76" name="cycleStamp" optional="true"> + <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141714_12"> <scalar type="int64_t"/> </cycle-stamp-item> <get-action> <server-action-ref server-action-name-ref="StatusGetAction"/> </get-action> - <status-item direction="OUT" id="_231221102304_77" name="status"> + <status-item direction="OUT" name="status" id="_240112141714_13"> <custom-type-scalar data-type-name-ref="DEVICE_STATUS"/> <data-field-ref field-name-ref="status"/> </status-item> - <detailed-status-item direction="OUT" id="_231221102304_78" name="detailedStatus"> + <detailed-status-item direction="OUT" name="detailedStatus" id="_240112141714_14"> <description>Detailed status should consist of an array of boolean values considered as detailed status information as well as a corresponding string array containing keys to illustrate the meaning of the detailed status information.</description> <array type="bool"> @@ -417,7 +102,7 @@ corresponding string array containing keys to illustrate the meaning of the deta </array> <data-field-ref field-name-ref="detailedStatus"/> </detailed-status-item> - <detailed-status-labels-item direction="OUT" id="_231221102304_79" name="detailedStatus_labels"> + <detailed-status-labels-item direction="OUT" name="detailedStatus_labels" id="_240112141714_15"> <description>Labels of detailed status bits.</description> <array2D type="char"> <custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/> @@ -425,39 +110,39 @@ corresponding string array containing keys to illustrate the meaning of the deta </array2D> <data-field-ref field-name-ref="detailedStatus_labels"/> </detailed-status-labels-item> - <detailed-status-severity-item direction="OUT" id="_231221102304_80" name="detailedStatus_severity"> + <detailed-status-severity-item direction="OUT" name="detailedStatus_severity" id="_240112141714_16"> <description>Severities of the detailed status bits</description> <custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY"> <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/> </custom-type-array> <data-field-ref field-name-ref="detailedStatus_severity"/> </detailed-status-severity-item> - <powerState-item direction="OUT" id="_231221102304_81" name="powerState"> + <powerState-item direction="OUT" name="powerState" id="_240112141714_17"> <description>Power state of the device (ON, OFF)</description> <custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/> <data-field-ref field-name-ref="powerState"/> </powerState-item> - <control-item direction="OUT" id="_231221102304_82" name="control"> + <control-item direction="OUT" name="control" id="_240112141714_18"> <custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/> <data-field-ref field-name-ref="control"/> </control-item> - <interlock-item direction="OUT" id="_231221102304_83" name="interlock"> + <interlock-item direction="OUT" name="interlock" id="_240112141714_19"> <description>Interlock state of the device</description> <scalar type="bool"/> <data-field-ref field-name-ref="interlock"/> </interlock-item> - <opReady-item direction="OUT" id="_231221102304_84" name="opReady"> + <opReady-item direction="OUT" name="opReady" id="_240112141714_20"> <description>Contains the devices state regarding operation</description> <scalar type="bool"/> <data-field-ref field-name-ref="opReady"/> </opReady-item> - <modulesReady-item direction="OUT" id="_231221102304_85" name="modulesReady"> + <modulesReady-item direction="OUT" name="modulesReady" id="_240112141714_21"> <description>Contains the devices module state</description> <scalar type="bool"/> <data-field-ref field-name-ref="modulesReady"/> </modulesReady-item> - <error_collection-item direction="OUT" id="_231221102304_86"> + <error_collection-item direction="OUT" id="_240112141714_22"> <error_codes direction="OUT" name="error_codes"> <array type="int32_t"> <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/> @@ -483,32 +168,32 @@ corresponding string array containing keys to illustrate the meaning of the deta <error_collection-field-ref field-name-ref="error_collection"/> </error_collection-item> </GSI-Status-Property> - <GSI-ModuleStatus-Property cycle-bound="false" id="_231221102304_7" name="ModuleStatus" subscribable="true" visibility="operational"> + <GSI-ModuleStatus-Property visibility="operational" subscribable="true" name="ModuleStatus" cycle-bound="false" id="_240112141711_7"> <description>Gives detailed information on the state of 3rd party hardware and software components which are required to operate the device.</description> - <acq-stamp-item direction="OUT" id="_231221102304_87" name="acqStamp"> + <acq-stamp-item name="acqStamp" direction="OUT" id="_240112141714_23"> <scalar type="int64_t"/> </acq-stamp-item> - <update-flag-item direction="OUT" id="_231221102304_88" name="updateFlags" optional="true"> + <update-flag-item optional="true" name="updateFlags" direction="OUT" id="_240112141714_24"> <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> </update-flag-item> - <cycle-name-item direction="OUT" id="_231221102304_89" name="cycleName" optional="true"> + <cycle-name-item optional="true" name="cycleName" direction="OUT" id="_240112141714_25"> <array type="char"> <dim>32</dim> </array> </cycle-name-item> - <cycle-stamp-item direction="OUT" id="_231221102304_90" name="cycleStamp" optional="true"> + <cycle-stamp-item optional="true" name="cycleStamp" direction="OUT" id="_240112141714_26"> <scalar type="int64_t"/> </cycle-stamp-item> <get-action> <server-action-ref server-action-name-ref="ModuleStatusGetAction"/> </get-action> - <module-status-item direction="OUT" id="_231221102304_91" name="moduleStatus"> + <module-status-item name="moduleStatus" direction="OUT" id="_240112141714_27"> <custom-type-array data-type-name-ref="MODULE_STATUS"> <custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/> </custom-type-array> <data-field-ref field-name-ref="moduleStatus"/> </module-status-item> - <module-status-labels-item direction="OUT" id="_231221102304_92" name="moduleStatus_labels"> + <module-status-labels-item name="moduleStatus_labels" direction="OUT" id="_240112141714_28"> <array2D type="char"> <custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/> <custom-constant-dim2 constant-name-ref="MAX_MODULE_STATUS_LABEL_LENGTH"/> @@ -516,316 +201,26 @@ corresponding string array containing keys to illustrate the meaning of the deta <data-field-ref field-name-ref="moduleStatus_labels"/> </module-status-labels-item> </GSI-ModuleStatus-Property> - <GSI-Acquisition-Property cycle-bound="true" id="_231221102304_8" name="Acquisition" on-change="true" subscribable="true" visibility="operational"> + <GSI-Acquisition-Property cycle-bound="true" name="Acquisition" on-change="true" subscribable="true" visibility="operational" id="_240112141711_8"> <description>Used for returning acquisition data which is retrieved from the hardware.</description> - <acq-stamp-item direction="OUT" id="_231221102304_93" name="acqStamp"> + <acq-stamp-item direction="OUT" name="acqStamp" id="_240112141714_29"> <scalar type="int64_t"/> </acq-stamp-item> - <update-flag-item direction="OUT" id="_231221102304_94" name="updateFlags" optional="true"> + <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141715_0"> <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> </update-flag-item> - <cycle-name-item direction="OUT" id="_231221102304_95" name="cycleName" optional="true"> + <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141715_1"> <array type="char"> <dim>32</dim> </array> </cycle-name-item> - <cycle-stamp-item direction="OUT" id="_231221102304_96" name="cycleStamp" optional="true"> + <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141715_2"> <scalar type="int64_t"/> </cycle-stamp-item> <get-action> <server-action-ref server-action-name-ref="AcquisitionGetAction"/> </get-action> - <acquisition-context-item direction="OUT" id="_231221102304_97"> - <processIndex direction="OUT" name="processIndex"> - <scalar type="int32_t"/> - </processIndex> - <sequenceIndex direction="OUT" name="sequenceIndex"> - <scalar type="int32_t"/> - </sequenceIndex> - <chainIndex direction="OUT" name="chainIndex"> - <scalar type="int32_t"/> - </chainIndex> - <eventNumber direction="OUT" name="eventNumber"> - <scalar type="int32_t"/> - </eventNumber> - <timingGroupID direction="OUT" name="timingGroupID"> - <scalar type="int32_t"/> - </timingGroupID> - <acquisitionStamp direction="OUT" name="acquisitionStamp"> - <scalar type="int64_t"/> - </acquisitionStamp> - <eventStamp direction="OUT" name="eventStamp"> - <scalar type="int64_t"/> - </eventStamp> - <processStartStamp direction="OUT" name="processStartStamp"> - <scalar type="int64_t"/> - </processStartStamp> - <sequenceStartStamp direction="OUT" name="sequenceStartStamp"> - <scalar type="int64_t"/> - </sequenceStartStamp> - <chainStartStamp direction="OUT" name="chainStartStamp"> - <scalar type="int64_t"/> - </chainStartStamp> - <acquisition-context-field-ref field-name-ref="acquisitionContext"/> - </acquisition-context-item> - </GSI-Acquisition-Property> - <GSI-Acquisition-Property cycle-bound="false" id="_231221102304_9" name="MyROBlockProp" on-change="true" subscribable="true" visibility="development"> - <value-item direction="OUT" id="_231221102304_98" name="RO_enum_fesa"> - <custom-type-scalar data-type-name-ref="TEST_ENUM"/> - <data-field-ref field-name-ref="RO_enum_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_99" name="RO_dt_fesa"> - <scalar type="double"/> - <data-field-ref field-name-ref="RO_dt_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_100" name="RO_real_fesa"> - <scalar type="float"/> - <data-field-ref field-name-ref="RO_real_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_101" name="RO_dint_fesa"> - <scalar type="int32_t"/> - <data-field-ref field-name-ref="RO_dint_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_102" name="RO_int_fesa"> - <scalar type="int16_t"/> - <data-field-ref field-name-ref="RO_int_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_103" name="RO_dword_fesa"> - <scalar type="int64_t"/> - <data-field-ref field-name-ref="RO_dword_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_104" name="RO_word_fesa"> - <scalar type="int32_t"/> - <data-field-ref field-name-ref="RO_word_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_105" name="RO_byte_fesa"> - <scalar type="int16_t"/> - <data-field-ref field-name-ref="RO_byte_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_106" name="RO_char_fesa"> - <scalar type="int8_t"/> - <data-field-ref field-name-ref="RO_char_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_107" name="RO_date_fesa"> - <scalar type="double"/> - <data-field-ref field-name-ref="RO_date_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_108" name="RO_string_fesa"> - <array type="char"> - <dim>64</dim> - </array> - <data-field-ref field-name-ref="RO_string_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_109" name="RO_float32_fesa"> - <scalar type="float"/> - <data-field-ref field-name-ref="RO_float32_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_110" name="RO_uint32_fesa"> - <scalar type="int64_t"/> - <data-field-ref field-name-ref="RO_uint32_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_111" name="RO_int32_fesa"> - <scalar type="int32_t"/> - <data-field-ref field-name-ref="RO_int32_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_112" name="RO_uint16_fesa"> - <scalar type="int32_t"/> - <data-field-ref field-name-ref="RO_uint16_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_113" name="RO_int16_fesa"> - <scalar type="int16_t"/> - <data-field-ref field-name-ref="RO_int16_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_114" name="RO_uint8_fesa"> - <scalar type="int16_t"/> - <data-field-ref field-name-ref="RO_uint8_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_115" name="RO_int8"> - <scalar type="int8_t"/> - <data-field-ref field-name-ref="RO_int8"/> - </value-item> - <acq-stamp-item direction="OUT" id="_231221102304_116" name="acqStamp"> - <scalar type="int64_t"/> - </acq-stamp-item> - <update-flag-item direction="OUT" id="_231221102304_117" name="updateFlags" optional="true"> - <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> - </update-flag-item> - <cycle-name-item direction="OUT" id="_231221102304_118" name="cycleName" optional="true"> - <array type="char"> - <dim>32</dim> - </array> - </cycle-name-item> - <cycle-stamp-item direction="OUT" id="_231221102304_119" name="cycleStamp" optional="true"> - <scalar type="int64_t"/> - </cycle-stamp-item> - <get-action> - <server-action-ref server-action-name-ref="GetMyROBlockProp"/> - </get-action> - <acquisition-context-item direction="OUT" id="_231221102304_120"> - <processIndex direction="OUT" name="processIndex"> - <scalar type="int32_t"/> - </processIndex> - <sequenceIndex direction="OUT" name="sequenceIndex"> - <scalar type="int32_t"/> - </sequenceIndex> - <chainIndex direction="OUT" name="chainIndex"> - <scalar type="int32_t"/> - </chainIndex> - <eventNumber direction="OUT" name="eventNumber"> - <scalar type="int32_t"/> - </eventNumber> - <timingGroupID direction="OUT" name="timingGroupID"> - <scalar type="int32_t"/> - </timingGroupID> - <acquisitionStamp direction="OUT" name="acquisitionStamp"> - <scalar type="int64_t"/> - </acquisitionStamp> - <eventStamp direction="OUT" name="eventStamp"> - <scalar type="int64_t"/> - </eventStamp> - <processStartStamp direction="OUT" name="processStartStamp"> - <scalar type="int64_t"/> - </processStartStamp> - <sequenceStartStamp direction="OUT" name="sequenceStartStamp"> - <scalar type="int64_t"/> - </sequenceStartStamp> - <chainStartStamp direction="OUT" name="chainStartStamp"> - <scalar type="int64_t"/> - </chainStartStamp> - <acquisition-context-field-ref field-name-ref="acquisitionContext"/> - </acquisition-context-item> - </GSI-Acquisition-Property> - <GSI-Acquisition-Property cycle-bound="false" id="_231221102304_10" name="MyCBlockProp" on-change="true" subscribable="true" visibility="development"> - <value-item direction="OUT" id="_231221102304_121" name="C_dt_fesa"> - <array2D type="double"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_dt_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_122" name="C_real_fesa"> - <array2D type="float"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_real_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_123" name="C_dint_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_dint_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_124" name="C_int_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_int_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_125" name="C_dword_fesa"> - <array2D type="int64_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_dword_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_126" name="C_word_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_word_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_127" name="C_byte_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_byte_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_128" name="C_char_fesa"> - <array2D type="int8_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_char_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_129" name="C_date_fesa"> - <array2D type="double"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_date_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_130" name="C_float32_fesa"> - <array2D type="float"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_float32_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_131" name="C_uint32_fesa"> - <array2D type="int64_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_uint32_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_132" name="C_int32_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_int32_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_133" name="C_uint16_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_uint16_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_134" name="C_int16_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_int16_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_135" name="C_uint8_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_uint8_fesa"/> - </value-item> - <value-item direction="OUT" id="_231221102304_136" name="C_int8"> - <array2D type="int8_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - <data-field-ref field-name-ref="C_int8"/> - </value-item> - <acq-stamp-item direction="OUT" id="_231221102304_137" name="acqStamp"> - <scalar type="int64_t"/> - </acq-stamp-item> - <update-flag-item direction="OUT" id="_231221102304_138" name="updateFlags" optional="true"> - <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> - </update-flag-item> - <cycle-name-item direction="OUT" id="_231221102304_139" name="cycleName" optional="true"> - <array type="char"> - <dim>32</dim> - </array> - </cycle-name-item> - <cycle-stamp-item direction="OUT" id="_231221102304_140" name="cycleStamp" optional="true"> - <scalar type="int64_t"/> - </cycle-stamp-item> - <get-action> - <server-action-ref server-action-name-ref="GetMyCBlockProp"/> - </get-action> - <acquisition-context-item direction="OUT" id="_231221102304_141"> + <acquisition-context-item direction="OUT" id="_240112141715_3"> <processIndex direction="OUT" name="processIndex"> <scalar type="int32_t"/> </processIndex> @@ -859,36 +254,36 @@ corresponding string array containing keys to illustrate the meaning of the deta <acquisition-context-field-ref field-name-ref="acquisitionContext"/> </acquisition-context-item> </GSI-Acquisition-Property> - <GSI-Version-Property cycle-bound="false" id="_231221102304_11" name="Version" on-change="false" subscribable="false" visibility="operational"> + <GSI-Acquisition-Property name="MyROBlockProp" visibility="development" subscribable="true" cycle-bound="false" on-change="true" id="_240112141711_9"><value-item name="RO_enum_fesa" direction="OUT" id="_240112141715_4"><custom-type-scalar data-type-name-ref="TEST_ENUM"/><data-field-ref field-name-ref="RO_enum_fesa"/></value-item><value-item name="RO_dt_fesa" direction="OUT" id="_240112141715_5"><scalar type="double"/><data-field-ref field-name-ref="RO_dt_fesa"/></value-item><value-item name="RO_real_fesa" direction="OUT" id="_240112141715_6"><scalar type="float"/><data-field-ref field-name-ref="RO_real_fesa"/></value-item><value-item name="RO_dint_fesa" direction="OUT" id="_240112141715_7"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_dint_fesa"/></value-item><value-item name="RO_int_fesa" direction="OUT" id="_240112141715_8"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_int_fesa"/></value-item><value-item name="RO_dword_fesa" direction="OUT" id="_240112141715_9"><scalar type="int64_t"/><data-field-ref field-name-ref="RO_dword_fesa"/></value-item><value-item name="RO_word_fesa" direction="OUT" id="_240112141715_10"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_word_fesa"/></value-item><value-item name="RO_byte_fesa" direction="OUT" id="_240112141715_11"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_byte_fesa"/></value-item><value-item name="RO_char_fesa" direction="OUT" id="_240112141715_12"><scalar type="int8_t"/><data-field-ref field-name-ref="RO_char_fesa"/></value-item><value-item name="RO_date_fesa" direction="OUT" id="_240112141715_13"><scalar type="double"/><data-field-ref field-name-ref="RO_date_fesa"/></value-item><value-item name="RO_string_fesa" direction="OUT" id="_240112141715_14"><array type="char"><dim>64</dim></array><data-field-ref field-name-ref="RO_string_fesa"/></value-item><value-item name="RO_float32_fesa" direction="OUT" id="_240112141715_15"><scalar type="float"/><data-field-ref field-name-ref="RO_float32_fesa"/></value-item><value-item name="RO_uint32_fesa" direction="OUT" id="_240112141715_16"><scalar type="int64_t"/><data-field-ref field-name-ref="RO_uint32_fesa"/></value-item><value-item name="RO_int32_fesa" direction="OUT" id="_240112141715_17"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_int32_fesa"/></value-item><value-item name="RO_uint16_fesa" direction="OUT" id="_240112141715_18"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_uint16_fesa"/></value-item><value-item name="RO_int16_fesa" direction="OUT" id="_240112141715_19"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_int16_fesa"/></value-item><value-item name="RO_uint8_fesa" direction="OUT" id="_240112141715_20"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_uint8_fesa"/></value-item><value-item name="RO_int8" direction="OUT" id="_240112141715_21"><scalar type="int8_t"/><data-field-ref field-name-ref="RO_int8"/></value-item><acq-stamp-item direction="OUT" name="acqStamp" id="_240112141715_22"><scalar type="int64_t"/></acq-stamp-item><update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141715_23"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141715_24"><array type="char"><dim>32</dim></array></cycle-name-item><cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141715_25"><scalar type="int64_t"/></cycle-stamp-item><get-action><server-action-ref server-action-name-ref="GetMyROBlockProp"/></get-action><acquisition-context-item direction="OUT" id="_240112141715_26"><processIndex direction="OUT" name="processIndex"><scalar type="int32_t"/></processIndex><sequenceIndex direction="OUT" name="sequenceIndex"><scalar type="int32_t"/></sequenceIndex><chainIndex direction="OUT" name="chainIndex"><scalar type="int32_t"/></chainIndex><eventNumber direction="OUT" name="eventNumber"><scalar type="int32_t"/></eventNumber><timingGroupID direction="OUT" name="timingGroupID"><scalar type="int32_t"/></timingGroupID><acquisitionStamp direction="OUT" name="acquisitionStamp"><scalar type="int64_t"/></acquisitionStamp><eventStamp direction="OUT" name="eventStamp"><scalar type="int64_t"/></eventStamp><processStartStamp direction="OUT" name="processStartStamp"><scalar type="int64_t"/></processStartStamp><sequenceStartStamp direction="OUT" name="sequenceStartStamp"><scalar type="int64_t"/></sequenceStartStamp><chainStartStamp direction="OUT" name="chainStartStamp"><scalar type="int64_t"/></chainStartStamp><acquisition-context-field-ref field-name-ref="acquisitionContext"/></acquisition-context-item></GSI-Acquisition-Property><GSI-Acquisition-Property name="MyCBlockProp" visibility="development" subscribable="true" cycle-bound="false" on-change="true" id="_240112141711_10"><value-item name="C_dt_fesa" direction="OUT" id="_240112141715_27"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dt_fesa"/></value-item><value-item name="C_real_fesa" direction="OUT" id="_240112141715_28"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_real_fesa"/></value-item><value-item name="C_dint_fesa" direction="OUT" id="_240112141715_29"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dint_fesa"/></value-item><value-item name="C_int_fesa" direction="OUT" id="_240112141715_30"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int_fesa"/></value-item><value-item name="C_dword_fesa" direction="OUT" id="_240112141715_31"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dword_fesa"/></value-item><value-item name="C_word_fesa" direction="OUT" id="_240112141715_32"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_word_fesa"/></value-item><value-item name="C_byte_fesa" direction="OUT" id="_240112141715_33"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_byte_fesa"/></value-item><value-item name="C_char_fesa" direction="OUT" id="_240112141715_34"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_char_fesa"/></value-item><value-item name="C_date_fesa" direction="OUT" id="_240112141716_0"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_date_fesa"/></value-item><value-item name="C_float32_fesa" direction="OUT" id="_240112141716_1"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_float32_fesa"/></value-item><value-item name="C_uint32_fesa" direction="OUT" id="_240112141716_2"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint32_fesa"/></value-item><value-item name="C_int32_fesa" direction="OUT" id="_240112141716_3"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int32_fesa"/></value-item><value-item name="C_uint16_fesa" direction="OUT" id="_240112141716_4"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint16_fesa"/></value-item><value-item name="C_int16_fesa" direction="OUT" id="_240112141716_5"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int16_fesa"/></value-item><value-item name="C_uint8_fesa" direction="OUT" id="_240112141716_6"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint8_fesa"/></value-item><value-item name="C_int8" direction="OUT" id="_240112141716_7"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int8"/></value-item><acq-stamp-item direction="OUT" name="acqStamp" id="_240112141716_8"><scalar type="int64_t"/></acq-stamp-item><update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141716_9"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141716_10"><array type="char"><dim>32</dim></array></cycle-name-item><cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141716_11"><scalar type="int64_t"/></cycle-stamp-item><get-action><server-action-ref server-action-name-ref="GetMyCBlockProp"/></get-action><acquisition-context-item direction="OUT" id="_240112141716_12"><processIndex direction="OUT" name="processIndex"><scalar type="int32_t"/></processIndex><sequenceIndex direction="OUT" name="sequenceIndex"><scalar type="int32_t"/></sequenceIndex><chainIndex direction="OUT" name="chainIndex"><scalar type="int32_t"/></chainIndex><eventNumber direction="OUT" name="eventNumber"><scalar type="int32_t"/></eventNumber><timingGroupID direction="OUT" name="timingGroupID"><scalar type="int32_t"/></timingGroupID><acquisitionStamp direction="OUT" name="acquisitionStamp"><scalar type="int64_t"/></acquisitionStamp><eventStamp direction="OUT" name="eventStamp"><scalar type="int64_t"/></eventStamp><processStartStamp direction="OUT" name="processStartStamp"><scalar type="int64_t"/></processStartStamp><sequenceStartStamp direction="OUT" name="sequenceStartStamp"><scalar type="int64_t"/></sequenceStartStamp><chainStartStamp direction="OUT" name="chainStartStamp"><scalar type="int64_t"/></chainStartStamp><acquisition-context-field-ref field-name-ref="acquisitionContext"/></acquisition-context-item></GSI-Acquisition-Property><GSI-Version-Property cycle-bound="false" name="Version" on-change="false" subscribable="false" visibility="operational" id="_240112141711_11"> <description>Returns the current software and hardware versions of a piece of equipment.</description> - <acq-stamp-item direction="OUT" id="_231221102304_142" name="acqStamp"> + <acq-stamp-item direction="OUT" name="acqStamp" id="_240112141716_13"> <scalar type="int64_t"/> </acq-stamp-item> - <update-flag-item direction="OUT" id="_231221102304_143" name="updateFlags" optional="true"> + <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141716_14"> <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/> </update-flag-item> - <cycle-name-item direction="OUT" id="_231221102304_144" name="cycleName" optional="true"> + <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141716_15"> <array type="char"> <dim>32</dim> </array> </cycle-name-item> - <cycle-stamp-item direction="OUT" id="_231221102304_145" name="cycleStamp" optional="true"> + <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141716_16"> <scalar type="int64_t"/> </cycle-stamp-item> <get-action> <server-action-ref server-action-name-ref="VersionGetAction"/> </get-action> - <version-item direction="OUT" id="_231221102304_146" name="classVersion"> + <version-item direction="OUT" name="classVersion" id="_240112141716_17"> <array type="char"> <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/> </array> </version-item> - <version-item direction="OUT" id="_231221102304_147" name="deployUnitVersion"> + <version-item direction="OUT" name="deployUnitVersion" id="_240112141716_18"> <array type="char"> <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/> </array> </version-item> - <version-item direction="OUT" id="_231221102304_148" name="fesaVersion"> + <version-item direction="OUT" name="fesaVersion" id="_240112141716_19"> <array type="char"> <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/> </array> @@ -898,39 +293,39 @@ corresponding string array containing keys to illustrate the meaning of the deta </device-interface> <global-interface> <setting> - <diagnostic-property id="_231221102304_12" multiplexed="false" name="DiagnosticSetting" visibility="expert"> + <diagnostic-property multiplexed="false" name="DiagnosticSetting" visibility="expert" id="_240112141711_12"> <description>Generic property which allows to diagnose any FESA classes</description> - <mode-item direction="INOUT" id="_231221102304_149" name="enableDiagMode"> + <mode-item direction="INOUT" name="enableDiagMode" id="_240112141716_20"> <scalar type="bool"/> </mode-item> - <host-item direction="INOUT" id="_231221102304_150" name="hostName"> + <host-item direction="INOUT" name="hostName" id="_240112141716_21"> <description>Host of the FESA class</description> <array type="char"> <dim>32</dim> </array> </host-item> - <port-item direction="INOUT" id="_231221102304_151" name="portNumber"> + <port-item direction="INOUT" name="portNumber" id="_240112141716_22"> <description>Port used by the FESA class</description> <scalar type="int32_t"/> </port-item> - <config-item direction="IN" id="_231221102304_152" name="requestConfig"> + <config-item direction="IN" name="requestConfig" id="_240112141716_23"> <scalar type="bool"/> </config-item> - <state-item direction="IN" id="_231221102304_153" name="requestState"> + <state-item direction="IN" name="requestState" id="_240112141716_24"> <scalar type="bool"/> </state-item> - <fwk-topic-item direction="INOUT" id="_231221102304_154" name="fwkTopic"> + <fwk-topic-item direction="INOUT" name="fwkTopic" id="_240112141716_25"> <builtin-type-scalar data-type-name-ref="DIAG_FWK_TOPIC"/> </fwk-topic-item> - <custom-topic-item direction="INOUT" id="_231221102304_155" name="customTopic"> + <custom-topic-item direction="INOUT" name="customTopic" id="_240112141716_26"> <custom-type-scalar data-type-name-ref="DIAG_TOPIC"/> </custom-topic-item> - <device-trace-item direction="INOUT" id="_231221102304_156" name="traceDevices"> + <device-trace-item direction="INOUT" name="traceDevices" id="_240112141716_27"> <array type="char"> <dim>320</dim> </array> </device-trace-item> - <bypass-action-item direction="INOUT" id="_231221102304_157" name="bypassActions"> + <bypass-action-item direction="INOUT" name="bypassActions" id="_240112141716_28"> <array type="char"> <dim>320</dim> </array> @@ -938,31 +333,31 @@ corresponding string array containing keys to illustrate the meaning of the deta </diagnostic-property> </setting> <acquisition> - <GSI-DeviceDescription-Property cycle-bound="false" id="_231221102304_13" name="DeviceDescription" on-change="false" subscribable="false" visibility="operational"> - <timing-info-item direction="OUT" id="_231221102304_158" name="deviceNameTimingReceiver"> + <GSI-DeviceDescription-Property cycle-bound="false" name="DeviceDescription" on-change="false" subscribable="false" visibility="operational" id="_240112141711_13"> + <timing-info-item direction="OUT" name="deviceNameTimingReceiver" id="_240112141716_29"> <array type="char"> <variable-dim/> </array> <data-field-ref field-name-ref="deviceNameTimingReceiver"/> </timing-info-item> - <property-info-item direction="OUT" id="_231221102304_159" name="propertyNames"> + <property-info-item direction="OUT" name="propertyNames" id="_240112141716_30"> <array2D type="char"> <variable-dim1/> <variable-dim2/> </array2D> </property-info-item> - <device-info-item direction="OUT" id="_231221102304_160" name="deviceNames"> + <device-info-item direction="OUT" name="deviceNames" id="_240112141716_31"> <array2D type="char"> <variable-dim1/> <variable-dim2/> </array2D> </device-info-item> - <global-device-info-item direction="OUT" id="_231221102304_161" name="globalDeviceName"> + <global-device-info-item direction="OUT" name="globalDeviceName" id="_240112141717_0"> <array type="char"> <variable-dim/> </array> </global-device-info-item> - <host-info-item direction="OUT" id="_231221102304_162" name="host"> + <host-info-item direction="OUT" name="host" id="_240112141717_1"> <array type="char"> <variable-dim/> </array> @@ -995,89 +390,89 @@ corresponding string array containing keys to illustrate the meaning of the deta </diag-fwk-topic> <fault-severity name="FaultSeverity"> <description>Enumeration listing the available fault severities used by the fault fields</description> - <INFO access="RO" meaning="NONE" symbol="INFO" value="0"/> - <WARNING access="RO" meaning="WARNING" symbol="WARNING" value="1"/> - <ERROR access="RO" meaning="ERROR" symbol="ERROR" value="2"/> - <CRITICAL access="RO" meaning="ERROR" symbol="CRITICAL" value="3"/> + <INFO access="RO" meaning="NONE" value="0" symbol="INFO"/> + <WARNING access="RO" meaning="WARNING" value="1" symbol="WARNING"/> + <ERROR access="RO" meaning="ERROR" value="2" symbol="ERROR"/> + <CRITICAL access="RO" meaning="ERROR" value="3" symbol="CRITICAL"/> </fault-severity> </builtin-types> <custom-types> - <diag-custom-topic id="_231221102304_268" name="DIAG_TOPIC"> + <diag-custom-topic name="DIAG_TOPIC" id="_240112141720_0"> </diag-custom-topic> - <enum id="_231221102304_269" name="DEVICE_STATUS"> + <enum name="DEVICE_STATUS" id="_240112141720_1"> <!--Possible (mutually exclusive) values to describe the device status--> - <item access="RW" id="_231221102304_288" meaning="NONE" symbol="UNKNOWN" value="0"/> + <item access="RW" meaning="NONE" symbol="UNKNOWN" value="0" id="_240112141720_20"/> <!--The device status is unknown--> - <item access="RW" id="_231221102304_289" meaning="NONE" symbol="OK" value="1"/> + <item access="RW" meaning="NONE" symbol="OK" value="1" id="_240112141720_21"/> <!--The device is in fully operational state--> - <item access="RW" id="_231221102304_290" meaning="NONE" symbol="WARNING" value="2"/> + <item access="RW" meaning="NONE" symbol="WARNING" value="2" id="_240112141720_22"/> <!--The device is not fully operational; A device in WARNING state can still be used operationally, --> <!--but clients must be informed of a problem that might become worse. Details are explained in the errorMsg field.--> - <item access="RW" id="_231221102304_291" meaning="NONE" symbol="ERROR" value="3"/> + <item access="RW" meaning="NONE" symbol="ERROR" value="3" id="_240112141720_23"/> <!--The device is in a fault state. Details are explained in the errorMsg field--> </enum> - <enum id="_231221102304_270" name="DEVICE_POWER_STATE"> + <enum name="DEVICE_POWER_STATE" id="_240112141720_2"> <!--Possible (mutually exclusive) values to describe the power-state of the device.--> - <item access="RW" id="_231221102304_292" meaning="NONE" symbol="UNKNOWN" value="0"/> + <item access="RW" meaning="NONE" symbol="UNKNOWN" value="0" id="_240112141720_24"/> <!--The device mode is unknown--> - <item access="RW" id="_231221102304_293" meaning="ON" symbol="ON" value="1"/> + <item access="RW" meaning="ON" symbol="ON" value="1" id="_240112141720_25"/> <!--The device is in fully operational state--> - <item access="RW" id="_231221102304_294" meaning="NONE" symbol="OFF" value="2"/> + <item access="RW" meaning="NONE" symbol="OFF" value="2" id="_240112141720_26"/> <!--The device is turned off--> - <item access="RW" id="_231221102304_295" meaning="NONE" symbol="STANDBY" value="3"/> + <item access="RW" meaning="NONE" symbol="STANDBY" value="3" id="_240112141720_27"/> <!--The device is in a stand-by mode. This mode is a sort of “parking mode†in which the device can --> <!--stay for hours or even days. It is defined by the following characteristics:--> <!--It is safe, it does not wear out, it consumes little energy.--> <!--Furthermore, it takes a short time to go from STANDBY to ON mode--> - <item access="RW" id="_231221102304_296" meaning="NONE" symbol="POWER_DOWN" value="4"/> + <item access="RW" meaning="NONE" symbol="POWER_DOWN" value="4" id="_240112141720_28"/> <!--The device is shutting down. Note that some properties may not be accessible during this time.--> <!--After shutdown the device will be in the mode OFF--> - <item access="RW" id="_231221102304_297" meaning="NONE" symbol="POWER_UP" value="5"/> + <item access="RW" meaning="NONE" symbol="POWER_UP" value="5" id="_240112141720_29"/> <!--The device is starting up. Note that some properties may not be accessible during this time.--> <!--After (re-)starting the device probably will be in the mode ON--> </enum> - <enum id="_231221102304_271" name="DEVICE_POWER"> + <enum name="DEVICE_POWER" id="_240112141720_3"> <!--An enumeration Type used to control the operational mode of the device.--> <!--Its values are a subset of those in the DEVICE_POWER_STATE type--> - <item access="RW" id="_231221102304_298" meaning="ON" symbol="ON" value="1"/> + <item access="RW" meaning="ON" symbol="ON" value="1" id="_240112141720_30"/> <!--The device is in fully operational state--> - <item access="RW" id="_231221102304_299" meaning="OFF" symbol="OFF" value="2"/> + <item access="RW" meaning="OFF" symbol="OFF" value="2" id="_240112141720_31"/> <!--The device is turned off--> </enum> - <enum id="_231221102304_272" name="DEVICE_CONTROL"> + <enum name="DEVICE_CONTROL" id="_240112141720_4"> <!--Possible values to describe the control mode of a device--> <!--Currently two control modes (LOCAL, REMOTE) are defined--> - <item access="RW" id="_231221102304_300" meaning="NONE" symbol="REMOTE" value="0"/> + <item access="RW" meaning="NONE" symbol="REMOTE" value="0" id="_240112141720_32"/> <!--The device can be controlled normally through the control system--> - <item access="RW" id="_231221102304_301" meaning="NONE" symbol="LOCAL" value="1"/> + <item access="RW" meaning="NONE" symbol="LOCAL" value="1" id="_240112141720_33"/> <!--The device can be controlled locally. But it can be accessed in read-only mode via the control system--> </enum> - <enum id="_231221102304_273" name="TOL_CHECK_MODE"> + <enum name="TOL_CHECK_MODE" id="_240112141720_5"> <!--This constant defines possible modes to check whether a control value is inside the tolerance values.--> <!--Used to give information on how the tolerance fields are used to calculate the xxx_status information.--> - <item access="RO" id="_231221102304_302" symbol="ABS" value="0"/> + <item access="RO" symbol="ABS" value="0" id="_240112141720_34"/> <!--Use the absolute tolerance _tolAbs--> - <item access="RO" id="_231221102304_303" symbol="REL" value="1"/> + <item access="RO" symbol="REL" value="1" id="_240112141720_35"/> <!--Use the relative tolerance _tolRel--> </enum> - <bit-enum-32bits id="_231221102304_274" name="AQN_STATUS"> + <bit-enum-32bits name="AQN_STATUS" id="_240112141720_6"> <!--Possible values to describe the acquisition status of a field (in the _status suffix)--> <!--If this suffix is missing, it means that no additional status information is provided for the corresponding field--> <!--If all bits are 0, this means that the corresponding field is OK.--> @@ -1116,231 +511,116 @@ corresponding string array containing keys to illustrate the meaning of the deta <!--into bit 16..32 you can put in anything you want--> </bit-enum-32bits> - <struct id="_231221102304_275" name="GSI_ERROR"> + <struct name="GSI_ERROR" id="_240112141720_7"> <!--This struct-item describes the structure of an GSI-error--> - <struct-item id="_231221102304_316" name="error_string"> + <struct-item name="error_string" id="_240112141721_12"> <!--This string holds the error-message--> <array type="char"> <custom-constant-dim constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/> </array> </struct-item> - <struct-item id="_231221102304_317" name="error_code"> + <struct-item name="error_code" id="_240112141721_13"> <!--The error code according to the defined error-message--> <scalar type="int32_t"/> </struct-item> <!--The timestamp when the error occured--> - <struct-item id="_231221102304_318" name="error_timestamp"> + <struct-item name="error_timestamp" id="_240112141721_14"> <scalar type="int64_t"/> </struct-item> <!--The cycle for which the error occured--> - <struct-item id="_231221102304_319" name="error_cycle_name"> + <struct-item name="error_cycle_name" id="_240112141721_15"> <array type="char"> <custom-constant-dim constant-name-ref="MAX_CYCLE_NAME_LENGTH"/> </array> </struct-item> </struct> - <struct id="_231221102304_276" name="GSI_ACQ_CONTEXT"> - <description>WhiteRabbit event specific acquisition information</description> - <struct-item id="_231221102304_320" name="processIndex"> + <struct name="GSI_ACQ_CONTEXT" id="_240112141720_8"><description>WhiteRabbit event specific acquisition information</description> + <struct-item name="processIndex" id="_240112141721_16"> <description>Used in order to index process-multiplexed data</description> <scalar type="int32_t"/> </struct-item> - <struct-item id="_231221102304_321" name="sequenceIndex"> + <struct-item name="sequenceIndex" id="_240112141721_17"> <description>Used in order to index sequence-multiplexed data</description> <scalar type="int32_t"/> </struct-item> - <struct-item id="_231221102304_322" name="chainIndex"> + <struct-item name="chainIndex" id="_240112141721_18"> <description>Refers to a specific beam production chain</description> <scalar type="int32_t"/> </struct-item> - <struct-item id="_231221102304_323" name="eventNumber"> + <struct-item name="eventNumber" id="_240112141721_19"> <description>The number of the event describes it's type</description> <scalar type="int32_t"/> </struct-item> - <struct-item id="_231221102304_324" name="timingGroupID"> + <struct-item name="timingGroupID" id="_240112141721_20"> <description>ID of the timing group for which the event is relevant</description> <scalar type="int32_t"/> </struct-item> - <struct-item id="_231221102304_325" name="acquisitionStamp"> + <struct-item name="acquisitionStamp" id="_240112141721_21"> <description>The acquisition stamp is used to indicate when a measurement was done</description> <scalar type="int64_t"/> </struct-item> - <struct-item id="_231221102304_326" name="eventStamp"> + <struct-item name="eventStamp" id="_240112141721_22"> <description>The event stamp is used to indicate when WhiteRabbit event was triggered on the Timing Receiver</description> <scalar type="int64_t"/> </struct-item> - <struct-item id="_231221102304_327" name="processStartStamp"> + <struct-item name="processStartStamp" id="_240112141721_23"> <description>The process start stamp indicates when the first event of the current process was triggered</description> <scalar type="int64_t"/> </struct-item> - <struct-item id="_231221102304_328" name="sequenceStartStamp"> + <struct-item name="sequenceStartStamp" id="_240112141721_24"> <description>The sequence start stamp indicates when the first event of the current sequence was triggered</description> <scalar type="int64_t"/> </struct-item> - <struct-item id="_231221102304_329" name="chainStartStamp"> + <struct-item name="chainStartStamp" id="_240112141721_25"> <description>The chain start stamp indicates when the first event of the current chain was triggered</description> <scalar type="int64_t"/> </struct-item> </struct> - <constant id="_231221102304_277" name="MAX_ERROR_MESSAGE_LENGTH" type="uint32_t" value="256"/> - <constant id="_231221102304_278" name="MAX_NUMBER_OF_ERROR_MESSAGES" type="uint32_t" value="16"/> - <constant id="_231221102304_279" name="MAX_CYCLE_NAME_LENGTH" type="uint32_t" value="256"/> - <constant id="_231221102304_280" name="MAX_VERSION_NAME_LENGTH" type="uint32_t" value="256"/> - <constant id="_231221102304_281" name="MAX_DETAILED_STATUS_LABEL_LENGTH" type="uint32_t" value="30"/> - <constant id="_231221102304_282" name="DETAILED_STATUS_SIZE" type="uint32_t" value="2"/> - <enum id="_231221102304_283" name="DETAILED_STATUS_SEVERITY"> - <item access="RO" id="_231221102304_304" symbol="INFO" value="0"/> - <item access="RO" id="_231221102304_305" symbol="WARNING_ON_FALSE" value="1"/> - <item access="RO" id="_231221102304_306" symbol="ERROR_ON_FALSE" value="2"/> + <constant name="MAX_ERROR_MESSAGE_LENGTH" type="uint32_t" value="256" id="_240112141720_9"/> + <constant name="MAX_NUMBER_OF_ERROR_MESSAGES" type="uint32_t" value="16" id="_240112141720_10"/> + <constant name="MAX_CYCLE_NAME_LENGTH" type="uint32_t" value="256" id="_240112141720_11"/> + <constant name="MAX_VERSION_NAME_LENGTH" type="uint32_t" value="256" id="_240112141720_12"/> + <constant name="MAX_DETAILED_STATUS_LABEL_LENGTH" type="uint32_t" value="30" id="_240112141720_13"/> + <constant name="DETAILED_STATUS_SIZE" type="uint32_t" value="2" id="_240112141720_14"/> + <enum name="DETAILED_STATUS_SEVERITY" id="_240112141720_15"> + <item access="RO" symbol="INFO" value="0" id="_240112141721_0"/> + <item access="RO" symbol="WARNING_ON_FALSE" value="1" id="_240112141721_1"/> + <item access="RO" symbol="ERROR_ON_FALSE" value="2" id="_240112141721_2"/> </enum> - <enum id="_231221102304_284" name="MODULE_STATUS"> + <enum name="MODULE_STATUS" id="_240112141720_16"> <!-- Mutually exclusive values to describe the status of a hardware / software module--> - <item access="RO" id="_231221102304_307" symbol="UNKNOWN" value="0"/> + <item access="RO" value="0" symbol="UNKNOWN" id="_240112141721_3"/> <!--The status of the module is not known--> - <item access="RO" id="_231221102304_308" symbol="OK" value="1"/> + <item access="RO" value="1" symbol="OK" id="_240112141721_4"/> <!--The module is in fully operational state--> - <item access="RO" id="_231221102304_309" symbol="WARNING" value="2"/> + <item access="RO" value="2" symbol="WARNING" id="_240112141721_5"/> <!--The module is not fully operational; A module in WARNING state may still be used operationally, --> <!--but clients must be informed of a problem that might become worse. --> - <item access="RO" id="_231221102304_310" symbol="ERROR" value="3"/> + <item access="RO" value="3" symbol="ERROR" id="_240112141721_6"/> <!--The module is in a fault state. The related device is not operational.--> - <item access="RO" id="_231221102304_311" symbol="NOT_AVAILABLE" value="4"/> + <item access="RO" value="4" symbol="NOT_AVAILABLE" id="_240112141721_7"/> <!--The module is missing. The related device is not operational.--> </enum> - <constant id="_231221102304_285" name="MAX_MODULE_STATUS_LABEL_LENGTH" type="uint32_t" value="30"/> - <constant id="_231221102304_286" name="MODULE_STATUS_SIZE" type="uint32_t" value="2"/> - <enum id="_231221102304_287" name="TEST_ENUM"> - <item access="RW" id="_231221102304_312" symbol="OK" value="0"/> - <item access="RW" id="_231221102304_313" symbol="WARNING" value="1"/> - <item access="RW" id="_231221102304_314" symbol="ERROR" value="2"/> - <item access="RW" id="_231221102304_315" symbol="UNKNOWN" value="3"/> - </enum> - </custom-types> + <constant name="MAX_MODULE_STATUS_LABEL_LENGTH" type="uint32_t" value="30" id="_240112141720_17"/> + <constant name="MODULE_STATUS_SIZE" type="uint32_t" value="2" id="_240112141720_18"/> + <enum name="TEST_ENUM" id="_240112141720_19"><item access="RW" value="0" symbol="OK" id="_240112141721_8"/><item access="RW" value="1" symbol="WARNING" id="_240112141721_9"/><item access="RW" value="2" symbol="ERROR" id="_240112141721_10"/><item access="RW" value="3" symbol="UNKNOWN" id="_240112141721_11"/></enum></custom-types> <data> <device-data> <configuration> - <field id="_231221102304_164" name="C_dt_fesa"> - <array2D type="double"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_165" name="C_real_fesa"> - <array2D type="float"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_166" name="C_dint_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_167" name="C_int_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_168" name="C_dword_fesa"> - <array2D type="int64_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_169" name="C_word_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_170" name="C_byte_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_171" name="C_char_fesa"> - <array2D type="int8_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_172" name="C_date_fesa"> - <array2D type="double"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_173" name="C_float32_fesa"> - <array2D type="float"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_174" name="C_uint32_fesa"> - <array2D type="int64_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_175" name="C_int32_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_176" name="C_uint16_fesa"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_177" name="C_int16_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_178" name="C_uint8_fesa"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_179" name="C_int8"> - <array2D type="int8_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_180" name="plcDeviceLabel"> - <description>Name of the related SILECS instance within the PLC mapping</description> - <array type="char"> - <dim>128</dim> - </array> - </field> - <field id="_231221102304_181" name="plcHostName"> - <description>Hostname of the PLC that contains the related SILECS class device</description> - <array type="char"> - <dim>128</dim> - </array> - </field> - <GSI-detailed-status-labels-field id="_231221102304_182" name="detailedStatus_labels"> + <field name="C_dt_fesa" id="_240112141717_3"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_real_fesa" id="_240112141717_4"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_dint_fesa" id="_240112141717_5"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int_fesa" id="_240112141717_6"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_dword_fesa" id="_240112141717_7"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_word_fesa" id="_240112141717_8"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_byte_fesa" id="_240112141717_9"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_char_fesa" id="_240112141717_10"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_date_fesa" id="_240112141717_11"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_float32_fesa" id="_240112141717_12"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint32_fesa" id="_240112141717_13"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int32_fesa" id="_240112141717_14"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint16_fesa" id="_240112141717_15"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int16_fesa" id="_240112141717_16"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint8_fesa" id="_240112141717_17"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int8" id="_240112141717_18"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="plcDeviceLabel" id="_240112141717_19"><description>Name of the related SILECS instance within the PLC mapping</description><array type="char"><dim>128</dim></array></field><field name="plcHostName" id="_240112141717_20"><description>Hostname of the PLC that contains the related SILECS class device</description><array type="char"><dim>128</dim></array></field><GSI-detailed-status-labels-field name="detailedStatus_labels" id="_240112141717_21"> <array2D type="char"> <custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/> <custom-constant-dim2 constant-name-ref="MAX_DETAILED_STATUS_LABEL_LENGTH"/> </array2D> <default>{myStatusLabel1,myStatusLabel2}</default> </GSI-detailed-status-labels-field> - <GSI-detailed-status-severity-field id="_231221102304_183" name="detailedStatus_severity"> + <GSI-detailed-status-severity-field name="detailedStatus_severity" id="_240112141717_22"> <custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY"> <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/> </custom-type-array> <default>{INFO,INFO}</default> </GSI-detailed-status-severity-field> - <GSI-module-status-labels-field id="_231221102304_184" name="moduleStatus_labels"> + <GSI-module-status-labels-field name="moduleStatus_labels" id="_240112141717_23"> <array2D type="char"> <custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/> @@ -1350,342 +630,43 @@ corresponding string array containing keys to illustrate the meaning of the deta </GSI-module-status-labels-field> </configuration> <setting> - <field id="_231221102304_185" multiplexed="false" name="WO_enum_fesa" persistent="true"> - <custom-type-array data-type-name-ref="TEST_ENUM"> - <dim>10</dim> - </custom-type-array> - </field> - <field id="_231221102304_186" multiplexed="false" name="WO_dt_fesa" persistent="true"> - <array type="double"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_187" multiplexed="false" name="WO_real_fesa" persistent="true"> - <array type="float"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_188" multiplexed="false" name="WO_dint_fesa" persistent="true"> - <array type="int32_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_189" multiplexed="false" name="WO_int_fesa" persistent="true"> - <array type="int16_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_190" multiplexed="false" name="WO_dword_fesa" persistent="true"> - <array type="int64_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_191" multiplexed="false" name="WO_word_fesa" persistent="true"> - <array type="int32_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_192" multiplexed="false" name="WO_byte_fesa" persistent="true"> - <array type="int16_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_193" multiplexed="false" name="WO_char_fesa" persistent="true"> - <array type="int8_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_194" multiplexed="false" name="WO_date_fesa" persistent="true"> - <array type="double"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_195" multiplexed="false" name="WO_string_fesa" persistent="true"> - <array2D type="char"> - <dim1>10</dim1> - <dim2>64</dim2> - </array2D> - </field> - <field id="_231221102304_196" multiplexed="false" name="WO_float32_fesa" persistent="true"> - <array type="float"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_197" multiplexed="false" name="WO_uint32_fesa" persistent="true"> - <array type="int64_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_198" multiplexed="false" name="WO_int32_fesa" persistent="true"> - <array type="int32_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_199" multiplexed="false" name="WO_uint16_fesa" persistent="true"> - <array type="int32_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_200" multiplexed="false" name="WO_int16_fesa" persistent="true"> - <array type="int16_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_201" multiplexed="false" name="WO_uint8_fesa" persistent="true"> - <array type="int16_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_202" multiplexed="false" name="WO_int8" persistent="true"> - <array type="int8_t"> - <dim>10</dim> - </array> - </field> - <field id="_231221102304_203" multiplexed="false" name="RW_enum_fesa" persistent="true"> - <custom-type-scalar data-type-name-ref="TEST_ENUM"/> - </field> - <field id="_231221102304_204" multiplexed="false" name="RW2_dt_fesa" persistent="true"> - <array2D type="double"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_205" multiplexed="false" name="RW2_real_fesa" persistent="true"> - <array2D type="float"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_206" multiplexed="false" name="RW2_dint_fesa" persistent="true"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_207" multiplexed="false" name="RW2_int_fesa" persistent="true"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_208" multiplexed="false" name="RW2_dword_fesa" persistent="true"> - <array2D type="int64_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_209" multiplexed="false" name="RW2_word_fesa" persistent="true"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_210" multiplexed="false" name="RW2_byte_fesa" persistent="true"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_211" multiplexed="false" name="RW2_char_fesa" persistent="true"> - <array2D type="int8_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_212" multiplexed="false" name="RW2_date_fesa" persistent="true"> - <array2D type="double"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_213" multiplexed="false" name="RW2_float32_fesa" persistent="true"> - <array2D type="float"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_214" multiplexed="false" name="RW2_uint32_fesa" persistent="true"> - <array2D type="int64_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_215" multiplexed="false" name="RW2_int32_fesa" persistent="true"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_216" multiplexed="false" name="RW2_uint16_fesa" persistent="true"> - <array2D type="int32_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_217" multiplexed="false" name="RW2_int16_fesa" persistent="true"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_218" multiplexed="false" name="RW2_uint8_fesa" persistent="true"> - <array2D type="int16_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_219" multiplexed="false" name="RW2_int8" persistent="true"> - <array2D type="int8_t"> - <dim1>2</dim1> - <dim2>2</dim2> - </array2D> - </field> - <field id="_231221102304_220" multiplexed="false" name="RW_dt_fesa" persistent="true"> - <scalar type="double"/> - </field> - <field id="_231221102304_221" multiplexed="false" name="RW_real_fesa" persistent="true"> - <scalar type="float"/> - </field> - <field id="_231221102304_222" multiplexed="false" name="RW_dint_fesa" persistent="true"> - <scalar type="int32_t"/> - </field> - <field id="_231221102304_223" multiplexed="false" name="RW_int_fesa" persistent="true"> - <scalar type="int16_t"/> - </field> - <field id="_231221102304_224" multiplexed="false" name="RW_dword_fesa" persistent="true"> - <scalar type="int64_t"/> - </field> - <field id="_231221102304_225" multiplexed="false" name="RW_word_fesa" persistent="true"> - <scalar type="int32_t"/> - </field> - <field id="_231221102304_226" multiplexed="false" name="RW_byte_fesa" persistent="true"> - <scalar type="int16_t"/> - </field> - <field id="_231221102304_227" multiplexed="false" name="RW_char_fesa" persistent="true"> - <scalar type="int8_t"/> - </field> - <field id="_231221102304_228" multiplexed="false" name="RW_date_fesa" persistent="true"> - <scalar type="double"/> - </field> - <field id="_231221102304_229" multiplexed="false" name="RW_string_fesa" persistent="true"> - <array type="char"> - <dim>64</dim> - </array> - </field> - <field id="_231221102304_230" multiplexed="false" name="RW_float32_fesa" persistent="true"> - <scalar type="float"/> - </field> - <field id="_231221102304_231" multiplexed="false" name="RW_uint32_fesa" persistent="true"> - <scalar type="int64_t"/> - </field> - <field id="_231221102304_232" multiplexed="false" name="RW_int32_fesa" persistent="true"> - <scalar type="int32_t"/> - </field> - <field id="_231221102304_233" multiplexed="false" name="RW_uint16_fesa" persistent="true"> - <scalar type="int32_t"/> - </field> - <field id="_231221102304_234" multiplexed="false" name="RW_int16_fesa" persistent="true"> - <scalar type="int16_t"/> - </field> - <field id="_231221102304_235" multiplexed="false" name="RW_uint8_fesa" persistent="true"> - <scalar type="int16_t"/> - </field> - <field id="_231221102304_236" multiplexed="false" name="RW_int8" persistent="true"> - <scalar type="int8_t"/> - </field> - <GSI-power-field id="_231221102304_237" multiplexed="false" name="power" persistent="false"> + <field name="WO_enum_fesa" multiplexed="false" persistent="true" id="_240112141717_24"><custom-type-array data-type-name-ref="TEST_ENUM"><dim>10</dim></custom-type-array></field><field name="WO_dt_fesa" multiplexed="false" persistent="true" id="_240112141717_25"><array type="double"><dim>10</dim></array></field><field name="WO_real_fesa" multiplexed="false" persistent="true" id="_240112141717_26"><array type="float"><dim>10</dim></array></field><field name="WO_dint_fesa" multiplexed="false" persistent="true" id="_240112141717_27"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int_fesa" multiplexed="false" persistent="true" id="_240112141717_28"><array type="int16_t"><dim>10</dim></array></field><field name="WO_dword_fesa" multiplexed="false" persistent="true" id="_240112141717_29"><array type="int64_t"><dim>10</dim></array></field><field name="WO_word_fesa" multiplexed="false" persistent="true" id="_240112141717_30"><array type="int32_t"><dim>10</dim></array></field><field name="WO_byte_fesa" multiplexed="false" persistent="true" id="_240112141717_31"><array type="int16_t"><dim>10</dim></array></field><field name="WO_char_fesa" multiplexed="false" persistent="true" id="_240112141717_32"><array type="int8_t"><dim>10</dim></array></field><field name="WO_date_fesa" multiplexed="false" persistent="true" id="_240112141717_33"><array type="double"><dim>10</dim></array></field><field name="WO_string_fesa" multiplexed="false" persistent="true" id="_240112141717_34"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D></field><field name="WO_float32_fesa" multiplexed="false" persistent="true" id="_240112141717_35"><array type="float"><dim>10</dim></array></field><field name="WO_uint32_fesa" multiplexed="false" persistent="true" id="_240112141718_0"><array type="int64_t"><dim>10</dim></array></field><field name="WO_int32_fesa" multiplexed="false" persistent="true" id="_240112141718_1"><array type="int32_t"><dim>10</dim></array></field><field name="WO_uint16_fesa" multiplexed="false" persistent="true" id="_240112141718_2"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int16_fesa" multiplexed="false" persistent="true" id="_240112141718_3"><array type="int16_t"><dim>10</dim></array></field><field name="WO_uint8_fesa" multiplexed="false" persistent="true" id="_240112141718_4"><array type="int16_t"><dim>10</dim></array></field><field name="WO_int8" multiplexed="false" persistent="true" id="_240112141718_5"><array type="int8_t"><dim>10</dim></array></field><field name="RW_enum_fesa" multiplexed="false" persistent="true" id="_240112141718_6"><custom-type-scalar data-type-name-ref="TEST_ENUM"/></field><field name="RW2_dt_fesa" multiplexed="false" persistent="true" id="_240112141718_7"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_real_fesa" multiplexed="false" persistent="true" id="_240112141718_8"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dint_fesa" multiplexed="false" persistent="true" id="_240112141718_9"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int_fesa" multiplexed="false" persistent="true" id="_240112141718_10"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dword_fesa" multiplexed="false" persistent="true" id="_240112141718_11"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_word_fesa" multiplexed="false" persistent="true" id="_240112141718_12"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_byte_fesa" multiplexed="false" persistent="true" id="_240112141718_13"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_char_fesa" multiplexed="false" persistent="true" id="_240112141718_14"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_date_fesa" multiplexed="false" persistent="true" id="_240112141718_15"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_float32_fesa" multiplexed="false" persistent="true" id="_240112141718_16"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint32_fesa" multiplexed="false" persistent="true" id="_240112141718_17"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int32_fesa" multiplexed="false" persistent="true" id="_240112141718_18"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint16_fesa" multiplexed="false" persistent="true" id="_240112141718_19"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int16_fesa" multiplexed="false" persistent="true" id="_240112141718_20"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint8_fesa" multiplexed="false" persistent="true" id="_240112141718_21"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int8" multiplexed="false" persistent="true" id="_240112141718_22"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_dt_fesa" multiplexed="false" persistent="true" id="_240112141718_23"><scalar type="double"/></field><field name="RW_real_fesa" multiplexed="false" persistent="true" id="_240112141718_24"><scalar type="float"/></field><field name="RW_dint_fesa" multiplexed="false" persistent="true" id="_240112141718_25"><scalar type="int32_t"/></field><field name="RW_int_fesa" multiplexed="false" persistent="true" id="_240112141718_26"><scalar type="int16_t"/></field><field name="RW_dword_fesa" multiplexed="false" persistent="true" id="_240112141718_27"><scalar type="int64_t"/></field><field name="RW_word_fesa" multiplexed="false" persistent="true" id="_240112141718_28"><scalar type="int32_t"/></field><field name="RW_byte_fesa" multiplexed="false" persistent="true" id="_240112141718_29"><scalar type="int16_t"/></field><field name="RW_char_fesa" multiplexed="false" persistent="true" id="_240112141719_0"><scalar type="int8_t"/></field><field name="RW_date_fesa" multiplexed="false" persistent="true" id="_240112141719_1"><scalar type="double"/></field><field name="RW_string_fesa" multiplexed="false" persistent="true" id="_240112141719_2"><array type="char"><dim>64</dim></array></field><field name="RW_float32_fesa" multiplexed="false" persistent="true" id="_240112141719_3"><scalar type="float"/></field><field name="RW_uint32_fesa" multiplexed="false" persistent="true" id="_240112141719_4"><scalar type="int64_t"/></field><field name="RW_int32_fesa" multiplexed="false" persistent="true" id="_240112141719_5"><scalar type="int32_t"/></field><field name="RW_uint16_fesa" multiplexed="false" persistent="true" id="_240112141719_6"><scalar type="int32_t"/></field><field name="RW_int16_fesa" multiplexed="false" persistent="true" id="_240112141719_7"><scalar type="int16_t"/></field><field name="RW_uint8_fesa" multiplexed="false" persistent="true" id="_240112141719_8"><scalar type="int16_t"/></field><field name="RW_int8" multiplexed="false" persistent="true" id="_240112141719_9"><scalar type="int8_t"/></field><GSI-power-field multiplexed="false" name="power" persistent="false" id="_240112141719_10"> <custom-type-scalar data-type-name-ref="DEVICE_POWER"/> </GSI-power-field> </setting> <acquisition> - <field cycle-bound="false" id="_231221102304_238" name="RO_enum_fesa" persistent="false"> - <custom-type-scalar data-type-name-ref="TEST_ENUM"/> - </field> - <field cycle-bound="false" id="_231221102304_239" name="RO_dt_fesa" persistent="false"> - <scalar type="double"/> - </field> - <field cycle-bound="false" id="_231221102304_240" name="RO_real_fesa" persistent="false"> - <scalar type="float"/> - </field> - <field cycle-bound="false" id="_231221102304_241" name="RO_dint_fesa" persistent="false"> - <scalar type="int32_t"/> - </field> - <field cycle-bound="false" id="_231221102304_242" name="RO_int_fesa" persistent="false"> - <scalar type="int16_t"/> - </field> - <field cycle-bound="false" id="_231221102304_243" name="RO_dword_fesa" persistent="false"> - <scalar type="int64_t"/> - </field> - <field cycle-bound="false" id="_231221102304_244" name="RO_word_fesa" persistent="false"> - <scalar type="int32_t"/> - </field> - <field cycle-bound="false" id="_231221102304_245" name="RO_byte_fesa" persistent="false"> - <scalar type="int16_t"/> - </field> - <field cycle-bound="false" id="_231221102304_246" name="RO_char_fesa" persistent="false"> - <scalar type="int8_t"/> - </field> - <field cycle-bound="false" id="_231221102304_247" name="RO_date_fesa" persistent="false"> - <scalar type="double"/> - </field> - <field cycle-bound="false" id="_231221102304_248" name="RO_string_fesa" persistent="false"> - <array type="char"> - <dim>64</dim> - </array> - </field> - <field cycle-bound="false" id="_231221102304_249" name="RO_float32_fesa" persistent="false"> - <scalar type="float"/> - </field> - <field cycle-bound="false" id="_231221102304_250" name="RO_uint32_fesa" persistent="false"> - <scalar type="int64_t"/> - </field> - <field cycle-bound="false" id="_231221102304_251" name="RO_int32_fesa" persistent="false"> - <scalar type="int32_t"/> - </field> - <field cycle-bound="false" id="_231221102304_252" name="RO_uint16_fesa" persistent="false"> - <scalar type="int32_t"/> - </field> - <field cycle-bound="false" id="_231221102304_253" name="RO_int16_fesa" persistent="false"> - <scalar type="int16_t"/> - </field> - <field cycle-bound="false" id="_231221102304_254" name="RO_uint8_fesa" persistent="false"> - <scalar type="int16_t"/> - </field> - <field cycle-bound="false" id="_231221102304_255" name="RO_int8" persistent="false"> - <scalar type="int8_t"/> - </field> - <GSI-control-field cycle-bound="false" id="_231221102304_256" name="control"> + <field name="RO_enum_fesa" cycle-bound="false" persistent="false" id="_240112141719_11"><custom-type-scalar data-type-name-ref="TEST_ENUM"/></field><field name="RO_dt_fesa" cycle-bound="false" persistent="false" id="_240112141719_12"><scalar type="double"/></field><field name="RO_real_fesa" cycle-bound="false" persistent="false" id="_240112141719_13"><scalar type="float"/></field><field name="RO_dint_fesa" cycle-bound="false" persistent="false" id="_240112141719_14"><scalar type="int32_t"/></field><field name="RO_int_fesa" cycle-bound="false" persistent="false" id="_240112141719_15"><scalar type="int16_t"/></field><field name="RO_dword_fesa" cycle-bound="false" persistent="false" id="_240112141719_16"><scalar type="int64_t"/></field><field name="RO_word_fesa" cycle-bound="false" persistent="false" id="_240112141719_17"><scalar type="int32_t"/></field><field name="RO_byte_fesa" cycle-bound="false" persistent="false" id="_240112141719_18"><scalar type="int16_t"/></field><field name="RO_char_fesa" cycle-bound="false" persistent="false" id="_240112141719_19"><scalar type="int8_t"/></field><field name="RO_date_fesa" cycle-bound="false" persistent="false" id="_240112141719_20"><scalar type="double"/></field><field name="RO_string_fesa" cycle-bound="false" persistent="false" id="_240112141719_21"><array type="char"><dim>64</dim></array></field><field name="RO_float32_fesa" cycle-bound="false" persistent="false" id="_240112141719_22"><scalar type="float"/></field><field name="RO_uint32_fesa" cycle-bound="false" persistent="false" id="_240112141719_23"><scalar type="int64_t"/></field><field name="RO_int32_fesa" cycle-bound="false" persistent="false" id="_240112141719_24"><scalar type="int32_t"/></field><field name="RO_uint16_fesa" cycle-bound="false" persistent="false" id="_240112141719_25"><scalar type="int32_t"/></field><field name="RO_int16_fesa" cycle-bound="false" persistent="false" id="_240112141719_26"><scalar type="int16_t"/></field><field name="RO_uint8_fesa" cycle-bound="false" persistent="false" id="_240112141719_27"><scalar type="int16_t"/></field><field name="RO_int8" cycle-bound="false" persistent="false" id="_240112141719_28"><scalar type="int8_t"/></field><GSI-control-field cycle-bound="false" name="control" id="_240112141719_29"> <custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/> </GSI-control-field> - <GSI-powerState-field cycle-bound="false" id="_231221102304_257" name="powerState"> + <GSI-powerState-field cycle-bound="false" name="powerState" id="_240112141719_30"> <custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/> </GSI-powerState-field> - <GSI-status-field cycle-bound="false" id="_231221102304_258" name="status"> + <GSI-status-field cycle-bound="false" name="status" id="_240112141719_31"> <custom-type-scalar data-type-name-ref="DEVICE_STATUS"/> </GSI-status-field> - <GSI-interlock-field cycle-bound="false" id="_231221102304_259" name="interlock"> + <GSI-interlock-field cycle-bound="false" name="interlock" id="_240112141719_32"> <scalar type="bool"/> </GSI-interlock-field> - <GSI-opReady-field cycle-bound="false" id="_231221102304_260" name="opReady"> + <GSI-opReady-field cycle-bound="false" name="opReady" id="_240112141719_33"> <scalar type="bool"/> </GSI-opReady-field> - <GSI-modulesReady-field cycle-bound="false" id="_231221102304_261" name="modulesReady"> + <GSI-modulesReady-field name="modulesReady" cycle-bound="false" id="_240112141719_34"> <scalar type="bool"/> </GSI-modulesReady-field> - <GSI-detailed-status-field cycle-bound="false" id="_231221102304_262" name="detailedStatus"> + <GSI-detailed-status-field cycle-bound="false" name="detailedStatus" id="_240112141719_35"> <array type="bool"> <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/> </array> </GSI-detailed-status-field> - <GSI-module-status-field cycle-bound="false" id="_231221102304_263" name="moduleStatus"> + <GSI-module-status-field name="moduleStatus" cycle-bound="false" id="_240112141719_36"> <custom-type-array data-type-name-ref="MODULE_STATUS"> <custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/> </custom-type-array> </GSI-module-status-field> - <GSI-acquisition-context-field cycle-bound="true" id="_231221102304_264" name="acquisitionContext"> + <GSI-acquisition-context-field cycle-bound="true" name="acquisitionContext" id="_240112141719_37"> <custom-type-scalar data-type-name-ref="GSI_ACQ_CONTEXT"/> </GSI-acquisition-context-field> - <GSI-error_collection-field cycle-bound="false" id="_231221102304_265" name="error_collection"> + <GSI-error_collection-field cycle-bound="false" name="error_collection" id="_240112141719_38"> <custom-type-array data-type-name-ref="GSI_ERROR"> <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/> </custom-type-array> @@ -1695,14 +676,7 @@ corresponding string array containing keys to illustrate the meaning of the deta <global-data> <configuration> <!-- The name of the timing receiver --> - <field id="_231221102304_266" name="plcClassVersion"> - <description>Version of the SILECS class that needs to be deployed in the controller</description> - <array type="char"> - <dim>5</dim> - </array> - <default>0.1.0</default> - </field> - <GSI-timing-receiver-name-field id="_231221102304_267" name="deviceNameTimingReceiver"> + <field name="plcClassVersion" id="_240112141719_39"><description>Version of the SILECS class that needs to be deployed in the controller</description><array type="char"><dim>5</dim></array><default>0.1.0</default></field><GSI-timing-receiver-name-field name="deviceNameTimingReceiver" id="_240112141719_40"> <array type="char"> <!-- The number of the timing receiver --> <variable-dim/> @@ -1724,15 +698,10 @@ corresponding string array containing keys to illustrate the meaning of the deta <get-server-action implementation="default" name="ModuleStatusGetAction"/> <rt-action name="StatusUpdateAction"/> <!-- Pre-defined status update action --> - <get-server-action implementation="custom" name="GetMyROBlockProp"/> - <set-server-action implementation="custom" name="SetMyRWBlockProp"/> - <get-server-action implementation="custom" name="GetMyRWBlockProp"/> - <set-server-action implementation="custom" name="SetMyWOBlockProp"/> - <get-server-action implementation="custom" name="GetMyCBlockProp"/> - </actions> + <get-server-action name="GetMyROBlockProp" implementation="custom"/><set-server-action name="SetMyRWBlockProp" implementation="custom"/><get-server-action name="GetMyRWBlockProp" implementation="custom"/><set-server-action name="SetMyWOBlockProp" implementation="custom"/><get-server-action name="GetMyCBlockProp" implementation="custom"/></actions> <events> <logical-events> - <logical-event id="_231221102304_163" name="StatusUpdateEvent" type="timer" use="required"/> + <logical-event use="required" name="StatusUpdateEvent" type="timer" id="_240112141717_2"/> </logical-events> </events> <scheduling-units> diff --git a/test/AllTypesFESA/src/AllTypesFESA/RealTime/RTDeviceClass.cpp b/test/AllTypesFESA/src/AllTypesFESA/RealTime/RTDeviceClass.cpp index 2dd0363..89624f7 100644 --- a/test/AllTypesFESA/src/AllTypesFESA/RealTime/RTDeviceClass.cpp +++ b/test/AllTypesFESA/src/AllTypesFESA/RealTime/RTDeviceClass.cpp @@ -12,6 +12,7 @@ #include <string> #include <vector> +#include <unordered_set> namespace { @@ -61,7 +62,41 @@ void RTDeviceClass::specificInit() { if (!AllTypesFESA::isInitialized()) { - AllTypesFESA::setup(this->AllTypesFESAServiceLocator_); + try + { + AllTypesFESA::setup(this->AllTypesFESAServiceLocator_); + } + catch(std::exception& e) + { + std::string message = "Exception while initializing SILECS " + std::string(e.what()); + logger.warning(message); + + const Devices& devices = AllTypesFESAServiceLocator_->getDeviceCollection(); + std::unordered_set<std::string> uniqueHostnames; + for (Device* device : devices) + { + uniqueHostnames.insert(device->plcHostName.get()); + } + + // Since SILECS generated code stops connecting to PLCs if only one of them is not available, + // we try and connect to all of them ourselves to make sure that all the available PLCs are connected. + for (const std::string& plc : uniqueHostnames) + { + try + { + Silecs::PLC& pPLC = Silecs::Service::getInstance()->getPLCHandler().getPLC(plc); + + if (!pPLC.isEnabled()) + { + pPLC.connect(true); + } + } + catch(const Silecs::SilecsException& e) + { + logger.debug(e.getMessage()); + } + } + } } } catch(std::exception& ex) @@ -74,7 +109,7 @@ void RTDeviceClass::specificInit() { LOG_ERROR_IF(logger, "Unexpected error. Please notify support"); throw; - } + } } void RTDeviceClass::specificShutDown() diff --git a/test/AllTypesFESA/src/AllTypesFESA/RealTime/StatusUpdateAction.cpp b/test/AllTypesFESA/src/AllTypesFESA/RealTime/StatusUpdateAction.cpp index 29cdeb2..254ab87 100644 --- a/test/AllTypesFESA/src/AllTypesFESA/RealTime/StatusUpdateAction.cpp +++ b/test/AllTypesFESA/src/AllTypesFESA/RealTime/StatusUpdateAction.cpp @@ -5,6 +5,8 @@ #include <AllTypesFESA/GeneratedCode/ServiceLocator.h> #include <AllTypesFESA/RealTime/StatusUpdateAction.h> +#include <AllTypesFESA/Common/AllTypesFESA.h> + #include <cmw-log/Logger.h> namespace @@ -50,6 +52,9 @@ StatusUpdateAction::~StatusUpdateAction() void StatusUpdateAction::execute(fesa::RTEvent* pEvt) { // We don't need the status action, however it's left here for compliance with the FESA GSI template. + + // We reuse this action to retrieve the RO block. + AllTypesFESA::MyROBlock.getAllDevices(AllTypesFESAServiceLocator_, true, pEvt->getMultiplexingContext()); } } // AllTypesFESA diff --git a/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyCBlockProp.cpp b/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyCBlockProp.cpp index 921b2e4..55f806a 100644 --- a/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyCBlockProp.cpp +++ b/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyCBlockProp.cpp @@ -54,6 +54,7 @@ GetMyCBlockProp::~GetMyCBlockProp() */ void GetMyCBlockProp::execute(fesa::RequestEvent* pEvt, Device* pDev, MyCBlockPropPropertyData& data, const MyCBlockPropFilterData& filter) { + // Configuration blocks don't support get actions. } // Use this member function to tell the framework whether the subscribed clients need to be updated or not. See the FESA wiki for more info diff --git a/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyROBlockProp.cpp b/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyROBlockProp.cpp index 4116001..8aea229 100644 --- a/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyROBlockProp.cpp +++ b/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyROBlockProp.cpp @@ -54,6 +54,7 @@ GetMyROBlockProp::~GetMyROBlockProp() */ void GetMyROBlockProp::execute(fesa::RequestEvent* pEvt, Device* pDev, MyROBlockPropPropertyData& data, const MyROBlockPropFilterData& filter) { + // Read only blocks don't (yet) support server side getOneDevice functions. The data is retrieved in a Real-time action. } // Use this member function to tell the framework whether the subscribed clients need to be updated or not. See the FESA wiki for more info diff --git a/test/AllTypesFESA/src/AllTypesFESA/Server/SetMyWOBlockProp.cpp b/test/AllTypesFESA/src/AllTypesFESA/Server/SetMyWOBlockProp.cpp index 956908c..bdb41ed 100644 --- a/test/AllTypesFESA/src/AllTypesFESA/Server/SetMyWOBlockProp.cpp +++ b/test/AllTypesFESA/src/AllTypesFESA/Server/SetMyWOBlockProp.cpp @@ -5,6 +5,8 @@ #include <AllTypesFESA/Server/SetMyWOBlockProp.h> #include <AllTypesFESA/GeneratedCode/ServiceLocator.h> +#include <AllTypesFESA/Common/AllTypesFESA.h> + #include <cmw-log/Logger.h> namespace @@ -54,6 +56,8 @@ SetMyWOBlockProp::~SetMyWOBlockProp() */ void SetMyWOBlockProp::execute(fesa::RequestEvent* pEvt, Device* pDev, const MyWOBlockPropPropertyData& data, const MyWOBlockPropFilterData& filter) { + auto context = pEvt->getMultiplexingContext(); + AllTypesFESA::MyWOBlock.setOneDevice(pDev, data, true, context); } } // AllTypesFESA diff --git a/test/AllTypesFESA_DU/src/AllTypesFESA_DU.silecsdeploy b/test/AllTypesFESA_DU/src/AllTypesFESA_DU.silecsdeploy index f1bdffb..ab53185 100644 --- a/test/AllTypesFESA_DU/src/AllTypesFESA_DU.silecsdeploy +++ b/test/AllTypesFESA_DU/src/AllTypesFESA_DU.silecsdeploy @@ -10,7 +10,7 @@ <SilecsDesign silecs-design-name="AllTypesFESA" silecs-design-version="0.1.0"/> <Controller host-name="tsts7001-device"> <Siemens-PLC system="TIA-PORTAL" model="SIMATIC_S7-1500" protocol="DEVICE_MODE" base-DB-number="1000"> - <Device silecs-device-label="allTypesDevModeSilecsDevice" silecs-design-ref="AllTypesFESA" fesa-device-name="allTypesDevModeFesaDevice" fesa-fec-name="localhost"></Device> + <Device silecs-device-label="allTypesDevModeSilecsDevice" silecs-design-ref="AllTypesFESA" fesa-device-name="allTypesDevModeFesaDevice" fesa-fec-name="vmla016"></Device> </Siemens-PLC> </Controller> <Controller host-name="tsts7001-block"> @@ -18,7 +18,7 @@ base-DB-number="2000" protocol="BLOCK_MODE"> <Device silecs-device-label="allTypesBlkModeSilecsDevice" silecs-design-ref="AllTypesFESA" fesa-device-name="allTypesBlkModeFesaDevice" - fesa-fec-name="localhost" /> + fesa-fec-name="vmla016" /> </Siemens-PLC> </Controller> -</SILECS-Deploy> \ No newline at end of file +</SILECS-Deploy> -- GitLab