You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by ld...@apache.org on 2021/05/24 09:15:04 UTC

[plc4x] branch feature/can-stack-tunning updated (a4ad631 -> 35882d3)

This is an automated email from the ASF dual-hosted git repository.

ldywicki pushed a change to branch feature/can-stack-tunning
in repository https://gitbox.apache.org/repos/asf/plc4x.git.


 discard a4ad631  PLC4X-294 / PLC4X-296 Work in progress.
     add f00e2d5  spi/src/system.c: fixed mem leaks, removed unneede allocs, fixed compiler warnings on hurz cast and degloablised hurz. Rewrote the connection string parser to use tokenisation rather than walking pointer. hello_world_s7.c corrected some printfs and allowed cli args. transport_tcp.c fixed compile warning on printf. hello-wolrd-s7 now working
     add 656f3da  Added a loopback test which involves getting write values working, issue with s7 payload data item offset to resolve
     add 6d9c705  fix to offsetting of var paload and some exra fetures on loopback tests
     add 4ecc0e3  revert changes not needed in autogenereted code
     add accc962  Merge branch 'develop' of https://github.com/apache/plc4x into develop
     add 831a1ad  loopback working with intergers
     add c02a2d3  fix for 32bit int writes, now works too
     add 42faa41  all data types write and arrays
     add 1c1e20b  write works with gt 1 byte list items
     add 10f308d  added fcns to make data item arrays into data.c/.h, added error check to write responces in sm_write.c, correct instalisation of request values in packets.c, naming consistency in sm_read.c.
     add 257bd57  check read responce items
     add 1551198  misc commit
     add 18af0b4  plc4go: updated generated files
     add a28fac5  plc4j: converted ReadBuffer and WriteBuffer to interfaces
     add a18260f  Merge branch 'develop' of https://github.com/apache/plc4x into develop
     add f340611  read returns results to api
     add 531aba9  plc4j: fixed build
     add c533745  plc4j: simple xml based writer
     add 63a5849  plc4go: small optimization in ReadBufferXmlBased.go
     add e7f2f4c  plc4j: simple xml based reader
     add ab34489  plc4j: switch xml writer to a stax based implementation to align to the reader
     add f9e4593  plc4go: enum fields and complex types emit now a own context
     add 7ec5b56  plc4j: finalized xml generation which is now fully compatible to golang.
     add 0c5f2ae  plc4go: first draft of WriterBufferJsonBased.go
     add 3211e42  plc4go: regenerate go-code and added missing options
     add 6891b70  plc4go: fixed json rendering of padding fields
     add 409175c  plc4go: implement a json based read buffer
     add 022cec0  Added an alternate path for importing plc4go
     add c7e332f  Added a missing Apache header
     add f19f42b  plc4go: enable validation on ReadBufferJsonBased by default
     add c32d202  plc4go: fixed bug where strings could overwrite their encoding in json
     add dabe0cf  plc4j: implemented json based read and write buffers.
     add c0ffbf1  plc4j: json based read and write buffers. Are now compatible to plc4go
     add 4ea6cea  plc4go: fixed a bug where json type infos weren't written in case of empty elements
     add 522d9d2  Tried adding the meta-tags to the index.adoc of the plc4go section
     add 5e88487  plc4go: fixed bug where enum got prefixed by space on commons method
     add 9289c8b  plc4j: json based read and write buffers. Are now 100% compatible to plc4go
     add f172674  plc4site: update the plc4go example to use the builder pattern
     add 7db521f  plc4go: fixed issue with go.mod/sum being generated in plc4x root
     add c3c877a  plc4site: update the plc4go getting started to use the builder pattern
     add fe53e11  plc4(go|j): prepare the introduction of the new xml writer by implementing the old serialization as fallback
     add ec5f421  plc4j: fixed issue where context wasn't popped using a manual array
     add badc529  plc4j: fix build by removing obsolete code in ckecksum calculation
     add c594bfc  plc4(j|go): migrated parser testsuites to the new model-serializer based xml serialization.
     add 5616b83  plc4(j|go): migrated parser testsuites to the new model-serializer based xml serialization. (part2)
     add d357915  plc4j: WriterBufferXmlBased now renderes the isList attribute
     add 6d83422  plc4(j|go): migrated parser testsuites to the new model-serializer based xml serialization. (part3)
     add 0af970c  plc4x: introduce update check stage to get a better overview of the dependency state
     add f53a89b  plc4j: fixed inconsistency between xml read/write on booleans
     add 520a2e0  plc4j: fixed bug on xml read buffer where newlines broke the number parsing
     add 32c012e  plc4go: added support for driver test suite migration
     add 479fe2d  plc4x: added protocolName and output flavor to driver-testsuite.xsd
     add 417aad0  plc4j: fixed enum rendering
     add 4b7953c  plc4go: fixed error on push/pop/pull/close not being handled
     add 9225b17  plc4j: refactored test-utils
     add 8f28d79  plc4x: migrated DriverTestsuite.xml* to new mspec serializer based format.
     add ccd1088  plc4go: fixed enum rendering on indirect enums references
     add 9b72779  plc4j: fixed issue where we get an superfluous newline in xml
     add f97d36f  plc4j: addon for 9b72779b
     add 965c20e  Update adopters.adoc
     add 45850b0  Update adopters.adoc
     add 18bddfa  plc4go: deprecated old xml/box methods
     add 7f735c3  plc4go: initial string implementation
     add 074d49e  plc4go: initial string implementation (part 2)
     add dfb9dc3  plc4go: improved performance of asciiBox by using strings.Builder
     add 74fcafd  Enabled the scan for the full KNX address range
     add 65e6b94  Updated the KNX discovery example to also allow providing an explicit gateway IP/Hostname
     add baaa109  Remove merge button when merging PR's, this forces the use of squash (#238)
     add 07f2640  plc4go: enabled knxnetip parser test
     add 9d6425b  plc4go: fixed passing parameters incorrectly, resulting in a null pointer (#243)
     add fc680ca  plc4go: implemented write support for SingleItemRequestInterceptor.go
     add 8271aa4  plc4go: small cleanup
     add bb4484c  plc4go: added the possibility to get the name and change the name of a asciibox
     add 5730d30  plc4go: fixed a bug in unwrap of AsciiBox where boxes within boxes got wrongfully trimmed
     add 6f03788  plc4go: added an option to WriteBufferBoxBased.go to print boxes in a compact form
     add 45b00dc  plc4go: added an option to WriteBufferBoxBased.go to omit empty boxes in a compact form
     add e2944d3  Merge branch 'develop' of github.com:apache/plc4x into thomas169_develop
     add 875fe6c  - Adjusted the PR to work in the maven build on a system without unity installed - Fixed some problems in the driver_modbus_encode_decode.c function for parsing the address strings (Wonder why this didn't fail on Windows or Mac)
     add e5372c6  - Added new KNX Manufacturer
     add 5a61042  - Added a BYTE simple type
     add 4ee152d  plc4x: added byte support to readers and writers
     add f701bd3  - Explicitly excluded H50 from the node-list
     add 7d135d2  plc4go: fixed issue where hex mutated the input array
     add e531eb8  eip/simulated: fixed wrong use of uint
     add 4d578f9  plc4go: fixed several issues in code generation
     add 37fee41  plc4go: added abeth/df1/eip/firmata/simulated
     add 557122b  fix build
     add 002bcb3  plc4go: added byte array support to readers and writers
     add 5d22a86  plc4j: added byte array support to readers and writers
     add 7f65e1d  plc4x: removed old rendering methods
     add fb93288  plc4go: cleanup xml helper code
     add 01834dc  plc4j: removed legacy xml serialisation from test-utils
     add 28ad72f  plc4x: removed traces from unnecessary java class names from Test suites
     add 2f4cb16  plc4go: removed un/marshal methods from enums
     add 9a21346  PLC4X-298 - [S7] When writing REAL values the Write operation fails with an internal error
     add a863bb7  PLC4X-298 - [S7] When writing REAL values the Write operation fails with an internal error
     add 9425728  plc4go: fixed bug where parsing was using the wrong types on content enums
     add d8461bf  plc4x: fixed bugs and unified crc16 between go and java
     add 7675713  plc4go: enabled eip ParserSerializerTestsuite.xml
     add 6b43485  plc4go: fixed issue with stackoverflow on test fail
     add b9f779a  plc4go: enabled firmata_parser_serializer_test.go
     add e46507c  plc4go: cleanup
     add f002373  plc4go: initial implementation for eip driver
     add b3b023f  pl4go: fixed issue in DriverTestRunner.go by adding delay after setup steps
     add 2fefc3c  pl4go: reintroduced String() methods (boxed based)
     add 7a4380f  plc4go: fixed endianness for eip in DriverTestRunner.go
     add 3251590  plc4go: fixed issue with nil values on generated String() methods
     add e2542b1  plc4go: fixed issue in xml compare where empty inserts where suggested
     add e6f8bb2  plc4go: enabled eip driver test
     add 0c0aa24  Fixed the PLC4C build after the latest changes
     add 03b5ece  plc4go: generalized DriverTestRunner.go by moving protocol specifics into their testing functions
     add ab0af0b  plc4x: renamed "build-utils" to "code-generation"
     add 129f42f  Add dependabot config file
     add fa31165  Updated license on dependabot file
     add 35882d3  PLC4X-294 / PLC4X-296 Work in progress.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (a4ad631)
            \
             N -- N -- N   refs/heads/feature/can-stack-tunning (35882d3)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |    2 +-
 .github/dependabot.yml                             |   21 +
 Jenkinsfile                                        |   14 +-
 LICENSE                                            |    2 +-
 RELEASE_NOTES                                      |    3 +
 .../language-base-freemarker/pom.xml               |    6 +-
 .../BaseFreemarkerLanguageTemplateHelper.java      |   29 +-
 .../protocol/freemarker/FreemarkerException.java   |    0
 .../freemarker/FreemarkerLanguageOutput.java       |    0
 .../FreemarkerLanguageTemplateHelper.java          |    0
 .../language-c/pom.xml                             |    6 +-
 .../apache/plc4x/language/c/CLanguageOutput.java   |    0
 .../plc4x/language/c/CLanguageTemplateHelper.java  |   71 +-
 ...x.plugins.codegenerator.language.LanguageOutput |    0
 .../resources/templates/c/data-io-template.c.ftlh  |   26 +-
 .../resources/templates/c/data-io-template.h.ftlh  |    6 +-
 .../resources/templates/c/enum-template.c.ftlh     |    2 +-
 .../resources/templates/c/enum-template.h.ftlh     |    2 +-
 .../resources/templates/c/pojo-template.c.ftlh     |   44 +-
 .../resources/templates/c/pojo-template.h.ftlh     |    6 +-
 .../test/resources/integration-test/CMakeLists.txt |    0
 .../generated-sources/CMakeLists.txt               |    0
 .../generated-sources/test/CMakeLists.txt          |    0
 .../src/test/resources/integration-test/pom.xml    |   12 +-
 .../language-c/src/test/resources/settings.xml     |    0
 .../language-go/pom.xml                            |   46 +-
 .../apache/plc4x/language/go/GoLanguageOutput.java |    0
 .../language/go/GoLanguageTemplateHelper.java      |   87 +-
 .../apache/plc4x/language/go/utils/FieldUtils.java |    0
 ...x.plugins.codegenerator.language.LanguageOutput |    0
 .../templates/go/data-io-template.go.ftlh          |   26 +-
 .../resources/templates/go/enum-template.go.ftlh   |   66 +-
 .../resources/templates/go/model-template.go.ftlh  |  747 ++--
 .../templates/go/parser-factory-template.go.ftlh   |    8 +-
 .../go/xml-parser-factory-template.go.ftlh         |   74 +-
 .../language-go/src/test/resources/plc4go/go.mod   |    2 +-
 .../language-go/src/test/resources/plc4go/pom.xml  |   12 +-
 .../language-go}/src/test/resources/settings.xml   |    0
 .../language-java/pom.xml                          |   12 +-
 .../plc4x/language/java/JavaLanguageOutput.java    |    0
 .../language/java/JavaLanguageTemplateHelper.java  |  111 +-
 ...x.plugins.codegenerator.language.LanguageOutput |    0
 .../templates/java/data-io-template.java.ftlh      |   36 +-
 .../java/enum-package-info-template.java.ftlh      |    2 +-
 .../templates/java/enum-template.java.ftlh         |    2 +-
 .../resources/templates/java/io-template.java.ftlh |  237 +-
 .../templates/java/pojo-template.java.ftlh         |   11 +-
 .../src/test/resources/integration-test/pom.xml    |   12 +-
 .../language-java}/src/test/resources/settings.xml |    0
 {build-utils => code-generation}/pom.xml           |    2 +-
 .../protocol-base-mspec/pom.xml                    |    4 +-
 .../plugins/codegenerator/language/mspec/MSpec.g4  |    1 +
 .../language/mspec/expression/Expression.g4        |    0
 .../mspec/expression/ExpressionStringListener.java |    0
 .../mspec/expression/ExpressionStringParser.java   |    0
 .../definitions/DefaultComplexTypeDefinition.java  |    0
 .../definitions/DefaultDataIoTypeDefinition.java   |    0
 .../DefaultDiscriminatedComplexTypeDefinition.java |    0
 .../definitions/DefaultEnumTypeDefinition.java     |    0
 .../mspec/model/definitions/DefaultEnumValue.java  |    0
 .../model/definitions/DefaultTypeDefinition.java   |    0
 .../mspec/model/fields/DefaultAbstractField.java   |    0
 .../mspec/model/fields/DefaultArrayField.java      |    0
 .../mspec/model/fields/DefaultChecksumField.java   |    0
 .../mspec/model/fields/DefaultConstField.java      |    0
 .../model/fields/DefaultDiscriminatorField.java    |    0
 .../mspec/model/fields/DefaultEnumField.java       |    0
 .../mspec/model/fields/DefaultImplicitField.java   |    0
 .../model/fields/DefaultManualArrayField.java      |    0
 .../mspec/model/fields/DefaultManualField.java     |    0
 .../mspec/model/fields/DefaultOptionalField.java   |    0
 .../mspec/model/fields/DefaultPaddingField.java    |    0
 .../mspec/model/fields/DefaultReservedField.java   |    0
 .../mspec/model/fields/DefaultSimpleField.java     |    0
 .../mspec/model/fields/DefaultSwitchField.java     |    0
 .../mspec/model/fields/DefaultTaggedField.java     |    0
 .../mspec/model/fields/DefaultVirtualField.java    |    0
 .../mspec/parser/MessageFormatListener.java        |    2 +
 .../language/mspec/parser/MessageFormatParser.java |    0
 .../src/remote-resources/LICENSE                   |    0
 .../src/remote-resources/UNLICENSE                 |    0
 .../expression/ExpressionStringParserTest.java     |    0
 .../mspec/parser/MessageFormatParserTest.java      |    0
 .../src/test/resources/mspec.example               |    0
 .../protocol-test/pom.xml                          |    6 +-
 .../apache/plc4x/protocol/test/TestProtocol.java   |    0
 ...e.plc4x.plugins.codegenerator.protocol.Protocol |    0
 .../src/main/resources/protocols/test/test.mspec   |    1 +
 .../protocol-test/src/site/asciidoc/index.adoc     |    0
 .../protocol-test/src/site/site.xml                |    0
 go.sum                                             |  159 -
 .../protocols/abeth/ParserSerializerTestsuite.xml  |  203 +
 .../protocols/ads/AdsDiscoverySerializerTest.xml   |  611 +++-
 .../testing/protocols/ads/DriverTestsuite.xml      | 1533 +++++---
 .../protocols/ads/ParserSerializerTestsuite.xml    |  820 +++--
 .../protocols/df1/ParserSerializerTestsuite.xml    |  151 +
 .../testing/protocols/eip/DriverTestsuite.xml      |  233 ++
 .../protocols/eip/ParserSerializerTestsuite.xml    |  328 ++
 .../firmata/ParserSerializerTestsuite.xml          |  506 +++
 .../knxnetip/ParserSerializerTestsuite.xml         | 1101 ++++--
 .../testing/protocols/modbus/DriverTestsuite.xml   |  305 +-
 .../protocols/modbus/ParserSerializerTestsuite.xml |  437 ++-
 .../testing/protocols/s7/DriverTestsuite.xml       |  776 ++--
 .../protocols/s7/ParserSerializerTestsuite.xml     | 1232 +++++--
 plc4go/cmd/main/drivers/s7_test.go                 |    2 +-
 .../{ads_driver_test.go => abeth_driver_test.go}   |    6 +-
 ...zer_test.go => abeth_parser_serializer_test.go} |    6 +-
 plc4go/cmd/main/drivers/tests/ads_driver_test.go   |    8 +-
 .../{ads_driver_test.go => df1_driver_test.go}     |    6 +-
 ...lizer_test.go => df1_parser_serializer_test.go} |    7 +-
 .../{ads_driver_test.go => eip_driver_test.go}     |   12 +-
 ...lizer_test.go => eip_parser_serializer_test.go} |    7 +-
 ...netip_driver_test.go => firmata_driver_test.go} |    7 +-
 ...r_test.go => firmata_parser_serializer_test.go} |    6 +-
 .../cmd/main/drivers/tests/knxnetip_driver_test.go |   10 +-
 .../tests/knxnetip_parser_serializer_test.go       |    2 -
 .../cmd/main/drivers/tests/modbus_driver_test.go   |    8 +-
 plc4go/cmd/main/drivers/tests/s7_driver_test.go    |    8 +-
 .../discovery/hello_world_plc4go_knx_discovery.go  |   34 +-
 plc4go/go.mod                                      |    5 +-
 plc4go/go.sum                                      |   23 +-
 .../readwrite/ParserHelper.go}                     |   28 +-
 .../plc4go/abeth/readwrite/XmlParserHelper.go      |   59 +
 .../model/CIPEncapsulationConnectionRequest.go     |  137 +
 .../model/CIPEncapsulationConnectionResponse.go    |  137 +
 .../readwrite/model/CIPEncapsulationPacket.go      |  304 ++
 .../readwrite/model/CIPEncapsulationReadRequest.go |  169 +
 .../model/CIPEncapsulationReadResponse.go          |  169 +
 .../readwrite/model/DF1CommandRequestMessage.go    |  169 +
 ...mandResponseMessageProtectedTypedLogicalRead.go |  181 +
 .../abeth/readwrite/model/DF1RequestCommand.go     |  165 +
 .../abeth/readwrite/model/DF1RequestMessage.go     |  259 ++
 .../model/DF1RequestProtectedTypedLogicalRead.go   |  229 ++
 .../abeth/readwrite/model/DF1ResponseMessage.go    |  284 ++
 plc4go/internal/plc4go/ads/Connection.go           |    2 +
 plc4go/internal/plc4go/ads/MessageCodec.go         |    4 +-
 plc4go/internal/plc4go/ads/Reader.go               |    4 +-
 plc4go/internal/plc4go/ads/Writer.go               |    2 +-
 .../internal/plc4go/ads/readwrite/ParserHelper.go  |    2 +-
 .../plc4go/ads/readwrite/XmlParserHelper.go        |   95 +-
 .../model/AdsAddDeviceNotificationRequest.go       |  179 +-
 .../model/AdsAddDeviceNotificationResponse.go      |  120 +-
 .../internal/plc4go/ads/readwrite/model/AdsData.go |  432 +--
 .../plc4go/ads/readwrite/model/AdsDataType.go      |   72 +-
 .../model/AdsDeleteDeviceNotificationRequest.go    |   92 +-
 .../model/AdsDeleteDeviceNotificationResponse.go   |  104 +-
 .../model/AdsDeviceNotificationRequest.go          |  152 +-
 .../model/AdsDeviceNotificationResponse.go         |   76 +-
 .../ads/readwrite/model/AdsInvalidRequest.go       |   76 +-
 .../ads/readwrite/model/AdsInvalidResponse.go      |   76 +-
 .../ads/readwrite/model/AdsMultiRequestItem.go     |  159 +-
 .../ads/readwrite/model/AdsMultiRequestItemRead.go |  124 +-
 .../model/AdsMultiRequestItemReadWrite.go          |  140 +-
 .../readwrite/model/AdsMultiRequestItemWrite.go    |  124 +-
 .../ads/readwrite/model/AdsNotificationSample.go   |  154 +-
 .../readwrite/model/AdsReadDeviceInfoRequest.go    |   76 +-
 .../readwrite/model/AdsReadDeviceInfoResponse.go   |  199 +-
 .../plc4go/ads/readwrite/model/AdsReadRequest.go   |  124 +-
 .../plc4go/ads/readwrite/model/AdsReadResponse.go  |  159 +-
 .../ads/readwrite/model/AdsReadStateRequest.go     |   76 +-
 .../ads/readwrite/model/AdsReadStateResponse.go    |  136 +-
 .../ads/readwrite/model/AdsReadWriteRequest.go     |  233 +-
 .../ads/readwrite/model/AdsReadWriteResponse.go    |  159 +-
 .../plc4go/ads/readwrite/model/AdsStampHeader.go   |  153 +-
 .../plc4go/ads/readwrite/model/AdsStaticHelper.go  |   20 +-
 .../ads/readwrite/model/AdsWriteControlRequest.go  |  163 +-
 .../ads/readwrite/model/AdsWriteControlResponse.go |  104 +-
 .../plc4go/ads/readwrite/model/AdsWriteRequest.go  |  163 +-
 .../plc4go/ads/readwrite/model/AdsWriteResponse.go |  104 +-
 .../plc4go/ads/readwrite/model/AmsNetId.go         |  173 +-
 .../plc4go/ads/readwrite/model/AmsPacket.go        |  294 +-
 .../readwrite/model/AmsSerialAcknowledgeFrame.go   |  173 +-
 .../plc4go/ads/readwrite/model/AmsSerialFrame.go   |  201 +-
 .../ads/readwrite/model/AmsSerialResetFrame.go     |  173 +-
 .../plc4go/ads/readwrite/model/AmsTCPPacket.go     |  120 +-
 .../plc4go/ads/readwrite/model/CommandId.go        |   54 +-
 .../plc4go/ads/readwrite/model/DataItem.go         |  142 +-
 .../ads/readwrite/model/ReservedIndexGroups.go     |   54 +-
 .../plc4go/ads/readwrite/model/ReturnCode.go       |   54 +-
 .../internal/plc4go/ads/readwrite/model/State.go   |  228 +-
 .../plc4go/bacnetip/readwrite/ParserHelper.go      |    2 +-
 .../plc4go/bacnetip/readwrite/XmlParserHelper.go   |  104 +-
 .../plc4go/bacnetip/readwrite/model/APDU.go        |  237 +-
 .../plc4go/bacnetip/readwrite/model/APDUAbort.go   |  131 +-
 .../bacnetip/readwrite/model/APDUComplexAck.go     |  219 +-
 .../readwrite/model/APDUConfirmedRequest.go        |  267 +-
 .../plc4go/bacnetip/readwrite/model/APDUError.go   |  130 +-
 .../plc4go/bacnetip/readwrite/model/APDUReject.go  |  115 +-
 .../bacnetip/readwrite/model/APDUSegmentAck.go     |  163 +-
 .../bacnetip/readwrite/model/APDUSimpleAck.go      |  115 +-
 .../readwrite/model/APDUUnconfirmedRequest.go      |  114 +-
 .../bacnetip/readwrite/model/ApplicationTag.go     |   54 +-
 .../bacnetip/readwrite/model/BACnetAddress.go      |  133 +-
 .../readwrite/model/BACnetConfirmedServiceACK.go   |  419 +--
 .../BACnetConfirmedServiceACKAtomicReadFile.go     |   76 +-
 .../BACnetConfirmedServiceACKAtomicWriteFile.go    |   76 +-
 ...tConfirmedServiceACKConfirmedPrivateTransfer.go |   76 +-
 .../model/BACnetConfirmedServiceACKCreateObject.go |   76 +-
 .../BACnetConfirmedServiceACKGetAlarmSummary.go    |   76 +-
 ...ACnetConfirmedServiceACKGetEnrollmentSummary.go |   76 +-
 ...BACnetConfirmedServiceACKGetEventInformation.go |   76 +-
 .../model/BACnetConfirmedServiceACKReadProperty.go |   76 +-
 ...ACnetConfirmedServiceACKReadPropertyMultiple.go |   76 +-
 .../model/BACnetConfirmedServiceACKReadRange.go    |   76 +-
 ...BACnetConfirmedServiceACKRemovedAuthenticate.go |   76 +-
 ...rmedServiceACKRemovedReadPropertyConditional.go |   76 +-
 .../model/BACnetConfirmedServiceACKVTData.go       |   76 +-
 .../model/BACnetConfirmedServiceACKVTOpen.go       |   76 +-
 .../model/BACnetConfirmedServiceRequest.go         |  748 +---
 ...ACnetConfirmedServiceRequestAcknowledgeAlarm.go |   76 +-
 .../BACnetConfirmedServiceRequestAddListElement.go |   76 +-
 .../BACnetConfirmedServiceRequestAtomicReadFile.go |   76 +-
 ...BACnetConfirmedServiceRequestAtomicWriteFile.go |   76 +-
 ...firmedServiceRequestConfirmedCOVNotification.go |  305 +-
 ...rviceRequestConfirmedCOVNotificationMultiple.go |   76 +-
 ...rmedServiceRequestConfirmedEventNotification.go |   76 +-
 ...firmedServiceRequestConfirmedPrivateTransfer.go |   76 +-
 ...tConfirmedServiceRequestConfirmedTextMessage.go |   76 +-
 .../BACnetConfirmedServiceRequestCreateObject.go   |   76 +-
 .../BACnetConfirmedServiceRequestDeleteObject.go   |   76 +-
 ...rmedServiceRequestDeviceCommunicationControl.go |   76 +-
 ...tConfirmedServiceRequestGetEnrollmentSummary.go |   76 +-
 ...etConfirmedServiceRequestGetEventInformation.go |   76 +-
 ...etConfirmedServiceRequestLifeSafetyOperation.go |   76 +-
 .../BACnetConfirmedServiceRequestReadProperty.go   |  183 +-
 ...tConfirmedServiceRequestReadPropertyMultiple.go |   76 +-
 .../BACnetConfirmedServiceRequestReadRange.go      |   76 +-
 ...netConfirmedServiceRequestReinitializeDevice.go |   76 +-
 ...CnetConfirmedServiceRequestRemoveListElement.go |   76 +-
 ...etConfirmedServiceRequestRemovedAuthenticate.go |   76 +-
 ...ServiceRequestRemovedReadPropertyConditional.go |   76 +-
 ...CnetConfirmedServiceRequestRemovedRequestKey.go |   76 +-
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |  233 +-
 ...tConfirmedServiceRequestSubscribeCOVProperty.go |   76 +-
 ...edServiceRequestSubscribeCOVPropertyMultiple.go |   76 +-
 .../model/BACnetConfirmedServiceRequestVTClose.go  |   76 +-
 .../model/BACnetConfirmedServiceRequestVTData.go   |   76 +-
 .../model/BACnetConfirmedServiceRequestVTOpen.go   |   76 +-
 .../BACnetConfirmedServiceRequestWriteProperty.go  |  252 +-
 ...ConfirmedServiceRequestWritePropertyMultiple.go |   76 +-
 .../plc4go/bacnetip/readwrite/model/BACnetError.go |  412 +--
 .../readwrite/model/BACnetErrorAtomicReadFile.go   |   76 +-
 .../readwrite/model/BACnetErrorAtomicWriteFile.go  |   76 +-
 .../model/BACnetErrorConfirmedPrivateTransfer.go   |   76 +-
 .../readwrite/model/BACnetErrorCreateObject.go     |   76 +-
 .../readwrite/model/BACnetErrorGetAlarmSummary.go  |   76 +-
 .../model/BACnetErrorGetEnrollmentSummary.go       |   76 +-
 .../model/BACnetErrorGetEventInformation.go        |   76 +-
 .../readwrite/model/BACnetErrorReadProperty.go     |  212 +-
 .../model/BACnetErrorReadPropertyMultiple.go       |   76 +-
 .../readwrite/model/BACnetErrorReadRange.go        |   76 +-
 .../model/BACnetErrorRemovedAuthenticate.go        |   76 +-
 .../BACnetErrorRemovedReadPropertyConditional.go   |   76 +-
 .../bacnetip/readwrite/model/BACnetErrorVTData.go  |   76 +-
 .../bacnetip/readwrite/model/BACnetErrorVTOpen.go  |   76 +-
 .../bacnetip/readwrite/model/BACnetNetworkType.go  |   54 +-
 .../bacnetip/readwrite/model/BACnetNodeType.go     |   54 +-
 .../bacnetip/readwrite/model/BACnetNotifyType.go   |   54 +-
 .../bacnetip/readwrite/model/BACnetObjectType.go   |   54 +-
 .../bacnetip/readwrite/model/BACnetServiceAck.go   |  412 +--
 .../model/BACnetServiceAckAtomicReadFile.go        |   76 +-
 .../model/BACnetServiceAckAtomicWriteFile.go       |   76 +-
 .../BACnetServiceAckConfirmedPrivateTransfer.go    |   76 +-
 .../model/BACnetServiceAckCreateObject.go          |   76 +-
 .../model/BACnetServiceAckGetAlarmSummary.go       |   76 +-
 .../model/BACnetServiceAckGetEnrollmentSummary.go  |   76 +-
 .../model/BACnetServiceAckGetEventInformation.go   |   76 +-
 .../model/BACnetServiceAckReadProperty.go          |  226 +-
 .../model/BACnetServiceAckReadPropertyMultiple.go  |   76 +-
 .../readwrite/model/BACnetServiceAckReadRange.go   |   76 +-
 .../model/BACnetServiceAckRemovedAuthenticate.go   |   76 +-
 ...CnetServiceAckRemovedReadPropertyConditional.go |   76 +-
 .../readwrite/model/BACnetServiceAckVTData.go      |   76 +-
 .../readwrite/model/BACnetServiceAckVTOpen.go      |   76 +-
 .../plc4go/bacnetip/readwrite/model/BACnetTag.go   |  459 +--
 .../model/BACnetTagApplicationBitString.go         |  143 +-
 .../readwrite/model/BACnetTagApplicationBoolean.go |   76 +-
 .../model/BACnetTagApplicationCharacterString.go   |   76 +-
 .../readwrite/model/BACnetTagApplicationDate.go    |   76 +-
 .../readwrite/model/BACnetTagApplicationDouble.go  |   92 +-
 .../model/BACnetTagApplicationEnumerated.go        |  127 +-
 .../readwrite/model/BACnetTagApplicationNull.go    |   76 +-
 .../model/BACnetTagApplicationObjectIdentifier.go  |   76 +-
 .../model/BACnetTagApplicationOctetString.go       |   76 +-
 .../readwrite/model/BACnetTagApplicationReal.go    |   92 +-
 .../model/BACnetTagApplicationSignedInteger.go     |  127 +-
 .../readwrite/model/BACnetTagApplicationTime.go    |   76 +-
 .../model/BACnetTagApplicationUnsignedInteger.go   |  127 +-
 .../bacnetip/readwrite/model/BACnetTagContext.go   |  127 +-
 .../readwrite/model/BACnetTagWithContent.go        |  269 +-
 .../model/BACnetUnconfirmedServiceRequest.go       |  349 +-
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |  227 +-
 .../model/BACnetUnconfirmedServiceRequestIHave.go  |   76 +-
 ...UnconfirmedServiceRequestTimeSynchronization.go |   76 +-
 ...onfirmedServiceRequestUTCTimeSynchronization.go |   76 +-
 ...rmedServiceRequestUnconfirmedCOVNotification.go |   76 +-
 ...iceRequestUnconfirmedCOVNotificationMultiple.go |   76 +-
 ...edServiceRequestUnconfirmedEventNotification.go |   76 +-
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |  183 +-
 ...onfirmedServiceRequestUnconfirmedTextMessage.go |   76 +-
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |  201 +-
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |  212 +-
 .../BACnetUnconfirmedServiceRequestWriteGroup.go   |   76 +-
 .../plc4go/bacnetip/readwrite/model/BVLC.go        |  391 +-
 .../model/BVLCDeleteForeignDeviceTableEntry.go     |   76 +-
 .../model/BVLCDistributeBroadcastToNetwork.go      |   76 +-
 .../bacnetip/readwrite/model/BVLCForwardedNPDU.go  |  160 +-
 .../readwrite/model/BVLCOriginalBroadcastNPDU.go   |  104 +-
 .../readwrite/model/BVLCOriginalUnicastNPDU.go     |  104 +-
 .../model/BVLCReadBroadcastDistributionTable.go    |   76 +-
 .../model/BVLCReadBroadcastDistributionTableAck.go |   76 +-
 .../readwrite/model/BVLCReadForeignDeviceTable.go  |   76 +-
 .../model/BVLCReadForeignDeviceTableAck.go         |   76 +-
 .../readwrite/model/BVLCRegisterForeignDevice.go   |   76 +-
 .../plc4go/bacnetip/readwrite/model/BVLCResult.go  |   76 +-
 .../bacnetip/readwrite/model/BVLCSecureBVLL.go     |   76 +-
 .../model/BVLCWideBroadcastDistributionTable.go    |   76 +-
 .../plc4go/bacnetip/readwrite/model/NLM.go         |  182 +-
 .../readwrite/model/NLMIAmRouterToNetwork.go       |  118 +-
 .../readwrite/model/NLMWhoIsRouterToNetwork.go     |  118 +-
 .../plc4go/bacnetip/readwrite/model/NPDU.go        |  452 +--
 .../readwrite/ParserHelper.go}                     |   20 +-
 .../readwrite/XmlParserHelper.go}                  |   29 +-
 .../plc4go/df1/readwrite/model/DF1Command.go       |  201 +
 .../plc4go/df1/readwrite/model/DF1Symbol.go        |  191 +
 .../df1/readwrite/model/DF1SymbolMessageFrame.go   |  274 ++
 .../readwrite/model/DF1SymbolMessageFrameACK.go    |  133 +
 .../readwrite/model/DF1SymbolMessageFrameNAK.go    |  133 +
 .../readwrite/model/DF1UnprotectedReadRequest.go   |  174 +
 .../readwrite/model/DF1UnprotectedReadResponse.go  |  172 +
 .../plc4go/df1/readwrite/model/Df1StaticHelper.go  |   84 +
 .../df1/readwrite/model/Df1StaticHelper_test.go    |   76 +
 plc4go/internal/plc4go/eip/Configuration.go        |   66 +
 plc4go/internal/plc4go/eip/Connection.go           |  189 +
 plc4go/internal/plc4go/eip/Driver.go               |  135 +
 .../plc4go/eip/DriverContext.go}                   |   23 +-
 plc4go/internal/plc4go/eip/Field.go                |   98 +
 plc4go/internal/plc4go/eip/FieldHandler.go         |   56 +
 plc4go/internal/plc4go/{s7 => eip}/MessageCodec.go |   25 +-
 plc4go/internal/plc4go/eip/Reader.go               |  535 +++
 .../internal/plc4go/eip/ValueHandler.go            |   16 +-
 plc4go/internal/plc4go/eip/Writer.go               |  355 ++
 .../plc4go/{ads => eip}/readwrite/ParserHelper.go  |   47 +-
 .../plc4go/eip/readwrite/XmlParserHelper.go        |   69 +
 .../plc4go/eip/readwrite/model/CIPDataTypeCode.go  |  214 ++
 .../plc4go/eip/readwrite/model/CipExchange.go      |  212 ++
 .../plc4go/eip/readwrite/model/CipRRData.go        |  220 ++
 .../plc4go/eip/readwrite/model/CipReadRequest.go   |  215 ++
 .../plc4go/eip/readwrite/model/CipReadResponse.go  |  270 ++
 .../plc4go/eip/readwrite/model/CipService.go       |  177 +
 .../eip/readwrite/model/CipUnconnectedRequest.go   |  393 ++
 .../plc4go/eip/readwrite/model/CipWriteRequest.go  |  289 ++
 .../plc4go/eip/readwrite/model/CipWriteResponse.go |  198 +
 .../plc4go/eip/readwrite/model/EiPCommand.go       |  120 +
 .../eip/readwrite/model/EipConnectionRequest.go    |  179 +
 .../eip/readwrite/model/EipDisconnectRequest.go    |  137 +
 .../plc4go/eip/readwrite/model/EipPacket.go        |  276 ++
 .../eip/readwrite/model/MultipleServiceRequest.go  |  206 ++
 .../eip/readwrite/model/MultipleServiceResponse.go |  299 ++
 .../plc4go/eip/readwrite/model/Services.go         |  204 ++
 .../{modbus => firmata}/readwrite/ParserHelper.go  |   30 +-
 .../plc4go/firmata/readwrite/XmlParserHelper.go    |   55 +
 .../firmata/readwrite/model/FirmataCommand.go      |  173 +
 .../model/FirmataCommandProtocolVersion.go         |  172 +
 .../model/FirmataCommandSetDigitalPinValue.go      |  198 +
 .../readwrite/model/FirmataCommandSetPinMode.go    |  184 +
 .../firmata/readwrite/model/FirmataCommandSysex.go |  191 +
 .../readwrite/model/FirmataCommandSystemReset.go   |  133 +
 .../firmata/readwrite/model/FirmataMessage.go      |  173 +
 .../readwrite/model/FirmataMessageAnalogIO.go      |  194 +
 .../readwrite/model/FirmataMessageCommand.go       |  165 +
 .../readwrite/model/FirmataMessageDigitalIO.go     |  194 +
 .../model/FirmataMessageSubscribeAnalogPinValue.go |  198 +
 .../FirmataMessageSubscribeDigitalPinValue.go      |  198 +
 .../readwrite/model/FirmataStaticHelper.go}        |   41 +-
 .../plc4go/firmata/readwrite/model/PinMode.go      |  192 +
 .../plc4go/firmata/readwrite/model/SysexCommand.go |  194 +
 .../model/SysexCommandAnalogMappingQueryRequest.go |  137 +
 .../SysexCommandAnalogMappingQueryResponse.go      |  157 +
 .../model/SysexCommandAnalogMappingResponse.go     |  137 +
 .../readwrite/model/SysexCommandCapabilityQuery.go |  137 +
 .../model/SysexCommandCapabilityResponse.go        |  137 +
 .../readwrite/model/SysexCommandExendedId.go       |  179 +
 .../readwrite/model/SysexCommandExtendedAnalog.go  |  137 +
 .../readwrite/model/SysexCommandPinStateQuery.go   |  157 +
 .../model/SysexCommandPinStateResponse.go          |  195 +
 .../model/SysexCommandReportFirmwareRequest.go     |  137 +
 .../model/SysexCommandReportFirmwareResponse.go    |  213 ++
 .../model/SysexCommandSamplingInterval.go          |  137 +
 .../readwrite/model/SysexCommandStringData.go      |  137 +
 .../model/SysexCommandSysexNonRealtime.go          |  137 +
 .../readwrite/model/SysexCommandSysexRealtime.go   |  137 +
 plc4go/internal/plc4go/knxnetip/Browser.go         |    4 +-
 plc4go/internal/plc4go/knxnetip/Connection.go      |    2 +
 .../knxnetip/ConnectionDriverSpecificOperations.go |    8 +-
 plc4go/internal/plc4go/knxnetip/MessageCodec.go    |    4 +-
 plc4go/internal/plc4go/knxnetip/Reader.go          |    2 +-
 plc4go/internal/plc4go/knxnetip/Subscriber.go      |    4 +-
 .../internal/plc4go/knxnetip/SubscriptionEvent.go  |    2 +-
 plc4go/internal/plc4go/knxnetip/Utils.go           |    4 +-
 plc4go/internal/plc4go/knxnetip/Writer.go          |    2 +-
 .../plc4go/knxnetip/readwrite/ParserHelper.go      |    2 +-
 .../plc4go/knxnetip/readwrite/XmlParserHelper.go   |  266 +-
 .../plc4go/knxnetip/readwrite/model/AccessLevel.go |   72 +-
 .../plc4go/knxnetip/readwrite/model/Apdu.go        |  185 +-
 .../plc4go/knxnetip/readwrite/model/ApduControl.go |  209 +-
 .../knxnetip/readwrite/model/ApduControlAck.go     |   76 +-
 .../knxnetip/readwrite/model/ApduControlConnect.go |   76 +-
 .../readwrite/model/ApduControlContainer.go        |  107 +-
 .../readwrite/model/ApduControlDisconnect.go       |   76 +-
 .../knxnetip/readwrite/model/ApduControlNack.go    |   76 +-
 .../plc4go/knxnetip/readwrite/model/ApduData.go    |  405 +-
 .../knxnetip/readwrite/model/ApduDataAdcRead.go    |   76 +-
 .../readwrite/model/ApduDataAdcResponse.go         |   76 +-
 .../knxnetip/readwrite/model/ApduDataContainer.go  |  107 +-
 .../model/ApduDataDeviceDescriptorRead.go          |   92 +-
 .../model/ApduDataDeviceDescriptorResponse.go      |  139 +-
 .../plc4go/knxnetip/readwrite/model/ApduDataExt.go |  937 +----
 .../readwrite/model/ApduDataExtAuthorizeRequest.go |  132 +-
 .../model/ApduDataExtAuthorizeResponse.go          |   92 +-
 .../model/ApduDataExtDomainAddressRead.go          |   76 +-
 .../model/ApduDataExtDomainAddressResponse.go      |   76 +-
 .../model/ApduDataExtDomainAddressSelectiveRead.go |   76 +-
 .../ApduDataExtDomainAddressSerialNumberRead.go    |   76 +-
 ...ApduDataExtDomainAddressSerialNumberResponse.go |   76 +-
 .../ApduDataExtDomainAddressSerialNumberWrite.go   |   76 +-
 .../model/ApduDataExtDomainAddressWrite.go         |   76 +-
 .../model/ApduDataExtFileStreamInfoReport.go       |   76 +-
 .../ApduDataExtGroupPropertyValueInfoReport.go     |   76 +-
 .../model/ApduDataExtGroupPropertyValueRead.go     |   76 +-
 .../model/ApduDataExtGroupPropertyValueResponse.go |   76 +-
 .../model/ApduDataExtGroupPropertyValueWrite.go    |   76 +-
 ...ApduDataExtIndividualAddressSerialNumberRead.go |   76 +-
 ...DataExtIndividualAddressSerialNumberResponse.go |   76 +-
 ...pduDataExtIndividualAddressSerialNumberWrite.go |   76 +-
 .../readwrite/model/ApduDataExtKeyResponse.go      |   76 +-
 .../readwrite/model/ApduDataExtKeyWrite.go         |   76 +-
 .../readwrite/model/ApduDataExtLinkRead.go         |   76 +-
 .../readwrite/model/ApduDataExtLinkResponse.go     |   76 +-
 .../readwrite/model/ApduDataExtLinkWrite.go        |   76 +-
 .../readwrite/model/ApduDataExtMemoryBitWrite.go   |   76 +-
 .../model/ApduDataExtNetworkParameterRead.go       |   76 +-
 .../model/ApduDataExtNetworkParameterResponse.go   |   76 +-
 .../model/ApduDataExtNetworkParameterWrite.go      |   76 +-
 .../model/ApduDataExtOpenRoutingTableRequest.go    |   76 +-
 .../model/ApduDataExtPropertyDescriptionRead.go    |  124 +-
 .../ApduDataExtPropertyDescriptionResponse.go      |  254 +-
 .../model/ApduDataExtPropertyValueRead.go          |  140 +-
 .../model/ApduDataExtPropertyValueResponse.go      |  180 +-
 .../model/ApduDataExtPropertyValueWrite.go         |  180 +-
 .../model/ApduDataExtReadRouterMemoryRequest.go    |   76 +-
 .../model/ApduDataExtReadRouterMemoryResponse.go   |   76 +-
 .../model/ApduDataExtReadRouterStatusRequest.go    |   76 +-
 .../model/ApduDataExtReadRouterStatusResponse.go   |   76 +-
 .../model/ApduDataExtReadRoutingTableRequest.go    |   76 +-
 .../model/ApduDataExtReadRoutingTableResponse.go   |   76 +-
 .../model/ApduDataExtWriteRouterMemoryRequest.go   |   76 +-
 .../model/ApduDataExtWriteRouterStatusRequest.go   |   76 +-
 .../model/ApduDataExtWriteRoutingTableRequest.go   |   76 +-
 .../readwrite/model/ApduDataGroupValueRead.go      |   83 +-
 .../readwrite/model/ApduDataGroupValueResponse.go  |  139 +-
 .../readwrite/model/ApduDataGroupValueWrite.go     |  139 +-
 .../model/ApduDataIndividualAddressRead.go         |   76 +-
 .../model/ApduDataIndividualAddressResponse.go     |   76 +-
 .../model/ApduDataIndividualAddressWrite.go        |   76 +-
 .../knxnetip/readwrite/model/ApduDataMemoryRead.go |  108 +-
 .../readwrite/model/ApduDataMemoryResponse.go      |  140 +-
 .../readwrite/model/ApduDataMemoryWrite.go         |   76 +-
 .../knxnetip/readwrite/model/ApduDataOther.go      |  107 +-
 .../knxnetip/readwrite/model/ApduDataRestart.go    |   76 +-
 .../readwrite/model/ApduDataUserMessage.go         |   76 +-
 .../plc4go/knxnetip/readwrite/model/CEMI.go        |  566 +--
 .../readwrite/model/CEMIAdditionalInformation.go   |  153 +-
 .../CEMIAdditionalInformationBusmonitorInfo.go     |  178 +-
 .../CEMIAdditionalInformationRelativeTimestamp.go  |  110 +-
 .../knxnetip/readwrite/model/CEMIPriority.go       |   54 +-
 .../knxnetip/readwrite/model/ChannelInformation.go |  109 +-
 .../knxnetip/readwrite/model/ComObjectTable.go     |  159 +-
 .../readwrite/model/ComObjectTableAddresses.go     |   63 +-
 .../model/ComObjectTableRealisationType1.go        |  152 +-
 .../model/ComObjectTableRealisationType2.go        |  152 +-
 .../model/ComObjectTableRealisationType6.go        |  104 +-
 .../knxnetip/readwrite/model/ComObjectValueType.go |   63 +-
 .../knxnetip/readwrite/model/ConnectionRequest.go  |  163 +-
 .../model/ConnectionRequestInformation.go          |  168 +-
 ...ConnectionRequestInformationDeviceManagement.go |   76 +-
 ...ConnectionRequestInformationTunnelConnection.go |  111 +-
 .../knxnetip/readwrite/model/ConnectionResponse.go |  161 +-
 .../readwrite/model/ConnectionResponseDataBlock.go |  168 +-
 .../ConnectionResponseDataBlockDeviceManagement.go |   76 +-
 .../ConnectionResponseDataBlockTunnelConnection.go |  104 +-
 .../readwrite/model/ConnectionStateRequest.go      |  127 +-
 .../readwrite/model/ConnectionStateResponse.go     |  120 +-
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      |  359 +-
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |  159 +-
 .../knxnetip/readwrite/model/DescriptionRequest.go |  104 +-
 .../readwrite/model/DescriptionResponse.go         |  132 +-
 .../readwrite/model/DeviceConfigurationAck.go      |  104 +-
 .../model/DeviceConfigurationAckDataBlock.go       |  145 +-
 .../readwrite/model/DeviceConfigurationRequest.go  |  135 +-
 .../model/DeviceConfigurationRequestDataBlock.go   |  124 +-
 .../knxnetip/readwrite/model/DeviceDescriptor.go   |   72 +-
 .../readwrite/model/DeviceDescriptorMediumType.go  |   54 +-
 .../readwrite/model/DeviceDescriptorType2.go       |  287 +-
 .../knxnetip/readwrite/model/DeviceStatus.go       |  100 +-
 .../knxnetip/readwrite/model/DisconnectRequest.go  |  127 +-
 .../knxnetip/readwrite/model/DisconnectResponse.go |  120 +-
 .../knxnetip/readwrite/model/FirmwareType.go       |   54 +-
 .../model/GroupObjectDescriptorRealisationType1.go |  236 +-
 .../model/GroupObjectDescriptorRealisationType2.go |  247 +-
 .../model/GroupObjectDescriptorRealisationType6.go |   75 +-
 .../model/GroupObjectDescriptorRealisationType7.go |  247 +-
 .../model/GroupObjectDescriptorRealisationTypeB.go |  229 +-
 .../readwrite/model/HPAIControlEndpoint.go         |  157 +-
 .../knxnetip/readwrite/model/HPAIDataEndpoint.go   |  157 +-
 .../readwrite/model/HPAIDiscoveryEndpoint.go       |  157 +-
 .../knxnetip/readwrite/model/HostProtocolCode.go   |   54 +-
 .../plc4go/knxnetip/readwrite/model/IPAddress.go   |  122 +-
 .../plc4go/knxnetip/readwrite/model/KnxAddress.go  |  125 +-
 .../knxnetip/readwrite/model/KnxDatapoint.go       | 3858 ++++++++++----------
 .../readwrite/model/KnxDatapointMainType.go        |   81 +-
 .../knxnetip/readwrite/model/KnxDatapointType.go   |   81 +-
 .../knxnetip/readwrite/model/KnxGroupAddress.go    |  159 +-
 .../readwrite/model/KnxGroupAddress2Level.go       |  108 +-
 .../readwrite/model/KnxGroupAddress3Level.go       |  124 +-
 .../readwrite/model/KnxGroupAddressFreeLevel.go    |   92 +-
 .../readwrite/model/KnxInterfaceObjectProperty.go  |   90 +-
 .../readwrite/model/KnxInterfaceObjectType.go      |   72 +-
 .../plc4go/knxnetip/readwrite/model/KnxLayer.go    |   54 +-
 .../knxnetip/readwrite/model/KnxManufacturer.go    |  144 +-
 .../plc4go/knxnetip/readwrite/model/KnxMedium.go   |   54 +-
 .../knxnetip/readwrite/model/KnxNetIpCore.go       |   92 +-
 .../readwrite/model/KnxNetIpDeviceManagement.go    |   92 +-
 .../knxnetip/readwrite/model/KnxNetIpMessage.go    |  378 +-
 .../knxnetip/readwrite/model/KnxNetIpRouting.go    |   92 +-
 .../knxnetip/readwrite/model/KnxNetIpTunneling.go  |   92 +-
 .../knxnetip/readwrite/model/KnxNetObjectServer.go |   92 +-
 .../model/KnxNetRemoteConfigurationAndDiagnosis.go |   92 +-
 .../readwrite/model/KnxNetRemoteLogging.go         |   92 +-
 .../plc4go/knxnetip/readwrite/model/KnxProperty.go |  478 +--
 .../readwrite/model/KnxPropertyDataType.go         |   81 +-
 .../plc4go/knxnetip/readwrite/model/LBusmonInd.go  |  212 +-
 .../plc4go/knxnetip/readwrite/model/LDataCon.go    |  183 +-
 .../knxnetip/readwrite/model/LDataExtended.go      |  238 +-
 .../plc4go/knxnetip/readwrite/model/LDataFrame.go  |  274 +-
 .../knxnetip/readwrite/model/LDataFrameACK.go      |   76 +-
 .../plc4go/knxnetip/readwrite/model/LDataInd.go    |  183 +-
 .../plc4go/knxnetip/readwrite/model/LDataReq.go    |  183 +-
 .../plc4go/knxnetip/readwrite/model/LPollData.go   |  174 +-
 .../knxnetip/readwrite/model/LPollDataCon.go       |   76 +-
 .../knxnetip/readwrite/model/LPollDataReq.go       |   76 +-
 .../plc4go/knxnetip/readwrite/model/LRawCon.go     |   76 +-
 .../plc4go/knxnetip/readwrite/model/LRawInd.go     |   76 +-
 .../plc4go/knxnetip/readwrite/model/LRawReq.go     |   76 +-
 .../plc4go/knxnetip/readwrite/model/MACAddress.go  |  122 +-
 .../readwrite/model/MFuncPropCommandReq.go         |   76 +-
 .../knxnetip/readwrite/model/MFuncPropCon.go       |   76 +-
 .../readwrite/model/MFuncPropStateReadReq.go       |   76 +-
 .../knxnetip/readwrite/model/MPropInfoInd.go       |   76 +-
 .../knxnetip/readwrite/model/MPropReadCon.go       |  172 +-
 .../knxnetip/readwrite/model/MPropReadReq.go       |  156 +-
 .../knxnetip/readwrite/model/MPropWriteCon.go      |   76 +-
 .../knxnetip/readwrite/model/MPropWriteReq.go      |   76 +-
 .../plc4go/knxnetip/readwrite/model/MResetInd.go   |   76 +-
 .../plc4go/knxnetip/readwrite/model/MResetReq.go   |   76 +-
 .../model/ProjectInstallationIdentifier.go         |  109 +-
 .../knxnetip/readwrite/model/RelativeTimestamp.go  |   93 +-
 .../knxnetip/readwrite/model/RoutingIndication.go  |   76 +-
 .../knxnetip/readwrite/model/SearchRequest.go      |  104 +-
 .../knxnetip/readwrite/model/SearchResponse.go     |  160 +-
 .../plc4go/knxnetip/readwrite/model/ServiceId.go   |  223 +-
 .../plc4go/knxnetip/readwrite/model/Status.go      |   54 +-
 .../readwrite/model/SupportedPhysicalMedia.go      |   72 +-
 .../knxnetip/readwrite/model/TDataConnectedInd.go  |   76 +-
 .../knxnetip/readwrite/model/TDataConnectedReq.go  |   76 +-
 .../knxnetip/readwrite/model/TDataIndividualInd.go |   76 +-
 .../knxnetip/readwrite/model/TDataIndividualReq.go |   76 +-
 .../knxnetip/readwrite/model/TunnelingRequest.go   |  135 +-
 .../readwrite/model/TunnelingRequestDataBlock.go   |  124 +-
 .../knxnetip/readwrite/model/TunnelingResponse.go  |  104 +-
 .../readwrite/model/TunnelingResponseDataBlock.go  |  145 +-
 .../knxnetip/readwrite/model/UnknownMessage.go     |  123 +-
 plc4go/internal/plc4go/modbus/Connection.go        |    6 +-
 plc4go/internal/plc4go/modbus/MessageCodec.go      |    4 +-
 plc4go/internal/plc4go/modbus/Reader.go            |    4 +-
 plc4go/internal/plc4go/modbus/Writer.go            |    2 +-
 .../plc4go/modbus/readwrite/ParserHelper.go        |    2 +-
 .../plc4go/modbus/readwrite/XmlParserHelper.go     |   74 +-
 .../plc4go/modbus/readwrite/model/DataItem.go      |  220 +-
 .../modbus/readwrite/model/ModbusConstants.go      |   83 +-
 .../modbus/readwrite/model/ModbusDataType.go       |   63 +-
 .../modbus/readwrite/model/ModbusErrorCode.go      |   54 +-
 .../plc4go/modbus/readwrite/model/ModbusPDU.go     |  721 +---
 .../readwrite/model/ModbusPDUDiagnosticRequest.go  |  108 +-
 .../readwrite/model/ModbusPDUDiagnosticResponse.go |  108 +-
 .../modbus/readwrite/model/ModbusPDUError.go       |  104 +-
 .../model/ModbusPDUGetComEventCounterRequest.go    |   76 +-
 .../model/ModbusPDUGetComEventCounterResponse.go   |  108 +-
 .../model/ModbusPDUGetComEventLogRequest.go        |   76 +-
 .../model/ModbusPDUGetComEventLogResponse.go       |  179 +-
 .../ModbusPDUMaskWriteHoldingRegisterRequest.go    |  124 +-
 .../ModbusPDUMaskWriteHoldingRegisterResponse.go   |  124 +-
 .../readwrite/model/ModbusPDUReadCoilsRequest.go   |  108 +-
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |  131 +-
 .../ModbusPDUReadDeviceIdentificationRequest.go    |   76 +-
 .../ModbusPDUReadDeviceIdentificationResponse.go   |   76 +-
 .../model/ModbusPDUReadDiscreteInputsRequest.go    |  108 +-
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |  131 +-
 .../model/ModbusPDUReadExceptionStatusRequest.go   |   76 +-
 .../model/ModbusPDUReadExceptionStatusResponse.go  |   92 +-
 .../model/ModbusPDUReadFifoQueueRequest.go         |   92 +-
 .../model/ModbusPDUReadFifoQueueResponse.go        |  130 +-
 .../model/ModbusPDUReadFileRecordRequest.go        |  139 +-
 .../model/ModbusPDUReadFileRecordRequestItem.go    |  141 +-
 .../model/ModbusPDUReadFileRecordResponse.go       |  139 +-
 .../model/ModbusPDUReadFileRecordResponseItem.go   |  150 +-
 .../model/ModbusPDUReadHoldingRegistersRequest.go  |  108 +-
 .../model/ModbusPDUReadHoldingRegistersResponse.go |  131 +-
 .../model/ModbusPDUReadInputRegistersRequest.go    |  108 +-
 .../model/ModbusPDUReadInputRegistersResponse.go   |  131 +-
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |  195 +-
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |  131 +-
 .../model/ModbusPDUReportServerIdRequest.go        |   76 +-
 .../model/ModbusPDUReportServerIdResponse.go       |  131 +-
 .../model/ModbusPDUWriteFileRecordRequest.go       |  139 +-
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |  182 +-
 .../model/ModbusPDUWriteFileRecordResponse.go      |  139 +-
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |  182 +-
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |  163 +-
 .../model/ModbusPDUWriteMultipleCoilsResponse.go   |  108 +-
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |  163 +-
 ...dbusPDUWriteMultipleHoldingRegistersResponse.go |  108 +-
 .../model/ModbusPDUWriteSingleCoilRequest.go       |  108 +-
 .../model/ModbusPDUWriteSingleCoilResponse.go      |  108 +-
 .../model/ModbusPDUWriteSingleRegisterRequest.go   |  108 +-
 .../model/ModbusPDUWriteSingleRegisterResponse.go  |  108 +-
 .../modbus/readwrite/model/ModbusSerialADU.go      |  163 +-
 .../plc4go/modbus/readwrite/model/ModbusTcpADU.go  |  154 +-
 plc4go/internal/plc4go/s7/Connection.go            |    3 +-
 plc4go/internal/plc4go/s7/Field.go                 |    9 +-
 plc4go/internal/plc4go/s7/FieldHandler.go          |    9 +-
 plc4go/internal/plc4go/s7/MessageCodec.go          |    9 +-
 plc4go/internal/plc4go/s7/Reader.go                |    2 +-
 plc4go/internal/plc4go/s7/Writer.go                |    4 +-
 plc4go/internal/plc4go/s7/fieldtype_string.go      |    8 +-
 .../internal/plc4go/s7/readwrite/ParserHelper.go   |    2 +-
 .../plc4go/s7/readwrite/XmlParserHelper.go         |  121 +-
 .../plc4go/s7/readwrite/model/COTPPacket.go        |  307 +-
 .../readwrite/model/COTPPacketConnectionRequest.go |  136 +-
 .../model/COTPPacketConnectionResponse.go          |  136 +-
 .../plc4go/s7/readwrite/model/COTPPacketData.go    |  108 +-
 .../readwrite/model/COTPPacketDisconnectRequest.go |  136 +-
 .../model/COTPPacketDisconnectResponse.go          |  108 +-
 .../s7/readwrite/model/COTPPacketTpduError.go      |  108 +-
 .../plc4go/s7/readwrite/model/COTPParameter.go     |  203 +-
 .../s7/readwrite/model/COTPParameterCalledTsap.go  |   92 +-
 .../s7/readwrite/model/COTPParameterCallingTsap.go |   92 +-
 .../s7/readwrite/model/COTPParameterChecksum.go    |   92 +-
 ...COTPParameterDisconnectAdditionalInformation.go |  128 +-
 .../s7/readwrite/model/COTPParameterTpduSize.go    |  104 +-
 .../plc4go/s7/readwrite/model/COTPProtocolClass.go |   54 +-
 .../plc4go/s7/readwrite/model/COTPTpduSize.go      |   63 +-
 .../internal/plc4go/s7/readwrite/model/DataItem.go |  188 +-
 .../s7/readwrite/model/DataTransportErrorCode.go   |   54 +-
 .../plc4go/s7/readwrite/model/DataTransportSize.go |   63 +-
 .../plc4go/s7/readwrite/model/DeviceGroup.go       |   54 +-
 .../plc4go/s7/readwrite/model/MemoryArea.go        |   63 +-
 .../plc4go/s7/readwrite/model/S7Address.go         |  139 +-
 .../plc4go/s7/readwrite/model/S7AddressAny.go      |  213 +-
 .../plc4go/s7/readwrite/model/S7Message.go         |  284 +-
 .../plc4go/s7/readwrite/model/S7MessageRequest.go  |   76 +-
 .../plc4go/s7/readwrite/model/S7MessageResponse.go |  108 +-
 .../s7/readwrite/model/S7MessageResponseData.go    |  108 +-
 .../plc4go/s7/readwrite/model/S7MessageUserData.go |   76 +-
 .../plc4go/s7/readwrite/model/S7Parameter.go       |  209 +-
 .../readwrite/model/S7ParameterReadVarRequest.go   |  138 +-
 .../readwrite/model/S7ParameterReadVarResponse.go  |   92 +-
 .../model/S7ParameterSetupCommunication.go         |  131 +-
 .../s7/readwrite/model/S7ParameterUserData.go      |  138 +-
 .../s7/readwrite/model/S7ParameterUserDataItem.go  |  139 +-
 .../model/S7ParameterUserDataItemCPUFunctions.go   |  249 +-
 .../readwrite/model/S7ParameterWriteVarRequest.go  |  138 +-
 .../readwrite/model/S7ParameterWriteVarResponse.go |   92 +-
 .../plc4go/s7/readwrite/model/S7Payload.go         |  173 +-
 .../s7/readwrite/model/S7PayloadReadVarResponse.go |  120 +-
 .../plc4go/s7/readwrite/model/S7PayloadUserData.go |  130 +-
 .../s7/readwrite/model/S7PayloadUserDataItem.go    |  260 +-
 ...PayloadUserDataItemCpuFunctionReadSzlRequest.go |   76 +-
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |  134 +-
 .../s7/readwrite/model/S7PayloadWriteVarRequest.go |  120 +-
 .../readwrite/model/S7PayloadWriteVarResponse.go   |  120 +-
 .../plc4go/s7/readwrite/model/S7StaticHelper.go    |   34 +-
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |  227 +-
 .../s7/readwrite/model/S7VarPayloadStatusItem.go   |  103 +-
 .../readwrite/model/S7VarRequestParameterItem.go   |  139 +-
 .../model/S7VarRequestParameterItemAddress.go      |  115 +-
 .../plc4go/s7/readwrite/model/SzlDataTreeItem.go   |  200 +-
 plc4go/internal/plc4go/s7/readwrite/model/SzlId.go |  147 +-
 .../s7/readwrite/model/SzlModuleTypeClass.go       |   54 +-
 .../plc4go/s7/readwrite/model/SzlSublist.go        |   54 +-
 .../plc4go/s7/readwrite/model/TPKTPacket.go        |  129 +-
 .../plc4go/s7/readwrite/model/TransportSize.go     |  155 +-
 plc4go/internal/plc4go/s7/s7Io_test.go             |  959 ++++-
 .../readwrite/ParserHelper.go}                     |   18 +-
 .../readwrite/XmlParserHelper.go}                  |   27 +-
 .../readwrite/model/DataItem.go                    |  400 +-
 .../plc4go/simulated/readwrite/model/Dummy.go      |  123 +
 .../readwrite/model/SimulatedDataTypeSizes.go      |  438 +++
 .../interceptors/SingleItemRequestInterceptor.go   |   85 +-
 .../plc4go/spi/model/DefaultPlcReadRequest.go      |   24 +-
 .../plc4go/spi/model/DefaultPlcWriteRequest.go     |   90 +-
 .../plc4go/spi/model/DefaultPlcWriteResponse.go    |    2 +-
 .../plc4go/spi/testutils/DriverTestRunner.go       |  188 +-
 .../spi/testutils/ParserSerializerTestRunner.go    |   94 +-
 plc4go/internal/plc4go/spi/testutils/TestUtils.go  |    4 +-
 plc4go/internal/plc4go/spi/utils/Buffer.go         |   85 +
 plc4go/internal/plc4go/spi/utils/ReadBuffer.go     |    8 +-
 .../plc4go/spi/utils/ReadBufferByteBased.go        |   32 +-
 .../plc4go/spi/utils/ReadBufferByteBased_test.go   |  124 +-
 .../plc4go/spi/utils/ReadBufferJsonBased.go        |  499 +++
 .../plc4go/spi/utils/ReadBufferXmlBased.go         |  147 +-
 plc4go/internal/plc4go/spi/utils/WriteBuffer.go    |    4 +
 .../plc4go/spi/utils/WriteBufferBoxBased.go        |   95 +-
 .../plc4go/spi/utils/WriteBufferByteBased.go       |   30 +-
 .../plc4go/spi/utils/WriteBufferJsonBased.go       |  255 ++
 .../plc4go/spi/utils/WriteBufferXmlBased.go        |  150 +-
 plc4go/internal/plc4go/spi/utils/asciiBox.go       |  257 +-
 plc4go/internal/plc4go/spi/utils/asciiBox_test.go  |  245 +-
 plc4go/internal/plc4go/spi/utils/bufferCommons.go  |  105 +
 plc4go/internal/plc4go/spi/utils/hex.go            |    2 +
 plc4go/internal/plc4go/spi/utils/hex_test.go       |    9 +
 .../plc4go/spi/values/PlcSimpleValueAdapter.go     |    8 +
 .../internal/plc4go/spi/values/PlcValueAdapter.go  |    8 +
 plc4go/pkg/plc4go/drivers/drivers.go               |    6 +
 plc4go/pkg/plc4go/values/plc_value.go              |    4 +
 plc4go/pom.xml                                     |  149 +-
 plc4j/drivers/ab-eth/pom.xml                       |    8 +-
 ...EthTest.java => AbEthParserSerializerTest.java} |    6 +-
 plc4j/drivers/ads/pom.xml                          |    9 +-
 .../plc4x/java/ads/protocol/AdsProtocolLogic.java  |   18 +-
 .../apache/plc4x/java/ads/utils/StaticHelper.java  |    4 +-
 .../ads/AdsDiscoverySerializerParserTest.java      |    2 +-
 .../org/apache/plc4x/protocol/ads/AdsDriverIT.java |    2 +-
 .../protocol/ads/AdsSerializerParserTest.java      |    2 +-
 .../protocol/ads/ManualParserSerializerTest.java   |    3 +-
 plc4j/drivers/canopen/pom.xml                      |    4 +-
 .../canopen/CANOpenConversationBase.java           |    4 +-
 .../canopen/protocol/CANOpenProtocolLogic.java     |    8 +-
 .../plc4x/java/canopen/CANOpenDriverSDOIT.java     |    4 +-
 .../plc4x/java/canopen/CANOpenPayloadTest.java     |    2 +-
 .../plc4x/java/canopen/CANOpenWiresharkTest.java   |    2 +-
 .../plc4x/java/canopen/ManualParserTest.java       |    7 +-
 plc4j/drivers/eip/pom.xml                          |    9 +-
 .../eip/readwrite/protocol/EipProtocolLogic.java   |    9 +-
 .../java/eip/readwrite/EIPDriverTestsuite.java     |    2 +-
 .../readwrite/EIPParserSerializerTestsuite.java    |    2 +-
 plc4j/drivers/firmata/pom.xml                      |    8 +-
 .../java/firmata/readwrite/utils/FirmataUtils.java |   11 +-
 .../readwrite/FirmataParserSerializerTest.java     |    2 +-
 plc4j/drivers/knxnetip/pom.xml                     |    8 +-
 .../knxnetip/protocol/KnxNetIpProtocolLogic.java   |   12 +-
 .../plc4x/java/knxnetip/utils/KnxHelper.java       |    3 +-
 .../org/apache/plc4x/java/knxnetip/IOTest.java     |  102 -
 .../knxnetip/KnxNetIpParserSerializerTest.java     |    2 +-
 plc4j/drivers/modbus/pom.xml                       |    4 +-
 .../java/modbus/protocol/ModbusProtocolLogic.java  |   24 +-
 .../apache/plc4x/java/modbus/ModbusDriverIT.java   |    2 +-
 .../java/modbus/ModbusParserSerializerTest.java    |    2 +-
 plc4j/drivers/opcua/pom.xml                        |    4 +-
 plc4j/drivers/s7/pom.xml                           |   15 +-
 .../plc4x/java/s7/readwrite/field/S7Field.java     |    3 +-
 .../s7/readwrite/protocol/S7ProtocolLogic.java     |    8 +-
 .../apache/plc4x/java/s7/utils/StaticHelper.java   |   32 +-
 .../s7/src/test/java/BenchmarkGeneratedS7.java     |    6 +-
 plc4j/drivers/s7/src/test/java/S7IoTest.java       |  268 ++
 .../apache/plc4x/java/s7/readwrite/S7DriverIT.java |    2 +-
 .../java/s7/readwrite/S7ParserSerializerTest.java  |    2 +-
 .../plc4x/java/s7/readwrite/issues/PLC4X272.java   |    2 +-
 .../s7/src/test/resources/tests/PLC4X-272.xml      |  759 ++--
 plc4j/drivers/simulated/pom.xml                    |    6 +-
 .../java/simulated/connection/SimulatedDevice.java |    3 +-
 .../plc4x/java/simulated/utils/StaticHelper.java   |   14 +-
 plc4j/spi/pom.xml                                  |    8 +
 .../spi/GeneratedDriverByteToMessageCodec.java     |    9 +-
 .../plc4x/java/spi/generation/BufferCommons.java   |   77 +
 .../plc4x/java/spi/generation/ReadBuffer.java      |  347 +-
 .../{ReadBuffer.java => ReadBufferByteBased.java}  |   86 +-
 .../java/spi/generation/ReadBufferJsonBased.java   |  414 +++
 .../java/spi/generation/ReadBufferXmlBased.java    |  284 ++
 .../plc4x/java/spi/generation/StaticHelper.java    |   63 +-
 .../plc4x/java/spi/generation/WithReaderArgs.java  |    6 +-
 .../java/spi/generation/WithReaderWriterArgs.java} |   22 +-
 .../plc4x/java/spi/generation/WithWriterArgs.java  |    6 +-
 .../plc4x/java/spi/generation/WriteBuffer.java     |  315 +-
 ...{WriteBuffer.java => WriteBufferByteBased.java} |  150 +-
 .../java/spi/generation/WriteBufferJsonBased.java  |  308 ++
 .../java/spi/generation/WriteBufferXmlBased.java   |  273 ++
 .../plc4x/java/spi/generation/ReadBufferTest.java  |    6 +-
 plc4j/utils/test-utils/pom.xml                     |   12 -
 ...estsuiteRunner.java => XmlTestsuiteLoader.java} |    4 +-
 .../plc4x/test/driver/DriverTestsuiteRunner.java   |  508 +--
 .../java/org/apache/plc4x/test/driver/Lalala.java  |   44 -
 .../exceptions/DriverTestsuiteException.java       |    6 +-
 .../test/driver/internal/ConnectionManager.java    |   68 +
 .../test/driver/internal/DriverTestsuite.java      |  236 ++
 .../DriverTestsuiteConfiguration.java}             |   59 +-
 .../test/driver/{model => internal}/StepType.java  |   23 +-
 .../plc4x/test/driver/internal/TestStep.java       |  138 +
 .../plc4x/test/driver/internal/Testcase.java       |  110 +
 .../driver/{model => internal}/api/TestField.java  |    2 +-
 .../{model => internal}/api/TestFieldRequest.java  |    2 +-
 .../{model => internal}/api/TestReadRequest.java   |    2 +-
 .../{model => internal}/api/TestRequest.java       |    2 +-
 .../{model => internal}/api/TestValueField.java    |    2 +-
 .../{model => internal}/api/TestWriteRequest.java  |    2 +-
 .../internal/handlers/ApiRequestHandler.java       |   92 +
 .../internal/handlers/ApiResponseHandler.java      |   93 +
 .../handlers/IncomingPlcBytesHandler.java}         |   12 +-
 .../handlers/IncomingPlcMessageHandler.java        |   74 +
 .../internal/handlers/OutgoingPlcBytesHandler.java |   48 +
 .../handlers/OutgoingPlcMessageHandler.java        |   52 +
 .../test/driver/internal/utils/ChannelUtil.java    |   45 +
 .../plc4x/test/driver/internal/utils/Delay.java    |   25 +-
 .../test/driver/internal/utils/Synchronizer.java}  |   12 +-
 .../driver/internal/validator/ApiValidator.java    |   44 +
 .../apache/plc4x/test/driver/model/TestStep.java   |   68 -
 .../apache/plc4x/test/driver/model/Testcase.java   |   61 -
 .../plc4x/test/mapper/TestSuiteMappingModule.java  |  105 -
 .../plc4x/test/migration/MessageResolver.java      |  175 +
 .../migration/MessageValidatorAndMigrator.java     |  189 +
 .../plc4x/test/migration/MigrationException.java}  |   28 +-
 .../plc4x/test/migration/TestCasePatcher.java      |   61 +
 .../ParserSerializerTestsuiteRunner.java           |  152 +-
 .../ParserSerializerTestsuiteException.java        |    4 +
 .../test/parserserializer/model/Testcase.java      |   20 +-
 .../main/resources/schemas/driver-testsuite.xsd    |    4 +
 .../schemas/parser-serializer-testsuite.xsd        |    5 +
 pom.xml                                            |    2 +-
 protocols/ab-eth/pom.xml                           |    2 +-
 .../protocols/abeth/ParserSerializerTestsuite.xml  |  243 +-
 protocols/ads/pom.xml                              |    2 +-
 .../ads/src/main/resources/protocols/ads/ads.mspec |    4 +-
 .../protocols/ads/AdsDiscoverySerializerTest.xml   |  611 +++-
 .../resources/protocols/ads/DriverTestsuite.xml    | 1533 +++++---
 .../protocols/ads/ParserSerializerTestsuite.xml    |  820 +++--
 protocols/bacnetip/pom.xml                         |    2 +-
 protocols/canopen/pom.xml                          |    2 +-
 .../protocols/canopen/CANOpenDriverSDOIT.xml       |   24 +-
 .../protocols/canopen/CANOpenPayloadTestSuite.xml  |  316 +-
 .../canopen/CANOpenWiresharkTestSuite.xml          |  385 +-
 protocols/df1/pom.xml                              |    2 +-
 .../df1/src/main/resources/protocols/df1/df1.mspec |    2 +-
 .../protocols/df1/ParserSerializerTestsuite.xml    |  128 +-
 protocols/eip/pom.xml                              |    2 +-
 .../eip/src/main/resources/protocols/eip/eip.mspec |    3 +-
 .../resources/protocols/eip/DriverTestsuite.xml    |  234 +-
 .../protocols/eip/ParserSerializerTestsuite.xml    |  379 +-
 protocols/firmata/pom.xml                          |    2 +-
 .../main/resources/protocols/firmata/firmata.mspec |    2 +-
 .../firmata/ParserSerializerTestsuite.xml          |  360 +-
 protocols/knxnetip/pom.xml                         |    2 +-
 .../knxnetip/ParserSerializerTestsuite.xml         | 1101 ++++--
 protocols/modbus/pom.xml                           |    2 +-
 .../resources/protocols/modbus/DriverTestsuite.xml |  305 +-
 .../protocols/modbus/ParserSerializerTestsuite.xml |  437 ++-
 protocols/opcua/pom.xml                            |    2 +-
 protocols/plc4x/pom.xml                            |    2 +-
 protocols/s7/pom.xml                               |    2 +-
 .../s7/src/main/resources/protocols/s7/s7.mspec    |   16 +-
 .../resources/protocols/s7/DriverTestsuite.xml     |  776 ++--
 .../protocols/s7/ParserSerializerTestsuite.xml     | 1232 +++++--
 protocols/simulated/pom.xml                        |    2 +-
 .../resources/protocols/simulated/simulated.mspec  |    6 +-
 sandbox/plc-simulator/pom.xml                      |    2 +-
 .../apache/plc4x/java/s7/utils/StaticHelper.java   |    8 +-
 sandbox/plc4c/CMakeLists.txt                       |    1 +
 sandbox/plc4c/api/include/plc4c/data.h             |   21 +-
 .../modbus/src/driver_modbus_encode_decode.c       |   20 +-
 sandbox/plc4c/drivers/s7/src/driver_s7_packets.c   |  342 +-
 sandbox/plc4c/drivers/s7/src/driver_s7_sm_read.c   |  204 +-
 sandbox/plc4c/drivers/s7/src/driver_s7_sm_write.c  |  119 +-
 .../plc4c/examples/hello-world-s7/CMakeLists.txt   |   16 +
 .../examples/hello-world-s7/src/hello_world_s7.c   |   20 +-
 .../hello-world-s7/src/hello_world_s7_loopback.c   |  412 +++
 .../generated-sources/modbus/include/data_item.h   |    6 +-
 .../modbus/include/modbus_constants.h              |    6 +-
 .../modbus/include/modbus_data_type.h              |    2 +-
 .../modbus/include/modbus_error_code.h             |    2 +-
 .../generated-sources/modbus/include/modbus_pdu.h  |    6 +-
 .../modbus_pdu_read_file_record_request_item.h     |    6 +-
 .../modbus_pdu_read_file_record_response_item.h    |    6 +-
 .../modbus_pdu_write_file_record_request_item.h    |    6 +-
 .../modbus_pdu_write_file_record_response_item.h   |    6 +-
 .../modbus/include/modbus_serial_adu.h             |    6 +-
 .../modbus/include/modbus_tcp_adu.h                |    6 +-
 .../plc4c/generated-sources/modbus/src/data_item.c |   78 +-
 .../modbus/src/modbus_constants.c                  |   12 +-
 .../modbus/src/modbus_data_type.c                  |    2 +-
 .../modbus/src/modbus_error_code.c                 |    2 +-
 .../generated-sources/modbus/src/modbus_pdu.c      |  340 +-
 .../src/modbus_pdu_read_file_record_request_item.c |   24 +-
 .../modbus_pdu_read_file_record_response_item.c    |   24 +-
 .../modbus_pdu_write_file_record_request_item.c    |   32 +-
 .../modbus_pdu_write_file_record_response_item.c   |   32 +-
 .../modbus/src/modbus_serial_adu.c                 |   28 +-
 .../generated-sources/modbus/src/modbus_tcp_adu.c  |   28 +-
 .../generated-sources/s7/include/cotp_packet.h     |    6 +-
 .../generated-sources/s7/include/cotp_parameter.h  |    6 +-
 .../s7/include/cotp_protocol_class.h               |    2 +-
 .../generated-sources/s7/include/cotp_tpdu_size.h  |    2 +-
 .../plc4c/generated-sources/s7/include/data_item.h |    6 +-
 .../s7/include/data_transport_error_code.h         |    2 +-
 .../s7/include/data_transport_size.h               |    2 +-
 .../generated-sources/s7/include/device_group.h    |    2 +-
 .../generated-sources/s7/include/memory_area.h     |    2 +-
 .../generated-sources/s7/include/s7_address.h      |    6 +-
 .../generated-sources/s7/include/s7_message.h      |    6 +-
 .../generated-sources/s7/include/s7_parameter.h    |    6 +-
 .../s7/include/s7_parameter_user_data_item.h       |    6 +-
 .../generated-sources/s7/include/s7_payload.h      |    6 +-
 .../s7/include/s7_payload_user_data_item.h         |    6 +-
 .../s7/include/s7_var_payload_data_item.h          |    6 +-
 .../s7/include/s7_var_payload_status_item.h        |    6 +-
 .../s7/include/s7_var_request_parameter_item.h     |    6 +-
 .../s7/include/szl_data_tree_item.h                |    6 +-
 .../plc4c/generated-sources/s7/include/szl_id.h    |    6 +-
 .../s7/include/szl_module_type_class.h             |    2 +-
 .../generated-sources/s7/include/szl_sublist.h     |    2 +-
 .../generated-sources/s7/include/tpkt_packet.h     |    6 +-
 .../generated-sources/s7/include/transport_size.h  |    2 +-
 .../plc4c/generated-sources/s7/src/cotp_packet.c   |   94 +-
 .../generated-sources/s7/src/cotp_parameter.c      |   40 +-
 .../generated-sources/s7/src/cotp_protocol_class.c |    2 +-
 .../generated-sources/s7/src/cotp_tpdu_size.c      |    2 +-
 sandbox/plc4c/generated-sources/s7/src/data_item.c |   72 +-
 .../s7/src/data_transport_error_code.c             |    2 +-
 .../generated-sources/s7/src/data_transport_size.c |    2 +-
 .../plc4c/generated-sources/s7/src/device_group.c  |    2 +-
 .../plc4c/generated-sources/s7/src/memory_area.c   |    2 +-
 .../plc4c/generated-sources/s7/src/s7_address.c    |   40 +-
 .../plc4c/generated-sources/s7/src/s7_message.c    |   56 +-
 .../plc4c/generated-sources/s7/src/s7_parameter.c  |   60 +-
 .../s7/src/s7_parameter_user_data_item.c           |   48 +-
 .../plc4c/generated-sources/s7/src/s7_payload.c    |   24 +-
 .../s7/src/s7_payload_user_data_item.c             |   40 +-
 .../s7/src/s7_var_payload_data_item.c              |   34 +-
 .../s7/src/s7_var_payload_status_item.c            |   12 +-
 .../s7/src/s7_var_request_parameter_item.c         |   20 +-
 .../generated-sources/s7/src/szl_data_tree_item.c  |   32 +-
 sandbox/plc4c/generated-sources/s7/src/szl_id.c    |   20 +-
 .../s7/src/szl_module_type_class.c                 |    2 +-
 .../plc4c/generated-sources/s7/src/szl_sublist.c   |    2 +-
 .../plc4c/generated-sources/s7/src/tpkt_packet.c   |   24 +-
 .../generated-sources/s7/src/transport_size.c      |    7 +-
 sandbox/plc4c/pom.xml                              |    2 +-
 sandbox/plc4c/spi/include/plc4c/spi/read_buffer.h  |    2 +
 sandbox/plc4c/spi/include/plc4c/spi/write_buffer.h |    2 +
 sandbox/plc4c/spi/src/data.c                       |  128 +-
 sandbox/plc4c/spi/src/read.c                       |   27 +-
 sandbox/plc4c/spi/src/read_buffer.c                |    4 +
 sandbox/plc4c/spi/src/system.c                     |  220 +-
 sandbox/plc4c/spi/src/write.c                      |   57 +-
 sandbox/plc4c/spi/src/write_buffer.c               |    4 +
 sandbox/plc4c/transports/tcp/src/transport_tcp.c   |    8 +-
 sandbox/test-java-bacnetip-driver/pom.xml          |    6 +-
 .../plc4x/java/bacnetip/ManualBacNetDecoder.java   |    3 +-
 sandbox/test-java-df1-driver/pom.xml               |   75 +-
 .../plc4x/java/df1/protocol/Df1Protocol.java       |    7 +-
 .../org/apache/plc4x/java/df1/util/DF1Utils.java   |  107 +-
 .../protocol/df1/Df1ParserSerializerTest.java      |    2 +-
 .../java/org/apache/plc4x/protocol/df1/IOTest.java |   99 -
 .../enrich/knxnetip/ets5/Ets5DataEnrichment.java   |    3 +-
 src/site/asciidoc/plc4go/index.adoc                |   12 +-
 src/site/asciidoc/users/adopters.adoc              |    2 +-
 .../asciidoc/users/getting-started/plc4go.adoc     |   22 +-
 src/site/resources/plc4go.html                     |   41 +
 976 files changed, 54687 insertions(+), 55680 deletions(-)
 create mode 100644 .github/dependabot.yml
 rename {build-utils => code-generation}/language-base-freemarker/pom.xml (91%)
 rename {build-utils => code-generation}/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java (97%)
 rename {build-utils => code-generation}/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/FreemarkerException.java (100%)
 rename {build-utils => code-generation}/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/FreemarkerLanguageOutput.java (100%)
 copy {build-utils => code-generation}/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/FreemarkerLanguageTemplateHelper.java (100%)
 rename {build-utils => code-generation}/language-c/pom.xml (94%)
 rename {build-utils => code-generation}/language-c/src/main/java/org/apache/plc4x/language/c/CLanguageOutput.java (100%)
 rename {build-utils => code-generation}/language-c/src/main/java/org/apache/plc4x/language/c/CLanguageTemplateHelper.java (92%)
 rename {build-utils => code-generation}/language-c/src/main/resources/META-INF/services/org.apache.plc4x.plugins.codegenerator.language.LanguageOutput (100%)
 rename {build-utils => code-generation}/language-c/src/main/resources/templates/c/data-io-template.c.ftlh (85%)
 rename {build-utils => code-generation}/language-c/src/main/resources/templates/c/data-io-template.h.ftlh (82%)
 rename {build-utils => code-generation}/language-c/src/main/resources/templates/c/enum-template.c.ftlh (99%)
 rename {build-utils => code-generation}/language-c/src/main/resources/templates/c/enum-template.h.ftlh (98%)
 rename {build-utils => code-generation}/language-c/src/main/resources/templates/c/pojo-template.c.ftlh (93%)
 rename {build-utils => code-generation}/language-c/src/main/resources/templates/c/pojo-template.h.ftlh (91%)
 rename {build-utils => code-generation}/language-c/src/test/resources/integration-test/CMakeLists.txt (100%)
 rename {build-utils => code-generation}/language-c/src/test/resources/integration-test/generated-sources/CMakeLists.txt (100%)
 rename {build-utils => code-generation}/language-c/src/test/resources/integration-test/generated-sources/test/CMakeLists.txt (100%)
 rename {build-utils => code-generation}/language-c/src/test/resources/integration-test/pom.xml (96%)
 rename {build-utils => code-generation}/language-c/src/test/resources/settings.xml (100%)
 rename {build-utils => code-generation}/language-go/pom.xml (72%)
 rename {build-utils => code-generation}/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageOutput.java (100%)
 rename {build-utils => code-generation}/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java (91%)
 rename {build-utils => code-generation}/language-go/src/main/java/org/apache/plc4x/language/go/utils/FieldUtils.java (100%)
 rename {build-utils => code-generation}/language-go/src/main/resources/META-INF/services/org.apache.plc4x.plugins.codegenerator.language.LanguageOutput (100%)
 rename {build-utils => code-generation}/language-go/src/main/resources/templates/go/data-io-template.go.ftlh (91%)
 rename {build-utils => code-generation}/language-go/src/main/resources/templates/go/enum-template.go.ftlh (84%)
 rename {build-utils => code-generation}/language-go/src/main/resources/templates/go/model-template.go.ftlh (62%)
 rename {build-utils => code-generation}/language-go/src/main/resources/templates/go/parser-factory-template.go.ftlh (92%)
 rename {build-utils => code-generation}/language-go/src/main/resources/templates/go/xml-parser-factory-template.go.ftlh (58%)
 rename {build-utils => code-generation}/language-go/src/test/resources/plc4go/go.mod (99%)
 rename {build-utils => code-generation}/language-go/src/test/resources/plc4go/pom.xml (95%)
 rename {build-utils/language-java => code-generation/language-go}/src/test/resources/settings.xml (100%)
 rename {build-utils => code-generation}/language-java/pom.xml (92%)
 rename {build-utils => code-generation}/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageOutput.java (100%)
 rename {build-utils => code-generation}/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java (86%)
 rename {build-utils => code-generation}/language-java/src/main/resources/META-INF/services/org.apache.plc4x.plugins.codegenerator.language.LanguageOutput (100%)
 rename {build-utils => code-generation}/language-java/src/main/resources/templates/java/data-io-template.java.ftlh (89%)
 rename {build-utils => code-generation}/language-java/src/main/resources/templates/java/enum-package-info-template.java.ftlh (97%)
 rename {build-utils => code-generation}/language-java/src/main/resources/templates/java/enum-template.java.ftlh (99%)
 rename {build-utils => code-generation}/language-java/src/main/resources/templates/java/io-template.java.ftlh (68%)
 rename {build-utils => code-generation}/language-java/src/main/resources/templates/java/pojo-template.java.ftlh (97%)
 rename {build-utils => code-generation}/language-java/src/test/resources/integration-test/pom.xml (93%)
 rename {build-utils/language-go => code-generation/language-java}/src/test/resources/settings.xml (100%)
 rename {build-utils => code-generation}/pom.xml (97%)
 rename {build-utils => code-generation}/protocol-base-mspec/pom.xml (95%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/antlr4/org/apache/plc4x/plugins/codegenerator/language/mspec/MSpec.g4 (99%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/antlr4/org/apache/plc4x/plugins/codegenerator/language/mspec/expression/Expression.g4 (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/expression/ExpressionStringListener.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/expression/ExpressionStringParser.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/definitions/DefaultComplexTypeDefinition.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/definitions/DefaultDataIoTypeDefinition.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/definitions/DefaultDiscriminatedComplexTypeDefinition.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/definitions/DefaultEnumTypeDefinition.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/definitions/DefaultEnumValue.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/definitions/DefaultTypeDefinition.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultAbstractField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultArrayField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultChecksumField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultConstField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultDiscriminatorField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultEnumField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultImplicitField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualArrayField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultManualField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultOptionalField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultPaddingField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultReservedField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSimpleField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultSwitchField.java (100%)
 copy {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultTaggedField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultVirtualField.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatListener.java (99%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatParser.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/remote-resources/LICENSE (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/remote-resources/UNLICENSE (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/test/java/org/apache/plc4x/plugins/codegenerator/language/mspec/expression/ExpressionStringParserTest.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/test/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatParserTest.java (100%)
 rename {build-utils => code-generation}/protocol-base-mspec/src/test/resources/mspec.example (100%)
 rename {build-utils => code-generation}/protocol-test/pom.xml (97%)
 rename {build-utils => code-generation}/protocol-test/src/main/java/org/apache/plc4x/protocol/test/TestProtocol.java (100%)
 rename {build-utils => code-generation}/protocol-test/src/main/resources/META-INF/services/org.apache.plc4x.plugins.codegenerator.protocol.Protocol (100%)
 rename {build-utils => code-generation}/protocol-test/src/main/resources/protocols/test/test.mspec (99%)
 rename {build-utils => code-generation}/protocol-test/src/site/asciidoc/index.adoc (100%)
 rename {build-utils => code-generation}/protocol-test/src/site/site.xml (100%)
 delete mode 100644 go.sum
 create mode 100644 plc4go/assets/testing/protocols/abeth/ParserSerializerTestsuite.xml
 create mode 100644 plc4go/assets/testing/protocols/df1/ParserSerializerTestsuite.xml
 create mode 100644 plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
 create mode 100644 plc4go/assets/testing/protocols/eip/ParserSerializerTestsuite.xml
 create mode 100644 plc4go/assets/testing/protocols/firmata/ParserSerializerTestsuite.xml
 copy plc4go/cmd/main/drivers/tests/{ads_driver_test.go => abeth_driver_test.go} (83%)
 copy plc4go/cmd/main/drivers/tests/{knxnetip_parser_serializer_test.go => abeth_parser_serializer_test.go} (85%)
 copy plc4go/cmd/main/drivers/tests/{ads_driver_test.go => df1_driver_test.go} (84%)
 copy plc4go/cmd/main/drivers/tests/{knxnetip_parser_serializer_test.go => df1_parser_serializer_test.go} (85%)
 copy plc4go/cmd/main/drivers/tests/{ads_driver_test.go => eip_driver_test.go} (60%)
 copy plc4go/cmd/main/drivers/tests/{knxnetip_parser_serializer_test.go => eip_parser_serializer_test.go} (85%)
 copy plc4go/cmd/main/drivers/tests/{knxnetip_driver_test.go => firmata_driver_test.go} (82%)
 copy plc4go/cmd/main/drivers/tests/{knxnetip_parser_serializer_test.go => firmata_parser_serializer_test.go} (85%)
 copy plc4go/internal/plc4go/{ads/readwrite/model/AdsStaticHelper.go => abeth/readwrite/ParserHelper.go} (51%)
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/XmlParserHelper.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationPacket.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadRequest.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/CIPEncapsulationReadResponse.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandRequestMessage.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestCommand.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestMessage.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
 create mode 100644 plc4go/internal/plc4go/abeth/readwrite/model/DF1ResponseMessage.go
 copy plc4go/internal/plc4go/{ads/readwrite/model/AdsStaticHelper.go => df1/readwrite/ParserHelper.go} (64%)
 copy plc4go/internal/plc4go/{ads/readwrite/model/AdsStaticHelper.go => df1/readwrite/XmlParserHelper.go} (52%)
 create mode 100644 plc4go/internal/plc4go/df1/readwrite/model/DF1Command.go
 create mode 100644 plc4go/internal/plc4go/df1/readwrite/model/DF1Symbol.go
 create mode 100644 plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrame.go
 create mode 100644 plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameACK.go
 create mode 100644 plc4go/internal/plc4go/df1/readwrite/model/DF1SymbolMessageFrameNAK.go
 create mode 100644 plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadRequest.go
 create mode 100644 plc4go/internal/plc4go/df1/readwrite/model/DF1UnprotectedReadResponse.go
 create mode 100644 plc4go/internal/plc4go/df1/readwrite/model/Df1StaticHelper.go
 create mode 100644 plc4go/internal/plc4go/df1/readwrite/model/Df1StaticHelper_test.go
 create mode 100644 plc4go/internal/plc4go/eip/Configuration.go
 create mode 100644 plc4go/internal/plc4go/eip/Connection.go
 create mode 100644 plc4go/internal/plc4go/eip/Driver.go
 copy plc4go/{cmd/main/drivers/tests/s7_driver_test.go => internal/plc4go/eip/DriverContext.go} (68%)
 create mode 100644 plc4go/internal/plc4go/eip/Field.go
 create mode 100644 plc4go/internal/plc4go/eip/FieldHandler.go
 copy plc4go/internal/plc4go/{s7 => eip}/MessageCodec.go (85%)
 create mode 100644 plc4go/internal/plc4go/eip/Reader.go
 rename go.mod => plc4go/internal/plc4go/eip/ValueHandler.go (79%)
 create mode 100644 plc4go/internal/plc4go/eip/Writer.go
 copy plc4go/internal/plc4go/{ads => eip}/readwrite/ParserHelper.go (53%)
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/XmlParserHelper.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/CIPDataTypeCode.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/CipExchange.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/CipRRData.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/CipReadRequest.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/CipReadResponse.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/CipService.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/CipUnconnectedRequest.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/CipWriteRequest.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/CipWriteResponse.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/EiPCommand.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/EipConnectionRequest.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/EipDisconnectRequest.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/EipPacket.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceRequest.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/MultipleServiceResponse.go
 create mode 100644 plc4go/internal/plc4go/eip/readwrite/model/Services.go
 copy plc4go/internal/plc4go/{modbus => firmata}/readwrite/ParserHelper.go (58%)
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/XmlParserHelper.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommand.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandProtocolVersion.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetDigitalPinValue.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSetPinMode.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSysex.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataCommandSystemReset.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessage.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageAnalogIO.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageCommand.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageDigitalIO.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeAnalogPinValue.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/FirmataMessageSubscribeDigitalPinValue.go
 copy plc4go/{cmd/main/drivers/s7_test.go => internal/plc4go/firmata/readwrite/model/FirmataStaticHelper.go} (58%)
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/PinMode.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommand.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryRequest.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingQueryResponse.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandAnalogMappingResponse.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityQuery.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandCapabilityResponse.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExendedId.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandExtendedAnalog.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateQuery.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandPinStateResponse.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareRequest.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandReportFirmwareResponse.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSamplingInterval.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandStringData.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexNonRealtime.go
 create mode 100644 plc4go/internal/plc4go/firmata/readwrite/model/SysexCommandSysexRealtime.go
 copy plc4go/internal/plc4go/{ads/readwrite/model/AdsStaticHelper.go => simulated/readwrite/ParserHelper.go} (66%)
 copy plc4go/internal/plc4go/{ads/readwrite/model/AdsStaticHelper.go => simulated/readwrite/XmlParserHelper.go} (55%)
 copy plc4go/internal/plc4go/{modbus => simulated}/readwrite/model/DataItem.go (56%)
 create mode 100644 plc4go/internal/plc4go/simulated/readwrite/model/Dummy.go
 create mode 100644 plc4go/internal/plc4go/simulated/readwrite/model/SimulatedDataTypeSizes.go
 create mode 100644 plc4go/internal/plc4go/spi/utils/Buffer.go
 create mode 100644 plc4go/internal/plc4go/spi/utils/ReadBufferJsonBased.go
 create mode 100644 plc4go/internal/plc4go/spi/utils/WriteBufferJsonBased.go
 create mode 100644 plc4go/internal/plc4go/spi/utils/bufferCommons.go
 rename plc4j/drivers/ab-eth/src/test/java/org/apache/plc4x/protocol/abeth/{AbEthTest.java => AbEthParserSerializerTest.java} (82%)
 delete mode 100644 plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/IOTest.java
 create mode 100644 plc4j/drivers/s7/src/test/java/S7IoTest.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/BufferCommons.java
 copy plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/{ReadBuffer.java => ReadBufferByteBased.java} (76%)
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferJsonBased.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/ReadBufferXmlBased.java
 copy build-utils/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/FreemarkerLanguageTemplateHelper.java => plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WithReaderArgs.java (81%)
 copy plc4j/{utils/test-utils/src/main/java/org/apache/plc4x/test/parserserializer/exceptions/ParserSerializerTestsuiteException.java => spi/src/main/java/org/apache/plc4x/java/spi/generation/WithReaderWriterArgs.java} (52%)
 rename build-utils/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/FreemarkerLanguageTemplateHelper.java => plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WithWriterArgs.java (81%)
 copy plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/{WriteBuffer.java => WriteBufferByteBased.java} (58%)
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferJsonBased.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferXmlBased.java
 rename plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/{XmlTestsuiteRunner.java => XmlTestsuiteLoader.java} (96%)
 delete mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/Lalala.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/ConnectionManager.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/DriverTestsuite.java
 rename plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/{model/DriverTestsuite.java => internal/DriverTestsuiteConfiguration.java} (52%)
 rename plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/{model => internal}/StepType.java (64%)
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/TestStep.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/Testcase.java
 rename plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/{model => internal}/api/TestField.java (95%)
 rename plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/{model => internal}/api/TestFieldRequest.java (95%)
 rename plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/{model => internal}/api/TestReadRequest.java (95%)
 rename plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/{model => internal}/api/TestRequest.java (94%)
 rename plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/{model => internal}/api/TestValueField.java (95%)
 rename plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/{model => internal}/api/TestWriteRequest.java (95%)
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/handlers/ApiRequestHandler.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/handlers/ApiResponseHandler.java
 copy plc4j/{drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsDriverIT.java => utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/handlers/IncomingPlcBytesHandler.java} (71%)
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/handlers/IncomingPlcMessageHandler.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/handlers/OutgoingPlcBytesHandler.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/handlers/OutgoingPlcMessageHandler.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/utils/ChannelUtil.java
 rename build-utils/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/fields/DefaultTaggedField.java => plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/utils/Delay.java (53%)
 copy plc4j/{drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsDriverIT.java => utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/utils/Synchronizer.java} (72%)
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/internal/validator/ApiValidator.java
 delete mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/model/TestStep.java
 delete mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/model/Testcase.java
 delete mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/mapper/TestSuiteMappingModule.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/migration/MessageResolver.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/migration/MessageValidatorAndMigrator.java
 copy plc4j/{spi/src/test/java/org/apache/plc4x/java/spi/generation/ReadBufferTest.java => utils/test-utils/src/main/java/org/apache/plc4x/test/migration/MigrationException.java} (59%)
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/migration/TestCasePatcher.java
 create mode 100644 sandbox/plc4c/examples/hello-world-s7/src/hello_world_s7_loopback.c
 delete mode 100644 sandbox/test-java-df1-driver/src/test/java/org/apache/plc4x/protocol/df1/IOTest.java
 create mode 100644 src/site/resources/plc4go.html