From b6c3257075935cd74d893e005cae3603e81f0e9d Mon Sep 17 00:00:00 2001
From: aschwinn <al.schwinn@gsi.de>
Date: Wed, 7 Jun 2017 10:41:11 +0200
Subject: [PATCH] Bug 1407 - Remove Plugin specific design validation Rules

---
 .../src/xml/fesa/fesa_3_0_0/fesaTemplates.py  | 106 +++++++++---------
 .../xml/fesa/fesa_3_0_0/generateFesaDesign.py |  10 +-
 2 files changed, 58 insertions(+), 58 deletions(-)

diff --git a/silecs-codegen/src/xml/fesa/fesa_3_0_0/fesaTemplates.py b/silecs-codegen/src/xml/fesa/fesa_3_0_0/fesaTemplates.py
index 7aed315..916a637 100644
--- a/silecs-codegen/src/xml/fesa/fesa_3_0_0/fesaTemplates.py
+++ b/silecs-codegen/src/xml/fesa/fesa_3_0_0/fesaTemplates.py
@@ -470,7 +470,7 @@ cRecv = """        if (recvNow) pPLCDevice -> recv(blockName_);
 cGetStringReg = """
         {
             Silecs::Register* pRegister = pPLCDevice->getRegister("${regName}");
-            pDevice->${fieldName}.set(pRegister->getValString().c_str(), pContext);
+            pDevice->${fesaFieldName}.set(pRegister->getValString().c_str(), pContext);
         }
 """
 
@@ -481,19 +481,19 @@ cGetStringArrayReg = """
             const std::string** stdStringArray = pRegister->getRefStringArray(dim1);
             for (unsigned int i=0; i<dim1; i++)
             {
-                pDevice->${fieldName}.setString(stdStringArray[i]->c_str(), i, pContext);
+                pDevice->${fesaFieldName}.setString(stdStringArray[i]->c_str(), i, pContext);
             }
         }
 """
 
 cGetScalarReg = """
-        pDevice->${fieldName}.set( pPLCDevice->getRegister("${regName}")->getVal${regType}(), pContext);"""
+        pDevice->${fesaFieldName}.set( pPLCDevice->getRegister("${regName}")->getVal${regType}(), pContext);"""
 
 cGetArrayReg = """
         {
             Silecs::Register* pRegister = pPLCDevice->getRegister("${regName}");
             uint32_t dim1 = pRegister->getDimension1();
-            pDevice->${fieldName}.set(pRegister->getRef${regType}Array(dim1), dim1, pContext);
+            pDevice->${fesaFieldName}.set(pRegister->getRef${regType}Array(dim1), dim1, pContext);
         }
         """
 cGetArray2DReg = """
@@ -501,7 +501,7 @@ cGetArray2DReg = """
             Silecs::Register* pRegister = pPLCDevice->getRegister("${regName}");
             uint32_t dim1 = pRegister->getDimension1();
             uint32_t dim2 = pRegister->getDimension2();
-            pDevice->${fieldName}.set(pRegister->getRef${regType}Array2D(dim1, dim2), dim1, dim2, pContext);
+            pDevice->${fesaFieldName}.set(pRegister->getRef${regType}Array2D(dim1, dim2), dim1, dim2, pContext);
         }
 """
 
@@ -511,7 +511,7 @@ cGetUnsignedArrayReg = """
             uint32_t dim1 = pRegister->getDimension1();
             ${regType}* ${regName} = (${regType}*)calloc(dim1, sizeof(${regType}));
             pRegister->getVal${regType}Array(${regName}, dim1);\t//use automatic conversion for JAVA non-supported type
-            pDevice->${fieldName}.set(${regName}, dim1, pContext);
+            pDevice->${fesaFieldName}.set(${regName}, dim1, pContext);
             free(${regName});
         }
     """
@@ -523,7 +523,7 @@ cGetUnsignedArray2DReg = """
             uint32_t dim2 = pRegister->getDimension2();
             ${fesaType}* ${regName} = (${fesaType}*)calloc(dim1*dim2, sizeof(${fesaType}));
             pRegister->getVal${regType}Array2D(${regName}, dim1, dim2);\t//use automatic conversion for JAVA non-supported type
-            pDevice->${fieldName}.set(${regName}, dim1, dim2, pContext);
+            pDevice->${fesaFieldName}.set(${regName}, dim1, dim2, pContext);
             free(${regName});
         }
 """
@@ -555,7 +555,7 @@ cDatatypeSet = """
 """
 
 cSetStringReg = """
