You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2020/10/10 09:18:21 UTC
[plc4x] branch feature/plc4go updated: - Removed some of the hacks
from the generated code - Refactored the directory structure to be more in
line with the default go project/module structure
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/plc4go
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/feature/plc4go by this push:
new 7a8e809 - Removed some of the hacks from the generated code - Refactored the directory structure to be more in line with the default go project/module structure
7a8e809 is described below
commit 7a8e809bc7b090d0d418858bc1989b975bc4a059
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sat Oct 10 11:18:12 2020 +0200
- Removed some of the hacks from the generated code
- Refactored the directory structure to be more in line with the default go project/module structure
---
.../main/resources/templates/go/enum-template.ftlh | 2 +-
.../resources/templates/go/model-template.ftlh | 141 ++++++++++-----------
sandbox/plc4go/{src/main => cmd/modbus}/modbus.go | 4 +-
.../plc4go/modbus/readwrite/ModbusConstants.go | 13 +-
.../plc4go/modbus/readwrite/ModbusDataType.go | 2 +-
.../plc4go/modbus/readwrite/ModbusPDU.go | 111 +++-------------
.../modbus/readwrite/ModbusPDUDiagnosticRequest.go | 25 ++--
.../plc4go/modbus/readwrite/ModbusPDUError.go | 17 ++-
.../readwrite/ModbusPDUGetComEventLogRequest.go | 9 +-
.../readwrite/ModbusPDUGetComEventLogResponse.go | 51 ++++----
.../ModbusPDUMaskWriteHoldingRegisterRequest.go | 33 +++--
.../ModbusPDUMaskWriteHoldingRegisterResponse.go | 33 +++--
.../modbus/readwrite/ModbusPDUReadCoilsRequest.go | 25 ++--
.../modbus/readwrite/ModbusPDUReadCoilsResponse.go | 27 ++--
.../ModbusPDUReadDeviceIdentificationRequest.go | 9 +-
.../ModbusPDUReadDeviceIdentificationResponse.go | 9 +-
.../ModbusPDUReadDiscreteInputsRequest.go | 25 ++--
.../ModbusPDUReadDiscreteInputsResponse.go | 27 ++--
.../ModbusPDUReadExceptionStatusRequest.go | 9 +-
.../ModbusPDUReadExceptionStatusResponse.go | 17 ++-
.../readwrite/ModbusPDUReadFifoQueueRequest.go | 17 ++-
.../readwrite/ModbusPDUReadFifoQueueResponse.go | 35 +++--
.../readwrite/ModbusPDUReadFileRecordRequest.go | 27 ++--
.../ModbusPDUReadFileRecordRequestItem.go | 41 +++---
.../readwrite/ModbusPDUReadFileRecordResponse.go | 27 ++--
.../ModbusPDUReadFileRecordResponseItem.go | 35 +++--
.../ModbusPDUReadHoldingRegistersRequest.go | 25 ++--
.../ModbusPDUReadHoldingRegistersResponse.go | 27 ++--
.../ModbusPDUReadInputRegistersRequest.go | 25 ++--
.../ModbusPDUReadInputRegistersResponse.go | 27 ++--
...sPDUReadWriteMultipleHoldingRegistersRequest.go | 59 +++++----
...PDUReadWriteMultipleHoldingRegistersResponse.go | 27 ++--
.../readwrite/ModbusPDUReportServerIdRequest.go | 9 +-
.../readwrite/ModbusPDUReportServerIdResponse.go | 27 ++--
.../readwrite/ModbusPDUWriteFileRecordRequest.go | 27 ++--
.../ModbusPDUWriteFileRecordRequestItem.go | 51 ++++----
.../readwrite/ModbusPDUWriteFileRecordResponse.go | 27 ++--
.../ModbusPDUWriteFileRecordResponseItem.go | 51 ++++----
.../ModbusPDUWriteMultipleCoilsRequest.go | 43 ++++---
.../ModbusPDUWriteMultipleCoilsResponse.go | 25 ++--
...odbusPDUWriteMultipleHoldingRegistersRequest.go | 43 ++++---
...dbusPDUWriteMultipleHoldingRegistersResponse.go | 25 ++--
.../readwrite/ModbusPDUWriteSingleCoilRequest.go | 25 ++--
.../readwrite/ModbusPDUWriteSingleCoilResponse.go | 25 ++--
.../ModbusPDUWriteSingleRegisterRequest.go | 25 ++--
.../ModbusPDUWriteSingleRegisterResponse.go | 25 ++--
.../plc4go/modbus/readwrite/ModbusSerialADU.go | 37 +++---
.../plc4go/modbus/readwrite/ModbusTcpADU.go | 37 +++---
.../plc4go/{src => internal}/plc4go/spi/Message.go | 0
.../{src => internal}/plc4go/spi/ReadBuffer.go | 0
.../{src => internal}/plc4go/spi/WriteBuffer.go | 0
sandbox/plc4go/pom.xml | 29 +++--
52 files changed, 855 insertions(+), 637 deletions(-)
diff --git a/build-utils/language-go/src/main/resources/templates/go/enum-template.ftlh b/build-utils/language-go/src/main/resources/templates/go/enum-template.ftlh
index 3db4ae8..52b52bd 100644
--- a/build-utils/language-go/src/main/resources/templates/go/enum-template.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/enum-template.ftlh
@@ -46,7 +46,7 @@ ${helper.fileName(protocolName, languageName, outputFlavor)?replace(".", "/")}/$
//
package ${helper.packageName(outputFlavor)}
-import "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+import "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
type ${type.name} <#if type.type?has_content>${helper.getLanguageTypeNameForTypeReference(type.type)}<#else>string</#if>
diff --git a/build-utils/language-go/src/main/resources/templates/go/model-template.ftlh b/build-utils/language-go/src/main/resources/templates/go/model-template.ftlh
index 7ed231b..b517ac6 100644
--- a/build-utils/language-go/src/main/resources/templates/go/model-template.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/model-template.ftlh
@@ -63,7 +63,7 @@ ${helper.fileName(protocolName, languageName, outputFlavor)?replace(".", "/")}/$
package ${helper.packageName(outputFlavor)}
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
<#if helper.getRequiredImports()?has_content>
<#list helper.getRequiredImports() as import>
${import}
@@ -78,6 +78,7 @@ const ${field.name?upper_case} ${helper.getLanguageTypeNameForField(field)} = ${
</#list>
</#if>
+// The data-structure of this message
type ${type.name} struct {
<#-- Prpoerty fields are fields that require a property in the pojo -->
<#if type.propertyFields?has_content>
@@ -92,6 +93,7 @@ type ${type.name} struct {
<#if type.parentType??> ${type.parentType.name}</#if>
}
+// The corresponding interface
type I${type.name} interface {
<#if helper.isDiscriminatedChildTypeDefinition()>
I${type.parentType.name}
@@ -131,11 +133,6 @@ type ${type.name}Initializer interface {
<#list helper.getDiscriminatorTypes() as discriminatorName, discriminatorType>
<#-- If the discriminator name matches that of another field, suppress the methods generation -->
<#if !helper.isNonDiscriminatorField(discriminatorName)>
-// Dummy implementation ...
-func (m ${type.name}) ${discriminatorName?cap_first}() ${helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])} {
- return ${helper.getNullValueForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])}
-}
-
func ${type.name}${discriminatorName?cap_first}(m I${type.name}) ${helper.getLanguageTypeNameForTypeReference(helper.getDiscriminatorTypes()[discriminatorName])} {
return m.${discriminatorName?cap_first}()
}
@@ -577,157 +574,157 @@ func (m ${type.name}) Serialize(io spi.WriteBuffer) {
}
</#list>
</#if>
+ serializeFunc := func(typ interface{}) {
+ if <#if helper.isDiscriminatedParentTypeDefinition()>i${type.name}<#else>_</#if>, ok :=typ.(IModbusPDU); ok {
<#list type.fields as field>
<#switch field.typeName>
<#case "array">
<#assign arrayField = field>
<#assign simpleTypeReference = arrayField.type>
- // Array Field (${arrayField.name})
- if m.${arrayField.name} != nil {
+ // Array Field (${arrayField.name})
+ if m.${arrayField.name} != nil {
<#if helper.isComplexTypeReference(arrayField.type) && helper.needsVariable(arrayField, "curItem", true)>
- itemCount := len(m.${arrayField.name})
- var curItem uint16 = 0
+ itemCount := len(m.${arrayField.name})
+ var curItem uint16 = 0
</#if>
- for _, _element := range m.${arrayField.name} {
+ for _, _element := range m.${arrayField.name} {
<#if helper.isSimpleTypeReference(arrayField.type)>
<#assign simpleTypeReference = arrayField.type>
- ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "_element")}
+ ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "_element")}
<#else>
<#assign complexTypeReference = arrayField.type>
<#if helper.needsVariable(arrayField, "curItem", true)>
- var lastItem bool = curItem == (itemCount - 1)
+ var lastItem bool = curItem == (itemCount - 1)
</#if>
- _element.Serialize(io<#if helper.getSerializerTerms(field.params)?has_content>, <#list helper.getSerializerTerms(field.params) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>)
+ _element.Serialize(io<#if helper.getSerializerTerms(field.params)?has_content>, <#list helper.getSerializerTerms(field.params) as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>)
</#if>
<#if helper.needsVariable(arrayField, "curItem", true)>
- curItem++
+ curItem++
</#if>
- }
- }
+ }
+ }
<#break>
<#case "checksum">
<#assign checksumField = field>
<#assign simpleTypeReference = checksumField.type>
- // Checksum Field (checksum) (Calculated)
- {
- _checksum := ${helper.getNullValueForTypeReference(checksumField.type)}
- // Create an array of all the bytes written in this message element so far.
- checksumRawData []uint8 = io.getBytes(startPos, io.getPos())
- _checksum = (${helper.getLanguageTypeNameForField(field)}) (${helper.toSerializationExpression(checksumField, checksumField.checksumExpression, type.parserArguments)})
- ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(_checksum)")}
- }
+ // Checksum Field (checksum) (Calculated)
+ {
+ _checksum := ${helper.getNullValueForTypeReference(checksumField.type)}
+ // Create an array of all the bytes written in this message element so far.
+ checksumRawData []uint8 = io.getBytes(startPos, io.getPos())
+ _checksum = (${helper.getLanguageTypeNameForField(field)}) (${helper.toSerializationExpression(checksumField, checksumField.checksumExpression, type.parserArguments)})
+ ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(_checksum)")}
+ }
<#break>
<#case "const">
<#assign constField = field>
<#assign simpleTypeReference = constField.type>
- // Const Field (${constField.name})
- ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, constField.referenceValue)}
+ // Const Field (${constField.name})
+ ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, constField.referenceValue)}
<#break>
<#case "discriminator">
<#assign discriminatorField = field>
<#assign simpleTypeReference = discriminatorField.type>
- // Discriminator Field (${discriminatorField.name}) (Used as input to a switch field)
- ${discriminatorField.name} := ${type.name}${discriminatorField.name?cap_first}(m)
- ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(" + discriminatorField.name + ")")}
+ // Discriminator Field (${discriminatorField.name}) (Used as input to a switch field)
+ ${discriminatorField.name} := ${type.name}${discriminatorField.name?cap_first}(i${type.name})
+ ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(" + discriminatorField.name + ")")}
<#break>
<#case "enum">
<#assign enumField = field>
- // Enum field (${enumField.name})
- ${enumField.name} := m.${enumField.name}
- ${helper.getWriteBufferWriteMethodCall(helper.getEnumBaseTypeReference(enumField.type), "(" + enumField.name + ".getValue())")}
+ // Enum field (${enumField.name})
+ ${enumField.name} := m.${enumField.name}
+ ${helper.getWriteBufferWriteMethodCall(helper.getEnumBaseTypeReference(enumField.type), "(" + enumField.name + ".getValue())")}
<#break>
<#case "implicit">
<#assign implicitField = field>
<#assign simpleTypeReference = implicitField.type>
- // Implicit Field (${implicitField.name}) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var ${implicitField.name} ${helper.getLanguageTypeNameForField(field)} = (${helper.toSerializationExpression(implicitField, implicitField.serializeExpression, type.parserArguments)})
- ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(" + implicitField.name + ")")}
+ // Implicit Field (${implicitField.name}) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var ${implicitField.name} ${helper.getLanguageTypeNameForField(field)} = (${helper.toSerializationExpression(implicitField, implicitField.serializeExpression, type.parserArguments)})
+ ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(" + implicitField.name + ")")}
<#break>
<#case "manualArray">
<#assign manualArrayField = field>
- // Manual Array Field (${manualArrayField.name})
- if m.${manualArrayField.name} != nil {
- for(${helper.getLanguageTypeNameForField(field)} element : m.${manualArrayField.name}) {
- ${helper.toSerializationExpression(manualArrayField, manualArrayField.serializeExpression, type.parserArguments)}
- }
- }
+ // Manual Array Field (${manualArrayField.name})
+ if m.${manualArrayField.name} != nil {
+ for(${helper.getLanguageTypeNameForField(field)} element : m.${manualArrayField.name}) {
+ ${helper.toSerializationExpression(manualArrayField, manualArrayField.serializeExpression, type.parserArguments)}
+ }
+ }
<#break>
<#case "manual">
<#assign manualField = field>
- // Manual Field (${manualField.name})
- ${helper.toSerializationExpression(manualField, manualField.serializeExpression, type.parserArguments)}
+ // Manual Field (${manualField.name})
+ ${helper.toSerializationExpression(manualField, manualField.serializeExpression, type.parserArguments)}
<#break>
<#case "optional">
<#assign optionalField = field>
- // Optional Field (${optionalField.name}) (Can be skipped, if the value is null)
- var ${optionalField.name} ${helper.getLanguageTypeNameForField(field)} = nil
- if m.${optionalField.name} != nil {
- ${optionalField.name} = m.${optionalField.name}
+ // Optional Field (${optionalField.name}) (Can be skipped, if the value is null)
+ var ${optionalField.name} ${helper.getLanguageTypeNameForField(field)} = nil
+ if m.${optionalField.name} != nil {
+ ${optionalField.name} = m.${optionalField.name}
<#if helper.isSimpleTypeReference(optionalField.type)>
<#assign simpleTypeReference = optionalField.type>
- ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(" + optionalField.name + ")")}
+ ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(" + optionalField.name + ")")}
<#else>
<#assign complexTypeReference = optionalField.type>
- ${complexTypeReference.name}IO.staticSerialize(io, ${optionalField.name})
+ ${complexTypeReference.name}IO.staticSerialize(io, ${optionalField.name})
</#if>
- }
+ }
<#break>
<#case "padding">
<#assign paddingField = field>
<#assign simpleTypeReference = paddingField.type>
- // Padding Field (padding)
- {
- int _timesPadding = (int) (${helper.toSerializationExpression(paddingField, paddingField.paddingCondition, type.parserArguments)})
- for ;_timesPadding > 0; _timesPadding-- {
- ${helper.getLanguageTypeNameForField(field)} _paddingValue = (${helper.getLanguageTypeNameForField(field)}) (${helper.toSerializationExpression(paddingField, paddingField.paddingValue, type.parserArguments)})
- ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(_paddingValue)")}
- }
- }
+ // Padding Field (padding)
+ {
+ int _timesPadding = (int) (${helper.toSerializationExpression(paddingField, paddingField.paddingCondition, type.parserArguments)})
+ for ;_timesPadding > 0; _timesPadding-- {
+ ${helper.getLanguageTypeNameForField(field)} _paddingValue = (${helper.getLanguageTypeNameForField(field)}) (${helper.toSerializationExpression(paddingField, paddingField.paddingValue, type.parserArguments)})
+ ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(_paddingValue)")}
+ }
+ }
<#break>
<#case "reserved">
<#assign reservedField = field>
<#assign simpleTypeReference = reservedField.type>
- // Reserved Field (reserved)
- ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, helper.getReservedValue(field))}
+ // Reserved Field (reserved)
+ ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, helper.getReservedValue(field))}
<#break>
<#case "simple">
<#assign simpleField = field>
- // Simple Field (${simpleField.name})
- var ${simpleField.name} ${helper.getLanguageTypeNameForField(field)} = m.${simpleField.name}
+ // Simple Field (${simpleField.name})
+ var ${simpleField.name} ${helper.getLanguageTypeNameForField(field)} = m.${simpleField.name}
<#if helper.isSimpleTypeReference(simpleField.type)>
<#assign simpleTypeReference = simpleField.type>
- ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(" + simpleField.name + ")")}
+ ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(" + simpleField.name + ")")}
<#else>
<#assign complexTypeReference = simpleField.type>
- ${simpleField.name}.Serialize(io)
+ ${simpleField.name}.Serialize(io)
</#if>
<#break>
<#case "switch">
<#assign switchField = field>
- // Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
- switch I${type.name}(m).(type) {
- <#list switchField.cases as case>
- case I${case.name}:
- I${case.name}(m).Serialize(io)
- </#list>
- }
+ // Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
+ i${type.name}.Serialize(io)
<#break>
<#case "virtual">
<#break>
</#switch>
</#list>
+ }
+ }
+ serializeFunc(m)
}
</#outputformat>
\ No newline at end of file
diff --git a/sandbox/plc4go/src/main/modbus.go b/sandbox/plc4go/cmd/modbus/modbus.go
similarity index 87%
rename from sandbox/plc4go/src/main/modbus.go
rename to sandbox/plc4go/cmd/modbus/modbus.go
index 73d26b2..2126756 100644
--- a/sandbox/plc4go/src/main/modbus.go
+++ b/sandbox/plc4go/cmd/modbus/modbus.go
@@ -17,8 +17,8 @@ package main
import (
"encoding/hex"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/generated-sources/plc4go/modbus/readwrite"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/modbus/readwrite"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
func main() {
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusConstants.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusConstants.go
similarity index 85%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusConstants.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusConstants.go
index e2bb66e..f4cc06b 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusConstants.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusConstants.go
@@ -20,16 +20,18 @@ package readwrite
import (
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
"strconv"
)
// Constant values.
const MODBUSTCPDEFAULTPORT uint16 = 502
+// The data-structure of this message
type ModbusConstants struct {
}
+// The corresponding interface
type IModbusConstants interface {
spi.Message
Serialize(io spi.WriteBuffer)
@@ -65,7 +67,12 @@ func ModbusConstantsParse(io spi.ReadBuffer) (spi.Message, error) {
}
func (m ModbusConstants) Serialize(io spi.WriteBuffer) {
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
- // Const Field (modbusTcpDefaultPort)
- io.WriteUint16(16, 502)
+ // Const Field (modbusTcpDefaultPort)
+ io.WriteUint16(16, 502)
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusDataType.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusDataType.go
similarity index 97%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusDataType.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusDataType.go
index 6c59b5b..625472f 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusDataType.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusDataType.go
@@ -18,7 +18,7 @@
//
package readwrite
-import "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+import "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
type ModbusDataType uint8
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDU.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDU.go
similarity index 64%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDU.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDU.go
index dbd5eb7..99e91ea 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDU.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDU.go
@@ -20,12 +20,14 @@ package readwrite
import (
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDU struct {
}
+// The corresponding interface
type IModbusPDU interface {
spi.Message
ErrorFlag() bool
@@ -38,29 +40,14 @@ type ModbusPDUInitializer interface {
initialize() spi.Message
}
-// Dummy implementation ...
-func (m ModbusPDU) ErrorFlag() bool {
- return false
-}
-
func ModbusPDUErrorFlag(m IModbusPDU) bool {
return m.ErrorFlag()
}
-// Dummy implementation ...
-func (m ModbusPDU) FunctionFlag() uint8 {
- return 0
-}
-
func ModbusPDUFunctionFlag(m IModbusPDU) uint8 {
return m.FunctionFlag()
}
-// Dummy implementation ...
-func (m ModbusPDU) Response() bool {
- return false
-}
-
func ModbusPDUResponse(m IModbusPDU) bool {
return m.Response()
}
@@ -177,88 +164,20 @@ func ModbusPDUParse(io spi.ReadBuffer, response bool) (spi.Message, error) {
}
func (m ModbusPDU) Serialize(io spi.WriteBuffer) {
+ serializeFunc := func(typ interface{}) {
+ if iModbusPDU, ok := typ.(IModbusPDU); ok {
- // Discriminator Field (errorFlag) (Used as input to a switch field)
- errorFlag := ModbusPDUErrorFlag(m)
- io.WriteBit((bool)(errorFlag))
+ // Discriminator Field (errorFlag) (Used as input to a switch field)
+ errorFlag := ModbusPDUErrorFlag(iModbusPDU)
+ io.WriteBit((bool)(errorFlag))
- // Discriminator Field (functionFlag) (Used as input to a switch field)
- functionFlag := ModbusPDUFunctionFlag(m)
- io.WriteUint8(7, (functionFlag))
+ // Discriminator Field (functionFlag) (Used as input to a switch field)
+ functionFlag := ModbusPDUFunctionFlag(iModbusPDU)
+ io.WriteUint8(7, (functionFlag))
- // Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
- switch IModbusPDU(m).(type) {
- case IModbusPDUError:
- IModbusPDUError(m).Serialize(io)
- case IModbusPDUReadDiscreteInputsRequest:
- IModbusPDUReadDiscreteInputsRequest(m).Serialize(io)
- case IModbusPDUReadDiscreteInputsResponse:
- IModbusPDUReadDiscreteInputsResponse(m).Serialize(io)
- case IModbusPDUReadCoilsRequest:
- IModbusPDUReadCoilsRequest(m).Serialize(io)
- case IModbusPDUReadCoilsResponse:
- IModbusPDUReadCoilsResponse(m).Serialize(io)
- case IModbusPDUWriteSingleCoilRequest:
- IModbusPDUWriteSingleCoilRequest(m).Serialize(io)
- case IModbusPDUWriteSingleCoilResponse:
- IModbusPDUWriteSingleCoilResponse(m).Serialize(io)
- case IModbusPDUWriteMultipleCoilsRequest:
- IModbusPDUWriteMultipleCoilsRequest(m).Serialize(io)
- case IModbusPDUWriteMultipleCoilsResponse:
- IModbusPDUWriteMultipleCoilsResponse(m).Serialize(io)
- case IModbusPDUReadInputRegistersRequest:
- IModbusPDUReadInputRegistersRequest(m).Serialize(io)
- case IModbusPDUReadInputRegistersResponse:
- IModbusPDUReadInputRegistersResponse(m).Serialize(io)
- case IModbusPDUReadHoldingRegistersRequest:
- IModbusPDUReadHoldingRegistersRequest(m).Serialize(io)
- case IModbusPDUReadHoldingRegistersResponse:
- IModbusPDUReadHoldingRegistersResponse(m).Serialize(io)
- case IModbusPDUWriteSingleRegisterRequest:
- IModbusPDUWriteSingleRegisterRequest(m).Serialize(io)
- case IModbusPDUWriteSingleRegisterResponse:
- IModbusPDUWriteSingleRegisterResponse(m).Serialize(io)
- case IModbusPDUWriteMultipleHoldingRegistersRequest:
- IModbusPDUWriteMultipleHoldingRegistersRequest(m).Serialize(io)
- case IModbusPDUWriteMultipleHoldingRegistersResponse:
- IModbusPDUWriteMultipleHoldingRegistersResponse(m).Serialize(io)
- case IModbusPDUReadWriteMultipleHoldingRegistersRequest:
- IModbusPDUReadWriteMultipleHoldingRegistersRequest(m).Serialize(io)
- case IModbusPDUReadWriteMultipleHoldingRegistersResponse:
- IModbusPDUReadWriteMultipleHoldingRegistersResponse(m).Serialize(io)
- case IModbusPDUMaskWriteHoldingRegisterRequest:
- IModbusPDUMaskWriteHoldingRegisterRequest(m).Serialize(io)
- case IModbusPDUMaskWriteHoldingRegisterResponse:
- IModbusPDUMaskWriteHoldingRegisterResponse(m).Serialize(io)
- case IModbusPDUReadFifoQueueRequest:
- IModbusPDUReadFifoQueueRequest(m).Serialize(io)
- case IModbusPDUReadFifoQueueResponse:
- IModbusPDUReadFifoQueueResponse(m).Serialize(io)
- case IModbusPDUReadFileRecordRequest:
- IModbusPDUReadFileRecordRequest(m).Serialize(io)
- case IModbusPDUReadFileRecordResponse:
- IModbusPDUReadFileRecordResponse(m).Serialize(io)
- case IModbusPDUWriteFileRecordRequest:
- IModbusPDUWriteFileRecordRequest(m).Serialize(io)
- case IModbusPDUWriteFileRecordResponse:
- IModbusPDUWriteFileRecordResponse(m).Serialize(io)
- case IModbusPDUReadExceptionStatusRequest:
- IModbusPDUReadExceptionStatusRequest(m).Serialize(io)
- case IModbusPDUReadExceptionStatusResponse:
- IModbusPDUReadExceptionStatusResponse(m).Serialize(io)
- case IModbusPDUDiagnosticRequest:
- IModbusPDUDiagnosticRequest(m).Serialize(io)
- case IModbusPDUGetComEventLogRequest:
- IModbusPDUGetComEventLogRequest(m).Serialize(io)
- case IModbusPDUGetComEventLogResponse:
- IModbusPDUGetComEventLogResponse(m).Serialize(io)
- case IModbusPDUReportServerIdRequest:
- IModbusPDUReportServerIdRequest(m).Serialize(io)
- case IModbusPDUReportServerIdResponse:
- IModbusPDUReportServerIdResponse(m).Serialize(io)
- case IModbusPDUReadDeviceIdentificationRequest:
- IModbusPDUReadDeviceIdentificationRequest(m).Serialize(io)
- case IModbusPDUReadDeviceIdentificationResponse:
- IModbusPDUReadDeviceIdentificationResponse(m).Serialize(io)
+ // Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
+ iModbusPDU.Serialize(io)
+ }
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUDiagnosticRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUDiagnosticRequest.go
similarity index 83%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUDiagnosticRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUDiagnosticRequest.go
index d9564a8..25417b1 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUDiagnosticRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUDiagnosticRequest.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUDiagnosticRequest struct {
status uint16
eventCount uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUDiagnosticRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUDiagnosticRequestParse(io spi.ReadBuffer) (ModbusPDUInitializer, e
}
func (m ModbusPDUDiagnosticRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (status)
- var status uint16 = m.status
- io.WriteUint16(16, (status))
-
- // Simple Field (eventCount)
- var eventCount uint16 = m.eventCount
- io.WriteUint16(16, (eventCount))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (status)
+ var status uint16 = m.status
+ io.WriteUint16(16, (status))
+
+ // Simple Field (eventCount)
+ var eventCount uint16 = m.eventCount
+ io.WriteUint16(16, (eventCount))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUError.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUError.go
similarity index 84%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUError.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUError.go
index 253bdd2..4449446 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUError.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUError.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUError struct {
exceptionCode uint8
ModbusPDU
}
+// The corresponding interface
type IModbusPDUError interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -76,8 +78,13 @@ func ModbusPDUErrorParse(io spi.ReadBuffer) (ModbusPDUInitializer, error) {
}
func (m ModbusPDUError) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (exceptionCode)
- var exceptionCode uint8 = m.exceptionCode
- io.WriteUint8(8, (exceptionCode))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (exceptionCode)
+ var exceptionCode uint8 = m.exceptionCode
+ io.WriteUint8(8, (exceptionCode))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUGetComEventLogRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUGetComEventLogRequest.go
similarity index 89%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUGetComEventLogRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUGetComEventLogRequest.go
index 476c3af..6eaa35f 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUGetComEventLogRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUGetComEventLogRequest.go
@@ -19,13 +19,15 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUGetComEventLogRequest struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUGetComEventLogRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -69,4 +71,9 @@ func ModbusPDUGetComEventLogRequestParse(io spi.ReadBuffer) (ModbusPDUInitialize
}
func (m ModbusPDUGetComEventLogRequest) Serialize(io spi.WriteBuffer) {
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUGetComEventLogResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUGetComEventLogResponse.go
similarity index 77%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUGetComEventLogResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUGetComEventLogResponse.go
index 26354c7..342d1e7 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUGetComEventLogResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUGetComEventLogResponse.go
@@ -19,9 +19,10 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUGetComEventLogResponse struct {
status uint16
eventCount uint16
@@ -30,6 +31,7 @@ type ModbusPDUGetComEventLogResponse struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUGetComEventLogResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -113,27 +115,32 @@ func ModbusPDUGetComEventLogResponseParse(io spi.ReadBuffer) (ModbusPDUInitializ
}
func (m ModbusPDUGetComEventLogResponse) Serialize(io spi.WriteBuffer) {
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = ((uint8(len(m.events))) + (6))
- io.WriteUint8(8, (byteCount))
-
- // Simple Field (status)
- var status uint16 = m.status
- io.WriteUint16(16, (status))
-
- // Simple Field (eventCount)
- var eventCount uint16 = m.eventCount
- io.WriteUint16(16, (eventCount))
-
- // Simple Field (messageCount)
- var messageCount uint16 = m.messageCount
- io.WriteUint16(16, (messageCount))
-
- // Array Field (events)
- if m.events != nil {
- for _, _element := range m.events {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = ((uint8(len(m.events))) + (6))
+ io.WriteUint8(8, (byteCount))
+
+ // Simple Field (status)
+ var status uint16 = m.status
+ io.WriteUint16(16, (status))
+
+ // Simple Field (eventCount)
+ var eventCount uint16 = m.eventCount
+ io.WriteUint16(16, (eventCount))
+
+ // Simple Field (messageCount)
+ var messageCount uint16 = m.messageCount
+ io.WriteUint16(16, (messageCount))
+
+ // Array Field (events)
+ if m.events != nil {
+ for _, _element := range m.events {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.go
similarity index 82%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.go
index a4f6a57..7eea348 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.go
@@ -19,9 +19,10 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUMaskWriteHoldingRegisterRequest struct {
referenceAddress uint16
andMask uint16
@@ -29,6 +30,7 @@ type ModbusPDUMaskWriteHoldingRegisterRequest struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUMaskWriteHoldingRegisterRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -90,16 +92,21 @@ func ModbusPDUMaskWriteHoldingRegisterRequestParse(io spi.ReadBuffer) (ModbusPDU
}
func (m ModbusPDUMaskWriteHoldingRegisterRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (referenceAddress)
- var referenceAddress uint16 = m.referenceAddress
- io.WriteUint16(16, (referenceAddress))
-
- // Simple Field (andMask)
- var andMask uint16 = m.andMask
- io.WriteUint16(16, (andMask))
-
- // Simple Field (orMask)
- var orMask uint16 = m.orMask
- io.WriteUint16(16, (orMask))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (referenceAddress)
+ var referenceAddress uint16 = m.referenceAddress
+ io.WriteUint16(16, (referenceAddress))
+
+ // Simple Field (andMask)
+ var andMask uint16 = m.andMask
+ io.WriteUint16(16, (andMask))
+
+ // Simple Field (orMask)
+ var orMask uint16 = m.orMask
+ io.WriteUint16(16, (orMask))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.go
similarity index 82%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.go
index 76561a2..08f985d 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.go
@@ -19,9 +19,10 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUMaskWriteHoldingRegisterResponse struct {
referenceAddress uint16
andMask uint16
@@ -29,6 +30,7 @@ type ModbusPDUMaskWriteHoldingRegisterResponse struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUMaskWriteHoldingRegisterResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -90,16 +92,21 @@ func ModbusPDUMaskWriteHoldingRegisterResponseParse(io spi.ReadBuffer) (ModbusPD
}
func (m ModbusPDUMaskWriteHoldingRegisterResponse) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (referenceAddress)
- var referenceAddress uint16 = m.referenceAddress
- io.WriteUint16(16, (referenceAddress))
-
- // Simple Field (andMask)
- var andMask uint16 = m.andMask
- io.WriteUint16(16, (andMask))
-
- // Simple Field (orMask)
- var orMask uint16 = m.orMask
- io.WriteUint16(16, (orMask))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (referenceAddress)
+ var referenceAddress uint16 = m.referenceAddress
+ io.WriteUint16(16, (referenceAddress))
+
+ // Simple Field (andMask)
+ var andMask uint16 = m.andMask
+ io.WriteUint16(16, (andMask))
+
+ // Simple Field (orMask)
+ var orMask uint16 = m.orMask
+ io.WriteUint16(16, (orMask))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadCoilsRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadCoilsRequest.go
similarity index 83%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadCoilsRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadCoilsRequest.go
index 8bef98b..5b457bb 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadCoilsRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadCoilsRequest.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadCoilsRequest struct {
startingAddress uint16
quantity uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadCoilsRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUReadCoilsRequestParse(io spi.ReadBuffer) (ModbusPDUInitializer, er
}
func (m ModbusPDUReadCoilsRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (startingAddress)
- var startingAddress uint16 = m.startingAddress
- io.WriteUint16(16, (startingAddress))
-
- // Simple Field (quantity)
- var quantity uint16 = m.quantity
- io.WriteUint16(16, (quantity))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (startingAddress)
+ var startingAddress uint16 = m.startingAddress
+ io.WriteUint16(16, (startingAddress))
+
+ // Simple Field (quantity)
+ var quantity uint16 = m.quantity
+ io.WriteUint16(16, (quantity))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadCoilsResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadCoilsResponse.go
similarity index 81%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadCoilsResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadCoilsResponse.go
index aecc563..b55f1f6 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadCoilsResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadCoilsResponse.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadCoilsResponse struct {
value []int8
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadCoilsResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -92,15 +94,20 @@ func ModbusPDUReadCoilsResponseParse(io spi.ReadBuffer) (ModbusPDUInitializer, e
}
func (m ModbusPDUReadCoilsResponse) Serialize(io spi.WriteBuffer) {
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(len(m.value)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (value)
- if m.value != nil {
- for _, _element := range m.value {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(len(m.value)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (value)
+ if m.value != nil {
+ for _, _element := range m.value {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.go
similarity index 89%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.go
index 1eae221..fe2b75b 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.go
@@ -19,13 +19,15 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadDeviceIdentificationRequest struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadDeviceIdentificationRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -69,4 +71,9 @@ func ModbusPDUReadDeviceIdentificationRequestParse(io spi.ReadBuffer) (ModbusPDU
}
func (m ModbusPDUReadDeviceIdentificationRequest) Serialize(io spi.WriteBuffer) {
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.go
similarity index 89%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.go
index 225655d..c7344a8 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.go
@@ -19,13 +19,15 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadDeviceIdentificationResponse struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadDeviceIdentificationResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -69,4 +71,9 @@ func ModbusPDUReadDeviceIdentificationResponseParse(io spi.ReadBuffer) (ModbusPD
}
func (m ModbusPDUReadDeviceIdentificationResponse) Serialize(io spi.WriteBuffer) {
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.go
similarity index 83%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.go
index db40260..8f4af11 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadDiscreteInputsRequest struct {
startingAddress uint16
quantity uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadDiscreteInputsRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUReadDiscreteInputsRequestParse(io spi.ReadBuffer) (ModbusPDUInitia
}
func (m ModbusPDUReadDiscreteInputsRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (startingAddress)
- var startingAddress uint16 = m.startingAddress
- io.WriteUint16(16, (startingAddress))
-
- // Simple Field (quantity)
- var quantity uint16 = m.quantity
- io.WriteUint16(16, (quantity))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (startingAddress)
+ var startingAddress uint16 = m.startingAddress
+ io.WriteUint16(16, (startingAddress))
+
+ // Simple Field (quantity)
+ var quantity uint16 = m.quantity
+ io.WriteUint16(16, (quantity))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.go
similarity index 81%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.go
index db6fa41..44a0d51 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadDiscreteInputsResponse struct {
value []int8
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadDiscreteInputsResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -92,15 +94,20 @@ func ModbusPDUReadDiscreteInputsResponseParse(io spi.ReadBuffer) (ModbusPDUIniti
}
func (m ModbusPDUReadDiscreteInputsResponse) Serialize(io spi.WriteBuffer) {
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(len(m.value)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (value)
- if m.value != nil {
- for _, _element := range m.value {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(len(m.value)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (value)
+ if m.value != nil {
+ for _, _element := range m.value {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.go
similarity index 89%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.go
index d8c0cdb..926aeec 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.go
@@ -19,13 +19,15 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadExceptionStatusRequest struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadExceptionStatusRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -69,4 +71,9 @@ func ModbusPDUReadExceptionStatusRequestParse(io spi.ReadBuffer) (ModbusPDUIniti
}
func (m ModbusPDUReadExceptionStatusRequest) Serialize(io spi.WriteBuffer) {
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.go
similarity index 86%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.go
index 63127af..3dc82a2 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadExceptionStatusResponse struct {
value uint8
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadExceptionStatusResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -76,8 +78,13 @@ func ModbusPDUReadExceptionStatusResponseParse(io spi.ReadBuffer) (ModbusPDUInit
}
func (m ModbusPDUReadExceptionStatusResponse) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (value)
- var value uint8 = m.value
- io.WriteUint8(8, (value))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (value)
+ var value uint8 = m.value
+ io.WriteUint8(8, (value))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueRequest.go
similarity index 85%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueRequest.go
index 4d4f482..ec621cf 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueRequest.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadFifoQueueRequest struct {
fifoPointerAddress uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadFifoQueueRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -76,8 +78,13 @@ func ModbusPDUReadFifoQueueRequestParse(io spi.ReadBuffer) (ModbusPDUInitializer
}
func (m ModbusPDUReadFifoQueueRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (fifoPointerAddress)
- var fifoPointerAddress uint16 = m.fifoPointerAddress
- io.WriteUint16(16, (fifoPointerAddress))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (fifoPointerAddress)
+ var fifoPointerAddress uint16 = m.fifoPointerAddress
+ io.WriteUint16(16, (fifoPointerAddress))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueResponse.go
similarity index 76%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueResponse.go
index e4d8f0a..9c59634 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFifoQueueResponse.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadFifoQueueResponse struct {
fifoValue []uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadFifoQueueResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -98,19 +100,24 @@ func ModbusPDUReadFifoQueueResponseParse(io spi.ReadBuffer) (ModbusPDUInitialize
}
func (m ModbusPDUReadFifoQueueResponse) Serialize(io spi.WriteBuffer) {
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint16 = (((uint16(len(m.fifoValue))) * (2)) + (2))
- io.WriteUint16(16, (byteCount))
-
- // Implicit Field (fifoCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var fifoCount uint16 = (((uint16(len(m.fifoValue))) * (2)) / (2))
- io.WriteUint16(16, (fifoCount))
-
- // Array Field (fifoValue)
- if m.fifoValue != nil {
- for _, _element := range m.fifoValue {
- io.WriteUint16(16, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint16 = (((uint16(len(m.fifoValue))) * (2)) + (2))
+ io.WriteUint16(16, (byteCount))
+
+ // Implicit Field (fifoCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var fifoCount uint16 = (((uint16(len(m.fifoValue))) * (2)) / (2))
+ io.WriteUint16(16, (fifoCount))
+
+ // Array Field (fifoValue)
+ if m.fifoValue != nil {
+ for _, _element := range m.fifoValue {
+ io.WriteUint16(16, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequest.go
similarity index 84%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequest.go
index 6edde89..0877e9a 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequest.go
@@ -20,15 +20,17 @@ package readwrite
import (
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
"reflect"
)
+// The data-structure of this message
type ModbusPDUReadFileRecordRequest struct {
items []ModbusPDUReadFileRecordRequestItem
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadFileRecordRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -110,15 +112,20 @@ func (m ModbusPDUReadFileRecordRequest) Serialize(io spi.WriteBuffer) {
}
return sizeInBytes
}
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(itemsArraySizeInBytes(m.items)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (items)
- if m.items != nil {
- for _, _element := range m.items {
- _element.Serialize(io)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(itemsArraySizeInBytes(m.items)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (items)
+ if m.items != nil {
+ for _, _element := range m.items {
+ _element.Serialize(io)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.go
similarity index 77%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.go
index 3ec37d7..7775e53 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.go
@@ -19,9 +19,10 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadFileRecordRequestItem struct {
referenceType uint8
fileNumber uint16
@@ -29,6 +30,7 @@ type ModbusPDUReadFileRecordRequestItem struct {
recordLength uint16
}
+// The corresponding interface
type IModbusPDUReadFileRecordRequestItem interface {
spi.Message
Serialize(io spi.WriteBuffer)
@@ -79,20 +81,25 @@ func ModbusPDUReadFileRecordRequestItemParse(io spi.ReadBuffer) (spi.Message, er
}
func (m ModbusPDUReadFileRecordRequestItem) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (referenceType)
- var referenceType uint8 = m.referenceType
- io.WriteUint8(8, (referenceType))
-
- // Simple Field (fileNumber)
- var fileNumber uint16 = m.fileNumber
- io.WriteUint16(16, (fileNumber))
-
- // Simple Field (recordNumber)
- var recordNumber uint16 = m.recordNumber
- io.WriteUint16(16, (recordNumber))
-
- // Simple Field (recordLength)
- var recordLength uint16 = m.recordLength
- io.WriteUint16(16, (recordLength))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (referenceType)
+ var referenceType uint8 = m.referenceType
+ io.WriteUint8(8, (referenceType))
+
+ // Simple Field (fileNumber)
+ var fileNumber uint16 = m.fileNumber
+ io.WriteUint16(16, (fileNumber))
+
+ // Simple Field (recordNumber)
+ var recordNumber uint16 = m.recordNumber
+ io.WriteUint16(16, (recordNumber))
+
+ // Simple Field (recordLength)
+ var recordLength uint16 = m.recordLength
+ io.WriteUint16(16, (recordLength))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponse.go
similarity index 84%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponse.go
index e995698..5b50e48 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponse.go
@@ -20,15 +20,17 @@ package readwrite
import (
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
"reflect"
)
+// The data-structure of this message
type ModbusPDUReadFileRecordResponse struct {
items []ModbusPDUReadFileRecordResponseItem
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadFileRecordResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -110,15 +112,20 @@ func (m ModbusPDUReadFileRecordResponse) Serialize(io spi.WriteBuffer) {
}
return sizeInBytes
}
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(itemsArraySizeInBytes(m.items)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (items)
- if m.items != nil {
- for _, _element := range m.items {
- _element.Serialize(io)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(itemsArraySizeInBytes(m.items)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (items)
+ if m.items != nil {
+ for _, _element := range m.items {
+ _element.Serialize(io)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.go
similarity index 77%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.go
index 2e5f746..e9a70af 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadFileRecordResponseItem struct {
referenceType uint8
data []int8
}
+// The corresponding interface
type IModbusPDUReadFileRecordResponseItem interface {
spi.Message
Serialize(io spi.WriteBuffer)
@@ -79,19 +81,24 @@ func ModbusPDUReadFileRecordResponseItemParse(io spi.ReadBuffer) (spi.Message, e
}
func (m ModbusPDUReadFileRecordResponseItem) Serialize(io spi.WriteBuffer) {
-
- // Implicit Field (dataLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var dataLength uint8 = ((uint8(len(m.data))) + (1))
- io.WriteUint8(8, (dataLength))
-
- // Simple Field (referenceType)
- var referenceType uint8 = m.referenceType
- io.WriteUint8(8, (referenceType))
-
- // Array Field (data)
- if m.data != nil {
- for _, _element := range m.data {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (dataLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var dataLength uint8 = ((uint8(len(m.data))) + (1))
+ io.WriteUint8(8, (dataLength))
+
+ // Simple Field (referenceType)
+ var referenceType uint8 = m.referenceType
+ io.WriteUint8(8, (referenceType))
+
+ // Array Field (data)
+ if m.data != nil {
+ for _, _element := range m.data {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.go
similarity index 83%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.go
index 863a562..40cb6cd 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadHoldingRegistersRequest struct {
startingAddress uint16
quantity uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadHoldingRegistersRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUReadHoldingRegistersRequestParse(io spi.ReadBuffer) (ModbusPDUInit
}
func (m ModbusPDUReadHoldingRegistersRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (startingAddress)
- var startingAddress uint16 = m.startingAddress
- io.WriteUint16(16, (startingAddress))
-
- // Simple Field (quantity)
- var quantity uint16 = m.quantity
- io.WriteUint16(16, (quantity))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (startingAddress)
+ var startingAddress uint16 = m.startingAddress
+ io.WriteUint16(16, (startingAddress))
+
+ // Simple Field (quantity)
+ var quantity uint16 = m.quantity
+ io.WriteUint16(16, (quantity))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.go
similarity index 81%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.go
index bf98a55..32d39cb 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadHoldingRegistersResponse struct {
value []int8
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadHoldingRegistersResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -92,15 +94,20 @@ func ModbusPDUReadHoldingRegistersResponseParse(io spi.ReadBuffer) (ModbusPDUIni
}
func (m ModbusPDUReadHoldingRegistersResponse) Serialize(io spi.WriteBuffer) {
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(len(m.value)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (value)
- if m.value != nil {
- for _, _element := range m.value {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(len(m.value)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (value)
+ if m.value != nil {
+ for _, _element := range m.value {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersRequest.go
similarity index 83%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersRequest.go
index 70ca4b6..f7ea9a4 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersRequest.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadInputRegistersRequest struct {
startingAddress uint16
quantity uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadInputRegistersRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUReadInputRegistersRequestParse(io spi.ReadBuffer) (ModbusPDUInitia
}
func (m ModbusPDUReadInputRegistersRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (startingAddress)
- var startingAddress uint16 = m.startingAddress
- io.WriteUint16(16, (startingAddress))
-
- // Simple Field (quantity)
- var quantity uint16 = m.quantity
- io.WriteUint16(16, (quantity))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (startingAddress)
+ var startingAddress uint16 = m.startingAddress
+ io.WriteUint16(16, (startingAddress))
+
+ // Simple Field (quantity)
+ var quantity uint16 = m.quantity
+ io.WriteUint16(16, (quantity))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersResponse.go
similarity index 81%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersResponse.go
index a2ba0ae..d5e8858 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadInputRegistersResponse.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadInputRegistersResponse struct {
value []int8
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadInputRegistersResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -92,15 +94,20 @@ func ModbusPDUReadInputRegistersResponseParse(io spi.ReadBuffer) (ModbusPDUIniti
}
func (m ModbusPDUReadInputRegistersResponse) Serialize(io spi.WriteBuffer) {
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(len(m.value)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (value)
- if m.value != nil {
- for _, _element := range m.value {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(len(m.value)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (value)
+ if m.value != nil {
+ for _, _element := range m.value {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
similarity index 77%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
index bff2785..e54097d 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
@@ -19,9 +19,10 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadWriteMultipleHoldingRegistersRequest struct {
readStartingAddress uint16
readQuantity uint16
@@ -31,6 +32,7 @@ type ModbusPDUReadWriteMultipleHoldingRegistersRequest struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadWriteMultipleHoldingRegistersRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -120,31 +122,36 @@ func ModbusPDUReadWriteMultipleHoldingRegistersRequestParse(io spi.ReadBuffer) (
}
func (m ModbusPDUReadWriteMultipleHoldingRegistersRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (readStartingAddress)
- var readStartingAddress uint16 = m.readStartingAddress
- io.WriteUint16(16, (readStartingAddress))
-
- // Simple Field (readQuantity)
- var readQuantity uint16 = m.readQuantity
- io.WriteUint16(16, (readQuantity))
-
- // Simple Field (writeStartingAddress)
- var writeStartingAddress uint16 = m.writeStartingAddress
- io.WriteUint16(16, (writeStartingAddress))
-
- // Simple Field (writeQuantity)
- var writeQuantity uint16 = m.writeQuantity
- io.WriteUint16(16, (writeQuantity))
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(len(m.value)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (value)
- if m.value != nil {
- for _, _element := range m.value {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (readStartingAddress)
+ var readStartingAddress uint16 = m.readStartingAddress
+ io.WriteUint16(16, (readStartingAddress))
+
+ // Simple Field (readQuantity)
+ var readQuantity uint16 = m.readQuantity
+ io.WriteUint16(16, (readQuantity))
+
+ // Simple Field (writeStartingAddress)
+ var writeStartingAddress uint16 = m.writeStartingAddress
+ io.WriteUint16(16, (writeStartingAddress))
+
+ // Simple Field (writeQuantity)
+ var writeQuantity uint16 = m.writeQuantity
+ io.WriteUint16(16, (writeQuantity))
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(len(m.value)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (value)
+ if m.value != nil {
+ for _, _element := range m.value {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
similarity index 82%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
index 9734878..aa345ab 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReadWriteMultipleHoldingRegistersResponse struct {
value []int8
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReadWriteMultipleHoldingRegistersResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -92,15 +94,20 @@ func ModbusPDUReadWriteMultipleHoldingRegistersResponseParse(io spi.ReadBuffer)
}
func (m ModbusPDUReadWriteMultipleHoldingRegistersResponse) Serialize(io spi.WriteBuffer) {
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(len(m.value)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (value)
- if m.value != nil {
- for _, _element := range m.value {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(len(m.value)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (value)
+ if m.value != nil {
+ for _, _element := range m.value {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReportServerIdRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReportServerIdRequest.go
similarity index 89%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReportServerIdRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReportServerIdRequest.go
index cbdb441..abd1658 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReportServerIdRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReportServerIdRequest.go
@@ -19,13 +19,15 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReportServerIdRequest struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReportServerIdRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -69,4 +71,9 @@ func ModbusPDUReportServerIdRequestParse(io spi.ReadBuffer) (ModbusPDUInitialize
}
func (m ModbusPDUReportServerIdRequest) Serialize(io spi.WriteBuffer) {
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReportServerIdResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReportServerIdResponse.go
similarity index 81%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReportServerIdResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReportServerIdResponse.go
index 731d27f..e22f6c0 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUReportServerIdResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUReportServerIdResponse.go
@@ -19,14 +19,16 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUReportServerIdResponse struct {
value []int8
ModbusPDU
}
+// The corresponding interface
type IModbusPDUReportServerIdResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -92,15 +94,20 @@ func ModbusPDUReportServerIdResponseParse(io spi.ReadBuffer) (ModbusPDUInitializ
}
func (m ModbusPDUReportServerIdResponse) Serialize(io spi.WriteBuffer) {
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(len(m.value)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (value)
- if m.value != nil {
- for _, _element := range m.value {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(len(m.value)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (value)
+ if m.value != nil {
+ for _, _element := range m.value {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequest.go
similarity index 84%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequest.go
index e3c7a74..ec073b9 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequest.go
@@ -20,15 +20,17 @@ package readwrite
import (
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
"reflect"
)
+// The data-structure of this message
type ModbusPDUWriteFileRecordRequest struct {
items []ModbusPDUWriteFileRecordRequestItem
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteFileRecordRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -110,15 +112,20 @@ func (m ModbusPDUWriteFileRecordRequest) Serialize(io spi.WriteBuffer) {
}
return sizeInBytes
}
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(itemsArraySizeInBytes(m.items)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (items)
- if m.items != nil {
- for _, _element := range m.items {
- _element.Serialize(io)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(itemsArraySizeInBytes(m.items)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (items)
+ if m.items != nil {
+ for _, _element := range m.items {
+ _element.Serialize(io)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.go
similarity index 75%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.go
index 2137397..4b3d266 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.go
@@ -19,9 +19,10 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteFileRecordRequestItem struct {
referenceType uint8
fileNumber uint16
@@ -29,6 +30,7 @@ type ModbusPDUWriteFileRecordRequestItem struct {
recordData []int8
}
+// The corresponding interface
type IModbusPDUWriteFileRecordRequestItem interface {
spi.Message
Serialize(io spi.WriteBuffer)
@@ -93,27 +95,32 @@ func ModbusPDUWriteFileRecordRequestItemParse(io spi.ReadBuffer) (spi.Message, e
}
func (m ModbusPDUWriteFileRecordRequestItem) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (referenceType)
- var referenceType uint8 = m.referenceType
- io.WriteUint8(8, (referenceType))
-
- // Simple Field (fileNumber)
- var fileNumber uint16 = m.fileNumber
- io.WriteUint16(16, (fileNumber))
-
- // Simple Field (recordNumber)
- var recordNumber uint16 = m.recordNumber
- io.WriteUint16(16, (recordNumber))
-
- // Implicit Field (recordLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var recordLength uint16 = ((uint16(len(m.recordData))) / (2))
- io.WriteUint16(16, (recordLength))
-
- // Array Field (recordData)
- if m.recordData != nil {
- for _, _element := range m.recordData {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (referenceType)
+ var referenceType uint8 = m.referenceType
+ io.WriteUint8(8, (referenceType))
+
+ // Simple Field (fileNumber)
+ var fileNumber uint16 = m.fileNumber
+ io.WriteUint16(16, (fileNumber))
+
+ // Simple Field (recordNumber)
+ var recordNumber uint16 = m.recordNumber
+ io.WriteUint16(16, (recordNumber))
+
+ // Implicit Field (recordLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var recordLength uint16 = ((uint16(len(m.recordData))) / (2))
+ io.WriteUint16(16, (recordLength))
+
+ // Array Field (recordData)
+ if m.recordData != nil {
+ for _, _element := range m.recordData {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponse.go
similarity index 85%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponse.go
index 387ba1d..4cedddf 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponse.go
@@ -20,15 +20,17 @@ package readwrite
import (
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
"reflect"
)
+// The data-structure of this message
type ModbusPDUWriteFileRecordResponse struct {
items []ModbusPDUWriteFileRecordResponseItem
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteFileRecordResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -110,15 +112,20 @@ func (m ModbusPDUWriteFileRecordResponse) Serialize(io spi.WriteBuffer) {
}
return sizeInBytes
}
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(itemsArraySizeInBytes(m.items)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (items)
- if m.items != nil {
- for _, _element := range m.items {
- _element.Serialize(io)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(itemsArraySizeInBytes(m.items)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (items)
+ if m.items != nil {
+ for _, _element := range m.items {
+ _element.Serialize(io)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.go
similarity index 75%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.go
index 703f6e5..6fe8d39 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.go
@@ -19,9 +19,10 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteFileRecordResponseItem struct {
referenceType uint8
fileNumber uint16
@@ -29,6 +30,7 @@ type ModbusPDUWriteFileRecordResponseItem struct {
recordData []int8
}
+// The corresponding interface
type IModbusPDUWriteFileRecordResponseItem interface {
spi.Message
Serialize(io spi.WriteBuffer)
@@ -93,27 +95,32 @@ func ModbusPDUWriteFileRecordResponseItemParse(io spi.ReadBuffer) (spi.Message,
}
func (m ModbusPDUWriteFileRecordResponseItem) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (referenceType)
- var referenceType uint8 = m.referenceType
- io.WriteUint8(8, (referenceType))
-
- // Simple Field (fileNumber)
- var fileNumber uint16 = m.fileNumber
- io.WriteUint16(16, (fileNumber))
-
- // Simple Field (recordNumber)
- var recordNumber uint16 = m.recordNumber
- io.WriteUint16(16, (recordNumber))
-
- // Implicit Field (recordLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var recordLength uint16 = ((uint16(len(m.recordData))) / (2))
- io.WriteUint16(16, (recordLength))
-
- // Array Field (recordData)
- if m.recordData != nil {
- for _, _element := range m.recordData {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (referenceType)
+ var referenceType uint8 = m.referenceType
+ io.WriteUint8(8, (referenceType))
+
+ // Simple Field (fileNumber)
+ var fileNumber uint16 = m.fileNumber
+ io.WriteUint16(16, (fileNumber))
+
+ // Simple Field (recordNumber)
+ var recordNumber uint16 = m.recordNumber
+ io.WriteUint16(16, (recordNumber))
+
+ // Implicit Field (recordLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var recordLength uint16 = ((uint16(len(m.recordData))) / (2))
+ io.WriteUint16(16, (recordLength))
+
+ // Array Field (recordData)
+ if m.recordData != nil {
+ for _, _element := range m.recordData {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.go
similarity index 78%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.go
index 49c3abf..f43e395 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.go
@@ -19,9 +19,10 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteMultipleCoilsRequest struct {
startingAddress uint16
quantity uint16
@@ -29,6 +30,7 @@ type ModbusPDUWriteMultipleCoilsRequest struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteMultipleCoilsRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -106,23 +108,28 @@ func ModbusPDUWriteMultipleCoilsRequestParse(io spi.ReadBuffer) (ModbusPDUInitia
}
func (m ModbusPDUWriteMultipleCoilsRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (startingAddress)
- var startingAddress uint16 = m.startingAddress
- io.WriteUint16(16, (startingAddress))
-
- // Simple Field (quantity)
- var quantity uint16 = m.quantity
- io.WriteUint16(16, (quantity))
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(len(m.value)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (value)
- if m.value != nil {
- for _, _element := range m.value {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (startingAddress)
+ var startingAddress uint16 = m.startingAddress
+ io.WriteUint16(16, (startingAddress))
+
+ // Simple Field (quantity)
+ var quantity uint16 = m.quantity
+ io.WriteUint16(16, (quantity))
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(len(m.value)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (value)
+ if m.value != nil {
+ for _, _element := range m.value {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.go
similarity index 83%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.go
index 28806fe..2973e04 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteMultipleCoilsResponse struct {
startingAddress uint16
quantity uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteMultipleCoilsResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUWriteMultipleCoilsResponseParse(io spi.ReadBuffer) (ModbusPDUIniti
}
func (m ModbusPDUWriteMultipleCoilsResponse) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (startingAddress)
- var startingAddress uint16 = m.startingAddress
- io.WriteUint16(16, (startingAddress))
-
- // Simple Field (quantity)
- var quantity uint16 = m.quantity
- io.WriteUint16(16, (quantity))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (startingAddress)
+ var startingAddress uint16 = m.startingAddress
+ io.WriteUint16(16, (startingAddress))
+
+ // Simple Field (quantity)
+ var quantity uint16 = m.quantity
+ io.WriteUint16(16, (quantity))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.go
similarity index 79%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.go
index a775c14..a21fe27 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.go
@@ -19,9 +19,10 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteMultipleHoldingRegistersRequest struct {
startingAddress uint16
quantity uint16
@@ -29,6 +30,7 @@ type ModbusPDUWriteMultipleHoldingRegistersRequest struct {
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteMultipleHoldingRegistersRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -106,23 +108,28 @@ func ModbusPDUWriteMultipleHoldingRegistersRequestParse(io spi.ReadBuffer) (Modb
}
func (m ModbusPDUWriteMultipleHoldingRegistersRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (startingAddress)
- var startingAddress uint16 = m.startingAddress
- io.WriteUint16(16, (startingAddress))
-
- // Simple Field (quantity)
- var quantity uint16 = m.quantity
- io.WriteUint16(16, (quantity))
-
- // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var byteCount uint8 = (uint8(len(m.value)))
- io.WriteUint8(8, (byteCount))
-
- // Array Field (value)
- if m.value != nil {
- for _, _element := range m.value {
- io.WriteInt8(8, _element)
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (startingAddress)
+ var startingAddress uint16 = m.startingAddress
+ io.WriteUint16(16, (startingAddress))
+
+ // Simple Field (quantity)
+ var quantity uint16 = m.quantity
+ io.WriteUint16(16, (quantity))
+
+ // Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var byteCount uint8 = (uint8(len(m.value)))
+ io.WriteUint8(8, (byteCount))
+
+ // Array Field (value)
+ if m.value != nil {
+ for _, _element := range m.value {
+ io.WriteInt8(8, _element)
+ }
+ }
}
}
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.go
similarity index 84%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.go
index 914260d..dc5fd03 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteMultipleHoldingRegistersResponse struct {
startingAddress uint16
quantity uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteMultipleHoldingRegistersResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUWriteMultipleHoldingRegistersResponseParse(io spi.ReadBuffer) (Mod
}
func (m ModbusPDUWriteMultipleHoldingRegistersResponse) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (startingAddress)
- var startingAddress uint16 = m.startingAddress
- io.WriteUint16(16, (startingAddress))
-
- // Simple Field (quantity)
- var quantity uint16 = m.quantity
- io.WriteUint16(16, (quantity))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (startingAddress)
+ var startingAddress uint16 = m.startingAddress
+ io.WriteUint16(16, (startingAddress))
+
+ // Simple Field (quantity)
+ var quantity uint16 = m.quantity
+ io.WriteUint16(16, (quantity))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.go
similarity index 84%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.go
index e18173e..62deb5b 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteSingleCoilRequest struct {
address uint16
value uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteSingleCoilRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUWriteSingleCoilRequestParse(io spi.ReadBuffer) (ModbusPDUInitializ
}
func (m ModbusPDUWriteSingleCoilRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (address)
- var address uint16 = m.address
- io.WriteUint16(16, (address))
-
- // Simple Field (value)
- var value uint16 = m.value
- io.WriteUint16(16, (value))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (address)
+ var address uint16 = m.address
+ io.WriteUint16(16, (address))
+
+ // Simple Field (value)
+ var value uint16 = m.value
+ io.WriteUint16(16, (value))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.go
similarity index 84%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.go
index e519cf1..2e0792d 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteSingleCoilResponse struct {
address uint16
value uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteSingleCoilResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUWriteSingleCoilResponseParse(io spi.ReadBuffer) (ModbusPDUInitiali
}
func (m ModbusPDUWriteSingleCoilResponse) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (address)
- var address uint16 = m.address
- io.WriteUint16(16, (address))
-
- // Simple Field (value)
- var value uint16 = m.value
- io.WriteUint16(16, (value))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (address)
+ var address uint16 = m.address
+ io.WriteUint16(16, (address))
+
+ // Simple Field (value)
+ var value uint16 = m.value
+ io.WriteUint16(16, (value))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.go
similarity index 84%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.go
index a7d8231..d7e7e0d 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteSingleRegisterRequest struct {
address uint16
value uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteSingleRegisterRequest interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUWriteSingleRegisterRequestParse(io spi.ReadBuffer) (ModbusPDUIniti
}
func (m ModbusPDUWriteSingleRegisterRequest) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (address)
- var address uint16 = m.address
- io.WriteUint16(16, (address))
-
- // Simple Field (value)
- var value uint16 = m.value
- io.WriteUint16(16, (value))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (address)
+ var address uint16 = m.address
+ io.WriteUint16(16, (address))
+
+ // Simple Field (value)
+ var value uint16 = m.value
+ io.WriteUint16(16, (value))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.go
similarity index 84%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.go
index 54f07cc..730dd1c 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.go
@@ -19,15 +19,17 @@
package readwrite
import (
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
)
+// The data-structure of this message
type ModbusPDUWriteSingleRegisterResponse struct {
address uint16
value uint16
ModbusPDU
}
+// The corresponding interface
type IModbusPDUWriteSingleRegisterResponse interface {
IModbusPDU
Serialize(io spi.WriteBuffer)
@@ -83,12 +85,17 @@ func ModbusPDUWriteSingleRegisterResponseParse(io spi.ReadBuffer) (ModbusPDUInit
}
func (m ModbusPDUWriteSingleRegisterResponse) Serialize(io spi.WriteBuffer) {
-
- // Simple Field (address)
- var address uint16 = m.address
- io.WriteUint16(16, (address))
-
- // Simple Field (value)
- var value uint16 = m.value
- io.WriteUint16(16, (value))
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
+
+ // Simple Field (address)
+ var address uint16 = m.address
+ io.WriteUint16(16, (address))
+
+ // Simple Field (value)
+ var value uint16 = m.value
+ io.WriteUint16(16, (value))
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusSerialADU.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusSerialADU.go
similarity index 80%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusSerialADU.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusSerialADU.go
index 18713e3..6c56e2c 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusSerialADU.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusSerialADU.go
@@ -21,10 +21,11 @@ package readwrite
import (
"errors"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
"reflect"
)
+// The data-structure of this message
type ModbusSerialADU struct {
transactionId uint16
length uint16
@@ -32,6 +33,7 @@ type ModbusSerialADU struct {
pdu ModbusPDU
}
+// The corresponding interface
type IModbusSerialADU interface {
spi.Message
Serialize(io spi.WriteBuffer)
@@ -104,23 +106,28 @@ func ModbusSerialADUParse(io spi.ReadBuffer, response bool) (spi.Message, error)
}
func (m ModbusSerialADU) Serialize(io spi.WriteBuffer) {
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
- // Simple Field (transactionId)
- var transactionId uint16 = m.transactionId
- io.WriteUint16(16, (transactionId))
+ // Simple Field (transactionId)
+ var transactionId uint16 = m.transactionId
+ io.WriteUint16(16, (transactionId))
- // Reserved Field (reserved)
- io.WriteUint16(16, uint16(0x0000))
+ // Reserved Field (reserved)
+ io.WriteUint16(16, uint16(0x0000))
- // Simple Field (length)
- var length uint16 = m.length
- io.WriteUint16(16, (length))
+ // Simple Field (length)
+ var length uint16 = m.length
+ io.WriteUint16(16, (length))
- // Simple Field (address)
- var address uint8 = m.address
- io.WriteUint8(8, (address))
+ // Simple Field (address)
+ var address uint8 = m.address
+ io.WriteUint8(8, (address))
- // Simple Field (pdu)
- var pdu ModbusPDU = m.pdu
- pdu.Serialize(io)
+ // Simple Field (pdu)
+ var pdu ModbusPDU = m.pdu
+ pdu.Serialize(io)
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusTcpADU.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusTcpADU.go
similarity index 77%
rename from sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusTcpADU.go
rename to sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusTcpADU.go
index b4e91f8..d292218 100644
--- a/sandbox/plc4go/generated-sources/plc4go/modbus/readwrite/ModbusTcpADU.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/ModbusTcpADU.go
@@ -20,7 +20,7 @@ package readwrite
import (
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/0.8.0/src/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
"reflect"
"strconv"
)
@@ -28,12 +28,14 @@ import (
// Constant values.
const PROTOCOLIDENTIFIER uint16 = 0x0000
+// The data-structure of this message
type ModbusTcpADU struct {
transactionIdentifier uint16
unitIdentifier uint8
pdu ModbusPDU
}
+// The corresponding interface
type IModbusTcpADU interface {
spi.Message
Serialize(io spi.WriteBuffer)
@@ -101,23 +103,28 @@ func ModbusTcpADUParse(io spi.ReadBuffer, response bool) (spi.Message, error) {
}
func (m ModbusTcpADU) Serialize(io spi.WriteBuffer) {
+ serializeFunc := func(typ interface{}) {
+ if _, ok := typ.(IModbusPDU); ok {
- // Simple Field (transactionIdentifier)
- var transactionIdentifier uint16 = m.transactionIdentifier
- io.WriteUint16(16, (transactionIdentifier))
+ // Simple Field (transactionIdentifier)
+ var transactionIdentifier uint16 = m.transactionIdentifier
+ io.WriteUint16(16, (transactionIdentifier))
- // Const Field (protocolIdentifier)
- io.WriteUint16(16, 0x0000)
+ // Const Field (protocolIdentifier)
+ io.WriteUint16(16, 0x0000)
- // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
- var length uint16 = ((m.pdu.LengthInBytes()) + (1))
- io.WriteUint16(16, (length))
+ // Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ var length uint16 = ((m.pdu.LengthInBytes()) + (1))
+ io.WriteUint16(16, (length))
- // Simple Field (unitIdentifier)
- var unitIdentifier uint8 = m.unitIdentifier
- io.WriteUint8(8, (unitIdentifier))
+ // Simple Field (unitIdentifier)
+ var unitIdentifier uint8 = m.unitIdentifier
+ io.WriteUint8(8, (unitIdentifier))
- // Simple Field (pdu)
- var pdu ModbusPDU = m.pdu
- pdu.Serialize(io)
+ // Simple Field (pdu)
+ var pdu ModbusPDU = m.pdu
+ pdu.Serialize(io)
+ }
+ }
+ serializeFunc(m)
}
diff --git a/sandbox/plc4go/src/plc4go/spi/Message.go b/sandbox/plc4go/internal/plc4go/spi/Message.go
similarity index 100%
rename from sandbox/plc4go/src/plc4go/spi/Message.go
rename to sandbox/plc4go/internal/plc4go/spi/Message.go
diff --git a/sandbox/plc4go/src/plc4go/spi/ReadBuffer.go b/sandbox/plc4go/internal/plc4go/spi/ReadBuffer.go
similarity index 100%
rename from sandbox/plc4go/src/plc4go/spi/ReadBuffer.go
rename to sandbox/plc4go/internal/plc4go/spi/ReadBuffer.go
diff --git a/sandbox/plc4go/src/plc4go/spi/WriteBuffer.go b/sandbox/plc4go/internal/plc4go/spi/WriteBuffer.go
similarity index 100%
rename from sandbox/plc4go/src/plc4go/spi/WriteBuffer.go
rename to sandbox/plc4go/internal/plc4go/spi/WriteBuffer.go
diff --git a/sandbox/plc4go/pom.xml b/sandbox/plc4go/pom.xml
index c519a1d..3ae8a81 100644
--- a/sandbox/plc4go/pom.xml
+++ b/sandbox/plc4go/pom.xml
@@ -54,7 +54,7 @@
<protocolName>modbus</protocolName>
<languageName>go</languageName>
<outputFlavor>read-write</outputFlavor>
- <outputDir>${project.basedir}/generated-sources</outputDir>
+ <outputDir>${project.basedir}/internal</outputDir>
</configuration>
</execution>
</executions>
@@ -65,19 +65,13 @@
<artifactId>mvn-golang-wrapper</artifactId>
<version>2.3.5</version>
<extensions>true</extensions>
- <executions>
- <execution>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <packages>
- <package>main.go</package>
- </packages>
- <sources>src,generated-sources</sources>
- </configuration>
- </execution>
- </executions>
+ <configuration>
+ <moduleMode>true</moduleMode>
+ <!--packages>
+ <package>cmd/modbus/modbus.go</package>
+ </packages-->
+ <sources>.</sources>
+ </configuration>
</plugin>
</plugins>
</build>
@@ -99,6 +93,13 @@
<!-- Scope is 'provided' as this way it's not shipped with the driver -->
<scope>provided</scope>
</dependency>
+
+ <dependency>
+ <groupId>com.igormaznitsa</groupId>
+ <artifactId>mvn-golang-wrapper</artifactId>
+ <version>2.3.5</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>