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/08/04 14:25:18 UTC
[plc4x] branch develop updated: feat(cbus): change some fields to c-bus now that they don't loose data
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 0e48de1c3 feat(cbus): change some fields to c-bus now that they don't loose data
0e48de1c3 is described below
commit 0e48de1c3b8914b64439889907a6d55e70005a11
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Aug 4 16:25:12 2022 +0200
feat(cbus): change some fields to c-bus now that they don't loose data
---
.../cbus/readwrite/model/LightingLabelOptions.go | 165 +++++++++++++--------
.../readwrite/model/TriggerControlLabelOptions.go | 165 +++++++++++++--------
.../cbus/c-bus_lighting_application.mspec | 6 +-
.../cbus/c-bus_trigger_control_application.mspec | 6 +-
4 files changed, 210 insertions(+), 132 deletions(-)
diff --git a/plc4go/protocols/cbus/readwrite/model/LightingLabelOptions.go b/plc4go/protocols/cbus/readwrite/model/LightingLabelOptions.go
index e7d17615b..4d7af15c4 100644
--- a/plc4go/protocols/cbus/readwrite/model/LightingLabelOptions.go
+++ b/plc4go/protocols/cbus/readwrite/model/LightingLabelOptions.go
@@ -31,16 +31,10 @@ import (
type LightingLabelOptions interface {
utils.LengthAware
utils.Serializable
- // GetReservedBit7 returns ReservedBit7 (property field)
- GetReservedBit7() bool
// GetLabelFlavour returns LabelFlavour (property field)
GetLabelFlavour() LightingLabelFlavour
- // GetReservedBit3 returns ReservedBit3 (property field)
- GetReservedBit3() bool
// GetLabelType returns LabelType (property field)
GetLabelType() LightingLabelType
- // GetReservedBit0 returns ReservedBit0 (property field)
- GetReservedBit0() bool
}
// LightingLabelOptionsExactly can be used when we want exactly this type and not a type which fulfills LightingLabelOptions.
@@ -52,13 +46,13 @@ type LightingLabelOptionsExactly interface {
// _LightingLabelOptions is the data-structure of this message
type _LightingLabelOptions struct {
- ReservedBit7 bool
LabelFlavour LightingLabelFlavour
- ReservedBit3 bool
LabelType LightingLabelType
- ReservedBit0 bool
// Reserved Fields
reservedField0 *bool
+ reservedField1 *bool
+ reservedField2 *bool
+ reservedField3 *bool
}
///////////////////////////////////////////////////////////
@@ -66,34 +60,22 @@ type _LightingLabelOptions struct {
/////////////////////// Accessors for property fields.
///////////////////////
-func (m *_LightingLabelOptions) GetReservedBit7() bool {
- return m.ReservedBit7
-}
-
func (m *_LightingLabelOptions) GetLabelFlavour() LightingLabelFlavour {
return m.LabelFlavour
}
-func (m *_LightingLabelOptions) GetReservedBit3() bool {
- return m.ReservedBit3
-}
-
func (m *_LightingLabelOptions) GetLabelType() LightingLabelType {
return m.LabelType
}
-func (m *_LightingLabelOptions) GetReservedBit0() bool {
- return m.ReservedBit0
-}
-
///////////////////////
///////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// NewLightingLabelOptions factory function for _LightingLabelOptions
-func NewLightingLabelOptions(reservedBit7 bool, labelFlavour LightingLabelFlavour, reservedBit3 bool, labelType LightingLabelType, reservedBit0 bool) *_LightingLabelOptions {
- return &_LightingLabelOptions{ReservedBit7: reservedBit7, LabelFlavour: labelFlavour, ReservedBit3: reservedBit3, LabelType: labelType, ReservedBit0: reservedBit0}
+func NewLightingLabelOptions(labelFlavour LightingLabelFlavour, labelType LightingLabelType) *_LightingLabelOptions {
+ return &_LightingLabelOptions{LabelFlavour: labelFlavour, LabelType: labelType}
}
// Deprecated: use the interface for direct cast
@@ -118,7 +100,7 @@ func (m *_LightingLabelOptions) GetLengthInBits() uint16 {
func (m *_LightingLabelOptions) GetLengthInBitsConditional(lastItem bool) uint16 {
lengthInBits := uint16(0)
- // Simple field (reservedBit7)
+ // Reserved Field (reserved)
lengthInBits += 1
// Simple field (labelFlavour)
@@ -127,13 +109,13 @@ func (m *_LightingLabelOptions) GetLengthInBitsConditional(lastItem bool) uint16
// Reserved Field (reserved)
lengthInBits += 1
- // Simple field (reservedBit3)
+ // Reserved Field (reserved)
lengthInBits += 1
// Simple field (labelType)
lengthInBits += 2
- // Simple field (reservedBit0)
+ // Reserved Field (reserved)
lengthInBits += 1
return lengthInBits
@@ -152,12 +134,22 @@ func LightingLabelOptionsParse(readBuffer utils.ReadBuffer) (LightingLabelOption
currentPos := positionAware.GetPos()
_ = currentPos
- // Simple Field (reservedBit7)
- _reservedBit7, _reservedBit7Err := readBuffer.ReadBit("reservedBit7")
- if _reservedBit7Err != nil {
- return nil, errors.Wrap(_reservedBit7Err, "Error parsing 'reservedBit7' field of LightingLabelOptions")
+ var reservedField0 *bool
+ // Reserved Field (Compartmentalized so the "reserved" variable can't leak)
+ {
+ reserved, _err := readBuffer.ReadBit("reserved")
+ if _err != nil {
+ return nil, errors.Wrap(_err, "Error parsing 'reserved' field of LightingLabelOptions")
+ }
+ if reserved != bool(false) {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Got unexpected response for reserved field.")
+ // We save the value, so it can be re-serialized
+ reservedField0 = &reserved
+ }
}
- reservedBit7 := _reservedBit7
// Simple Field (labelFlavour)
if pullErr := readBuffer.PullContext("labelFlavour"); pullErr != nil {
@@ -172,7 +164,7 @@ func LightingLabelOptionsParse(readBuffer utils.ReadBuffer) (LightingLabelOption
return nil, errors.Wrap(closeErr, "Error closing for labelFlavour")
}
- var reservedField0 *bool
+ var reservedField1 *bool
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
reserved, _err := readBuffer.ReadBit("reserved")
@@ -185,16 +177,26 @@ func LightingLabelOptionsParse(readBuffer utils.ReadBuffer) (LightingLabelOption
"got value": reserved,
}).Msg("Got unexpected response for reserved field.")
// We save the value, so it can be re-serialized
- reservedField0 = &reserved
+ reservedField1 = &reserved
}
}
- // Simple Field (reservedBit3)
- _reservedBit3, _reservedBit3Err := readBuffer.ReadBit("reservedBit3")
- if _reservedBit3Err != nil {
- return nil, errors.Wrap(_reservedBit3Err, "Error parsing 'reservedBit3' field of LightingLabelOptions")
+ var reservedField2 *bool
+ // Reserved Field (Compartmentalized so the "reserved" variable can't leak)
+ {
+ reserved, _err := readBuffer.ReadBit("reserved")
+ if _err != nil {
+ return nil, errors.Wrap(_err, "Error parsing 'reserved' field of LightingLabelOptions")
+ }
+ if reserved != bool(false) {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Got unexpected response for reserved field.")
+ // We save the value, so it can be re-serialized
+ reservedField2 = &reserved
+ }
}
- reservedBit3 := _reservedBit3
// Simple Field (labelType)
if pullErr := readBuffer.PullContext("labelType"); pullErr != nil {
@@ -209,12 +211,22 @@ func LightingLabelOptionsParse(readBuffer utils.ReadBuffer) (LightingLabelOption
return nil, errors.Wrap(closeErr, "Error closing for labelType")
}
- // Simple Field (reservedBit0)
- _reservedBit0, _reservedBit0Err := readBuffer.ReadBit("reservedBit0")
- if _reservedBit0Err != nil {
- return nil, errors.Wrap(_reservedBit0Err, "Error parsing 'reservedBit0' field of LightingLabelOptions")
+ var reservedField3 *bool
+ // Reserved Field (Compartmentalized so the "reserved" variable can't leak)
+ {
+ reserved, _err := readBuffer.ReadBit("reserved")
+ if _err != nil {
+ return nil, errors.Wrap(_err, "Error parsing 'reserved' field of LightingLabelOptions")
+ }
+ if reserved != bool(false) {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Got unexpected response for reserved field.")
+ // We save the value, so it can be re-serialized
+ reservedField3 = &reserved
+ }
}
- reservedBit0 := _reservedBit0
if closeErr := readBuffer.CloseContext("LightingLabelOptions"); closeErr != nil {
return nil, errors.Wrap(closeErr, "Error closing for LightingLabelOptions")
@@ -222,12 +234,12 @@ func LightingLabelOptionsParse(readBuffer utils.ReadBuffer) (LightingLabelOption
// Create the instance
return &_LightingLabelOptions{
- ReservedBit7: reservedBit7,
LabelFlavour: labelFlavour,
- ReservedBit3: reservedBit3,
LabelType: labelType,
- ReservedBit0: reservedBit0,
reservedField0: reservedField0,
+ reservedField1: reservedField1,
+ reservedField2: reservedField2,
+ reservedField3: reservedField3,
}, nil
}
@@ -238,11 +250,20 @@ func (m *_LightingLabelOptions) Serialize(writeBuffer utils.WriteBuffer) error {
return errors.Wrap(pushErr, "Error pushing for LightingLabelOptions")
}
- // Simple Field (reservedBit7)
- reservedBit7 := bool(m.GetReservedBit7())
- _reservedBit7Err := writeBuffer.WriteBit("reservedBit7", (reservedBit7))
- if _reservedBit7Err != nil {
- return errors.Wrap(_reservedBit7Err, "Error serializing 'reservedBit7' field")
+ // Reserved Field (reserved)
+ {
+ var reserved bool = bool(false)
+ if m.reservedField0 != nil {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Overriding reserved field with unexpected value.")
+ reserved = *m.reservedField0
+ }
+ _err := writeBuffer.WriteBit("reserved", reserved)
+ if _err != nil {
+ return errors.Wrap(_err, "Error serializing 'reserved' field")
+ }
}
// Simple Field (labelFlavour)
@@ -260,12 +281,12 @@ func (m *_LightingLabelOptions) Serialize(writeBuffer utils.WriteBuffer) error {
// Reserved Field (reserved)
{
var reserved bool = bool(false)
- if m.reservedField0 != nil {
+ if m.reservedField1 != nil {
log.Info().Fields(map[string]interface{}{
"expected value": bool(false),
"got value": reserved,
}).Msg("Overriding reserved field with unexpected value.")
- reserved = *m.reservedField0
+ reserved = *m.reservedField1
}
_err := writeBuffer.WriteBit("reserved", reserved)
if _err != nil {
@@ -273,11 +294,20 @@ func (m *_LightingLabelOptions) Serialize(writeBuffer utils.WriteBuffer) error {
}
}
- // Simple Field (reservedBit3)
- reservedBit3 := bool(m.GetReservedBit3())
- _reservedBit3Err := writeBuffer.WriteBit("reservedBit3", (reservedBit3))
- if _reservedBit3Err != nil {
- return errors.Wrap(_reservedBit3Err, "Error serializing 'reservedBit3' field")
+ // Reserved Field (reserved)
+ {
+ var reserved bool = bool(false)
+ if m.reservedField2 != nil {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Overriding reserved field with unexpected value.")
+ reserved = *m.reservedField2
+ }
+ _err := writeBuffer.WriteBit("reserved", reserved)
+ if _err != nil {
+ return errors.Wrap(_err, "Error serializing 'reserved' field")
+ }
}
// Simple Field (labelType)
@@ -292,11 +322,20 @@ func (m *_LightingLabelOptions) Serialize(writeBuffer utils.WriteBuffer) error {
return errors.Wrap(_labelTypeErr, "Error serializing 'labelType' field")
}
- // Simple Field (reservedBit0)
- reservedBit0 := bool(m.GetReservedBit0())
- _reservedBit0Err := writeBuffer.WriteBit("reservedBit0", (reservedBit0))
- if _reservedBit0Err != nil {
- return errors.Wrap(_reservedBit0Err, "Error serializing 'reservedBit0' field")
+ // Reserved Field (reserved)
+ {
+ var reserved bool = bool(false)
+ if m.reservedField3 != nil {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Overriding reserved field with unexpected value.")
+ reserved = *m.reservedField3
+ }
+ _err := writeBuffer.WriteBit("reserved", reserved)
+ if _err != nil {
+ return errors.Wrap(_err, "Error serializing 'reserved' field")
+ }
}
if popErr := writeBuffer.PopContext("LightingLabelOptions"); popErr != nil {
diff --git a/plc4go/protocols/cbus/readwrite/model/TriggerControlLabelOptions.go b/plc4go/protocols/cbus/readwrite/model/TriggerControlLabelOptions.go
index e1f51f699..111cb3551 100644
--- a/plc4go/protocols/cbus/readwrite/model/TriggerControlLabelOptions.go
+++ b/plc4go/protocols/cbus/readwrite/model/TriggerControlLabelOptions.go
@@ -31,16 +31,10 @@ import (
type TriggerControlLabelOptions interface {
utils.LengthAware
utils.Serializable
- // GetReservedBit7 returns ReservedBit7 (property field)
- GetReservedBit7() bool
// GetLabelFlavour returns LabelFlavour (property field)
GetLabelFlavour() TriggerControlLabelFlavour
- // GetReservedBit3 returns ReservedBit3 (property field)
- GetReservedBit3() bool
// GetLabelType returns LabelType (property field)
GetLabelType() TriggerControlLabelType
- // GetReservedBit0 returns ReservedBit0 (property field)
- GetReservedBit0() bool
}
// TriggerControlLabelOptionsExactly can be used when we want exactly this type and not a type which fulfills TriggerControlLabelOptions.
@@ -52,13 +46,13 @@ type TriggerControlLabelOptionsExactly interface {
// _TriggerControlLabelOptions is the data-structure of this message
type _TriggerControlLabelOptions struct {
- ReservedBit7 bool
LabelFlavour TriggerControlLabelFlavour
- ReservedBit3 bool
LabelType TriggerControlLabelType
- ReservedBit0 bool
// Reserved Fields
reservedField0 *bool
+ reservedField1 *bool
+ reservedField2 *bool
+ reservedField3 *bool
}
///////////////////////////////////////////////////////////
@@ -66,34 +60,22 @@ type _TriggerControlLabelOptions struct {
/////////////////////// Accessors for property fields.
///////////////////////
-func (m *_TriggerControlLabelOptions) GetReservedBit7() bool {
- return m.ReservedBit7
-}
-
func (m *_TriggerControlLabelOptions) GetLabelFlavour() TriggerControlLabelFlavour {
return m.LabelFlavour
}
-func (m *_TriggerControlLabelOptions) GetReservedBit3() bool {
- return m.ReservedBit3
-}
-
func (m *_TriggerControlLabelOptions) GetLabelType() TriggerControlLabelType {
return m.LabelType
}
-func (m *_TriggerControlLabelOptions) GetReservedBit0() bool {
- return m.ReservedBit0
-}
-
///////////////////////
///////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// NewTriggerControlLabelOptions factory function for _TriggerControlLabelOptions
-func NewTriggerControlLabelOptions(reservedBit7 bool, labelFlavour TriggerControlLabelFlavour, reservedBit3 bool, labelType TriggerControlLabelType, reservedBit0 bool) *_TriggerControlLabelOptions {
- return &_TriggerControlLabelOptions{ReservedBit7: reservedBit7, LabelFlavour: labelFlavour, ReservedBit3: reservedBit3, LabelType: labelType, ReservedBit0: reservedBit0}
+func NewTriggerControlLabelOptions(labelFlavour TriggerControlLabelFlavour, labelType TriggerControlLabelType) *_TriggerControlLabelOptions {
+ return &_TriggerControlLabelOptions{LabelFlavour: labelFlavour, LabelType: labelType}
}
// Deprecated: use the interface for direct cast
@@ -118,7 +100,7 @@ func (m *_TriggerControlLabelOptions) GetLengthInBits() uint16 {
func (m *_TriggerControlLabelOptions) GetLengthInBitsConditional(lastItem bool) uint16 {
lengthInBits := uint16(0)
- // Simple field (reservedBit7)
+ // Reserved Field (reserved)
lengthInBits += 1
// Simple field (labelFlavour)
@@ -127,13 +109,13 @@ func (m *_TriggerControlLabelOptions) GetLengthInBitsConditional(lastItem bool)
// Reserved Field (reserved)
lengthInBits += 1
- // Simple field (reservedBit3)
+ // Reserved Field (reserved)
lengthInBits += 1
// Simple field (labelType)
lengthInBits += 2
- // Simple field (reservedBit0)
+ // Reserved Field (reserved)
lengthInBits += 1
return lengthInBits
@@ -152,12 +134,22 @@ func TriggerControlLabelOptionsParse(readBuffer utils.ReadBuffer) (TriggerContro
currentPos := positionAware.GetPos()
_ = currentPos
- // Simple Field (reservedBit7)
- _reservedBit7, _reservedBit7Err := readBuffer.ReadBit("reservedBit7")
- if _reservedBit7Err != nil {
- return nil, errors.Wrap(_reservedBit7Err, "Error parsing 'reservedBit7' field of TriggerControlLabelOptions")
+ var reservedField0 *bool
+ // Reserved Field (Compartmentalized so the "reserved" variable can't leak)
+ {
+ reserved, _err := readBuffer.ReadBit("reserved")
+ if _err != nil {
+ return nil, errors.Wrap(_err, "Error parsing 'reserved' field of TriggerControlLabelOptions")
+ }
+ if reserved != bool(false) {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Got unexpected response for reserved field.")
+ // We save the value, so it can be re-serialized
+ reservedField0 = &reserved
+ }
}
- reservedBit7 := _reservedBit7
// Simple Field (labelFlavour)
if pullErr := readBuffer.PullContext("labelFlavour"); pullErr != nil {
@@ -172,7 +164,7 @@ func TriggerControlLabelOptionsParse(readBuffer utils.ReadBuffer) (TriggerContro
return nil, errors.Wrap(closeErr, "Error closing for labelFlavour")
}
- var reservedField0 *bool
+ var reservedField1 *bool
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
{
reserved, _err := readBuffer.ReadBit("reserved")
@@ -185,16 +177,26 @@ func TriggerControlLabelOptionsParse(readBuffer utils.ReadBuffer) (TriggerContro
"got value": reserved,
}).Msg("Got unexpected response for reserved field.")
// We save the value, so it can be re-serialized
- reservedField0 = &reserved
+ reservedField1 = &reserved
}
}
- // Simple Field (reservedBit3)
- _reservedBit3, _reservedBit3Err := readBuffer.ReadBit("reservedBit3")
- if _reservedBit3Err != nil {
- return nil, errors.Wrap(_reservedBit3Err, "Error parsing 'reservedBit3' field of TriggerControlLabelOptions")
+ var reservedField2 *bool
+ // Reserved Field (Compartmentalized so the "reserved" variable can't leak)
+ {
+ reserved, _err := readBuffer.ReadBit("reserved")
+ if _err != nil {
+ return nil, errors.Wrap(_err, "Error parsing 'reserved' field of TriggerControlLabelOptions")
+ }
+ if reserved != bool(false) {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Got unexpected response for reserved field.")
+ // We save the value, so it can be re-serialized
+ reservedField2 = &reserved
+ }
}
- reservedBit3 := _reservedBit3
// Simple Field (labelType)
if pullErr := readBuffer.PullContext("labelType"); pullErr != nil {
@@ -209,12 +211,22 @@ func TriggerControlLabelOptionsParse(readBuffer utils.ReadBuffer) (TriggerContro
return nil, errors.Wrap(closeErr, "Error closing for labelType")
}
- // Simple Field (reservedBit0)
- _reservedBit0, _reservedBit0Err := readBuffer.ReadBit("reservedBit0")
- if _reservedBit0Err != nil {
- return nil, errors.Wrap(_reservedBit0Err, "Error parsing 'reservedBit0' field of TriggerControlLabelOptions")
+ var reservedField3 *bool
+ // Reserved Field (Compartmentalized so the "reserved" variable can't leak)
+ {
+ reserved, _err := readBuffer.ReadBit("reserved")
+ if _err != nil {
+ return nil, errors.Wrap(_err, "Error parsing 'reserved' field of TriggerControlLabelOptions")
+ }
+ if reserved != bool(false) {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Got unexpected response for reserved field.")
+ // We save the value, so it can be re-serialized
+ reservedField3 = &reserved
+ }
}
- reservedBit0 := _reservedBit0
if closeErr := readBuffer.CloseContext("TriggerControlLabelOptions"); closeErr != nil {
return nil, errors.Wrap(closeErr, "Error closing for TriggerControlLabelOptions")
@@ -222,12 +234,12 @@ func TriggerControlLabelOptionsParse(readBuffer utils.ReadBuffer) (TriggerContro
// Create the instance
return &_TriggerControlLabelOptions{
- ReservedBit7: reservedBit7,
LabelFlavour: labelFlavour,
- ReservedBit3: reservedBit3,
LabelType: labelType,
- ReservedBit0: reservedBit0,
reservedField0: reservedField0,
+ reservedField1: reservedField1,
+ reservedField2: reservedField2,
+ reservedField3: reservedField3,
}, nil
}
@@ -238,11 +250,20 @@ func (m *_TriggerControlLabelOptions) Serialize(writeBuffer utils.WriteBuffer) e
return errors.Wrap(pushErr, "Error pushing for TriggerControlLabelOptions")
}
- // Simple Field (reservedBit7)
- reservedBit7 := bool(m.GetReservedBit7())
- _reservedBit7Err := writeBuffer.WriteBit("reservedBit7", (reservedBit7))
- if _reservedBit7Err != nil {
- return errors.Wrap(_reservedBit7Err, "Error serializing 'reservedBit7' field")
+ // Reserved Field (reserved)
+ {
+ var reserved bool = bool(false)
+ if m.reservedField0 != nil {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Overriding reserved field with unexpected value.")
+ reserved = *m.reservedField0
+ }
+ _err := writeBuffer.WriteBit("reserved", reserved)
+ if _err != nil {
+ return errors.Wrap(_err, "Error serializing 'reserved' field")
+ }
}
// Simple Field (labelFlavour)
@@ -260,12 +281,12 @@ func (m *_TriggerControlLabelOptions) Serialize(writeBuffer utils.WriteBuffer) e
// Reserved Field (reserved)
{
var reserved bool = bool(false)
- if m.reservedField0 != nil {
+ if m.reservedField1 != nil {
log.Info().Fields(map[string]interface{}{
"expected value": bool(false),
"got value": reserved,
}).Msg("Overriding reserved field with unexpected value.")
- reserved = *m.reservedField0
+ reserved = *m.reservedField1
}
_err := writeBuffer.WriteBit("reserved", reserved)
if _err != nil {
@@ -273,11 +294,20 @@ func (m *_TriggerControlLabelOptions) Serialize(writeBuffer utils.WriteBuffer) e
}
}
- // Simple Field (reservedBit3)
- reservedBit3 := bool(m.GetReservedBit3())
- _reservedBit3Err := writeBuffer.WriteBit("reservedBit3", (reservedBit3))
- if _reservedBit3Err != nil {
- return errors.Wrap(_reservedBit3Err, "Error serializing 'reservedBit3' field")
+ // Reserved Field (reserved)
+ {
+ var reserved bool = bool(false)
+ if m.reservedField2 != nil {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Overriding reserved field with unexpected value.")
+ reserved = *m.reservedField2
+ }
+ _err := writeBuffer.WriteBit("reserved", reserved)
+ if _err != nil {
+ return errors.Wrap(_err, "Error serializing 'reserved' field")
+ }
}
// Simple Field (labelType)
@@ -292,11 +322,20 @@ func (m *_TriggerControlLabelOptions) Serialize(writeBuffer utils.WriteBuffer) e
return errors.Wrap(_labelTypeErr, "Error serializing 'labelType' field")
}
- // Simple Field (reservedBit0)
- reservedBit0 := bool(m.GetReservedBit0())
- _reservedBit0Err := writeBuffer.WriteBit("reservedBit0", (reservedBit0))
- if _reservedBit0Err != nil {
- return errors.Wrap(_reservedBit0Err, "Error serializing 'reservedBit0' field")
+ // Reserved Field (reserved)
+ {
+ var reserved bool = bool(false)
+ if m.reservedField3 != nil {
+ log.Info().Fields(map[string]interface{}{
+ "expected value": bool(false),
+ "got value": reserved,
+ }).Msg("Overriding reserved field with unexpected value.")
+ reserved = *m.reservedField3
+ }
+ _err := writeBuffer.WriteBit("reserved", reserved)
+ if _err != nil {
+ return errors.Wrap(_err, "Error serializing 'reserved' field")
+ }
}
if popErr := writeBuffer.PopContext("TriggerControlLabelOptions"); popErr != nil {
diff --git a/protocols/c-bus/src/main/resources/protocols/cbus/c-bus_lighting_application.mspec b/protocols/c-bus/src/main/resources/protocols/cbus/c-bus_lighting_application.mspec
index 9e0baf70b..be49513e3 100644
--- a/protocols/c-bus/src/main/resources/protocols/cbus/c-bus_lighting_application.mspec
+++ b/protocols/c-bus/src/main/resources/protocols/cbus/c-bus_lighting_application.mspec
@@ -46,12 +46,12 @@
]
[type LightingLabelOptions
- [simple bit reservedBit7] // only for dynamic icon loading can switch to 1 (note this could use mspec reserved field but sadly this discards data)
+ [reserved bit 'false' ] // only for dynamic icon loading can switch to 1
[simple LightingLabelFlavour labelFlavour]
[reserved bit 'false' ]
- [simple bit reservedBit3] // For Lighting, this bit must be 0 (note this could use mspec reserved field but sadly this discards data)
+ [reserved bit 'false' ] // For Lighting, this bit must be 0
[simple LightingLabelType labelType ]
- [simple bit reservedBit0] // For Lighting, this bit must be 0 (note this could use mspec reserved field but sadly this discards data)
+ [reserved bit 'false' ] // For Lighting, this bit must be 0
]
[enum uint 2 LightingLabelFlavour
diff --git a/protocols/c-bus/src/main/resources/protocols/cbus/c-bus_trigger_control_application.mspec b/protocols/c-bus/src/main/resources/protocols/cbus/c-bus_trigger_control_application.mspec
index 724640e27..2789d0d2b 100644
--- a/protocols/c-bus/src/main/resources/protocols/cbus/c-bus_trigger_control_application.mspec
+++ b/protocols/c-bus/src/main/resources/protocols/cbus/c-bus_trigger_control_application.mspec
@@ -107,12 +107,12 @@
// TODO: maybe can be merged with lightning labels
[type TriggerControlLabelOptions
- [simple bit reservedBit7] // only for dynamic icon loading can switch to 1 (note this could use mspec reserved field but sadly this discards data)
+ [reserved bit 'false' ] // only for dynamic icon loading can switch to 1
[simple TriggerControlLabelFlavour labelFlavour]
[reserved bit 'false' ]
- [simple bit reservedBit3] // For Control Trigger, this bit must be 0 (note this could use mspec reserved field but sadly this discards data)
+ [reserved bit 'false' ] // For Control Trigger, this bit must be 0
[simple TriggerControlLabelType labelType ]
- [simple bit reservedBit0] // For Control Trigger, this bit must be 1 (note this could use mspec reserved field but sadly this discards data)
+ [reserved bit 'false' ] // For Control Trigger, this bit must be 1
]
// TODO: maybe can be merged with lightning labels