You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2022/07/27 14:59:33 UTC

[plc4x] branch develop updated: fix(cbus): fixed length calculations

This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new 30aa2699c fix(cbus): fixed length calculations
30aa2699c is described below

commit 30aa2699c9167e5f4cf9202d7636c37b410838d6
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Wed Jul 27 16:59:25 2022 +0200

    fix(cbus): fixed length calculations
---
 plc4go/protocols/cbus/readwrite/model/ReplyEncodedReply.go   |  4 ++--
 plc4go/protocols/cbus/readwrite/model/RequestCommand.go      |  4 ++--
 .../cbus/readwrite/model/RequestDirectCommandAccess.go       |  2 +-
 plc4go/protocols/cbus/readwrite/model/RequestObsolete.go     |  2 +-
 .../c-bus/src/main/resources/protocols/cbus/c-bus.mspec      | 12 ++++++------
 5 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/plc4go/protocols/cbus/readwrite/model/ReplyEncodedReply.go b/plc4go/protocols/cbus/readwrite/model/ReplyEncodedReply.go
index e81ac7b5a..ffc8773ab 100644
--- a/plc4go/protocols/cbus/readwrite/model/ReplyEncodedReply.go
+++ b/plc4go/protocols/cbus/readwrite/model/ReplyEncodedReply.go
@@ -121,10 +121,10 @@ func (m *_ReplyEncodedReply) GetLengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.GetParentLengthInBits())
 
 	// Manual Field (encodedReply)
-	lengthInBits += uint16(int32(int32(int32(m.GetLengthInBytes())*int32(int32(2)))) * int32(int32(8)))
+	lengthInBits += uint16(int32(int32(int32(m.GetEncodedReply().GetLengthInBytes())*int32(int32(2)))) * int32(int32(8)))
 
 	// Manual Field (chksum)
-	lengthInBits += uint16(int32(8))
+	lengthInBits += uint16(utils.InlineIf(m.CBusOptions.GetSrchk(), func() interface{} { return int32(int32(16)) }, func() interface{} { return int32(int32(0)) }).(int32))
 
 	return lengthInBits
 }
diff --git a/plc4go/protocols/cbus/readwrite/model/RequestCommand.go b/plc4go/protocols/cbus/readwrite/model/RequestCommand.go
index b46bff9b1..c59d25b3f 100644
--- a/plc4go/protocols/cbus/readwrite/model/RequestCommand.go
+++ b/plc4go/protocols/cbus/readwrite/model/RequestCommand.go
@@ -155,10 +155,10 @@ func (m *_RequestCommand) GetLengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits += 8
 
 	// Manual Field (cbusCommand)
-	lengthInBits += uint16(int32(int32(int32(m.GetLengthInBytes())*int32(int32(2)))) * int32(int32(8)))
+	lengthInBits += uint16(int32(int32(int32(m.GetCbusCommand().GetLengthInBytes())*int32(int32(2)))) * int32(int32(8)))
 
 	// Manual Field (chksum)
-	lengthInBits += uint16(int32(8))
+	lengthInBits += uint16(utils.InlineIf(m.CBusOptions.GetSrchk(), func() interface{} { return int32(int32(16)) }, func() interface{} { return int32(int32(0)) }).(int32))
 
 	// Optional Field (alpha)
 	if m.Alpha != nil {
diff --git a/plc4go/protocols/cbus/readwrite/model/RequestDirectCommandAccess.go b/plc4go/protocols/cbus/readwrite/model/RequestDirectCommandAccess.go
index 5f9dde7e2..ba40e17cf 100644
--- a/plc4go/protocols/cbus/readwrite/model/RequestDirectCommandAccess.go
+++ b/plc4go/protocols/cbus/readwrite/model/RequestDirectCommandAccess.go
@@ -137,7 +137,7 @@ func (m *_RequestDirectCommandAccess) GetLengthInBitsConditional(lastItem bool)
 	lengthInBits += 8
 
 	// Manual Field (calData)
-	lengthInBits += uint16(int32(int32(int32(m.GetLengthInBytes())*int32(int32(2)))) * int32(int32(8)))
+	lengthInBits += uint16(int32(int32(int32(m.GetCalData().GetLengthInBytes())*int32(int32(2)))) * int32(int32(8)))
 
 	return lengthInBits
 }
