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/13 09:44:40 UTC
[plc4x] branch develop updated: fix(cbus): switch SetParameter from const to reserved till it is clear why the delimiter has strange values sometimes
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 14dcb2586 fix(cbus): switch SetParameter from const to reserved till it is clear why the delimiter has strange values sometimes
14dcb2586 is described below
commit 14dcb25861bbd096317bf095203d2ea9c3e5de9a
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Wed Jul 13 11:44:29 2022 +0200
fix(cbus): switch SetParameter from const to reserved till it is clear why the delimiter has strange values sometimes
---
.../model/CALDataOrSetParameterSetParameter.go | 37 ++++++++++++----------
.../src/main/resources/protocols/cbus/c-bus.mspec | 4 ++-
2 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/plc4go/protocols/cbus/readwrite/model/CALDataOrSetParameterSetParameter.go b/plc4go/protocols/cbus/readwrite/model/CALDataOrSetParameterSetParameter.go
index cb069435f..37e73f0ae 100644
--- a/plc4go/protocols/cbus/readwrite/model/CALDataOrSetParameterSetParameter.go
+++ b/plc4go/protocols/cbus/readwrite/model/CALDataOrSetParameterSetParameter.go
@@ -23,13 +23,13 @@ import (
"fmt"
"github.com/apache/plc4x/plc4go/internal/spi/utils"
"github.com/pkg/errors"
+ "github.com/rs/zerolog/log"
)
// Code generated by code-generation. DO NOT EDIT.
// Constant values.
const CALDataOrSetParameterSetParameter_MAGICID uint8 = 0xA3
-const CALDataOrSetParameterSetParameter_DELIMITER byte = 0x0
// CALDataOrSetParameterSetParameter is the corresponding interface of CALDataOrSetParameterSetParameter
type CALDataOrSetParameterSetParameter interface {
@@ -100,10 +100,6 @@ func (m *_CALDataOrSetParameterSetParameter) GetMagicId() uint8 {
return CALDataOrSetParameterSetParameter_MAGICID
}
-func (m *_CALDataOrSetParameterSetParameter) GetDelimiter() byte {
- return CALDataOrSetParameterSetParameter_DELIMITER
-}
-
///////////////////////
///////////////////////
///////////////////////////////////////////////////////////
@@ -148,7 +144,7 @@ func (m *_CALDataOrSetParameterSetParameter) GetLengthInBitsConditional(lastItem
// Simple field (paramNo)
lengthInBits += 8
- // Const Field (delimiter)
+ // Reserved Field (reserved)
lengthInBits += 8
// Simple field (parameterValue)
@@ -192,13 +188,18 @@ func CALDataOrSetParameterSetParameterParse(readBuffer utils.ReadBuffer) (CALDat
return nil, errors.Wrap(closeErr, "Error closing for paramNo")
}
- // Const Field (delimiter)
- delimiter, _delimiterErr := readBuffer.ReadByte("delimiter")
- if _delimiterErr != nil {
- return nil, errors.Wrap(_delimiterErr, "Error parsing 'delimiter' field of CALDataOrSetParameterSetParameter")
- }
- if delimiter != CALDataOrSetParameterSetParameter_DELIMITER {
- return nil, errors.New("Expected constant value " + fmt.Sprintf("%d", CALDataOrSetParameterSetParameter_DELIMITER) + " but got " + fmt.Sprintf("%d", delimiter))
+ // Reserved Field (Compartmentalized so the "reserved" variable can't leak)
+ {
+ reserved, _err := readBuffer.ReadByte("reserved")
+ if _err != nil {
+ return nil, errors.Wrap(_err, "Error parsing 'reserved' field of CALDataOrSetParameterSetParameter")
+ }
+ if reserved != byte(0x0) {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": byte(0x0),
+ "got value": reserved,
+ }).Msg("Got unexpected response for reserved field.")
+ }
}
// Simple Field (parameterValue)
@@ -248,10 +249,12 @@ func (m *_CALDataOrSetParameterSetParameter) Serialize(writeBuffer utils.WriteBu
return errors.Wrap(_paramNoErr, "Error serializing 'paramNo' field")
}
- // Const Field (delimiter)
- _delimiterErr := writeBuffer.WriteByte("delimiter", 0x0)
- if _delimiterErr != nil {
- return errors.Wrap(_delimiterErr, "Error serializing 'delimiter' field")
+ // Reserved Field (reserved)
+ {
+ _err := writeBuffer.WriteByte("reserved", byte(0x0))
+ if _err != nil {
+ return errors.Wrap(_err, "Error serializing 'reserved' field")
+ }
}
// Simple Field (parameterValue)
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 f80d959b7..32036b66e 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
@@ -562,7 +562,9 @@
['0xA3' *SetParameter
[const uint 8 magicId 0xA3 ]
[simple Parameter paramNo ]
- [const byte delimiter 0x0 ]
+ // TODO: the delimiter should be a const like that but atm there are too many which have a value there so we use reserved for now
+ //[const byte delimiter 0x0 ]
+ [reserved byte '0x0' ]
[simple byte parameterValue ]
]
[* *Value