Fix wrong return type of generated getter methods

pull/46/head
Michael Zanetti 2022-01-27 17:25:18 +01:00
parent 51024f7bdc
commit 27553ed64c
1 changed files with 20 additions and 2 deletions

View File

@ -282,7 +282,7 @@ def getValueConversionMethod(registerDefinition):
return ('ModbusDataUtils::convertToString(values)')
def writePropertyGetSetMethodDeclarations(fileDescriptor, registerDefinitions):
def writePropertyGetSetMethodDeclarationsTcp(fileDescriptor, registerDefinitions):
for registerDefinition in registerDefinitions:
propertyName = registerDefinition['id']
propertyTyp = getCppDataType(registerDefinition)
@ -300,6 +300,24 @@ def writePropertyGetSetMethodDeclarations(fileDescriptor, registerDefinitions):
writeLine(fileDescriptor)
def writePropertyGetSetMethodDeclarationsRtu(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))
# Check if we require a set method
if registerDefinition['access'] == 'RW' or registerDefinition['access'] == 'WO':
writeLine(fileDescriptor, ' ModbusRtuReply *set%s(%s %s);' % (propertyName[0].upper() + propertyName[1:], propertyTyp, propertyName))
writeLine(fileDescriptor)
def writePropertyGetSetMethodImplementationsTcp(fileDescriptor, className, registerDefinitions):
for registerDefinition in registerDefinitions:
propertyName = registerDefinition['id']
@ -1031,7 +1049,7 @@ def writeRtuHeaderFile():
writeLine(headerFile)
# Write registers get/set method declarations
writePropertyGetSetMethodDeclarations(headerFile, registerJson['registers'])
writePropertyGetSetMethodDeclarationsRtu(headerFile, registerJson['registers'])
# Write block get/set method declarations
writeBlocksUpdateMethodDeclarations(headerFile, registerJson['blocks'])