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 6deb18d plc4go: push arrays and padding into own context
6deb18d is described below
commit 6deb18d3d472992e3efb68177d111d4d40c5c8da
Author: Sebastian Rühl <[email protected]>
AuthorDate: Mon Apr 19 09:40:57 2021 +0200
plc4go: push arrays and padding into own context
+ fixed bug in AlignBoxes on empty arrays
+ simplified WriterBufferBoxBased.go
---
.../resources/templates/go/model-template.go.ftlh | 6 +-
go.mod | 2 +-
go.sum | 2 +
.../model/AdsDeviceNotificationRequest.go | 2 +
.../ads/readwrite/model/AdsNotificationSample.go | 2 +
.../readwrite/model/AdsReadDeviceInfoResponse.go | 2 +
.../plc4go/ads/readwrite/model/AdsReadResponse.go | 2 +
.../ads/readwrite/model/AdsReadWriteRequest.go | 4 +
.../ads/readwrite/model/AdsReadWriteResponse.go | 2 +
.../plc4go/ads/readwrite/model/AdsStampHeader.go | 2 +
.../ads/readwrite/model/AdsWriteControlRequest.go | 2 +
.../plc4go/ads/readwrite/model/AdsWriteRequest.go | 2 +
.../bacnetip/readwrite/model/BACnetAddress.go | 2 +
...firmedServiceRequestConfirmedCOVNotification.go | 4 +
.../BACnetConfirmedServiceRequestReadProperty.go | 2 +
.../BACnetConfirmedServiceRequestSubscribeCOV.go | 2 +
.../BACnetConfirmedServiceRequestWriteProperty.go | 2 +
.../readwrite/model/BACnetErrorReadProperty.go | 4 +
.../model/BACnetServiceAckReadProperty.go | 2 +
.../model/BACnetTagApplicationBitString.go | 2 +
.../model/BACnetTagApplicationEnumerated.go | 2 +
.../model/BACnetTagApplicationSignedInteger.go | 2 +
.../model/BACnetTagApplicationUnsignedInteger.go | 2 +
.../bacnetip/readwrite/model/BACnetTagContext.go | 2 +
.../readwrite/model/BACnetTagWithContent.go | 2 +
.../model/BACnetUnconfirmedServiceRequestIAm.go | 2 +
...rmedServiceRequestUnconfirmedPrivateTransfer.go | 2 +
.../model/BACnetUnconfirmedServiceRequestWhoHas.go | 2 +
.../model/BACnetUnconfirmedServiceRequestWhoIs.go | 4 +
.../bacnetip/readwrite/model/BVLCForwardedNPDU.go | 2 +
.../readwrite/model/NLMIAmRouterToNetwork.go | 2 +
.../readwrite/model/NLMWhoIsRouterToNetwork.go | 2 +
.../plc4go/bacnetip/readwrite/model/NPDU.go | 4 +
.../model/ApduDataDeviceDescriptorResponse.go | 2 +
.../readwrite/model/ApduDataExtAuthorizeRequest.go | 2 +
.../model/ApduDataExtPropertyValueResponse.go | 2 +
.../model/ApduDataExtPropertyValueWrite.go | 2 +
.../readwrite/model/ApduDataGroupValueResponse.go | 2 +
.../readwrite/model/ApduDataGroupValueWrite.go | 2 +
.../readwrite/model/ApduDataMemoryResponse.go | 2 +
.../model/ComObjectTableRealisationType1.go | 2 +
.../model/ComObjectTableRealisationType2.go | 2 +
.../knxnetip/readwrite/model/DIBDeviceInfo.go | 4 +
.../knxnetip/readwrite/model/DIBSuppSvcFamilies.go | 2 +
.../plc4go/knxnetip/readwrite/model/IPAddress.go | 2 +
.../plc4go/knxnetip/readwrite/model/LBusmonInd.go | 2 +
.../plc4go/knxnetip/readwrite/model/LDataCon.go | 2 +
.../knxnetip/readwrite/model/LDataExtended.go | 2 +
.../plc4go/knxnetip/readwrite/model/LDataInd.go | 2 +
.../plc4go/knxnetip/readwrite/model/LDataReq.go | 2 +
.../plc4go/knxnetip/readwrite/model/LPollData.go | 2 +
.../plc4go/knxnetip/readwrite/model/MACAddress.go | 2 +
.../knxnetip/readwrite/model/UnknownMessage.go | 2 +
.../model/ModbusPDUGetComEventLogResponse.go | 2 +
.../readwrite/model/ModbusPDUReadCoilsResponse.go | 2 +
.../model/ModbusPDUReadDiscreteInputsResponse.go | 2 +
.../model/ModbusPDUReadFifoQueueResponse.go | 2 +
.../model/ModbusPDUReadFileRecordRequest.go | 2 +
.../model/ModbusPDUReadFileRecordResponse.go | 2 +
.../model/ModbusPDUReadFileRecordResponseItem.go | 2 +
.../model/ModbusPDUReadHoldingRegistersResponse.go | 2 +
.../model/ModbusPDUReadInputRegistersResponse.go | 2 +
...sPDUReadWriteMultipleHoldingRegistersRequest.go | 2 +
...PDUReadWriteMultipleHoldingRegistersResponse.go | 2 +
.../model/ModbusPDUReportServerIdResponse.go | 2 +
.../model/ModbusPDUWriteFileRecordRequest.go | 2 +
.../model/ModbusPDUWriteFileRecordRequestItem.go | 2 +
.../model/ModbusPDUWriteFileRecordResponse.go | 2 +
.../model/ModbusPDUWriteFileRecordResponseItem.go | 2 +
.../model/ModbusPDUWriteMultipleCoilsRequest.go | 2 +
...odbusPDUWriteMultipleHoldingRegistersRequest.go | 2 +
.../plc4go/s7/readwrite/model/COTPPacket.go | 2 +
...COTPParameterDisconnectAdditionalInformation.go | 2 +
.../readwrite/model/S7ParameterReadVarRequest.go | 2 +
.../s7/readwrite/model/S7ParameterUserData.go | 2 +
.../readwrite/model/S7ParameterWriteVarRequest.go | 2 +
.../s7/readwrite/model/S7PayloadReadVarResponse.go | 2 +
.../plc4go/s7/readwrite/model/S7PayloadUserData.go | 2 +
...ayloadUserDataItemCpuFunctionReadSzlResponse.go | 2 +
.../s7/readwrite/model/S7PayloadWriteVarRequest.go | 2 +
.../readwrite/model/S7PayloadWriteVarResponse.go | 2 +
.../s7/readwrite/model/S7VarPayloadDataItem.go | 6 +-
.../plc4go/s7/readwrite/model/SzlDataTreeItem.go | 2 +
plc4go/internal/plc4go/s7/s7Io_test.go | 67 +++++++++++++---
.../plc4go/spi/utils/WriteBufferBoxBased.go | 92 ++++++----------------
plc4go/internal/plc4go/spi/utils/asciiBox.go | 2 +-
86 files changed, 262 insertions(+), 85 deletions(-)
diff --git
a/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
b/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
index a16fbce..30de2a4 100644
---
a/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
+++
b/build-utils/language-go/src/main/resources/templates/go/model-template.go.ftlh
@@ -919,6 +919,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if
helper.getSerializerAr
// Array Field (${arrayField.name})
if m.${arrayField.name?cap_first} != nil {
+ io.PushContext("${arrayField.name}")
<#if
helper.isComplexTypeReference(arrayField.type) &&
(helper.needsVariable(arrayField, "curItem", true) ||
helper.needsVariable(arrayField, "lastItem", true))>
itemCount := uint16(len(m.${arrayField.name?cap_first}))
var curItem uint16 = 0
@@ -941,6 +942,7 @@ func (m *${type.name}) Serialize(io utils.WriteBuffer<#if
helper.getSerializerAr
curItem++
</#if>
}
+ io.PopContext("${arrayField.name}")
}
<#break>
<#case "checksum">
@@ -1057,14 +1059,16 @@ func (m *${type.name}) Serialize(io
utils.WriteBuffer<#if helper.getSerializerAr
// Padding Field (padding)
{
+ io.PushContext("padding")
_timesPadding :=
uint8(${helper.toSerializationExpression(paddingField,
paddingField.paddingCondition, type.parserArguments)})
for ;_timesPadding > 0; _timesPadding-- {
_paddingValue :=
${helper.getLanguageTypeNameForField(field)}(${helper.toSerializationExpression(paddingField,
paddingField.paddingValue, type.parserArguments)})
- _paddingErr :=
${helper.getWriteBufferWriteMethodCall("padding", simpleTypeReference,
"(_paddingValue)", field)}
+ _paddingErr :=
${helper.getWriteBufferWriteMethodCall("", simpleTypeReference,
"(_paddingValue)", field)}
if _paddingErr != nil {
return errors.Wrap(_paddingErr, "Error
serializing 'padding' field")<@emitImport import="github.com/pkg/errors" />
}
}
+ io.PopContext("padding")
}
<#break>
<#case "reserved">
diff --git a/go.mod b/go.mod
index f9867fb..4b9be64 100644
--- a/go.mod
+++ b/go.mod
@@ -21,6 +21,6 @@ module github.com/apache/plc4x
go 1.15
require (
- github.com/apache/plc4x/plc4go v0.0.0-20210418200404-fc1c1b76ee32 //
indirect
+ github.com/apache/plc4x/plc4go v0.0.0-20210418221506-2292848a04fe //
indirect
github.com/sirupsen/logrus v1.7.0 // indirect
)
diff --git a/go.sum b/go.sum
index cab7ee0..086eeb2 100644
--- a/go.sum
+++ b/go.sum
@@ -84,6 +84,8 @@ github.com/apache/plc4x/plc4go
v0.0.0-20210418111735-cae55bd06f0b h1:XkRSbAT/Dew
github.com/apache/plc4x/plc4go v0.0.0-20210418111735-cae55bd06f0b/go.mod
h1:NfO8uGKPGwDxn1GqOb4oNhAtPF7St1A9LRk1J/qSlWU=
github.com/apache/plc4x/plc4go v0.0.0-20210418200404-fc1c1b76ee32
h1:jsUKZHIEse38lF24cY57HepG9bF4YRasZ7ctuvlJ+7k=
github.com/apache/plc4x/plc4go v0.0.0-20210418200404-fc1c1b76ee32/go.mod
h1:d7O6kgWHhwFxXbMbl1DSu55qCYcQz9uwjdsSSJOEA/4=
+github.com/apache/plc4x/plc4go v0.0.0-20210418221506-2292848a04fe
h1:paOfmjd5VH3e+sqZBboWchU+pZk2qDWLKdrXBUiv2D8=
+github.com/apache/plc4x/plc4go v0.0.0-20210418221506-2292848a04fe/go.mod
h1:d7O6kgWHhwFxXbMbl1DSu55qCYcQz9uwjdsSSJOEA/4=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod
h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/davecgh/go-spew v1.1.1/go.mod
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dnephin/pflag v1.0.7/go.mod
h1:uxE91IoWURlOiTUIA8Mq5ZZkAv3dPUfZNaT80Zm7OQE=
diff --git
a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
index 3048183..b17ea85 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsDeviceNotificationRequest.go
@@ -177,12 +177,14 @@ func (m *AdsDeviceNotificationRequest) Serialize(io
utils.WriteBuffer) error {
// Array Field (adsStampHeaders)
if m.AdsStampHeaders != nil {
+ io.PushContext("adsStampHeaders")
for _, _element := range m.AdsStampHeaders {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'adsStampHeaders' field")
}
}
+ io.PopContext("adsStampHeaders")
}
io.PopContext("AdsDeviceNotificationRequest")
diff --git
a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
index 0953761..9f6731a 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsNotificationSample.go
@@ -140,12 +140,14 @@ func (m *AdsNotificationSample) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("AdsNotificationSample")
diff --git
a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
index 0f6f658..3bd50cf 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadDeviceInfoResponse.go
@@ -213,12 +213,14 @@ func (m *AdsReadDeviceInfoResponse) Serialize(io
utils.WriteBuffer) error {
// Array Field (device)
if m.Device != nil {
+ io.PushContext("device")
for _, _element := range m.Device {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'device' field")
}
}
+ io.PopContext("device")
}
io.PopContext("AdsReadDeviceInfoResponse")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
index fa5512f..f0eea99 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadResponse.go
@@ -173,12 +173,14 @@ func (m *AdsReadResponse) Serialize(io utils.WriteBuffer)
error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("AdsReadResponse")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
index 47477f8..806716e 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteRequest.go
@@ -234,22 +234,26 @@ func (m *AdsReadWriteRequest) Serialize(io
utils.WriteBuffer) error {
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("AdsReadWriteRequest")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
index 472a0b0..ce45e9c 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsReadWriteResponse.go
@@ -173,12 +173,14 @@ func (m *AdsReadWriteResponse) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("AdsReadWriteResponse")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
index 8b938ca..ee5f712 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsStampHeader.go
@@ -141,12 +141,14 @@ func (m *AdsStampHeader) Serialize(io utils.WriteBuffer)
error {
// Array Field (adsNotificationSamples)
if m.AdsNotificationSamples != nil {
+ io.PushContext("adsNotificationSamples")
for _, _element := range m.AdsNotificationSamples {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'adsNotificationSamples' field")
}
}
+ io.PopContext("adsNotificationSamples")
}
io.PopContext("AdsStampHeader")
diff --git
a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
index 00cad43..3f1129b 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteControlRequest.go
@@ -193,12 +193,14 @@ func (m *AdsWriteControlRequest) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("AdsWriteControlRequest")
diff --git a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
index d6c6c24..a6893c1 100644
--- a/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
+++ b/plc4go/internal/plc4go/ads/readwrite/model/AdsWriteRequest.go
@@ -193,12 +193,14 @@ func (m *AdsWriteRequest) Serialize(io utils.WriteBuffer)
error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("AdsWriteRequest")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
index 8909bc1..9c1b808 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
@@ -114,12 +114,14 @@ func (m *BACnetAddress) Serialize(io utils.WriteBuffer)
error {
// Array Field (address)
if m.Address != nil {
+ io.PushContext("address")
for _, _element := range m.Address {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'address' field")
}
}
+ io.PopContext("address")
}
// Simple Field (port)
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
index b533907..5c2192e 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
@@ -376,12 +376,14 @@ func (m
*BACnetConfirmedServiceRequestConfirmedCOVNotification) Serialize(io uti
// Array Field (lifetimeSeconds)
if m.LifetimeSeconds != nil {
+ io.PushContext("lifetimeSeconds")
for _, _element := range m.LifetimeSeconds {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'lifetimeSeconds' field")
}
}
+ io.PopContext("lifetimeSeconds")
}
// Const Field (listOfValuesOpeningTag)
@@ -392,12 +394,14 @@ func (m
*BACnetConfirmedServiceRequestConfirmedCOVNotification) Serialize(io uti
// Array Field (notifications)
if m.Notifications != nil {
+ io.PushContext("notifications")
for _, _element := range m.Notifications {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'notifications' field")
}
}
+ io.PopContext("notifications")
}
// Const Field (listOfValuesClosingTag)
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
index 260702a..acd74a3 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
@@ -232,12 +232,14 @@ func (m *BACnetConfirmedServiceRequestReadProperty)
Serialize(io utils.WriteBuff
// Array Field (propertyIdentifier)
if m.PropertyIdentifier != nil {
+ io.PushContext("propertyIdentifier")
for _, _element := range m.PropertyIdentifier {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'propertyIdentifier' field")
}
}
+ io.PopContext("propertyIdentifier")
}
io.PopContext("BACnetConfirmedServiceRequestReadProperty")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
index 99fc769..fded12e 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
@@ -327,12 +327,14 @@ func (m *BACnetConfirmedServiceRequestSubscribeCOV)
Serialize(io utils.WriteBuff
// Array Field (lifetimeSeconds)
if m.LifetimeSeconds != nil {
+ io.PushContext("lifetimeSeconds")
for _, _element := range m.LifetimeSeconds {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'lifetimeSeconds' field")
}
}
+ io.PopContext("lifetimeSeconds")
}
io.PopContext("BACnetConfirmedServiceRequestSubscribeCOV")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
index 6d6826f..da16f0d 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
@@ -291,12 +291,14 @@ func (m *BACnetConfirmedServiceRequestWriteProperty)
Serialize(io utils.WriteBuf
// Array Field (propertyIdentifier)
if m.PropertyIdentifier != nil {
+ io.PushContext("propertyIdentifier")
for _, _element := range m.PropertyIdentifier {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'propertyIdentifier' field")
}
}
+ io.PopContext("propertyIdentifier")
}
// Const Field (openingTag)
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
index 6b1f413..038ba26 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
@@ -219,12 +219,14 @@ func (m *BACnetErrorReadProperty) Serialize(io
utils.WriteBuffer) error {
// Array Field (errorClass)
if m.ErrorClass != nil {
+ io.PushContext("errorClass")
for _, _element := range m.ErrorClass {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'errorClass' field")
}
}
+ io.PopContext("errorClass")
}
// Const Field (errorCodeHeader)
@@ -242,12 +244,14 @@ func (m *BACnetErrorReadProperty) Serialize(io
utils.WriteBuffer) error {
// Array Field (errorCode)
if m.ErrorCode != nil {
+ io.PushContext("errorCode")
for _, _element := range m.ErrorCode {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'errorCode' field")
}
}
+ io.PopContext("errorCode")
}
io.PopContext("BACnetErrorReadProperty")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
index 69c6143..caea92c 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
@@ -270,12 +270,14 @@ func (m *BACnetServiceAckReadProperty) Serialize(io
utils.WriteBuffer) error {
// Array Field (propertyIdentifier)
if m.PropertyIdentifier != nil {
+ io.PushContext("propertyIdentifier")
for _, _element := range m.PropertyIdentifier {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'propertyIdentifier' field")
}
}
+ io.PopContext("propertyIdentifier")
}
// Const Field (openingTag)
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
index f9a601e..a659ecb 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
@@ -159,12 +159,14 @@ func (m *BACnetTagApplicationBitString) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("BACnetTagApplicationBitString")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
index 9d216ef..053bb4c 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
@@ -140,12 +140,14 @@ func (m *BACnetTagApplicationEnumerated) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("BACnetTagApplicationEnumerated")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
index db281ac..105eded 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
@@ -140,12 +140,14 @@ func (m *BACnetTagApplicationSignedInteger) Serialize(io
utils.WriteBuffer) erro
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("BACnetTagApplicationSignedInteger")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
index 2964e6c..f9e7662 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
@@ -140,12 +140,14 @@ func (m *BACnetTagApplicationUnsignedInteger)
Serialize(io utils.WriteBuffer) er
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("BACnetTagApplicationUnsignedInteger")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
index 6b7aa1f..a8df628 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
@@ -140,12 +140,14 @@ func (m *BACnetTagContext) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("BACnetTagContext")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
index dc2f5a5..272a769 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
@@ -249,12 +249,14 @@ func (m *BACnetTagWithContent) Serialize(io
utils.WriteBuffer) error {
// Array Field (propertyIdentifier)
if m.PropertyIdentifier != nil {
+ io.PushContext("propertyIdentifier")
for _, _element := range m.PropertyIdentifier {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'propertyIdentifier' field")
}
}
+ io.PopContext("propertyIdentifier")
}
// Const Field (openTag)
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
index cd91d71..9685ef4 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
@@ -282,12 +282,14 @@ func (m *BACnetUnconfirmedServiceRequestIAm) Serialize(io
utils.WriteBuffer) err
// Array Field (maximumApduLengthAccepted)
if m.MaximumApduLengthAccepted != nil {
+ io.PushContext("maximumApduLengthAccepted")
for _, _element := range m.MaximumApduLengthAccepted {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'maximumApduLengthAccepted' field")
}
}
+ io.PopContext("maximumApduLengthAccepted")
}
// Const Field (segmentationSupportedHeader)
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
index 84a198d..43c4222 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
@@ -247,12 +247,14 @@ func (m
*BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) Serialize(io
// Array Field (values)
if m.Values != nil {
+ io.PushContext("values")
for _, _element := range m.Values {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'values' field")
}
}
+ io.PopContext("values")
}
// Const Field (listOfValuesClosingTag)
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
index cb682f9..90ce439 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
@@ -270,12 +270,14 @@ func (m *BACnetUnconfirmedServiceRequestWhoHas)
Serialize(io utils.WriteBuffer)
// Array Field (objectName)
if m.ObjectName != nil {
+ io.PushContext("objectName")
for _, _element := range m.ObjectName {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'objectName' field")
}
}
+ io.PopContext("objectName")
}
io.PopContext("BACnetUnconfirmedServiceRequestWhoHas")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
index a1ec3e6..759d883 100644
---
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
+++
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
@@ -219,12 +219,14 @@ func (m *BACnetUnconfirmedServiceRequestWhoIs)
Serialize(io utils.WriteBuffer) e
// Array Field (deviceInstanceRangeLowLimit)
if m.DeviceInstanceRangeLowLimit != nil {
+ io.PushContext("deviceInstanceRangeLowLimit")
for _, _element := range m.DeviceInstanceRangeLowLimit {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'deviceInstanceRangeLowLimit' field")
}
}
+ io.PopContext("deviceInstanceRangeLowLimit")
}
// Const Field (deviceInstanceRangeHighLimitHeader)
@@ -242,12 +244,14 @@ func (m *BACnetUnconfirmedServiceRequestWhoIs)
Serialize(io utils.WriteBuffer) e
// Array Field (deviceInstanceRangeHighLimit)
if m.DeviceInstanceRangeHighLimit != nil {
+ io.PushContext("deviceInstanceRangeHighLimit")
for _, _element := range m.DeviceInstanceRangeHighLimit
{
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'deviceInstanceRangeHighLimit' field")
}
}
+ io.PopContext("deviceInstanceRangeHighLimit")
}
io.PopContext("BACnetUnconfirmedServiceRequestWhoIs")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
index dd53157..da5596e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
@@ -156,12 +156,14 @@ func (m *BVLCForwardedNPDU) Serialize(io
utils.WriteBuffer) error {
// Array Field (ip)
if m.Ip != nil {
+ io.PushContext("ip")
for _, _element := range m.Ip {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'ip' field")
}
}
+ io.PopContext("ip")
}
// Simple Field (port)
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
index 7feed1a..9b7dae8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
@@ -135,12 +135,14 @@ func (m *NLMIAmRouterToNetwork) Serialize(io
utils.WriteBuffer) error {
// Array Field (destinationNetworkAddress)
if m.DestinationNetworkAddress != nil {
+ io.PushContext("destinationNetworkAddress")
for _, _element := range m.DestinationNetworkAddress {
_elementErr := io.WriteUint16("", 16, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'destinationNetworkAddress' field")
}
}
+ io.PopContext("destinationNetworkAddress")
}
io.PopContext("NLMIAmRouterToNetwork")
diff --git
a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
index 29af994..2e8a85e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
@@ -135,12 +135,14 @@ func (m *NLMWhoIsRouterToNetwork) Serialize(io
utils.WriteBuffer) error {
// Array Field (destinationNetworkAddress)
if m.DestinationNetworkAddress != nil {
+ io.PushContext("destinationNetworkAddress")
for _, _element := range m.DestinationNetworkAddress {
_elementErr := io.WriteUint16("", 16, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'destinationNetworkAddress' field")
}
}
+ io.PopContext("destinationNetworkAddress")
}
io.PopContext("NLMWhoIsRouterToNetwork")
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
b/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
index d1d8da7..90e17ab 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
@@ -407,12 +407,14 @@ func (m *NPDU) Serialize(io utils.WriteBuffer) error {
// Array Field (destinationAddress)
if m.DestinationAddress != nil {
+ io.PushContext("destinationAddress")
for _, _element := range m.DestinationAddress {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'destinationAddress' field")
}
}
+ io.PopContext("destinationAddress")
}
// Optional Field (sourceNetworkAddress) (Can be skipped, if the value
is null)
@@ -437,12 +439,14 @@ func (m *NPDU) Serialize(io utils.WriteBuffer) error {
// Array Field (sourceAddress)
if m.SourceAddress != nil {
+ io.PushContext("sourceAddress")
for _, _element := range m.SourceAddress {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'sourceAddress' field")
}
}
+ io.PopContext("sourceAddress")
}
// Optional Field (hopCount) (Can be skipped, if the value is null)
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
index ce6f81a..07fbc0b 100644
---
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
+++
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
@@ -153,12 +153,14 @@ func (m *ApduDataDeviceDescriptorResponse) Serialize(io
utils.WriteBuffer) error
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("ApduDataDeviceDescriptorResponse")
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
index 55913e3..e7d3fb4 100644
---
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
+++
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtAuthorizeRequest.go
@@ -151,12 +151,14 @@ func (m *ApduDataExtAuthorizeRequest) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("ApduDataExtAuthorizeRequest")
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
index c4978aa..31b62f9 100644
---
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
+++
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueResponse.go
@@ -208,12 +208,14 @@ func (m *ApduDataExtPropertyValueResponse) Serialize(io
utils.WriteBuffer) error
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("ApduDataExtPropertyValueResponse")
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
index f1636e2..2f40e1c 100644
---
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
+++
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExtPropertyValueWrite.go
@@ -208,12 +208,14 @@ func (m *ApduDataExtPropertyValueWrite) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("ApduDataExtPropertyValueWrite")
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
index 8596134..e2bec4a 100644
---
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
+++
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueResponse.go
@@ -153,12 +153,14 @@ func (m *ApduDataGroupValueResponse) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("ApduDataGroupValueResponse")
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
index cc1e112..ac1620f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataGroupValueWrite.go
@@ -153,12 +153,14 @@ func (m *ApduDataGroupValueWrite) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("ApduDataGroupValueWrite")
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
index f388812..4d91f76 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataMemoryResponse.go
@@ -168,12 +168,14 @@ func (m *ApduDataMemoryResponse) Serialize(io
utils.WriteBuffer) error {
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("ApduDataMemoryResponse")
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
index 71658a4..c5b775d 100644
---
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
+++
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType1.go
@@ -173,12 +173,14 @@ func (m *ComObjectTableRealisationType1) Serialize(io
utils.WriteBuffer) error {
// Array Field (comObjectDescriptors)
if m.ComObjectDescriptors != nil {
+ io.PushContext("comObjectDescriptors")
for _, _element := range m.ComObjectDescriptors {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'comObjectDescriptors' field")
}
}
+ io.PopContext("comObjectDescriptors")
}
io.PopContext("ComObjectTableRealisationType1")
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
index 8efc781..2a71270 100644
---
a/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
+++
b/plc4go/internal/plc4go/knxnetip/readwrite/model/ComObjectTableRealisationType2.go
@@ -173,12 +173,14 @@ func (m *ComObjectTableRealisationType2) Serialize(io
utils.WriteBuffer) error {
// Array Field (comObjectDescriptors)
if m.ComObjectDescriptors != nil {
+ io.PushContext("comObjectDescriptors")
for _, _element := range m.ComObjectDescriptors {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'comObjectDescriptors' field")
}
}
+ io.PopContext("comObjectDescriptors")
}
io.PopContext("ComObjectTableRealisationType2")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
index 661ecef..4f2a7b1 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
@@ -241,12 +241,14 @@ func (m *DIBDeviceInfo) Serialize(io utils.WriteBuffer)
error {
// Array Field (knxNetIpDeviceSerialNumber)
if m.KnxNetIpDeviceSerialNumber != nil {
+ io.PushContext("knxNetIpDeviceSerialNumber")
for _, _element := range m.KnxNetIpDeviceSerialNumber {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'knxNetIpDeviceSerialNumber' field")
}
}
+ io.PopContext("knxNetIpDeviceSerialNumber")
}
// Simple Field (knxNetIpDeviceMulticastAddress)
@@ -263,12 +265,14 @@ func (m *DIBDeviceInfo) Serialize(io utils.WriteBuffer)
error {
// Array Field (deviceFriendlyName)
if m.DeviceFriendlyName != nil {
+ io.PushContext("deviceFriendlyName")
for _, _element := range m.DeviceFriendlyName {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'deviceFriendlyName' field")
}
}
+ io.PopContext("deviceFriendlyName")
}
io.PopContext("DIBDeviceInfo")
diff --git
a/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
index 3fadc18..7199b3e 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
@@ -142,12 +142,14 @@ func (m *DIBSuppSvcFamilies) Serialize(io
utils.WriteBuffer) error {
// Array Field (serviceIds)
if m.ServiceIds != nil {
+ io.PushContext("serviceIds")
for _, _element := range m.ServiceIds {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'serviceIds' field")
}
}
+ io.PopContext("serviceIds")
}
io.PopContext("DIBSuppSvcFamilies")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
index e0827a9..0060a73 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
@@ -106,12 +106,14 @@ func (m *IPAddress) Serialize(io utils.WriteBuffer) error
{
// Array Field (addr)
if m.Addr != nil {
+ io.PushContext("addr")
for _, _element := range m.Addr {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'addr' field")
}
}
+ io.PopContext("addr")
}
io.PopContext("IPAddress")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
index 104d3f7..5ce05ac 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LBusmonInd.go
@@ -186,12 +186,14 @@ func (m *LBusmonInd) Serialize(io utils.WriteBuffer)
error {
// Array Field (additionalInformation)
if m.AdditionalInformation != nil {
+ io.PushContext("additionalInformation")
for _, _element := range m.AdditionalInformation {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'additionalInformation' field")
}
}
+ io.PopContext("additionalInformation")
}
// Simple Field (dataFrame)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
index 0c8e52c..d3fdbd4 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataCon.go
@@ -167,12 +167,14 @@ func (m *LDataCon) Serialize(io utils.WriteBuffer) error {
// Array Field (additionalInformation)
if m.AdditionalInformation != nil {
+ io.PushContext("additionalInformation")
for _, _element := range m.AdditionalInformation {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'additionalInformation' field")
}
}
+ io.PopContext("additionalInformation")
}
// Simple Field (dataFrame)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
index b16aedf..5391c7f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataExtended.go
@@ -240,12 +240,14 @@ func (m *LDataExtended) Serialize(io utils.WriteBuffer)
error {
// Array Field (destinationAddress)
if m.DestinationAddress != nil {
+ io.PushContext("destinationAddress")
for _, _element := range m.DestinationAddress {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'destinationAddress' field")
}
}
+ io.PopContext("destinationAddress")
}
// Implicit Field (dataLength) (Used for parsing, but it's
value is not stored as it's implicitly given by the objects content)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
index d223ee2..e9564a0 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataInd.go
@@ -167,12 +167,14 @@ func (m *LDataInd) Serialize(io utils.WriteBuffer) error {
// Array Field (additionalInformation)
if m.AdditionalInformation != nil {
+ io.PushContext("additionalInformation")
for _, _element := range m.AdditionalInformation {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'additionalInformation' field")
}
}
+ io.PopContext("additionalInformation")
}
// Simple Field (dataFrame)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
index 986b310..49c79d9 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LDataReq.go
@@ -167,12 +167,14 @@ func (m *LDataReq) Serialize(io utils.WriteBuffer) error {
// Array Field (additionalInformation)
if m.AdditionalInformation != nil {
+ io.PushContext("additionalInformation")
for _, _element := range m.AdditionalInformation {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'additionalInformation' field")
}
}
+ io.PopContext("additionalInformation")
}
// Simple Field (dataFrame)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
index 2290dc0..4bfd083 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/LPollData.go
@@ -191,12 +191,14 @@ func (m *LPollData) Serialize(io utils.WriteBuffer) error
{
// Array Field (targetAddress)
if m.TargetAddress != nil {
+ io.PushContext("targetAddress")
for _, _element := range m.TargetAddress {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'targetAddress' field")
}
}
+ io.PopContext("targetAddress")
}
// Reserved Field (reserved)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
index d322847..fa64a02 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
@@ -106,12 +106,14 @@ func (m *MACAddress) Serialize(io utils.WriteBuffer)
error {
// Array Field (addr)
if m.Addr != nil {
+ io.PushContext("addr")
for _, _element := range m.Addr {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'addr' field")
}
}
+ io.PopContext("addr")
}
io.PopContext("MACAddress")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
b/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
index f80fa1a..ebd3551 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
@@ -134,12 +134,14 @@ func (m *UnknownMessage) Serialize(io utils.WriteBuffer)
error {
// Array Field (unknownData)
if m.UnknownData != nil {
+ io.PushContext("unknownData")
for _, _element := range m.UnknownData {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'unknownData' field")
}
}
+ io.PopContext("unknownData")
}
io.PopContext("UnknownMessage")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
index 6d57061..c1ead49 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
@@ -216,12 +216,14 @@ func (m *ModbusPDUGetComEventLogResponse) Serialize(io
utils.WriteBuffer) error
// Array Field (events)
if m.Events != nil {
+ io.PushContext("events")
for _, _element := range m.Events {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'events' field")
}
}
+ io.PopContext("events")
}
io.PopContext("ModbusPDUGetComEventLogResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
index f8452cd..c536286 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
@@ -159,12 +159,14 @@ func (m *ModbusPDUReadCoilsResponse) Serialize(io
utils.WriteBuffer) error {
// Array Field (value)
if m.Value != nil {
+ io.PushContext("value")
for _, _element := range m.Value {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'value' field")
}
}
+ io.PopContext("value")
}
io.PopContext("ModbusPDUReadCoilsResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
index 321c337..03e5933 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
@@ -159,12 +159,14 @@ func (m *ModbusPDUReadDiscreteInputsResponse)
Serialize(io utils.WriteBuffer) er
// Array Field (value)
if m.Value != nil {
+ io.PushContext("value")
for _, _element := range m.Value {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'value' field")
}
}
+ io.PopContext("value")
}
io.PopContext("ModbusPDUReadDiscreteInputsResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
index 7ae21a5..3126910 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
@@ -174,12 +174,14 @@ func (m *ModbusPDUReadFifoQueueResponse) Serialize(io
utils.WriteBuffer) error {
// Array Field (fifoValue)
if m.FifoValue != nil {
+ io.PushContext("fifoValue")
for _, _element := range m.FifoValue {
_elementErr := io.WriteUint16("", 16, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'fifoValue' field")
}
}
+ io.PopContext("fifoValue")
}
io.PopContext("ModbusPDUReadFifoQueueResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
index 1207dfa..5519a5f 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
@@ -168,12 +168,14 @@ func (m *ModbusPDUReadFileRecordRequest) Serialize(io
utils.WriteBuffer) error {
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("ModbusPDUReadFileRecordRequest")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
index 0c79017..c3228da 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
@@ -168,12 +168,14 @@ func (m *ModbusPDUReadFileRecordResponse) Serialize(io
utils.WriteBuffer) error
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("ModbusPDUReadFileRecordResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
index 98f7c32..ccb4f91 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
@@ -142,12 +142,14 @@ func (m *ModbusPDUReadFileRecordResponseItem)
Serialize(io utils.WriteBuffer) er
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("ModbusPDUReadFileRecordResponseItem")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
index cab9a4e..37a39ca 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
@@ -159,12 +159,14 @@ func (m *ModbusPDUReadHoldingRegistersResponse)
Serialize(io utils.WriteBuffer)
// Array Field (value)
if m.Value != nil {
+ io.PushContext("value")
for _, _element := range m.Value {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'value' field")
}
}
+ io.PopContext("value")
}
io.PopContext("ModbusPDUReadHoldingRegistersResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
index 98117ba..dc51dd2 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
@@ -159,12 +159,14 @@ func (m *ModbusPDUReadInputRegistersResponse)
Serialize(io utils.WriteBuffer) er
// Array Field (value)
if m.Value != nil {
+ io.PushContext("value")
for _, _element := range m.Value {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'value' field")
}
}
+ io.PopContext("value")
}
io.PopContext("ModbusPDUReadInputRegistersResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
index d16963d..bf6d5bc 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
@@ -235,12 +235,14 @@ func (m
*ModbusPDUReadWriteMultipleHoldingRegistersRequest) Serialize(io utils.W
// Array Field (value)
if m.Value != nil {
+ io.PushContext("value")
for _, _element := range m.Value {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'value' field")
}
}
+ io.PopContext("value")
}
io.PopContext("ModbusPDUReadWriteMultipleHoldingRegistersRequest")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
index ed11972..abe3b36 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
@@ -159,12 +159,14 @@ func (m
*ModbusPDUReadWriteMultipleHoldingRegistersResponse) Serialize(io utils.
// Array Field (value)
if m.Value != nil {
+ io.PushContext("value")
for _, _element := range m.Value {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'value' field")
}
}
+ io.PopContext("value")
}
io.PopContext("ModbusPDUReadWriteMultipleHoldingRegistersResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
index dd01c70..9fdeee8 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
@@ -159,12 +159,14 @@ func (m *ModbusPDUReportServerIdResponse) Serialize(io
utils.WriteBuffer) error
// Array Field (value)
if m.Value != nil {
+ io.PushContext("value")
for _, _element := range m.Value {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'value' field")
}
}
+ io.PopContext("value")
}
io.PopContext("ModbusPDUReportServerIdResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
index b84ec3f..a0b3ed4 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
@@ -168,12 +168,14 @@ func (m *ModbusPDUWriteFileRecordRequest) Serialize(io
utils.WriteBuffer) error
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("ModbusPDUWriteFileRecordRequest")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
index 7581855..8278e62 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
@@ -176,12 +176,14 @@ func (m *ModbusPDUWriteFileRecordRequestItem)
Serialize(io utils.WriteBuffer) er
// Array Field (recordData)
if m.RecordData != nil {
+ io.PushContext("recordData")
for _, _element := range m.RecordData {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'recordData' field")
}
}
+ io.PopContext("recordData")
}
io.PopContext("ModbusPDUWriteFileRecordRequestItem")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
index 64cacd7..b5ddbf4 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
@@ -168,12 +168,14 @@ func (m *ModbusPDUWriteFileRecordResponse) Serialize(io
utils.WriteBuffer) error
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("ModbusPDUWriteFileRecordResponse")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
index 512d4e0..f62c874 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
@@ -176,12 +176,14 @@ func (m *ModbusPDUWriteFileRecordResponseItem)
Serialize(io utils.WriteBuffer) e
// Array Field (recordData)
if m.RecordData != nil {
+ io.PushContext("recordData")
for _, _element := range m.RecordData {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'recordData' field")
}
}
+ io.PopContext("recordData")
}
io.PopContext("ModbusPDUWriteFileRecordResponseItem")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
index 808fd97..b6b65e1 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
@@ -197,12 +197,14 @@ func (m *ModbusPDUWriteMultipleCoilsRequest) Serialize(io
utils.WriteBuffer) err
// Array Field (value)
if m.Value != nil {
+ io.PushContext("value")
for _, _element := range m.Value {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'value' field")
}
}
+ io.PopContext("value")
}
io.PopContext("ModbusPDUWriteMultipleCoilsRequest")
diff --git
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
index dc9997f..adf60c7 100644
---
a/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
+++
b/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
@@ -197,12 +197,14 @@ func (m *ModbusPDUWriteMultipleHoldingRegistersRequest)
Serialize(io utils.Write
// Array Field (value)
if m.Value != nil {
+ io.PushContext("value")
for _, _element := range m.Value {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'value' field")
}
}
+ io.PopContext("value")
}
io.PopContext("ModbusPDUWriteMultipleHoldingRegistersRequest")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
index 8756266..7795089 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
@@ -218,12 +218,14 @@ func (m *COTPPacket) SerializeParent(io
utils.WriteBuffer, child ICOTPPacket, se
// Array Field (parameters)
if m.Parameters != nil {
+ io.PushContext("parameters")
for _, _element := range m.Parameters {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'parameters' field")
}
}
+ io.PopContext("parameters")
}
// Optional Field (payload) (Can be skipped, if the value is null)
diff --git
a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
index 24922bf..9752214 100644
---
a/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
+++
b/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
@@ -132,12 +132,14 @@ func (m *COTPParameterDisconnectAdditionalInformation)
Serialize(io utils.WriteB
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteUint8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
io.PopContext("COTPParameterDisconnectAdditionalInformation")
diff --git
a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
index 0679e3f..30b2aaf 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
@@ -156,12 +156,14 @@ func (m *S7ParameterReadVarRequest) Serialize(io
utils.WriteBuffer) error {
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("S7ParameterReadVarRequest")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
index fbb5573..14c12b9 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
@@ -156,12 +156,14 @@ func (m *S7ParameterUserData) Serialize(io
utils.WriteBuffer) error {
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("S7ParameterUserData")
diff --git
a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
index c3202f4..eab943e 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
@@ -156,12 +156,14 @@ func (m *S7ParameterWriteVarRequest) Serialize(io
utils.WriteBuffer) error {
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("S7ParameterWriteVarRequest")
diff --git
a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
index 2befb92..d2638b1 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
@@ -140,6 +140,7 @@ func (m *S7PayloadReadVarResponse) Serialize(io
utils.WriteBuffer) error {
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
itemCount := uint16(len(m.Items))
var curItem uint16 = 0
for _, _element := range m.Items {
@@ -150,6 +151,7 @@ func (m *S7PayloadReadVarResponse) Serialize(io
utils.WriteBuffer) error {
}
curItem++
}
+ io.PopContext("items")
}
io.PopContext("S7PayloadReadVarResponse")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
index 2e51d6e..13fda9a 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
@@ -139,12 +139,14 @@ func (m *S7PayloadUserData) Serialize(io
utils.WriteBuffer) error {
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("S7PayloadUserData")
diff --git
a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
index 5043e84..3f57b7b 100644
---
a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
+++
b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
@@ -178,12 +178,14 @@ func (m *S7PayloadUserDataItemCpuFunctionReadSzlResponse)
Serialize(io utils.Wri
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("S7PayloadUserDataItemCpuFunctionReadSzlResponse")
diff --git
a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
index 8fb7a99..e4bbd21 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
@@ -140,6 +140,7 @@ func (m *S7PayloadWriteVarRequest) Serialize(io
utils.WriteBuffer) error {
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
itemCount := uint16(len(m.Items))
var curItem uint16 = 0
for _, _element := range m.Items {
@@ -150,6 +151,7 @@ func (m *S7PayloadWriteVarRequest) Serialize(io
utils.WriteBuffer) error {
}
curItem++
}
+ io.PopContext("items")
}
io.PopContext("S7PayloadWriteVarRequest")
diff --git
a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
index 920c4ae..8d03bdf 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
@@ -139,12 +139,14 @@ func (m *S7PayloadWriteVarResponse) Serialize(io
utils.WriteBuffer) error {
// Array Field (items)
if m.Items != nil {
+ io.PushContext("items")
for _, _element := range m.Items {
_elementErr := _element.Serialize(io)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'items' field")
}
}
+ io.PopContext("items")
}
io.PopContext("S7PayloadWriteVarResponse")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadDataItem.go
b/plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadDataItem.go
index 1c9ec13..fc01257 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadDataItem.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadDataItem.go
@@ -178,24 +178,28 @@ func (m *S7VarPayloadDataItem) Serialize(io
utils.WriteBuffer, lastItem bool) er
// Array Field (data)
if m.Data != nil {
+ io.PushContext("data")
for _, _element := range m.Data {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'data' field")
}
}
+ io.PopContext("data")
}
// Padding Field (padding)
{
+ io.PushContext("padding")
_timesPadding := uint8(utils.InlineIf(lastItem, func() uint16 {
return uint16(uint8(0)) }, func() uint16 { return
uint16(uint8(uint8(len(m.Data))) % uint8(uint8(2))) }))
for ; _timesPadding > 0; _timesPadding-- {
_paddingValue := uint8(uint8(0))
- _paddingErr := io.WriteUint8("padding", 8,
(_paddingValue))
+ _paddingErr := io.WriteUint8("", 8, (_paddingValue))
if _paddingErr != nil {
return errors.Wrap(_paddingErr, "Error
serializing 'padding' field")
}
}
+ io.PopContext("padding")
}
io.PopContext("S7VarPayloadDataItem")
diff --git a/plc4go/internal/plc4go/s7/readwrite/model/SzlDataTreeItem.go
b/plc4go/internal/plc4go/s7/readwrite/model/SzlDataTreeItem.go
index 177d924..54a487b 100644
--- a/plc4go/internal/plc4go/s7/readwrite/model/SzlDataTreeItem.go
+++ b/plc4go/internal/plc4go/s7/readwrite/model/SzlDataTreeItem.go
@@ -153,12 +153,14 @@ func (m *SzlDataTreeItem) Serialize(io utils.WriteBuffer)
error {
// Array Field (mlfb)
if m.Mlfb != nil {
+ io.PushContext("mlfb")
for _, _element := range m.Mlfb {
_elementErr := io.WriteInt8("", 8, _element)
if _elementErr != nil {
return errors.Wrap(_elementErr, "Error
serializing 'mlfb' field")
}
}
+ io.PopContext("mlfb")
}
// Simple Field (moduleTypeId)
diff --git a/plc4go/internal/plc4go/s7/s7Io_test.go
b/plc4go/internal/plc4go/s7/s7Io_test.go
index 83b9722..4125f75 100644
--- a/plc4go/internal/plc4go/s7/s7Io_test.go
+++ b/plc4go/internal/plc4go/s7/s7Io_test.go
@@ -38,10 +38,11 @@ func TestS7MessageBytes(t *testing.T) {
debuggable debuggable
}
tests := []struct {
- name string
- args args
- wantString string
- wantDump string
+ name string
+ args args
+ wantString string
+ wantStringSerialized string
+ wantDump string
}{
{
name: "TPKT Packet with Read var response data",
@@ -106,6 +107,49 @@ func TestS7MessageBytes(t *testing.T) {
║╚═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝║
╚═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
`,
+ wantStringSerialized: `
+╔═TPKTPacket═════════════════════════════════════════════════════════════════════════════════════════════════════╗
+║╔═protocolId╗╔═reserved╗╔═len═════╗
║
+║║ 0x03 3 ║║ 0x00 0 ║║0x001d 29║
║
+║╚═══════════╝╚═════════╝╚═════════╝
║
+║╔═COTPPacket═══════════════════════════════════════════════════════════════════════════════════════════════════╗║
+║║╔═headerLength╗╔═tpduCode╗╔═COTPPacketData═════╗╔═parameters═════════════════════════════════════════════════╗║║
+║║║ 0x05 5 ║║0xf0 240
║║╔═eot════╗╔═tpduRef╗║║╔═COTPParameter════════════════════════════════════════════╗║║║
+║║╚═════════════╝╚═════════╝║║b0 false║║0x0d 13
║║║║╔═parameterType╗╔═parameterLength╗╔═COTPParameterTpduSize╗║║║║
+║║ ║╚════════╝╚════════╝║║║║ 0xc0 192 ║║ 0x01
1 ║║ ╔═COTPTpduSize╗ ║║║║║
+║║
╚════════════════════╝║║╚══════════════╝╚════════════════╝║ ║ 0x0c 12 ║
║║║║║
+║║ ║║
║ ╚═════════════╝ ║║║║║
+║║ ║║
╚══════════════════════╝║║║║
+║║
║╚══════════════════════════════════════════════════════════╝║║║
+║║
╚════════════════════════════════════════════════════════════╝║║
+║║╔═S7Message══════════════════════════════════════════════════════════════════════════════╗
║║
+║║║╔═protocolId╗╔═messageType╗╔═reserved╗╔═tpduReference╗╔═parameterLength╗╔═payloadLength╗║
║║
+║║║║ 0x32 50 ║║ 0x03 3 ║║0x0000 0 ║║ 0x000b 11 ║║ 0x0002 2 ║║
0x0005 5 ║║ ║║
+║║║╚═══════════╝╚════════════╝╚═════════╝╚══════════════╝╚════════════════╝╚══════════════╝║
║║
+║║║╔═S7MessageResponseData═══╗╔═S7Parameter═════════════════════════════════╗
║ ║║
+║║║║╔═errorClass╗╔═errorCode╗║║╔═parameterType╗╔═S7ParameterReadVarResponse╗║
║ ║║
+║║║║║ 0x00 0 ║║ 0x00 0 ║║║║ 0x04 4 ║║ ╔═numItems╗ ║║
║ ║║
+║║║║╚═══════════╝╚══════════╝║║╚══════════════╝║ ║ 0x04 4 ║ ║║
║ ║║
+║║║╚═════════════════════════╝║ ║ ╚═════════╝ ║║
║ ║║
+║║║ ║ ╚═══════════════════════════╝║
║ ║║
+║║║ ╚═════════════════════════════════════════════╝
║ ║║
+║║║╔═S7Payload══════════════════════════════════════════════════════════════════════════╗
║ ║║
+║║║║╔═S7PayloadReadVarResponse═════════════════════════════════════════════════════════╗║
║ ║║
+║║║║║╔═items══════════════════════════════════════════════════════════════════════════╗║║
║ ║║
+║║║║║║╔═S7VarPayloadDataItem═════════════════════════════════════════════════════════╗║║║
║ ║║
+║║║║║║║╔═DataTransportErrorCode╗╔═DataTransportSize╗╔═dataLength╗╔═data═══╗╔═padding╗║║║║
║ ║║
+║║║║║║║║ 0xff 255 ║║ 0x03 3 ║║ 0x0001 1 ║║╔══════╗║║
║║║║║ ║ ║║
+║║║║║║║╚═══════════════════════╝╚══════════════════╝╚═══════════╝║║0x01
1║║╚════════╝║║║║ ║ ║║
+║║║║║║║ ║╚══════╝║
║║║║ ║ ║║
+║║║║║║║ ╚════════╝
║║║║ ║ ║║
+║║║║║║╚══════════════════════════════════════════════════════════════════════════════╝║║║
║ ║║
+║║║║║╚════════════════════════════════════════════════════════════════════════════════╝║║
║ ║║
+║║║║╚══════════════════════════════════════════════════════════════════════════════════╝║
║ ║║
+║║║╚════════════════════════════════════════════════════════════════════════════════════╝
║ ║║
+║║╚════════════════════════════════════════════════════════════════════════════════════════╝
║║
+║╚══════════════════════════════════════════════════════════════════════════════════════════════════════════════╝║
+╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
+`,
wantDump: `
00|03 00 00 1d 05 f0 0d c0 01 0c '..........'
10|32 03 00 00 00 0b 00 02 00 05 '2.........'
@@ -119,6 +163,14 @@ func TestS7MessageBytes(t *testing.T) {
if got := tt.args.debuggable.String(); got !=
tt.wantString {
t.Errorf("String() = '\n%v\n', want '\n%v\n'",
got, tt.wantString)
}
+ boxWriter := utils.NewBoxedWriteBuffer()
+ if err := tt.args.debuggable.Serialize(boxWriter); err
!= nil {
+ t.Error(err)
+ }
+ tt.wantStringSerialized =
strings.Trim(tt.wantStringSerialized, "\n")
+ if got := string(boxWriter.GetBox()); got !=
tt.wantStringSerialized {
+ t.Errorf("Serialize() = '\n%v\n', want
'\n%v\n'", got, tt.wantStringSerialized)
+ }
buffer := utils.NewWriteBuffer()
err := tt.args.debuggable.Serialize(buffer)
if err != nil {
@@ -128,13 +180,6 @@ func TestS7MessageBytes(t *testing.T) {
if got := utils.Dump(buffer.GetBytes());
!reflect.DeepEqual(got, tt.wantDump) {
t.Errorf("Serialize() = '\n%v\n', want
'\n%v\n'", got, tt.wantDump)
}
- boxWriter := utils.NewBoxedWriteBuffer()
- err = tt.args.debuggable.Serialize(boxWriter)
- if err != nil {
- t.Error(err)
- }
- // TODO: seems like the boxWriteBuffer is still a WIP
so we don't assert yet
- println(boxWriter.GetBox())
})
}
}
diff --git a/plc4go/internal/plc4go/spi/utils/WriteBufferBoxBased.go
b/plc4go/internal/plc4go/spi/utils/WriteBufferBoxBased.go
index 1402457..0471f53 100644
--- a/plc4go/internal/plc4go/spi/utils/WriteBufferBoxBased.go
+++ b/plc4go/internal/plc4go/spi/utils/WriteBufferBoxBased.go
@@ -31,14 +31,16 @@ type WriteBufferBoxBased interface {
func NewBoxedWriteBuffer() WriteBufferBoxBased {
return &boxedWriteBuffer{
- List: list.New(),
- width: 200,
+ List: list.New(),
+ desiredWidth: 120,
+ currentWidth: 118,
}
}
type boxedWriteBuffer struct {
*list.List
- width int
+ desiredWidth int
+ currentWidth int
}
func (b *boxedWriteBuffer) GetBox() AsciiBox {
@@ -47,135 +49,85 @@ func (b *boxedWriteBuffer) GetBox() AsciiBox {
}
func (b *boxedWriteBuffer) PushContext(logicalName string) error {
+ b.currentWidth -= boxLineOverheat
b.PushBack(make([]AsciiBox, 0))
return nil
}
func (b *boxedWriteBuffer) WriteBit(logicalName string, value bool) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteUint8(logicalName string, bitLength uint8,
value uint8) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteUint16(logicalName string, bitLength uint8,
value uint16) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteUint32(logicalName string, bitLength uint8,
value uint32) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteUint64(logicalName string, bitLength uint8,
value uint64) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteInt8(logicalName string, bitLength uint8,
value int8) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteInt16(logicalName string, bitLength uint8,
value int16) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteInt32(logicalName string, bitLength uint8,
value int32) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteInt64(logicalName string, bitLength uint8,
value int64) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteBigInt(logicalName string, bitLength uint8,
value *big.Int) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteFloat32(logicalName string, bitLength uint8,
value float32) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteFloat64(logicalName string, bitLength uint8,
value float64) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) WriteString(logicalName string, bitLength uint8,
encoding string, value string) error {
- back := b.Back()
- b.Remove(back)
- asciiBoxes := back.Value.([]AsciiBox)
- asciiBoxes = append(asciiBoxes, BoxAnything(logicalName, value,
b.width))
- b.PushBack(asciiBoxes)
+ b.PushBack(BoxAnything(logicalName, value, b.currentWidth))
return nil
}
func (b *boxedWriteBuffer) PopContext(logicalName string) error {
+ b.currentWidth += boxLineOverheat
finalBoxes := make([]AsciiBox, 0)
findTheBox:
for back := b.Back(); back != nil; back = b.Back() {
switch back.Value.(type) {
case AsciiBox:
asciiBox := b.Remove(back).(AsciiBox)
- finalBoxes = append(finalBoxes, asciiBox)
+ finalBoxes = append([]AsciiBox{asciiBox}, finalBoxes...)
case []AsciiBox:
b.Remove(back)
asciiBoxes := b.Remove(back).([]AsciiBox)
@@ -185,7 +137,7 @@ findTheBox:
panic("We should never reach this point")
}
}
- asciiBox := BoxBox(logicalName, AlignBoxes(finalBoxes, b.width), 0)
+ asciiBox := BoxBox(logicalName, AlignBoxes(finalBoxes, b.currentWidth),
0)
b.PushBack(asciiBox)
return nil
}
diff --git a/plc4go/internal/plc4go/spi/utils/asciiBox.go
b/plc4go/internal/plc4go/spi/utils/asciiBox.go
index b4a685d..a0e6dfb 100644
--- a/plc4go/internal/plc4go/spi/utils/asciiBox.go
+++ b/plc4go/internal/plc4go/spi/utils/asciiBox.go
@@ -84,7 +84,7 @@ func BoxString(name string, data string, charWidth int)
AsciiBox {
func AlignBoxes(boxes []AsciiBox, desiredWidth int) AsciiBox {
if len(boxes) == 0 {
- return boxes[0]
+ return ""
}
actualWidth := desiredWidth
for _, box := range boxes {