diff --git a/modbus/tools/generate-connection.py b/modbus/tools/generate-connection.py index d279b18..9c4e66f 100644 --- a/modbus/tools/generate-connection.py +++ b/modbus/tools/generate-connection.py @@ -300,6 +300,7 @@ def writePropertyGetSetMethodDeclarationsTcp(fileDescriptor, registerDefinitions writeLine(fileDescriptor) + def writePropertyGetSetMethodDeclarationsRtu(fileDescriptor, registerDefinitions): for registerDefinition in registerDefinitions: propertyName = registerDefinition['id'] @@ -318,6 +319,19 @@ def writePropertyGetSetMethodDeclarationsRtu(fileDescriptor, registerDefinitions writeLine(fileDescriptor) +def writeBlockGetMethodDeclarations(fileDescriptor, registerDefinitions): + for registerDefinition in registerDefinitions: + propertyName = registerDefinition['id'] + propertyTyp = getCppDataType(registerDefinition) + if 'unit' in registerDefinition and registerDefinition['unit'] != '': + writeLine(fileDescriptor, ' /* %s [%s] - Address: %s, Size: %s */' % (registerDefinition['description'], registerDefinition['unit'], registerDefinition['address'], registerDefinition['size'])) + else: + writeLine(fileDescriptor, ' /* %s - Address: %s, Size: %s */' % (registerDefinition['description'], registerDefinition['address'], registerDefinition['size'])) + + writeLine(fileDescriptor, ' %s %s() const;' % (propertyTyp, propertyName)) + writeLine(fileDescriptor) + + def writePropertyGetSetMethodImplementationsTcp(fileDescriptor, className, registerDefinitions): for registerDefinition in registerDefinitions: propertyName = registerDefinition['id'] @@ -442,7 +456,7 @@ def writeBlocksUpdateMethodDeclarations(fileDescriptor, blockDefinitions): blockRegisters = blockDefinition['registers'] # Write the property get / set methods for the block registers - writePropertyGetSetMethodDeclarations(fileDescriptor, blockRegisters) + writeBlockGetMethodDeclarations(fileDescriptor, blockRegisters) blockStartAddress = 0 blockSize = 0 @@ -897,7 +911,7 @@ def writeTcpHeaderFile(): writeLine(headerFile) # Write registers get method declarations - writePropertyGetSetMethodDeclarations(headerFile, registerJson['registers']) + writePropertyGetSetMethodDeclarationsTcp(headerFile, registerJson['registers']) # Write block get/set method declarations writeBlocksUpdateMethodDeclarations(headerFile, registerJson['blocks'])