From 6e6261b839a14a43794d09dc8192b3eb463e05ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Wed, 23 Mar 2022 17:00:48 +0100 Subject: [PATCH] Update debug printes and make read methods public --- modbus/tools/connectiontool/modbustcp.py | 4 ++-- modbus/tools/connectiontool/toolcommon.py | 7 ++++--- modbus/tools/generate-connection.py | 18 ++++++++++-------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/modbus/tools/connectiontool/modbustcp.py b/modbus/tools/connectiontool/modbustcp.py index fb2b8e5..aef6b00 100644 --- a/modbus/tools/connectiontool/modbustcp.py +++ b/modbus/tools/connectiontool/modbustcp.py @@ -215,9 +215,9 @@ def writeInternalBlockReadMethodDeclarationsTcp(fileDescriptor, blockDefinitions writeLine(fileDescriptor, ' /* Read block from start addess %s with size of %s registers containing following %s properties:' % (blockStartAddress, blockSize, registerCount)) for i, registerDefinition in enumerate(blockRegisters): if 'unit' in registerDefinition and registerDefinition['unit'] != '': - writeLine(fileDescriptor, ' - %s [%s] - Address: %s, Size: %s' % (registerDefinition['description'], registerDefinition['unit'], registerDefinition['address'], registerDefinition['size'])) + 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 - Address: %s, Size: %s' % (registerDefinition['description'], registerDefinition['address'], registerDefinition['size'])) writeLine(fileDescriptor, ' */ ' ) writeLine(fileDescriptor, ' QModbusReply *readBlock%s();' % (blockName[0].upper() + blockName[1:])) writeLine(fileDescriptor) diff --git a/modbus/tools/connectiontool/toolcommon.py b/modbus/tools/connectiontool/toolcommon.py index 749e1ff..caccae2 100644 --- a/modbus/tools/connectiontool/toolcommon.py +++ b/modbus/tools/connectiontool/toolcommon.py @@ -417,10 +417,10 @@ def writeBlocksUpdateMethodDeclarations(fileDescriptor, blockDefinitions): 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 - Address: %s, Size: %s' % (registerDefinition['description'], registerDefinition['address'], registerDefinition['size'])) writeLine(fileDescriptor, ' */ ' ) writeLine(fileDescriptor, ' void update%sBlock();' % (blockName[0].upper() + blockName[1:])) - writeLine(fileDescriptor) + writeLine(fileDescriptor) def writeRegistersDebugLine(fileDescriptor, debugObjectParamName, registerDefinitions): @@ -444,7 +444,8 @@ def writeUpdateMethod(fileDescriptor, className, registerDefinitions, blockDefin # Add the update block methods for blockDefinition in blockDefinitions: blockName = blockDefinition['id'] - writeLine(fileDescriptor, ' update%sBlock();' % (blockName[0].upper() + blockName[1:])) + if 'readSchedule' in blockDefinition and blockDefinition['readSchedule'] == 'update': + writeLine(fileDescriptor, ' update%sBlock();' % (blockName[0].upper() + blockName[1:])) writeLine(fileDescriptor, '}') writeLine(fileDescriptor) diff --git a/modbus/tools/generate-connection.py b/modbus/tools/generate-connection.py index 6c0d1f7..c5d7742 100644 --- a/modbus/tools/generate-connection.py +++ b/modbus/tools/generate-connection.py @@ -91,6 +91,16 @@ def writeTcpHeaderFile(): writeLine(headerFile) + writeInternalPropertyReadMethodDeclarationsTcp(headerFile, registerJson['registers']) + if 'blocks' in registerJson: + for blockDefinition in registerJson['blocks']: + writeInternalPropertyReadMethodDeclarationsTcp(headerFile, blockDefinition['registers']) + + writeLine(headerFile) + writeInternalBlockReadMethodDeclarationsTcp(headerFile, registerJson['blocks']) + + writeLine(headerFile) + # Write registers value changed signals writeLine(headerFile, 'signals:') writeLine(headerFile, ' void initializationFinished();') @@ -106,14 +116,6 @@ def writeTcpHeaderFile(): # Protected members writeLine(headerFile, 'protected:') - writeInternalPropertyReadMethodDeclarationsTcp(headerFile, registerJson['registers']) - if 'blocks' in registerJson: - for blockDefinition in registerJson['blocks']: - writeInternalPropertyReadMethodDeclarationsTcp(headerFile, blockDefinition['registers']) - - writeLine(headerFile) - writeInternalBlockReadMethodDeclarationsTcp(headerFile, registerJson['blocks']) - writeLine(headerFile) writeProtectedPropertyMembers(headerFile, registerJson['registers'])