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

commit 2545dc7453cd77e8773a22431557dd040601bd66
Author: Sebastian Rühl <[email protected]>
AuthorDate: Wed Apr 12 10:19:50 2023 +0200

    fix(plc4go/cbus): fix length calculation of cal commands
---
 plc4go/internal/cbus/Connection.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/plc4go/internal/cbus/Connection.go 
b/plc4go/internal/cbus/Connection.go
index 93db90c906..4bcd215992 100644
--- a/plc4go/internal/cbus/Connection.go
+++ b/plc4go/internal/cbus/Connection.go
@@ -370,8 +370,8 @@ func (c *Connection) setInterfaceOptions1(ctx 
context.Context, ch chan plc4go.Pl
 
 // This is used for connection setup
 func (c *Connection) sendCalDataWrite(ctx context.Context, ch chan 
plc4go.PlcConnectionConnectResult, paramNo readWriteModel.Parameter, 
parameterValue readWriteModel.ParameterValue, requestContext 
*readWriteModel.RequestContext, cbusOptions *readWriteModel.CBusOptions) bool {
-       // TODO: we assume that is always a one byte request otherwise we need 
to map the length here
-       calData := readWriteModel.NewCALDataWrite(paramNo, 0x0, parameterValue, 
readWriteModel.CALCommandTypeContainer_CALCommandWrite_3Bytes, nil, 
*requestContext)
+       calCommandTypeContainer := 
readWriteModel.CALCommandTypeContainer_CALCommandWrite_2Bytes + 
readWriteModel.CALCommandTypeContainer(parameterValue.GetLengthInBytes(ctx))
+       calData := readWriteModel.NewCALDataWrite(paramNo, 0x0, parameterValue, 
calCommandTypeContainer, nil, *requestContext)
        directCommand := readWriteModel.NewRequestDirectCommandAccess(calData 
/*we don't want an alpha otherwise the PCI will auto-switch*/, nil, 0x40, nil, 
nil, 0x0, readWriteModel.NewRequestTermination(), *cbusOptions)
        cBusMessage := readWriteModel.NewCBusMessageToServer(directCommand, 
*requestContext, *cbusOptions)
 

Reply via email to