-        pPLCDevice->getRegister("${regName}")->setValString(pDevice->${fieldName}.get(pContext));
+        pPLCDevice->getRegister("${regName}")->setValString(pDevice->${fesaFieldName}.get(pContext));
 """
 
 cSetStringArrayReg = """
@@ -564,24 +564,24 @@ cSetStringArrayReg = """
             uint32_t dim1 = pRegister->getDimension1();
             std::string stdStringArray[dim1];
             uint32_t fesaDim1;
-            const char** cStringArray = pDevice->${fieldName}.get(fesaDim1, pContext);
+            const char** cStringArray = pDevice->${fesaFieldName}.get(fesaDim1, pContext);
             for (unsigned int i=0; i<dim1; i++) stdStringArray[i] = (const char*)cStringArray[i];
             pRegister->setValStringArray(stdStringArray, dim1);
         }
 """
 
 cSetScalarReg = """
-        pPLCDevice->getRegister("${regName}")->setVal${regType}( pDevice->${fieldName}.get(pContext));"""
+        pPLCDevice->getRegister("${regName}")->setVal${regType}( pDevice->${fesaFieldName}.get(pContext));"""
             
 cSetScalarUReg = """
-        pPLCDevice->getRegister("${regName}")->setVal${regType}( (${lowerType})pDevice->${fieldName}.get(pContext));"""
+        pPLCDevice->getRegister("${regName}")->setVal${regType}( (${cType})pDevice->${fesaFieldName}.get(pContext));"""
 
 cSetArrayReg = """
         {
             Silecs::Register* pRegister = pPLCDevice->getRegister("${regName}");
             uint32_t dim1 = pRegister->getDimension1();
             uint32_t fesaDim1;
-            pRegister->setVal${regType}Array(pDevice->${fieldName}.get(fesaDim1, pContext), dim1);
+            pRegister->setVal${regType}Array(pDevice->${fesaFieldName}.get(fesaDim1, pContext), dim1);
         }
     """
 
@@ -591,7 +591,7 @@ cSetArray2DReg = """
             uint32_t dim1 = pRegister->getDimension1();
             dim2 = pRegister->getDimension2();
             uint32_t fesaDim1,fesaDim2;
-            pRegister->setVal${regType}Array2D(pDevice->${fieldName}.get(fesaDim1, fesaDim2, pContext), dim1, dim2);
+            pRegister->setVal${regType}Array2D(pDevice->${fesaFieldName}.get(fesaDim1, fesaDim2, pContext), dim1, dim2);
         }
 """
 
@@ -600,7 +600,7 @@ cSetUnsignedArrayReg = """
             Silecs::Register* pRegister = pPLCDevice->getRegister("${regName}");
             uint32_t dim1 = pRegister->getDimension1();
             uint32_t fesaDim1;
-            pRegister->setVal${regType}Array(pDevice->${fieldName}.get(fesaDim1, pContext), dim1);\t//use automatic conversion for JAVA non-supported type
+            pRegister->setVal${regType}Array(pDevice->${fesaFieldName}.get(fesaDim1, pContext), dim1);\t//use automatic conversion for JAVA non-supported type
         }
 """
 
