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