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)