@@ -610,13 +610,13 @@ cSetUnsignedArray2DReg = """
             uint32_t dim1 = pRegister->getDimension1();
             dim2 = pRegister->getDimension2();
             uint32_t fesaDim1,fesaDim2;
-            pRegister->setVal${regType}Array2D( pDevice->${fieldName}.get(fesaDim1, fesaDim2, pContext), dim1, dim2);\t//use automatic conversion for JAVA non-supported type
+            pRegister->setVal${regType}Array2D( pDevice->${fesaFieldName}.get(fesaDim1, fesaDim2, pContext), dim1, dim2);\t//use automatic conversion for JAVA non-supported type
         }
 """
 
 cSetStringRegData = """
-        (data.is${fieldName_upper}Available()) ? pPLCDevice->getRegister("${regName}")->setValString(data.${fieldName}.get()) :
-                                     pPLCDevice->getRegister("${regName}")->setValString(pDevice->${fieldName}.get(pContext));"""
+        (data.is${fesaFieldName_upper}Available()) ? pPLCDevice->getRegister("${regName}")->setValString(data.${fesaFieldName}.get()) :
+                                     pPLCDevice->getRegister("${regName}")->setValString(pDevice->${fesaFieldName}.get(pContext));"""
                                     
 cSetStringArrayRegData = """
         {
@@ -624,26 +624,26 @@ cSetStringArrayRegData = """
             uint32_t dim1 = pRegister->getDimension1();
             std::string stdStringArray[dim1];
             uint32_t fesaDim1;
-            const char** cStringArray = (data.is${fieldName_upper}Available() ? data.${fieldName}.get(fesaDim1) : pDevice->${fieldName}.get(fesaDim1, pContext));
+            const char** cStringArray = (data.is${fesaFieldName_upper}Available() ? data.${fesaFieldName}.get(fesaDim1) : pDevice->${fesaFieldName}.get(fesaDim1, pContext));
             for (unsigned int i=0; i<dim1; i++) stdStringArray[i] = (const char*)cStringArray[i];
             pRegister->setValStringArray(stdStringArray, dim1);
         }
 """
 
 cSetScalarRegData = """
-        (data.is${fieldName_upper}Available()) ? pPLCDevice->getRegister("${regName}")->setVal${regType}( data.${fieldName}.get()) :
-                                          pPLCDevice->getRegister("${regName}")->setVal${regType}( pDevice->${fieldName}.get(pContext));"""
+        (data.is${fesaFieldName_upper}Available()) ? pPLCDevice->getRegister("${regName}")->setVal${regType}( data.${fesaFieldName}.get()) :
+                                          pPLCDevice->getRegister("${regName}")->setVal${regType}( pDevice->${fesaFieldName}.get(pContext));"""
 
 cSetScalarURegData = """
-        (data.is${fieldName_upper}Available()) ? pPLCDevice->getRegister("${regName}")->setVal${regType}( (${lowerType})data.${fieldName}.get()) :
-                                          pPLCDevice->getRegister("${regName}")->setVal${regType}( (${lowerType})pDevice->${fieldName}.get(pContext));"""
+        (data.is${fesaFieldName_upper}Available()) ? pPLCDevice->getRegister("${regName}")->setVal${regType}( (${cType})data.${fesaFieldName}.get()) :
+                                          pPLCDevice->getRegister("${regName}")->setVal${regType}( (${cType})pDevice->${fesaFieldName}.get(pContext));"""
 cSetArrayRegData = """
         {
             Silecs::Register* pRegister = pPLCDevice->getRegister("${regName}");
             uint32_t dim1 = pRegister->getDimension1();
             uint32_t fesaDim1;
-            (data.is${fieldName_upper}Available()) ? pRegister->setVal${regType}Array( data.${fieldName}.get(fesaDim1), dim1) :
-                                        pRegister->setVal${regType}Array( pDevice->${fieldName}.get(fesaDim1, pContext), dim1);
+            (data.is${fesaFieldName_upper}Available()) ? pRegister->setVal${regType}Array( data.${fesaFieldName}.get(fesaDim1), dim1) :
+                                        pRegister->setVal${regType}Array( pDevice->${fesaFieldName}.get(fesaDim1, pContext), dim1);
         }
     """
 cSetArray2DRegData = """
@@ -652,8 +652,8 @@ cSetArray2DRegData = """
             uint32_t dim1 = pRegister->getDimension1();
             uint32_t dim2 = pRegister->getDimension2();
             uint32_t fesaDim1,fesaDim2;
-            (data.is${fieldName_upper}Available()) ? pRegister->setVal${regType}Array2D(data.${fieldName}.get(fesaDim1, fesaDim2), dim1, dim2) :
-                                         pRegister->setVal${regType}Array2D(pDevice->${fieldName}.get(fesaDim1, fesaDim2, pContext), dim1, dim2);
+            (data.is${fesaFieldName_upper}Available()) ? pRegister->setVal${regType}Array2D(data.${fesaFieldName}.get(fesaDim1, fesaDim2), dim1, dim2) :
+                                         pRegister->setVal${regType}Array2D(pDevice->${fesaFieldName}.get(fesaDim1, fesaDim2, pContext), dim1, dim2);
         }
 """
 
@@ -765,25 +765,25 @@ def genCPart4(className):
     return cPart4.replace('${className}', className)
 
 def genCGetStringReg(register):
-    return cGetStringReg.replace('${regName}', register.name).replace('${fieldName}', register.getFesaName())
+    return cGetStringReg.replace('${regName}', register.name).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCGetStringArrayReg(register):
-    return cGetStringArrayReg.replace('${regName}', register.name).replace('${fieldName}', register.getFesaName())
+    return cGetStringArrayReg.replace('${regName}', register.name).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCGetScalarReg(register):
-    return cGetScalarReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+    return cGetScalarReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCGetArrayReg(register):
-    if iecommon.isUnsignedType(register.format):
-        return cGetUnsignedArrayReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName()).replace('${fesaType}', iecommon.registerFormatType2FesaType(register.format))
+    if register.isUnsigned():
+        return cGetUnsignedArrayReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName()).replace('${fesaType}', register.getFesaType())
     else:
-        return cGetArrayReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+        return cGetArrayReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCGetArray2DReg(register):
-    if iecommon.isUnsignedType(register.format):
-        return cGetUnsignedArray2DReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fesaType}', iecommon.registerFormatType2FesaType(register.format)).replace('${fieldName}', register.getFesaName())
+    if register.isUnsigned():
+        return cGetUnsignedArray2DReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaType}', register.getFesaType()).replace('${fesaFieldName}', register.getFesaFieldName())
     else:
-        return cGetArray2DReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+        return cGetArray2DReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCCommonSet(blockName,className):
     return cCommonSet.replace('${className}', className).replace('${blockName}', blockName)
@@ -792,47 +792,47 @@ def genCDatatypeSet(blockName,propName,className):
     return cDatatypeSet.replace('${className}', className).replace('${blockName}', blockName).replace('${propName}', propName)
 
 def genCSetStringReg(register):
-    return cSetStringReg.replace('${regName}', register.name).replace('${fieldName}', register.getFesaName())
+    return cSetStringReg.replace('${regName}', register.name).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCSetStringArrayReg(register):
-    return cSetStringArrayReg.replace('${regName}', register.name).replace('${fieldName}', register.getFesaName())
+    return cSetStringArrayReg.replace('${regName}', register.name).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCSetScalarReg(register):
-    if iecommon.isUnsignedType(register.format):
-        return cSetScalarUReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${lowerType}', iecommon.registerFormatType2CType(register.format)).replace('${fieldName}', register.getFesaName())
+    if register.isUnsigned():
+        return cSetScalarUReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${cType}', register.getCType()).replace('${fesaFieldName}', register.getFesaFieldName())
     else:
-        return cSetScalarReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+        return cSetScalarReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
         
 
 def genCSetArrayReg(register):
-    if iecommon.isUnsignedType(register.format):
-        return cSetUnsignedArrayReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+    if register.isUnsigned():
+        return cSetUnsignedArrayReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
     else:
-        return cSetArrayReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+        return cSetArrayReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCSetArray2DReg(register):
-    if iecommon.isUnsignedType(register.format):
-        return cSetUnsignedArray2DReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+    if register.isUnsigned():
+        return cSetUnsignedArray2DReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
     else:
-        return cSetArray2DReg.replace('${regName}', register.name).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+        return cSetArray2DReg.replace('${regName}', register.name).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
         
 def genCSetStringRegData(register):
-    return cSetStringRegData.replace('${regName}', register.name).replace('${fieldName_upper}', iecommon.capitalizeString(register.getFesaName())).replace('${fieldName}', register.getFesaName())
+    return cSetStringRegData.replace('${regName}', register.name).replace('${fesaFieldName_upper}', register.getFesaFieldNameCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCSetStringArrayRegData(register):
-    return cSetStringArrayRegData.replace('${regName}', register.name).replace('${fieldName_upper}', iecommon.capitalizeString(register.getFesaName())).replace('${fieldName}', register.getFesaName())
+    return cSetStringArrayRegData.replace('${regName}', register.name).replace('${fesaFieldName_upper}', register.getFesaFieldNameCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCSetScalarRegData(register):
-    if iecommon.isUnsignedType(register.format):
-	    return cSetScalarURegData.replace('${regName}', register.name).replace('${fieldName_upper}', iecommon.capitalizeString(register.getFesaName())).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName()).replace('${lowerType}', iecommon.registerFormatType2CType(register.format))
+    if register.isUnsigned():
+	    return cSetScalarURegData.replace('${regName}', register.name).replace('${fesaFieldName_upper}', register.getFesaFieldNameCapitalized()).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName()).replace('${cType}', register.getCType())
     else:
-        return cSetScalarRegData.replace('${regName}', register.name).replace('${fieldName_upper}', iecommon.capitalizeString(register.getFesaName())).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+        return cSetScalarRegData.replace('${regName}', register.name).replace('${fesaFieldName_upper}', register.getFesaFieldNameCapitalized()).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCSetArrayRegData(register):
-    return cSetArrayRegData.replace('${regName}', register.name).replace('${fieldName_upper}', iecommon.capitalizeString(register.getFesaName())).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+    return cSetArrayRegData.replace('${regName}', register.name).replace('${fesaFieldName_upper}', register.getFesaFieldNameCapitalized()).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genCSetArray2DRegData(register):
-	return cSetArray2DRegData.replace('${regName}', register.name).replace('${fieldName_upper}', iecommon.capitalizeString(register.getFesaName())).replace('${regType}', iecommon.getSilecsDataTypeUpperCase(register.format)).replace('${fieldName}', register.getFesaName())
+	return cSetArray2DRegData.replace('${regName}', register.name).replace('${fesaFieldName_upper}', register.getFesaFieldNameCapitalized()).replace('${regType}', register.getSilecsTypeCapitalized()).replace('${fesaFieldName}', register.getFesaFieldName())
 
 def genMakeDesign(centralMakefilePath):
     return makeDesign.replace('${centralMakefilePath}', centralMakefilePath)
diff --git a/silecs-codegen/src/xml/fesa/fesa_3_0_0/generateFesaDesign.py b/silecs-codegen/src/xml/fesa/fesa_3_0_0/generateFesaDesign.py
index 3afc5b0..685f78a 100644
--- a/silecs-codegen/src/xml/fesa/fesa_3_0_0/generateFesaDesign.py
+++ b/silecs-codegen/src/xml/fesa/fesa_3_0_0/generateFesaDesign.py
@@ -52,7 +52,7 @@ class FESADesignGenerator3_0_0(object):
 
     def getOrCreateStringArrayType(self,fieldNode,register):
         array2DNode = getOrCreateChildElement(fieldNode,'array2D')
-        fillAttributes(array2DNode, {'type': iecommon.getFesaDataType(register.format)})
+        fillAttributes(array2DNode, {'type': register.getFesaType()})
         dim1Node = getOrCreateChildElement(array2DNode,'dim1')
         dim2Node = getOrCreateChildElement(array2DNode,'dim2')
         dim1Node.setContent(str(register.dim1)) # first dimension is the dimension of the array
@@ -61,14 +61,14 @@ class FESADesignGenerator3_0_0(object):
 
     def getOrCreateStringType(self,fieldNode,register):
         stringNode = getOrCreateChildElement(fieldNode,'array')
-        fillAttributes(stringNode, {'type': iecommon.getFesaDataType(register.format)})
+        fillAttributes(stringNode, {'type': register.getFesaType()})
         dimNode = getOrCreateChildElement(stringNode,'dim')
         dimNode.setContent(str(register.stringLength)) # first dimension is the dimension of the array
         return stringNode
 
     def getOrCreate2DArrayType(self,fieldNode,register):
         array2DNode = getOrCreateChildElement(fieldNode,'array2D')
-        fillAttributes(array2DNode, {'type': iecommon.getFesaDataType(register.format)})
+        fillAttributes(array2DNode, {'type': register.getFesaType()})
         dim1Node = getOrCreateChildElement(array2DNode,'dim1')
         dim2Node = getOrCreateChildElement(array2DNode,'dim2')
         dim1Node.setContent(str(register.dim1))
@@ -77,14 +77,14 @@ class FESADesignGenerator3_0_0(object):
 
     def getOrCreateArrayType(self,fieldNode,register):
         arrayNode = getOrCreateChildElement(fieldNode,'array')
-        fillAttributes(arrayNode, {'type': iecommon.getFesaDataType(register.format)})
+        fillAttributes(arrayNode, {'type': register.getFesaType()})
         dimNode = getOrCreateChildElement(arrayNode,'dim')
         dimNode.setContent(str(register.dim1))
         return arrayNode
 
     def getOrCreateScalarType(self,fieldNode,register):
         scalarNode = getOrCreateChildElement(fieldNode,'scalar')
-        fillAttributes(scalarNode, {'type': iecommon.getFesaDataType(register.format)})
+        fillAttributes(scalarNode, {'type': register.getFesaType()})
         return scalarNode
 
     def getOrCreateType(self,fieldNode,registerNode):
-- 
GitLab