diff --git a/plc4go/protocols/cbus/readwrite/model/RequestObsolete.go b/plc4go/protocols/cbus/readwrite/model/RequestObsolete.go
index 6ad596776..f4ea9fe18 100644
--- a/plc4go/protocols/cbus/readwrite/model/RequestObsolete.go
+++ b/plc4go/protocols/cbus/readwrite/model/RequestObsolete.go
@@ -127,7 +127,7 @@ func (m *_RequestObsolete) GetLengthInBitsConditional(lastItem bool) uint16 {
 	lengthInBits := uint16(m.GetParentLengthInBits())
 
 	// Manual Field (calData)
-	lengthInBits += uint16(int32(int32(int32(m.GetLengthInBytes())*int32(int32(2)))) * int32(int32(8)))
+	lengthInBits += uint16(int32(int32(int32(m.GetCalData().GetLengthInBytes())*int32(int32(2)))) * int32(int32(8)))
 
 	// Optional Field (alpha)
 	if m.Alpha != nil {
diff --git a/protocols/c-bus/src/main/resources/protocols/cbus/c-bus.mspec b/protocols/c-bus/src/main/resources/protocols/cbus/c-bus.mspec
index d081c0fd1..aef61c235 100644
--- a/protocols/c-bus/src/main/resources/protocols/cbus/c-bus.mspec
+++ b/protocols/c-bus/src/main/resources/protocols/cbus/c-bus.mspec
@@ -88,7 +88,7 @@
                               calData
                         'STATIC_CALL("readCALData", readBuffer)'
                         'STATIC_CALL("writeCALData", writeBuffer, calData)'
-                        '(_value.lengthInBytes*2)*8'                        ]
+                        '(calData.lengthInBytes*2)*8'                       ]
         ]
         ['REQUEST_COMMAND' *Command
             [const    byte  initiator 0x5C                                  ] // 0x5C == "/"
@@ -96,12 +96,12 @@
                               cbusCommand
                         'STATIC_CALL("readCBusCommand", readBuffer, cBusOptions, cBusOptions.srchk)'
                         'STATIC_CALL("writeCBusCommand", writeBuffer, cbusCommand)'
-                        '(_value.lengthInBytes*2)*8'                        ]
+                        '(cbusCommand.lengthInBytes*2)*8'                   ]
             [manual   Checksum
                               chksum
                         'STATIC_CALL("readAndValidateChecksum", readBuffer, cbusCommand, cBusOptions.srchk)'
                         'STATIC_CALL("calculateChecksum", writeBuffer, cbusCommand, cBusOptions.srchk)'
-                        '8'                                                 ]
+                        'cBusOptions.srchk?16:0'                            ]
             [optional Alpha         alpha                                   ]
         ]
         ['NULL' *Null
@@ -115,7 +115,7 @@
                               calData
                         'STATIC_CALL("readCALData", readBuffer)'
                         'STATIC_CALL("writeCALData", writeBuffer, calData)'
-                        '(_value.lengthInBytes*2)*8'                        ]
+                        '(calData.lengthInBytes*2)*8'                       ]
             [optional Alpha   alpha                                         ]
         ]
     ]
@@ -1401,12 +1401,12 @@
                               encodedReply
                                     'STATIC_CALL("readEncodedReply", readBuffer, cBusOptions, requestContext, cBusOptions.srchk)'
                                     'STATIC_CALL("writeEncodedReply", writeBuffer, encodedReply)'
-                                    '(_value.lengthInBytes*2)*8'                                     ]
+                                    '(encodedReply.lengthInBytes*2)*8'                                   ]
             [manual   Checksum
                               chksum
                         'STATIC_CALL("readAndValidateChecksum", readBuffer, encodedReply, cBusOptions.srchk)'
                         'STATIC_CALL("calculateChecksum", writeBuffer, encodedReply, cBusOptions.srchk)'
-                        '8'                   ]
+                        'cBusOptions.srchk?16:0'        ]
         ]
     ]
 ]