You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by hu...@apache.org on 2020/11/19 12:27:10 UTC

[plc4x] branch feature/kafkasink updated (8625533 -> 450e853)

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

hutcheb pushed a change to branch feature/kafkasink
in repository https://gitbox.apache.org/repos/asf/plc4x.git.


    from 8625533  Refactored Source Validate functions.
     add b63951b  Refactored Sink Connector Validation and added test cases
     add 476ca51  Testing Simulated Driver
     add c897eed  - Kickoff
     add 07c1ab3  - Kickoff
     add 2e5003b  Merge branch 'develop' of https://gitbox.apache.org/repos/asf/plc4x into feature/plc4go
     add 1c0fac8  - Added some initial generated code together with the project files for running it in GoLand
     add a9eb9c6  - Added Enum types
     add b1bc946  - Added parsers and serializers to the code-generation
     add 9bee54d  Continued working on the templates for the parsers
     add 65f34e3  - Made the Parse-functions return Message types - Implemented parsing of const, reserved and complex typed simple fields
     add 7aecbf4  - Renamed the "error" field "errorFlag" as "error" is a type in Go
     add 6d31075  - Got the Go code generation allmost finished ...
     add 38b2552  - Fixed the last modbus-related issue in the code generation
     add 76335f8  - Implemented the serialization (Note: there is still a problem with the typeSwitch serialization)
     add caed258  - Fixed the Go typeSwitch issue
     add 7a8e809  - Removed some of the hacks from the generated code - Refactored the directory structure to be more in line with the default go project/module structure
     add 64452e5  - Slightly changed the directory structure to generate all files into a "model" package
     add 64ffd85  - Made go vet run in the build
     add 1336386  - Added some first S7 driver code ...
     add 7d953dd  - Added some first BACnet/IP and KNXNet/IP driver code ...
     add dd6ef17  - Cleaned up the PLC4Go pom
     add 6a45b12  - Big refactoring ot the expression generation to enable more drivers to be generated
     add cdc1484  - Manually made the S7 driver compile
     add bb6852d  - Finshed the last little quirks in the code-generation
     add c2246c8  - Finished the last little quirks in the code-generation
     add 30bcfad  - Finshed the last little quirks in the code-generation
     add 6ccc466  - Implemented the ReadBuffer - Updated the code generation to actually work for parsing
     add 4b60c0d  - Implemented the WriteBuffer - Fixed the Serialization issues
     add 3f83fa1  - Fixed issues that were causing failures in the parser/serializer tests
     add ca6d972  - Improved the error handling in the serializers
     add 6d7b26b  - Moved the xml-based test documents from the java drivers into the protocol modules
     add df574d7  - Started working on the PLC4Go API
     add baeaa7e  - Fine-tuning of the API
     add f32a987  - Fine-tuning of the API for accessing connection meta-data - Started implementing the PlcValues
     add 223e0ee  Merge branch 'develop' of https://gitbox.apache.org/repos/asf/plc4x into feature/plc4go
     add d7bf2ab  - Implemented the missing IEC plc-values
     add cd9b4dd  - Made the BOOL and BitString types not include the numeric features
     add d89cfd7  - Continued working on the SPI
     add 73d16fc  Cleaned up the write example ...
     add fa7d5c6  - Got the SPI parts of processing the read requests finished - Continued implementing the Modbus driver
     add 4c2c20a  - Major work on the GO drivers - Refactoring of some of the PLCValue handling
     add 7301e08  - Finished a first version of a working Modbus Go driver
     add 0a14c9b  - Implemented the missing read request types - Implemented the generation of the DataIo for lists
     add 7b14da8  - Implemented the Floating-Point handling
     add 1dec03b  - Renamed the method to get an enum constant from a value from valueOf to enumForValue as for string based enums this was causing problems as enums always automatically have valueOf(String) methods
     add 9bf1659  - Fixed the enum support of string-typed-enums in C
     add bf34c28  - Quick-Fix to get the PLC4J Modbus working again ...
     add 839b73b  - Removed the ModbusDataType in modbus.mspes which is replaced by the new ModbusDataTypeSizes
     add dea8c98  - Cleanup in PLC4Go after moving around some types
     add 2d220af  - Added code for serializing and deserialization to XML (Java Jackson format) - Removed duplicate type definitions from the bacnetio.mspec
     add a1720ad  - Addressed some issues in the reading of values via S7 protocol
     add 75bc370  - Continued working on the serializer/parser testsuite for go
     add fd80b89  - Added the parse-char stuff to plc4c
     add 8a46474  - Updated the Jenkinsfile to match the new constant names for jdks and maven installations
     add b741a83  Merge branch 'develop' of https://gitbox.apache.org/repos/asf/plc4x into feature/plc4go
     add 2926f76  - Updated things pulled in after merging in latest changes from develop
     add d56b97a  - Get the plc4go build running on jenkins
     add 0ecbe37  - Made the master pom copy the schemas of the testsuites to the site (So they are fetchable by IDEs and other tools)
     add ac2dd33  - Fixed some small typos
     add d46b69d  - Made the Java IO code also accept String types as parser-arguments
     add d2519e5  - Implemented a first Modbus Integration-Test - Extended the testsuite-runner to support tests with parser-arguments
     add 7d8c4bb  - Continued working on the go integration-testsuite
     add b85b67b  started to backport
     add 0112fc7  Merge branch 'backportvaluehandler' of https://gitbox.apache.org/repos/asf/plc4x into feature/plc4go
     add e1a97c9  - Major refactoring regarding the FieldHandlers, ValueHandlers - Refactored out all of the "Internal" interfaces
     add 5ba46d9  - Major refactoring regarding the FieldHandlers, ValueHandlers - Refactored out all of the "Internal" interfaces
     add ea94a9d  - Changed the datatype names in s7 from integer values to the IEC names
     add 6583eb2  OPC UA Client write fix, static of Add passthrough in valueHandler for OPCUA client as it doesn't specify a data type. changed of to static method in ValueHandler
     add 1b33b3f  - Finished implementing a first fully working version of the integration-test-framework for plc4go
     add a0b7c0d  - Ported the SingleFieldOptimizer to go (SingleItemRequestItemInterceptor)
     add 042c90e  - Fixed a bug in the modbus driver, not correctly incrementing the unitIdentifier - Fixed a bug in the xml-serialization of read- and write-requests - Added a testcase for automatic splitting of requests - Refactored the TestTransport to have separate read- and write-buffers and added methods to fill the read-buffer and drain the write-buffer (This eliminates race-conditions in the testsuite)
     add 35fd89d  - Implemented a modbus ping functionality using the diagnostic request (function code 8, sub-function code 0)
     add c2999ce  - Started updating the site in preparation for the first getting-started guide fro go
     add 46a4dc2  - Implemented the write support in PLC4Go Modbus
     add 8ff0363  - Fixed some test-timeout-issues in the modbus driver testsuite (Actually by increasing the modbus default timeout) - Moved plc4go out of the sandbox
     add c5c7578  - Defined all of the KNX datatypes - Optimized the DataIo code generation for Java - Fixed some wrong type declarationd in mspec dataIo
     add d3caf72  - Changed the Go code generation from inheritance to composition - Did a lot of tweaking in the temporal PlcValues
     add 0670dd6  - Changed the code for the xml mashalling and unmarshalling to work with the changed structures - Got the integration-tests workin again
     add c2f500c  - Changed the code for the xml mashalling and unmarshalling to work with the changed structures - Got the integration-tests workin again
     add ef3dd71  - Deleted the files in model in order to replace them with ones with different case name
     add 937756d  - Renamed some of the KNX type names to be consistent regarding case - Fixed a bug in the KNX driver
     add cd5ddc4  - Continued implementing the Go KNX driver
     add cb235b9  - Implemented the connection establishment of KNX connection and PING operation
     add 2f615be  - Implemented a first version of the subscription API
     add da01c44  - Started implementing discovery for KNX
     add a6899ec  - Renamed the KNX config option "group-address-type" to "group-address-num-levels" - Implemented a first version of the subscription API in Go - Got the PLC4Go KNX driver working (Connect, Ping and Subscribe)
     add 5d19d05  - Increased the timeout in order to avoid random test-failures in the integration-tests
     add 2b25d39  - Implemented the correct KNX floating point decoding
     add 18e4108  - Updated the KNX Datapoint spec to skip the first 8 bits, if the datatype didn't start with skipping at least 2 bits (In this case the additional byte is not needed)
     add 21ad128  - Removed the unneeded dependency
     add 78546bf  - Updated the go coordinates
     add 57b355a  - Updated the go coordinates
     add 9d8e394  PLC4X-258 Replace lambdas which static classes.
     add 2adf651  PLC4X-207 Make sure onTimeout is called for missed answers.
     add a12477a  Merge branch 'develop' of https://gitbox.apache.org/repos/asf/plc4x into feature/plc4go
     add 1608cc1  - Updated the KNX driver to submit only actually changed values as well as passing the address along (When using a pattern it is important to be able to access the actual address of a datapoint)
     add 9365eb8  - Fixed a bug in the "update change" detection mechanism - Implemented the active read support
     add 1d3fc22  - Implemented the read-support in KNX
     add 53ef21b  Merge branch 'feature/plc4go' into feature/kafkasink
     add af1ed4c  Test
     add 569c6ce  - Extended the KNX address-syntax to suppport value lists and ranges next to the fixed values and wildcards.
     add fe44231  - Updated the ADS mspec to use the IEC type names for DataIo - Added definitions for processing the temporal values in ADS DataIo - Fixed problems in the ADS driver causing issues (Replaced stream and lambda expression with for loop) - Added implementation for little-endian reading of BigInteger in ReadBuffer - Added implementation for readDouble in ReadBuffer - Fixed the implementation for readFloat in ReadBuffer - Added some null-checks in DefaultPlcReadResponse - Work [...]
     add 27192b7  [Broken State] Adding support for PlcValue datatypes for simulated devic
     add 7627f38  Fixed a couple of things
     add 3c79e6c  Merge branch 'feature/plc4go' into bug/simulated_device_data_types
     add ddc5776  [Broken] Fix after Merge Plc4go
     add 079259f  Add back support for existing Java class types.
     add 338ba32  Merge pull request #204 from apache/bug/simulated_device_data_types
     add ce53c89  - Implemented a general purpose manual testsuite class for testing all of the different datatypes. - Fixed multiple issues in the ADS driver -- The driver was missing a ByteLengthEstimator -- The parse methods for parsing of strings were not implemented -- Made the ADS spec ignore the 4 trailing bytes in case of a STRING and the 8 in case of a WSTRING - The ReadBuffer was shifting bytes in case of little-endianness, but was filling up in 2s complement changed that to fil [...]
     add fe0ad76  - Added the sources needed in the PLC to run the manual test to a comment at the top
     add 62706e0  - Fixed the reading of strings and Wstrings (Introduced a similar type of string fields, which have a length attribute just like in S7)
     add 46f8ce9  - Added a PCAPNG capture of the manual test being executed
     add 6a59b60  - Fixed the default size calculation in ADS - Updated the testdata with a true full run
     add 277e008  - Got most of the data-types working in the S7 protocol
     add d4823f2  - Fixed a the code that broke a test in the ADS module
     add ad9524a  - Started working on the support of reading data which is smaller than 16 bits in modbus - Added support for reading Modbus BitStrings from registers - Added tests for Modbus
     add 91d39b9  - Added support for 1-byte data-types in Modbus
     add e55951e  - Updated the build to only unpack xml files into the PLC4Go test-assets directory
     add c871dfc  - Added an empty go.mod file to the project root (Trying to get it working in go)
     add 11df07f  - Made the PLC4Go work after my changes in the protocol specs and PLC4J yesterday
     add 510f747  Merge remote-tracking branch 'origin/feature/plc4go' into feature/kafkasink
     add 450e853  Fixed Simulated reading/writing of lists

No new revisions were added by this update.

Summary of changes:
 .gitignore                                         |    3 +
 .../BaseFreemarkerLanguageTemplateHelper.java      |   89 +-
 .../resources/templates/c/data-io-template-c.ftlh  |    3 +-
 .../resources/templates/c/enum-template-c.ftlh     |    6 +-
 .../resources/templates/c/enum-template-h.ftlh     |    2 +-
 build-utils/language-go/pom.xml                    |   58 +
 .../apache/plc4x/language/go/GoLanguageOutput.java |   72 +
 .../language/go/GoLanguageTemplateHelper.java      | 1061 ++++
 .../go/hack/DefaultBooleanTypeReference.java       |   35 +
 .../go/hack/DefaultFloatTypeReference.java         |   45 +
 .../go/hack/DefaultIntegerTypeReference.java       |   41 +
 .../apache/plc4x/language/go/utils/FieldUtils.java |  103 +
 ...x.plugins.codegenerator.language.LanguageOutput |   19 +
 .../resources/templates/go/data-io-template.ftlh   |  222 +
 .../main/resources/templates/go/enum-template.ftlh |  139 +
 .../resources/templates/go/model-template.ftlh     | 1029 ++++
 .../templates/go/parser-factory-template.ftlh      |   96 +
 .../templates/go/xml-parser-factory-template.ftlh  |   89 +
 .../language/java/JavaLanguageTemplateHelper.java  |   78 +-
 .../resources/templates/java/data-io-template.ftlh |  142 +-
 .../resources/templates/java/enum-template.ftlh    |    4 +-
 .../main/resources/templates/java/io-template.ftlh |   16 +-
 build-utils/pom.xml                                |    1 +
 .../plugins/codegenerator/language/mspec/MSpec.g4  |    6 +-
 .../references/DefaultBooleanTypeReference.java    |   29 +
 .../mspec/parser/MessageFormatListener.java        |    7 +-
 go.mod                                             |   21 +
 .../knxnetip/ParserSerializerTestsuite.xml         |  500 ++
 .../testing/protocols/modbus/DriverTestsuite.xml   |  382 ++
 .../protocols/modbus/ParserSerializerTestsuite.xml |  181 +
 .../testing/protocols/s7/DriverTestsuite.xml       |  389 ++
 .../protocols/s7/ParserSerializerTestsuite.xml     |    0
 plc4go/cmd/main/drivers/bacnetip_test.go           |   43 +
 plc4go/cmd/main/drivers/knxnetip_test.go           |  172 +
 plc4go/cmd/main/drivers/modbus_test.go             |  208 +
 plc4go/cmd/main/drivers/s7_test.go                 |   42 +
 .../cmd/main/drivers/tests/modbus_driver_test.go   |   29 +
 .../drivers/tests/modbus_parser_serializer_test.go |   28 +
 plc4go/cmd/main/main.go                            |   22 +
 plc4go/examples/read/hello_world_plc4go_read.go    |   70 +
 plc4go/examples/write/hello_world_plc4go_write.go  |   71 +
 plc4go/go.mod                                      |   29 +
 plc4go/go.sum                                      |   22 +
 plc4go/internal/plc4go/bacnetip/BacnetIpDriver.go  |   25 +
 .../plc4go/bacnetip/readwrite/ParserHelper.go      |   79 +
 .../plc4go/bacnetip/readwrite/XmlParserHelper.go   |  119 +
 .../plc4go/bacnetip/readwrite/model/APDU.go        |  286 +
 .../plc4go/bacnetip/readwrite/model/APDUAbort.go   |  242 +
 .../bacnetip/readwrite/model/APDUComplexAck.go     |  345 ++
 .../readwrite/model/APDUConfirmedRequest.go        |  429 ++
 .../plc4go/bacnetip/readwrite/model/APDUError.go   |  213 +
 .../plc4go/bacnetip/readwrite/model/APDUReject.go  |  214 +
 .../bacnetip/readwrite/model/APDUSegmentAck.go     |  298 +
 .../bacnetip/readwrite/model/APDUSimpleAck.go      |  214 +
 .../readwrite/model/APDUUnconfirmedRequest.go      |  185 +
 .../bacnetip/readwrite/model/ApplicationTag.go     |  108 +
 .../bacnetip/readwrite/model/BACnetAddress.go      |  179 +
 .../readwrite/model/BACnetConfirmedServiceACK.go   |  370 ++
 .../BACnetConfirmedServiceACKAtomicReadFile.go     |  131 +
 .../BACnetConfirmedServiceACKAtomicWriteFile.go    |  131 +
 ...tConfirmedServiceACKConfirmedPrivateTransfer.go |  131 +
 .../model/BACnetConfirmedServiceACKCreateObject.go |  131 +
 .../BACnetConfirmedServiceACKGetAlarmSummary.go    |  131 +
 ...ACnetConfirmedServiceACKGetEnrollmentSummary.go |  131 +
 ...BACnetConfirmedServiceACKGetEventInformation.go |  131 +
 .../model/BACnetConfirmedServiceACKReadProperty.go |  131 +
 ...ACnetConfirmedServiceACKReadPropertyMultiple.go |  131 +
 .../model/BACnetConfirmedServiceACKReadRange.go    |  131 +
 ...BACnetConfirmedServiceACKRemovedAuthenticate.go |  131 +
 ...rmedServiceACKRemovedReadPropertyConditional.go |  131 +
 .../model/BACnetConfirmedServiceACKVTData.go       |  131 +
 .../model/BACnetConfirmedServiceACKVTOpen.go       |  131 +
 .../model/BACnetConfirmedServiceRequest.go         |  608 +++
 ...ACnetConfirmedServiceRequestAcknowledgeAlarm.go |  131 +
 .../BACnetConfirmedServiceRequestAddListElement.go |  131 +
 .../BACnetConfirmedServiceRequestAtomicReadFile.go |  131 +
 ...BACnetConfirmedServiceRequestAtomicWriteFile.go |  131 +
 ...firmedServiceRequestConfirmedCOVNotification.go |  511 ++
 ...rviceRequestConfirmedCOVNotificationMultiple.go |  131 +
 ...rmedServiceRequestConfirmedEventNotification.go |  131 +
 ...firmedServiceRequestConfirmedPrivateTransfer.go |  131 +
 ...tConfirmedServiceRequestConfirmedTextMessage.go |  131 +
 .../BACnetConfirmedServiceRequestCreateObject.go   |  131 +
 .../BACnetConfirmedServiceRequestDeleteObject.go   |  131 +
 ...rmedServiceRequestDeviceCommunicationControl.go |  131 +
 ...tConfirmedServiceRequestGetEnrollmentSummary.go |  131 +
 ...etConfirmedServiceRequestGetEventInformation.go |  131 +
 ...etConfirmedServiceRequestLifeSafetyOperation.go |  131 +
 .../BACnetConfirmedServiceRequestReadProperty.go   |  303 +
 ...tConfirmedServiceRequestReadPropertyMultiple.go |  131 +
 .../BACnetConfirmedServiceRequestReadRange.go      |  131 +
 ...netConfirmedServiceRequestReinitializeDevice.go |  131 +
 ...CnetConfirmedServiceRequestRemoveListElement.go |  131 +
 ...etConfirmedServiceRequestRemovedAuthenticate.go |  131 +
 ...ServiceRequestRemovedReadPropertyConditional.go |  131 +
 ...CnetConfirmedServiceRequestRemovedRequestKey.go |  131 +
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |  416 ++
 ...tConfirmedServiceRequestSubscribeCOVProperty.go |  131 +
 ...edServiceRequestSubscribeCOVPropertyMultiple.go |  131 +
 .../model/BACnetConfirmedServiceRequestVTClose.go  |  131 +
 .../model/BACnetConfirmedServiceRequestVTData.go   |  131 +
 .../model/BACnetConfirmedServiceRequestVTOpen.go   |  131 +
 .../BACnetConfirmedServiceRequestWriteProperty.go  |  408 ++
 ...ConfirmedServiceRequestWritePropertyMultiple.go |  131 +
 .../plc4go/bacnetip/readwrite/model/BACnetError.go |  370 ++
 .../readwrite/model/BACnetErrorAtomicReadFile.go   |  131 +
 .../readwrite/model/BACnetErrorAtomicWriteFile.go  |  131 +
 .../model/BACnetErrorConfirmedPrivateTransfer.go   |  131 +
 .../readwrite/model/BACnetErrorCreateObject.go     |  131 +
 .../readwrite/model/BACnetErrorGetAlarmSummary.go  |  131 +
 .../model/BACnetErrorGetEnrollmentSummary.go       |  131 +
 .../model/BACnetErrorGetEventInformation.go        |  131 +
 .../readwrite/model/BACnetErrorReadProperty.go     |  320 ++
 .../model/BACnetErrorReadPropertyMultiple.go       |  131 +
 .../readwrite/model/BACnetErrorReadRange.go        |  131 +
 .../model/BACnetErrorRemovedAuthenticate.go        |  131 +
 .../BACnetErrorRemovedReadPropertyConditional.go   |  131 +
 .../bacnetip/readwrite/model/BACnetErrorVTData.go  |  131 +
 .../bacnetip/readwrite/model/BACnetErrorVTOpen.go  |  131 +
 .../bacnetip/readwrite/model/BACnetNetworkType.go  |  102 +
 .../bacnetip/readwrite/model/BACnetNodeType.go     |  135 +
 .../bacnetip/readwrite/model/BACnetNotifyType.go   |   78 +
 .../bacnetip/readwrite/model/BACnetObjectType.go   |  246 +
 .../bacnetip/readwrite/model/BACnetServiceAck.go   |  370 ++
 .../model/BACnetServiceAckAtomicReadFile.go        |  131 +
 .../model/BACnetServiceAckAtomicWriteFile.go       |  131 +
 .../BACnetServiceAckConfirmedPrivateTransfer.go    |  131 +
 .../model/BACnetServiceAckCreateObject.go          |  131 +
 .../model/BACnetServiceAckGetAlarmSummary.go       |  131 +
 .../model/BACnetServiceAckGetEnrollmentSummary.go  |  131 +
 .../model/BACnetServiceAckGetEventInformation.go   |  131 +
 .../model/BACnetServiceAckReadProperty.go          |  368 ++
 .../model/BACnetServiceAckReadPropertyMultiple.go  |  131 +
 .../readwrite/model/BACnetServiceAckReadRange.go   |  131 +
 .../model/BACnetServiceAckRemovedAuthenticate.go   |  131 +
 ...CnetServiceAckRemovedReadPropertyConditional.go |  131 +
 .../readwrite/model/BACnetServiceAckVTData.go      |  131 +
 .../readwrite/model/BACnetServiceAckVTOpen.go      |  131 +
 .../plc4go/bacnetip/readwrite/model/BACnetTag.go   |  494 ++
 .../model/BACnetTagApplicationBitString.go         |  212 +
 .../readwrite/model/BACnetTagApplicationBoolean.go |  135 +
 .../model/BACnetTagApplicationCharacterString.go   |  135 +
 .../readwrite/model/BACnetTagApplicationDate.go    |  135 +
 .../readwrite/model/BACnetTagApplicationDouble.go  |  164 +
 .../model/BACnetTagApplicationEnumerated.go        |  184 +
 .../readwrite/model/BACnetTagApplicationNull.go    |  135 +
 .../model/BACnetTagApplicationObjectIdentifier.go  |  135 +
 .../model/BACnetTagApplicationOctetString.go       |  135 +
 .../readwrite/model/BACnetTagApplicationReal.go    |  164 +
 .../model/BACnetTagApplicationSignedInteger.go     |  184 +
 .../readwrite/model/BACnetTagApplicationTime.go    |  135 +
 .../model/BACnetTagApplicationUnsignedInteger.go   |  184 +
 .../bacnetip/readwrite/model/BACnetTagContext.go   |  184 +
 .../readwrite/model/BACnetTagWithContent.go        |  371 ++
 .../model/BACnetUnconfirmedServiceRequest.go       |  342 ++
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |  397 ++
 .../model/BACnetUnconfirmedServiceRequestIHave.go  |  131 +
 ...UnconfirmedServiceRequestTimeSynchronization.go |  131 +
 ...onfirmedServiceRequestUTCTimeSynchronization.go |  131 +
 ...rmedServiceRequestUnconfirmedCOVNotification.go |  131 +
 ...iceRequestUnconfirmedCOVNotificationMultiple.go |  131 +
 ...edServiceRequestUnconfirmedEventNotification.go |  131 +
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |  315 ++
 ...onfirmedServiceRequestUnconfirmedTextMessage.go |  131 +
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |  340 ++
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |  320 ++
 .../BACnetUnconfirmedServiceRequestWriteGroup.go   |  131 +
 .../plc4go/bacnetip/readwrite/model/BVLC.go        |  394 ++
 .../model/BVLCDeleteForeignDeviceTableEntry.go     |  131 +
 .../model/BVLCDistributeBroadcastToNetwork.go      |  131 +
 .../bacnetip/readwrite/model/BVLCForwardedNPDU.go  |  231 +
 .../readwrite/model/BVLCOriginalBroadcastNPDU.go   |  159 +
 .../readwrite/model/BVLCOriginalUnicastNPDU.go     |  159 +
 .../model/BVLCReadBroadcastDistributionTable.go    |  131 +
 .../model/BVLCReadBroadcastDistributionTableAck.go |  131 +
 .../readwrite/model/BVLCReadForeignDeviceTable.go  |  131 +
 .../model/BVLCReadForeignDeviceTableAck.go         |  131 +
 .../readwrite/model/BVLCRegisterForeignDevice.go   |  131 +
 .../plc4go/bacnetip/readwrite/model/BVLCResult.go  |  131 +
 .../bacnetip/readwrite/model/BVLCSecureBVLL.go     |  131 +
 .../model/BVLCWideBroadcastDistributionTable.go    |  131 +
 .../plc4go/bacnetip/readwrite/model/NLM.go         |  238 +
 .../readwrite/model/NLMIAmRouterToNetwork.go       |  179 +
 .../readwrite/model/NLMWhoIsRouterToNetwork.go     |  179 +
 .../plc4go/bacnetip/readwrite/model/NPDU.go        |  652 +++
 .../internal/plc4go/knxnetip/KncNetIpConnection.go |  449 ++
 plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go  |  107 +
 plc4go/internal/plc4go/knxnetip/KnxNetIpField.go   |  295 +
 .../plc4go/knxnetip/KnxNetIpFieldHandler.go        |   83 +
 .../plc4go/knxnetip/KnxNetIpMessageCodec.go        |  162 +
 plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go  |  159 +
 .../internal/plc4go/knxnetip/KnxNetIpSubscriber.go |  139 +
 .../plc4go/knxnetip/KnxNetIpSubscriptionEvent.go   |   84 +
 .../plc4go/knxnetip/KnxNetIpValueHandler.go        |   40 +
 plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go  |   72 +
 .../plc4go/knxnetip/readwrite/ParserHelper.go      |   91 +
 .../plc4go/knxnetip/readwrite/XmlParserHelper.go   |  203 +
 .../plc4go/knxnetip/readwrite/model/APCI.go        |  117 +
 .../plc4go/knxnetip/readwrite/model/CEMI.go        |  328 ++
 .../readwrite/model/CEMIAdditionalInformation.go   |  202 +
 .../CEMIAdditionalInformationBusmonitorInfo.go     |  322 ++
 .../CEMIAdditionalInformationRelativeTimestamp.go  |  181 +
 .../knxnetip/readwrite/model/CEMIBusmonInd.go      |  237 +
 .../plc4go/knxnetip/readwrite/model/CEMIDataCon.go |  237 +
 .../knxnetip/readwrite/model/CEMIDataFrame.go      |  613 +++
 .../plc4go/knxnetip/readwrite/model/CEMIDataInd.go |  237 +
 .../plc4go/knxnetip/readwrite/model/CEMIDataReq.go |  237 +
 .../plc4go/knxnetip/readwrite/model/CEMIFrame.go   |  382 ++
 .../knxnetip/readwrite/model/CEMIFrameAck.go       |  143 +
 .../knxnetip/readwrite/model/CEMIFrameData.go      |  486 ++
 .../knxnetip/readwrite/model/CEMIFrameDataExt.go   |  514 ++
 .../readwrite/model/CEMIFramePollingData.go        |  143 +
 .../readwrite/model/CEMIFramePollingDataExt.go     |  143 +
 .../knxnetip/readwrite/model/CEMIMPropReadCon.go   |  300 +
 .../knxnetip/readwrite/model/CEMIMPropReadReq.go   |  272 +
 .../knxnetip/readwrite/model/CEMIPollDataCon.go    |  131 +
 .../knxnetip/readwrite/model/CEMIPollDataReq.go    |  131 +
 .../knxnetip/readwrite/model/CEMIPriority.go       |   81 +
 .../plc4go/knxnetip/readwrite/model/CEMIRawCon.go  |  131 +
 .../plc4go/knxnetip/readwrite/model/CEMIRawInd.go  |  131 +
 .../plc4go/knxnetip/readwrite/model/CEMIRawReq.go  |  131 +
 .../knxnetip/readwrite/model/ConnectionRequest.go  |  213 +
 .../model/ConnectionRequestInformation.go          |  218 +
 ...ConnectionRequestInformationDeviceManagement.go |  131 +
 ...ConnectionRequestInformationTunnelConnection.go |  186 +
 .../knxnetip/readwrite/model/ConnectionResponse.go |  262 +
 .../readwrite/model/ConnectionResponseDataBlock.go |  218 +
 .../ConnectionResponseDataBlockDeviceManagement.go |  131 +
 .../ConnectionResponseDataBlockTunnelConnection.go |  159 +
 .../readwrite/model/ConnectionStateRequest.go      |  213 +
 .../readwrite/model/ConnectionStateResponse.go     |  188 +
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      |  391 ++
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |  199 +
 .../knxnetip/readwrite/model/DescriptionRequest.go |  159 +
 .../readwrite/model/DescriptionResponse.go         |  186 +
 .../readwrite/model/DeviceConfigurationAck.go      |  159 +
 .../model/DeviceConfigurationAckDataBlock.go       |  205 +
 .../readwrite/model/DeviceConfigurationRequest.go  |  186 +
 .../model/DeviceConfigurationRequestDataBlock.go   |  205 +
 .../knxnetip/readwrite/model/DeviceStatus.go       |  163 +
 .../knxnetip/readwrite/model/DisconnectRequest.go  |  213 +
 .../knxnetip/readwrite/model/DisconnectResponse.go |  188 +
 .../readwrite/model/HPAIControlEndpoint.go         |  204 +
 .../knxnetip/readwrite/model/HPAIDataEndpoint.go   |  204 +
 .../readwrite/model/HPAIDiscoveryEndpoint.go       |  204 +
 .../knxnetip/readwrite/model/HostProtocolCode.go   |   75 +
 .../plc4go/knxnetip/readwrite/model/IPAddress.go   |  155 +
 .../plc4go/knxnetip/readwrite/model/KnxAddress.go  |  189 +
 .../knxnetip/readwrite/model/KnxDatapoint.go       | 5761 ++++++++++++++++++++
 .../knxnetip/readwrite/model/KnxDatapointType.go   | 4368 +++++++++++++++
 .../knxnetip/readwrite/model/KnxGroupAddress.go    |  200 +
 .../readwrite/model/KnxGroupAddress2Level.go       |  188 +
 .../readwrite/model/KnxGroupAddress3Level.go       |  216 +
 .../readwrite/model/KnxGroupAddressFreeLevel.go    |  160 +
 .../plc4go/knxnetip/readwrite/model/KnxLayer.go    |   78 +
 .../knxnetip/readwrite/model/KnxNetIpCore.go       |  160 +
 .../readwrite/model/KnxNetIpDeviceManagement.go    |  160 +
 .../knxnetip/readwrite/model/KnxNetIpMessage.go    |  452 ++
 .../knxnetip/readwrite/model/KnxNetIpTunneling.go  |  160 +
 .../knxnetip/readwrite/model/KnxNetObjectServer.go |  160 +
 .../model/KnxNetRemoteConfigurationAndDiagnosis.go |  160 +
 .../readwrite/model/KnxNetRemoteLogging.go         |  160 +
 .../plc4go/knxnetip/readwrite/model/MACAddress.go  |  155 +
 .../model/ProjectInstallationIdentifier.go         |  163 +
 .../knxnetip/readwrite/model/RelativeTimestamp.go  |  137 +
 .../knxnetip/readwrite/model/RoutingIndication.go  |  131 +
 .../knxnetip/readwrite/model/SearchRequest.go      |  159 +
 .../knxnetip/readwrite/model/SearchResponse.go     |  213 +
 .../plc4go/knxnetip/readwrite/model/ServiceId.go   |  258 +
 .../plc4go/knxnetip/readwrite/model/Status.go      |  105 +
 .../plc4go/knxnetip/readwrite/model/TPCI.go        |   81 +
 .../knxnetip/readwrite/model/TunnelingRequest.go   |  186 +
 .../readwrite/model/TunnelingRequestDataBlock.go   |  205 +
 .../knxnetip/readwrite/model/TunnelingResponse.go  |  159 +
 .../readwrite/model/TunnelingResponseDataBlock.go  |  205 +
 .../knxnetip/readwrite/model/UnknownMessage.go     |  178 +
 plc4go/internal/plc4go/modbus/ModbusConnection.go  |  161 +
 plc4go/internal/plc4go/modbus/ModbusDriver.go      |   97 +
 plc4go/internal/plc4go/modbus/ModbusField.go       |   94 +
 .../internal/plc4go/modbus/ModbusFieldHandler.go   |  109 +
 .../internal/plc4go/modbus/ModbusMessageCodec.go   |  161 +
 plc4go/internal/plc4go/modbus/ModbusReader.go      |  195 +
 .../internal/plc4go/modbus/ModbusValueHandler.go   |   31 +
 plc4go/internal/plc4go/modbus/ModbusWriter.go      |  218 +
 .../plc4go/modbus/readwrite/ParserHelper.go        |   63 +
 .../plc4go/modbus/readwrite/XmlParserHelper.go     |   91 +
 .../plc4go/modbus/readwrite/model/DataItem.go      |  647 +++
 .../modbus/readwrite/model/ModbusConstants.go      |  133 +
 .../modbus/readwrite/model/ModbusDataTypeSizes.go  |  228 +
 .../modbus/readwrite/model/ModbusErrorCode.go      |   99 +
 .../plc4go/modbus/readwrite/model/ModbusPDU.go     |  738 +++
 .../readwrite/model/ModbusPDUDiagnosticRequest.go  |  196 +
 .../readwrite/model/ModbusPDUDiagnosticResponse.go |  196 +
 .../modbus/readwrite/model/ModbusPDUError.go       |  168 +
 .../model/ModbusPDUGetComEventCounterRequest.go    |  139 +
 .../model/ModbusPDUGetComEventCounterResponse.go   |  196 +
 .../model/ModbusPDUGetComEventLogRequest.go        |  139 +
 .../model/ModbusPDUGetComEventLogResponse.go       |  286 +
 .../ModbusPDUMaskWriteHoldingRegisterRequest.go    |  224 +
 .../ModbusPDUMaskWriteHoldingRegisterResponse.go   |  224 +
 .../readwrite/model/ModbusPDUReadCoilsRequest.go   |  196 +
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |  202 +
 .../ModbusPDUReadDeviceIdentificationRequest.go    |  139 +
 .../ModbusPDUReadDeviceIdentificationResponse.go   |  139 +
 .../model/ModbusPDUReadDiscreteInputsRequest.go    |  196 +
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |  202 +
 .../model/ModbusPDUReadExceptionStatusRequest.go   |  139 +
 .../model/ModbusPDUReadExceptionStatusResponse.go  |  168 +
 .../model/ModbusPDUReadFifoQueueRequest.go         |  168 +
 .../model/ModbusPDUReadFifoQueueResponse.go        |  216 +
 .../model/ModbusPDUReadFileRecordRequest.go        |  211 +
 .../model/ModbusPDUReadFileRecordRequestItem.go    |  215 +
 .../model/ModbusPDUReadFileRecordResponse.go       |  211 +
 .../model/ModbusPDUReadFileRecordResponseItem.go   |  199 +
 .../model/ModbusPDUReadHoldingRegistersRequest.go  |  196 +
 .../model/ModbusPDUReadHoldingRegistersResponse.go |  202 +
 .../model/ModbusPDUReadInputRegistersRequest.go    |  196 +
 .../model/ModbusPDUReadInputRegistersResponse.go   |  202 +
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |  314 ++
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |  202 +
 .../model/ModbusPDUReportServerIdRequest.go        |  139 +
 .../model/ModbusPDUReportServerIdResponse.go       |  202 +
 .../model/ModbusPDUWriteFileRecordRequest.go       |  211 +
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |  251 +
 .../model/ModbusPDUWriteFileRecordResponse.go      |  211 +
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |  251 +
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |  258 +
 .../model/ModbusPDUWriteMultipleCoilsResponse.go   |  196 +
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |  258 +
 ...dbusPDUWriteMultipleHoldingRegistersResponse.go |  196 +
 .../model/ModbusPDUWriteSingleCoilRequest.go       |  196 +
 .../model/ModbusPDUWriteSingleCoilResponse.go      |  196 +
 .../model/ModbusPDUWriteSingleRegisterRequest.go   |  196 +
 .../model/ModbusPDUWriteSingleRegisterResponse.go  |  196 +
 .../modbus/readwrite/model/ModbusSerialADU.go      |  240 +
 .../plc4go/modbus/readwrite/model/ModbusTcpADU.go  |  226 +
 .../internal/plc4go/model/DefaultPlcReadRequest.go |  169 +
 .../plc4go/model/DefaultPlcReadResponse.go         |   96 +
 .../plc4go/model/DefaultPlcSubscriptionEvent.go    |  108 +
 .../plc4go/model/DefaultPlcSubscriptionRequest.go  |  160 +
 .../plc4go/model/DefaultPlcSubscriptionResponse.go |   89 +
 .../plc4go/model/DefaultPlcWriteRequest.go         |  160 +
 .../plc4go/model/DefaultPlcWriteResponse.go        |   86 +
 plc4go/internal/plc4go/model/RequestInterceptor.go |   38 +
 plc4go/internal/plc4go/model/values/BOOL.go        |   76 +
 plc4go/internal/plc4go/model/values/BYTE.go        |   84 +
 plc4go/internal/plc4go/model/values/CHAR.go        |   47 +
 plc4go/internal/plc4go/model/values/DATE.go        |   63 +
 .../internal/plc4go/model/values/DATE_AND_TIME.go  |   50 +
 plc4go/internal/plc4go/model/values/DINT.go        |  138 +
 plc4go/internal/plc4go/model/values/DWORD.go       |   96 +
 .../plc4go/model/values/IEC61131ValueHandler.go    |  409 ++
 plc4go/internal/plc4go/model/values/INT.go         |  131 +
 plc4go/internal/plc4go/model/values/LINT.go        |  145 +
 plc4go/internal/plc4go/model/values/LREAL.go       |  161 +
 plc4go/internal/plc4go/model/values/LTIME.go       |   50 +
 plc4go/internal/plc4go/model/values/LWORD.go       |  112 +
 plc4go/internal/plc4go/model/values/NULL.go        |   39 +
 .../internal/plc4go/model/values/PlcBitString.go   |   93 +
 plc4go/internal/plc4go/model/values/PlcList.go     |   68 +
 .../plc4go/model/values/PlcSimpleValueAdapter.go   |   83 +
 plc4go/internal/plc4go/model/values/PlcStruct.go   |   97 +
 .../plc4go/model/values/PlcValueAdapter.go         |  182 +
 plc4go/internal/plc4go/model/values/REAL.go        |  155 +
 plc4go/internal/plc4go/model/values/SINT.go        |  123 +
 plc4go/internal/plc4go/model/values/STRING.go      |   47 +
 plc4go/internal/plc4go/model/values/TIME.go        |   50 +
 plc4go/internal/plc4go/model/values/TIME_OF_DAY.go |   66 +
 plc4go/internal/plc4go/model/values/UDINT.go       |  131 +
 plc4go/internal/plc4go/model/values/UINT.go        |  117 +
 plc4go/internal/plc4go/model/values/ULINT.go       |  145 +
 plc4go/internal/plc4go/model/values/USINT.go       |  103 +
 plc4go/internal/plc4go/model/values/WCHAR.go       |   50 +
 plc4go/internal/plc4go/model/values/WORD.go        |   88 +
 plc4go/internal/plc4go/model/values/WSTRING.go     |   50 +
 plc4go/internal/plc4go/s7/S7Driver.go              |   25 +
 .../internal/plc4go/s7/readwrite/ParserHelper.go   |   88 +
 .../plc4go/s7/readwrite/XmlParserHelper.go         |  133 +
 .../plc4go/s7/readwrite/model/COTPPacket.go        |  362 ++
 .../readwrite/model/COTPPacketConnectionRequest.go |  218 +
 .../model/COTPPacketConnectionResponse.go          |  218 +
 .../plc4go/s7/readwrite/model/COTPPacketData.go    |  190 +
 .../readwrite/model/COTPPacketDisconnectRequest.go |  218 +
 .../model/COTPPacketDisconnectResponse.go          |  190 +
 .../s7/readwrite/model/COTPPacketTpduError.go      |  190 +
 .../plc4go/s7/readwrite/model/COTPParameter.go     |  260 +
 .../s7/readwrite/model/COTPParameterCalledTsap.go  |  160 +
 .../s7/readwrite/model/COTPParameterCallingTsap.go |  160 +
 .../s7/readwrite/model/COTPParameterChecksum.go    |  160 +
 ...COTPParameterDisconnectAdditionalInformation.go |  176 +
 .../s7/readwrite/model/COTPParameterTpduSize.go    |  160 +
 .../plc4go/s7/readwrite/model/COTPProtocolClass.go |   84 +
 .../plc4go/s7/readwrite/model/COTPTpduSize.go      |  120 +
 .../internal/plc4go/s7/readwrite/model/DataItem.go |  398 ++
 .../s7/readwrite/model/DataTransportErrorCode.go   |   87 +
 .../plc4go/s7/readwrite/model/DataTransportSize.go |  120 +
 .../plc4go/s7/readwrite/model/DeviceGroup.go       |   78 +
 .../plc4go/s7/readwrite/model/MemoryArea.go        |  132 +
 .../plc4go/s7/readwrite/model/S7Address.go         |  188 +
 .../plc4go/s7/readwrite/model/S7AddressAny.go      |  326 ++
 .../plc4go/s7/readwrite/model/S7Message.go         |  406 ++
 .../plc4go/s7/readwrite/model/S7MessageRequest.go  |  134 +
 .../plc4go/s7/readwrite/model/S7MessageResponse.go |  191 +
 .../s7/readwrite/model/S7MessageResponseData.go    |  191 +
 .../plc4go/s7/readwrite/model/S7MessageUserData.go |  134 +
 .../plc4go/s7/readwrite/model/S7Parameter.go       |  259 +
 .../readwrite/model/S7ParameterReadVarRequest.go   |  200 +
 .../readwrite/model/S7ParameterReadVarResponse.go  |  164 +
 .../model/S7ParameterSetupCommunication.go         |  246 +
 .../s7/readwrite/model/S7ParameterUserData.go      |  200 +
 .../s7/readwrite/model/S7ParameterUserDataItem.go  |  188 +
 .../model/S7ParameterUserDataItemCPUFunctions.go   |  402 ++
 .../readwrite/model/S7ParameterWriteVarRequest.go  |  200 +
 .../readwrite/model/S7ParameterWriteVarResponse.go |  164 +
 .../plc4go/s7/readwrite/model/S7Payload.go         |  215 +
 .../s7/readwrite/model/S7PayloadReadVarResponse.go |  187 +
 .../plc4go/s7/readwrite/model/S7PayloadUserData.go |  184 +
 .../s7/readwrite/model/S7PayloadUserDataItem.go    |  305 ++
 ...PayloadUserDataItemCpuFunctionReadSzlRequest.go |  135 +
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |  220 +
 .../s7/readwrite/model/S7PayloadWriteVarRequest.go |  187 +
 .../readwrite/model/S7PayloadWriteVarResponse.go   |  182 +
 .../plc4go/s7/readwrite/model/S7StaticHelper.go    |  150 +
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |  254 +
 .../s7/readwrite/model/S7VarPayloadStatusItem.go   |  137 +
 .../readwrite/model/S7VarRequestParameterItem.go   |  188 +
 .../model/S7VarRequestParameterItemAddress.go      |  175 +
 .../plc4go/s7/readwrite/model/SzlDataTreeItem.go   |  259 +
 plc4go/internal/plc4go/s7/readwrite/model/SzlId.go |  189 +
 .../s7/readwrite/model/SzlModuleTypeClass.go       |   81 +
 .../plc4go/s7/readwrite/model/SzlSublist.go        |  126 +
 .../plc4go/s7/readwrite/model/TPKTPacket.go        |  200 +
 .../plc4go/s7/readwrite/model/TransportSize.go     |  666 +++
 plc4go/internal/plc4go/spi/HandlerExposer.go       |   24 +
 plc4go/internal/plc4go/spi/Message.go              |   27 +
 plc4go/internal/plc4go/spi/MessageCodec.go         |   30 +
 plc4go/internal/plc4go/spi/PlcFieldHandler.go      |   27 +
 plc4go/internal/plc4go/spi/PlcReader.go            |   25 +
 plc4go/internal/plc4go/spi/PlcSubscriber.go        |   26 +
 plc4go/internal/plc4go/spi/PlcValueHandler.go      |   28 +
 plc4go/internal/plc4go/spi/PlcWriter.go            |   25 +
 .../plc4go/spi/TransportInstanceExposer.go         |   25 +
 .../interceptors/SingleItemRequestInterceptor.go   |   85 +
 .../internal/plc4go/testutils/DriverTestRunner.go  |  497 ++
 .../plc4go/testutils/ParserSerializerTestRunner.go |  174 +
 plc4go/internal/plc4go/testutils/TestUtils.go      |   52 +
 plc4go/internal/plc4go/transports/Transport.go     |   30 +
 .../plc4go/transports/TransportInstance.go         |   37 +
 .../internal/plc4go/transports/tcp/TcpTransport.go |  188 +
 .../plc4go/transports/test/TestTransport.go        |  109 +
 .../internal/plc4go/transports/udp/UdpTransport.go |  190 +
 plc4go/internal/plc4go/utils/CastUtils.go          |   77 +
 plc4go/internal/plc4go/utils/ReadBuffer.go         |  202 +
 plc4go/internal/plc4go/utils/Regexp.go             |   35 +
 plc4go/internal/plc4go/utils/Serializable.go       |   23 +
 plc4go/internal/plc4go/utils/Utils.go              |   27 +
 plc4go/internal/plc4go/utils/WriteBuffer.go        |  102 +
 plc4go/pkg/plc4go/connection.go                    |   79 +
 plc4go/pkg/plc4go/driver.go                        |   53 +
 plc4go/pkg/plc4go/driverManager.go                 |  151 +
 plc4go/pkg/plc4go/model/plc_connection_metadata.go |   30 +
 plc4go/pkg/plc4go/model/plc_field.go               |   24 +
 plc4go/pkg/plc4go/model/plc_message.go             |   22 +
 plc4go/pkg/plc4go/model/plc_read_request.go        |   37 +
 plc4go/pkg/plc4go/model/plc_read_response.go       |   29 +
 plc4go/pkg/plc4go/model/plc_request.go             |   23 +
 plc4go/pkg/plc4go/model/plc_response.go            |   23 +
 plc4go/pkg/plc4go/model/plc_response_code.go       |   63 +
 plc4go/pkg/plc4go/model/plc_subscription_event.go  |   31 +
 .../pkg/plc4go/model/plc_subscription_request.go   |   45 +
 .../pkg/plc4go/model/plc_subscription_response.go  |   25 +
 .../pkg/plc4go/model/plc_unsubscription_request.go |   34 +
 .../plc4go/model/plc_unsubscription_response.go    |   22 +
 plc4go/pkg/plc4go/model/plc_write_request.go       |   40 +
 plc4go/pkg/plc4go/model/plc_write_response.go      |   22 +
 plc4go/pkg/plc4go/values/plc_value.go              |   88 +
 plc4go/pom.xml                                     |  237 +
 .../api/messages/PlcSubscriptionFieldRequest.java  |   40 +
 .../api/messages/PlcSubscriptionFieldResponse.java |   41 +
 .../java/api/messages/PlcSubscriptionRequest.java  |    3 +-
 .../java/api/messages/PlcSubscriptionResponse.java |    2 +-
 .../api/messages/PlcUnsubscriptionRequest.java     |    3 +
 .../plc4x/java/api/messages/PlcWriteRequest.java   |   50 +-
 .../java/api/model/PlcConsumerRegistration.java    |   12 +
 .../org/apache/plc4x/java/api/model/PlcField.java  |    2 +-
 .../plc4x/java/api/model/PlcSubscriptionField.java |   32 +
 .../java/api/model/PlcSubscriptionHandle.java      |    8 +-
 .../org/apache/plc4x/java/api/value/PlcBOOL.java   |  295 -
 .../org/apache/plc4x/java/api/value/PlcBYTE.java   |  316 --
 .../apache/plc4x/java/api/value/PlcBigDecimal.java |  164 -
 .../apache/plc4x/java/api/value/PlcBigInteger.java |  164 -
 .../org/apache/plc4x/java/api/value/PlcCHAR.java   |  332 --
 .../org/apache/plc4x/java/api/value/PlcDINT.java   |  278 -
 .../org/apache/plc4x/java/api/value/PlcDWORD.java  |  319 --
 .../org/apache/plc4x/java/api/value/PlcDate.java   |   67 -
 .../apache/plc4x/java/api/value/PlcDateTime.java   |   93 -
 .../apache/plc4x/java/api/value/PlcIECValue.java   |   77 -
 .../org/apache/plc4x/java/api/value/PlcINT.java    |  280 -
 .../org/apache/plc4x/java/api/value/PlcLINT.java   |  276 -
 .../org/apache/plc4x/java/api/value/PlcLREAL.java  |  259 -
 .../org/apache/plc4x/java/api/value/PlcLWORD.java  |  332 --
 .../org/apache/plc4x/java/api/value/PlcList.java   |   84 -
 .../org/apache/plc4x/java/api/value/PlcNull.java   |  252 -
 .../org/apache/plc4x/java/api/value/PlcREAL.java   |  256 -
 .../org/apache/plc4x/java/api/value/PlcSINT.java   |  285 -
 .../plc4x/java/api/value/PlcSimpleValue.java       |   77 -
 .../org/apache/plc4x/java/api/value/PlcString.java |  224 -
 .../org/apache/plc4x/java/api/value/PlcStruct.java |   84 -
 .../org/apache/plc4x/java/api/value/PlcTime.java   |   67 -
 .../org/apache/plc4x/java/api/value/PlcUDINT.java  |  309 --
 .../org/apache/plc4x/java/api/value/PlcUINT.java   |  290 -
 .../org/apache/plc4x/java/api/value/PlcULINT.java  |  321 --
 .../org/apache/plc4x/java/api/value/PlcUSINT.java  |  305 --
 .../org/apache/plc4x/java/api/value/PlcValue.java  |    5 +
 .../plc4x/java/api/value/PlcValueAdapter.java      |  302 -
 .../plc4x/java/api/value/PlcValueHandler.java      |   46 +
 .../org/apache/plc4x/java/api/value/PlcValues.java |  467 --
 .../org/apache/plc4x/java/api/value/PlcWCHAR.java  |  313 --
 .../org/apache/plc4x/java/api/value/PlcWORD.java   |  301 -
 .../apache/plc4x/java/api/types/PlcValueTest.java  |   53 -
 .../apache/plc4x/java/api/value/PlcValuesTest.java |   51 -
 plc4j/drivers/ab-eth/pom.xml                       |    8 +
 .../org/apache/plc4x/java/abeth/AbEthDriver.java   |    7 +
 .../plc4x/java/abeth/field/AbEthFieldHandler.java  |    4 +-
 .../java/abeth/protocol/AbEthProtocolLogic.java    |   20 +-
 .../java/abeth/protocol/Plc4xAbEthProtocol.java    |   19 +-
 .../org/apache/plc4x/protocol/abeth/AbEthTest.java |    2 +-
 plc4j/drivers/ads/pom.xml                          |   33 +-
 .../org/apache/plc4x/java/ads/ADSPlcDriver.java    |   22 +
 .../java/ads/configuration/AdsConfiguration.java   |    4 +-
 .../org/apache/plc4x/java/ads/field/AdsField.java  |    3 +-
 .../plc4x/java/ads/field/AdsFieldHandler.java      |   23 +-
 .../plc4x/java/ads/field/AdsStringField.java       |   25 +
 .../plc4x/java/ads/field/DirectAdsField.java       |   25 +
 .../plc4x/java/ads/field/DirectAdsStringField.java |  126 +
 .../plc4x/java/ads/field/SymbolicAdsField.java     |   26 +-
 .../java/ads/field/SymbolicAdsStringField.java     |   98 +
 .../plc4x/java/ads/protocol/AdsProtocolLogic.java  |  158 +-
 .../apache/plc4x/java/ads/utils/StaticHelper.java  |   58 +-
 .../attic/connection/AdsAbstractPlcConnection.java |  232 -
 .../attic/connection/AdsConnectionFactory.java     |   58 -
 .../attic/connection/AdsSerialPlcConnection.java   |   60 -
 .../attic/connection/AdsTcpPlcConnection.java      |  370 --
 .../amsads/attic/protocol/Ads2PayloadProtocol.java |   93 -
 .../attic/protocol/Payload2SerialProtocol.java     |  114 -
 .../amsads/attic/protocol/Payload2TcpProtocol.java |   93 -
 .../amsads/attic/protocol/Plc4x2AdsProtocol.java   |  334 --
 .../attic/protocol/exception/AdsException.java     |   56 -
 .../exception/AdsProtocolOverflowException.java    |   32 -
 .../amsads/attic/protocol/util/DigestUtil.java     |   46 -
 .../attic/protocol/util/LittleEndianDecoder.java   |  495 --
 .../attic/protocol/util/LittleEndianEncoder.java   |  285 -
 .../protocol/util/SingleMessageRateLimiter.java    |  124 -
 .../plc4x/java/amsads/attic/types/AdsDataType.java |  578 --
 .../ads/AdsDiscoverySerializerParserTest.java      |    2 +-
 .../org/apache/plc4x/protocol/ads/AdsDriverIT.java |    2 +-
 .../protocol/ads/AdsSerializerParserTest.java      |    2 +-
 .../plc4x/protocol/ads/ManualAdsDriverTest.java    |   88 +-
 .../protocol/ads/ManualParserSerializerTest.java   |   36 +
 .../src/test/resources/testsuite/AdsDriverIT.xml   |  849 ---
 plc4j/drivers/eip/pom.xml                          |    8 +
 .../apache/plc4x/java/eip/readwrite/EIPDriver.java |    7 +
 .../java/eip/readwrite/field/EipFieldHandler.java  |   14 +-
 .../eip/readwrite/protocol/EipProtocolLogic.java   |   13 +-
 .../java/eip/readwrite/EIPDriverTestsuite.java     |    2 +-
 .../readwrite/EIPParserSerializerTestsuite.java    |    2 +-
 plc4j/drivers/firmata/pom.xml                      |    8 +
 .../java/firmata/readwrite/FirmataDriver.java      |    7 +
 .../readwrite/context/FirmataDriverContext.java    |    6 +-
 .../readwrite/field/FirmataFieldHandler.java       |   11 +-
 .../readwrite/protocol/FirmataProtocolLogic.java   |   14 +-
 .../readwrite/FirmataParserSerializerTest.java     |    2 +-
 plc4j/drivers/knxnetip/pom.xml                     |    8 +
 .../apache/plc4x/java/knxnetip/KnxNetIpDriver.java |   17 +-
 .../configuration/KnxNetIpConfiguration.java       |   14 +-
 .../knxnetip/context/KnxNetIpDriverContext.java    |   16 +-
 .../plc4x/java/knxnetip/ets5/Ets5Parser.java       |   14 +-
 .../plc4x/java/knxnetip/ets5/model/Ets5Model.java  |    2 +-
 .../java/knxnetip/ets5/model/GroupAddress.java     |    7 +-
 .../java/knxnetip/field/KnxNetIpFieldHandler.java  |    9 +-
 .../knxnetip/protocol/KnxNetIpProtocolLogic.java   |   98 +-
 .../org/apache/plc4x/java/knxnetip/IOTest.java     |   20 +-
 .../apache/plc4x/java/knxnetip/KNXNetIpTest.java   |   30 -
 .../apache/plc4x/java/knxnetip/KnxNetIpTest.java   |   30 +
 .../test/resources/testsuite/KNXNetIPTestsuite.xml |  500 --
 .../plc4x/java/mock/connection/MockConnection.java |    3 +-
 .../plc4x/java/mock/field/MockFieldHandler.java    |   70 +-
 .../apache/plc4x/java/mock/field/MockPlcValue.java |    9 +-
 .../plc4x/java/mock/field/MockValueHandler.java    |   47 +
 plc4j/drivers/modbus/pom.xml                       |    8 +
 .../org/apache/plc4x/java/modbus/ModbusDriver.java |    7 +
 .../java/modbus/config/ModbusConfiguration.java    |    2 +-
 .../java/modbus/field/ModbusExtendedRegister.java  |    3 +-
 .../plc4x/java/modbus/field/ModbusField.java       |   37 +-
 .../plc4x/java/modbus/field/ModbusFieldCoil.java   |    3 +-
 .../modbus/field/ModbusFieldDiscreteInput.java     |    3 +-
 .../java/modbus/field/ModbusFieldHandler.java      |   15 +-
 .../modbus/field/ModbusFieldHoldingRegister.java   |    3 +-
 .../modbus/field/ModbusFieldInputRegister.java     |    3 +-
 .../java/modbus/protocol/ModbusProtocolLogic.java  |  147 +-
 .../plc4x/java/modbus/ManualModbusDriverTest.java  |  103 +
 .../apache/plc4x/java/modbus/ModbusDriverIT.java   |   29 +
 .../apache/plc4x/java/modbus/ModbusEncodeTest.java |   38 +-
 .../plc4x/java/modbus/ModbusFieldDataTypeTest.java |   10 +-
 .../org/apache/plc4x/java/modbus/ModbusIOTest.java |   29 -
 .../java/modbus/ModbusParserSerializerTest.java    |   29 +
 .../test/resources/testsuite/ModbusTestsuite.xml   |  179 -
 .../opcua/connection/BaseOpcuaPlcConnection.java   |    3 +-
 .../opcua/connection/OpcuaTcpPlcConnection.java    |  160 +-
 .../java/opcua/protocol/OpcuaPlcFieldHandler.java  |   22 +-
 .../opcua/protocol/OpcuaSubsriptionHandle.java     |    5 +-
 .../apache/plc4x/java/opcua/ManualPLC4XOpcua.java  |    4 +-
 .../plc4x/java/opcua/OpcuaPlcDriverTest.java       |    2 +-
 plc4j/drivers/s7/pom.xml                           |    8 +
 .../apache/plc4x/java/s7/readwrite/S7Driver.java   |    7 +
 .../plc4x/java/s7/readwrite/field/S7Field.java     |  122 +-
 .../java/s7/readwrite/field/S7PlcFieldHandler.java |   68 +-
 .../java/s7/readwrite/field/S7StringField.java     |   12 +
 .../s7/readwrite/protocol/S7ProtocolLogic.java     |   30 +-
 .../java/s7/readwrite/utils/S7TsapIdEncoder.java   |    2 +-
 .../apache/plc4x/java/s7/utils/StaticHelper.java   |   79 +-
 .../plc4x/java/s7/readwrite/DatatypesTest.java     |   79 +
 .../java/s7/readwrite/ManualS7DriverTest.java      |   83 +-
 .../apache/plc4x/java/s7/readwrite/S7DriverIT.java |    2 +-
 .../java/s7/readwrite/S7ParserSerializerTest.java  |    2 +-
 .../s7/src/test/resources/testsuite/S7DriverIT.xml |  381 --
 plc4j/drivers/simulated/pom.xml                    |   52 +-
 .../simulated/connection/SimulatedConnection.java  |   78 +-
 .../java/simulated/connection/SimulatedDevice.java |   88 +-
 .../plc4x/java/simulated/field/SimulatedField.java |   54 +-
 .../simulated/field/SimulatedFieldHandler.java     |   61 +-
 .../plc4x/java/simulated/utils/StaticHelper.java   |   66 +
 .../connection/SimulatedConnectionTest.java        |   30 +-
 .../simulated/connection/SimulatedDeviceTest.java  |    6 +-
 .../simulated/field/SimularedFieldHandlerTest.java |   14 +-
 .../java/simulated/field/SimulatedFieldTest.java   |   17 +-
 .../dummydriver/connection/DummyConnection.java    |    2 -
 .../hello-connectivity-mqtt/mqtt-connector.yml     |    2 +-
 .../watertank/service/WaterTankService.java        |    2 +-
 .../examples/hellowebservice/HelloWebservice.java  |    4 +-
 .../examples/helloplc4x/write/HelloPlc4xWrite.java |    1 -
 .../plc4x/java/examples/helloplc4x/HelloPlc4x.java |   10 +-
 plc4j/examples/replay-test/pom.xml                 |   80 +
 .../apache-calcite/src/test/resources/example.yml  |    2 +-
 .../java/org/apache/plc4x/camel/MockDriver.java    |    3 +-
 .../org/apache/plc4x/kafka/Plc4xSinkConnector.java |  137 +-
 .../java/org/apache/plc4x/kafka/Plc4xSinkTask.java |   10 +-
 .../apache/plc4x/kafka/Plc4xSourceConnector.java   |    3 +-
 .../org/apache/plc4x/kafka/config/Constants.java   |   18 +
 .../org/apache/plc4x/kafka/config/Defaults.java    |   33 -
 .../apache/plc4x/kafka/config/JobReference.java    |   14 +-
 .../java/org/apache/plc4x/kafka/config/Sink.java   |   88 +-
 .../org/apache/plc4x/kafka/config/SinkConfig.java  |   69 +-
 .../kafka/exceptions/ConfigurationException.java   |   31 -
 .../org/apache/plc4x/kafka/avro/plc4x-sink.avsc    |   20 -
 .../org/apache/plc4x/kafka/avro/plc4x-source.avsc  |   43 -
 .../apache/plc4x/kafka/config/SinkConfigTest.java  |  131 +
 .../apache/plc4x/kafka/config/SinkTaskTest.java    |  148 +
 .../plc4x/kafka/config/SourceConfigTest.java       |   14 +-
 .../apache/plc4x/kafka/config/SourceTaskTest.java  |   15 +-
 .../kafka/properties/sink_task_no_error.properties |   62 +
 plc4j/pom.xml                                      |    1 +
 .../apache/plc4x/java/spi/Plc4xNettyWrapper.java   |   14 +-
 .../java/spi/connection/AbstractPlcConnection.java |   41 +-
 .../plc4x/java/spi/connection/ChannelFactory.java  |    2 -
 .../spi/connection/DefaultNettyPlcConnection.java  |   20 +-
 .../spi/connection/DefaultPlcFieldHandler.java     | 2058 -------
 .../java/spi/connection/GeneratedDriverBase.java   |    4 +
 .../java/spi/connection/NettyChannelFactory.java   |   44 -
 .../plc4x/java/spi/connection/PlcFieldHandler.java |   30 +-
 .../connection/SingleProtocolStackConfigurer.java  |    3 +-
 .../exceptions/InternalPlcRuntimeException.java    |   41 -
 .../java/spi/generation/EvaluationHelper.java      |    5 +
 .../plc4x/java/spi/generation/ReadBuffer.java      |   25 +-
 .../plc4x/java/spi/generation/StaticHelper.java    |    5 +
 .../spi/internal/DefaultExpectRequestContext.java  |    2 +-
 .../spi/internal/DefaultSendRequestContext.java    |   51 +-
 .../java/spi/internal/HandlerRegistration.java     |   13 +-
 .../spi/messages/DefaultPlcProprietaryRequest.java |   50 -
 .../messages/DefaultPlcProprietaryResponse.java    |   49 -
 .../java/spi/messages/DefaultPlcReadRequest.java   |   29 +-
 .../java/spi/messages/DefaultPlcReadResponse.java  |   47 +-
 .../spi/messages/DefaultPlcSubscriptionEvent.java  |    5 +-
 .../messages/DefaultPlcSubscriptionRequest.java    |   55 +-
 .../messages/DefaultPlcSubscriptionResponse.java   |   20 +-
 .../messages/DefaultPlcUnsubscriptionRequest.java  |   35 +-
 .../messages/DefaultPlcUnsubscriptionResponse.java |   15 +-
 .../java/spi/messages/DefaultPlcWriteRequest.java  |  276 +-
 .../java/spi/messages/DefaultPlcWriteResponse.java |   39 +-
 .../java/spi/messages/InternalPlcFieldRequest.java |   33 -
 .../spi/messages/InternalPlcFieldResponse.java     |   28 -
 .../java/spi/messages/InternalPlcMessage.java      |   26 -
 .../messages/InternalPlcProprietaryRequest.java    |   25 -
 .../messages/InternalPlcProprietaryResponse.java   |   25 -
 .../java/spi/messages/InternalPlcReadRequest.java  |   28 -
 .../java/spi/messages/InternalPlcReadResponse.java |   33 -
 .../java/spi/messages/InternalPlcRequest.java      |   26 -
 .../java/spi/messages/InternalPlcResponse.java     |   27 -
 .../spi/messages/InternalPlcSubscriptionEvent.java |   27 -
 .../messages/InternalPlcSubscriptionRequest.java   |   38 -
 .../messages/InternalPlcSubscriptionResponse.java  |   31 -
 .../messages/InternalPlcUnsubscriptionRequest.java |   31 -
 .../InternalPlcUnsubscriptionResponse.java         |   27 -
 .../java/spi/messages/InternalPlcWriteRequest.java |   38 -
 .../spi/messages/InternalPlcWriteResponse.java     |   30 -
 .../plc4x/java/spi/messages/PlcRawMessage.java     |   48 -
 .../java/spi/messages/PlcRequestContainer.java     |    5 +-
 .../java/spi/messages/utils/ResponseItem.java      |   15 +-
 .../spi/model/DefaultPlcConsumerRegistration.java  |   14 +-
 .../spi/model/DefaultPlcSubscriptionField.java     |   56 +
 .../spi/model/DefaultPlcSubscriptionHandle.java    |    3 +-
 .../spi/model/InternalPlcConsumerRegistration.java |   32 -
 .../spi/model/InternalPlcSubscriptionHandle.java   |   25 -
 .../plc4x/java/spi/model/SubscriptionPlcField.java |   55 -
 .../plc4x/java/spi/optimizer/BaseOptimizer.java    |    6 +-
 .../java/spi/optimizer/SingleFieldOptimizer.java   |    5 +-
 .../SingleItemToSingleRequestProtocol.java         |  672 ---
 .../apache/plc4x/java/spi/request/PlcRequest.java  |   28 -
 .../org/apache/plc4x/java/spi/types/FieldType.java |   47 -
 .../plc4x/java/spi/utils/XmlSerializable.java      |   27 +
 .../java/spi/values/IEC61131ValueHandler.java      |  189 +
 .../org/apache/plc4x/java/spi/values/PlcBOOL.java  |  319 ++
 .../org/apache/plc4x/java/spi/values/PlcBYTE.java  |  340 ++
 .../plc4x/java/spi/values/PlcBigDecimal.java       |  170 +
 .../plc4x/java/spi/values/PlcBigInteger.java       |  170 +
 .../apache/plc4x/java/spi/values/PlcBitString.java |   61 +
 .../org/apache/plc4x/java/spi/values/PlcCHAR.java  |  352 ++
 .../org/apache/plc4x/java/spi/values/PlcDATE.java  |  102 +
 .../plc4x/java/spi/values/PlcDATE_AND_TIME.java    |  114 +
 .../org/apache/plc4x/java/spi/values/PlcDINT.java  |  302 +
 .../org/apache/plc4x/java/spi/values/PlcDWORD.java |  343 ++
 .../apache/plc4x/java/spi/values/PlcIECValue.java  |   89 +
 .../org/apache/plc4x/java/spi/values/PlcINT.java   |  304 ++
 .../org/apache/plc4x/java/spi/values/PlcLINT.java  |  300 +
 .../org/apache/plc4x/java/spi/values/PlcLREAL.java |  283 +
 .../org/apache/plc4x/java/spi/values/PlcLTIME.java |   91 +
 .../org/apache/plc4x/java/spi/values/PlcLWORD.java |  356 ++
 .../org/apache/plc4x/java/spi/values/PlcList.java  |  104 +
 .../org/apache/plc4x/java/spi/values/PlcNull.java  |  265 +
 .../org/apache/plc4x/java/spi/values/PlcREAL.java  |  277 +
 .../org/apache/plc4x/java/spi/values/PlcSINT.java  |  309 ++
 .../apache/plc4x/java/spi/values/PlcSTRING.java    |  238 +
 .../plc4x/java/spi/values/PlcSimpleValue.java      |   78 +
 .../apache/plc4x/java/spi/values/PlcStruct.java    |  105 +
 .../org/apache/plc4x/java/spi/values/PlcTIME.java  |   94 +
 .../plc4x/java/spi/values/PlcTIME_OF_DAY.java      |   88 +
 .../org/apache/plc4x/java/spi/values/PlcUDINT.java |  333 ++
 .../org/apache/plc4x/java/spi/values/PlcUINT.java  |  314 ++
 .../org/apache/plc4x/java/spi/values/PlcULINT.java |  345 ++
 .../org/apache/plc4x/java/spi/values/PlcUSINT.java |  329 ++
 .../plc4x/java/spi/values/PlcValueAdapter.java     |  317 ++
 .../apache/plc4x/java/spi/values/PlcValues.java    |   87 +
 .../org/apache/plc4x/java/spi/values/PlcWCHAR.java |  337 ++
 .../org/apache/plc4x/java/spi/values/PlcWORD.java  |  327 ++
 .../plc4x/java/spi/Plc4xNettyWrapperTest.java      |  103 +
 .../apache/plc4x/java/opm/ConnectedEntityTest.java |    4 +-
 .../java/opm/PlcEntityManagerComplexTest.java      |  121 +-
 .../plc4x/java/opm/PlcEntityManagerTest.java       |   12 +-
 .../apache/plc4x/java/scraper/ScraperTaskTest.java |    6 +-
 .../org/apache/plc4x/java/scraper/ScraperTest.java |    2 +-
 .../triggeredscraper/TriggeredScraperImplTest.java |    4 +-
 .../plc4x/java/transport/tcp/TcpTransport.java     |    2 +-
 .../plc4x/java/transport/udp/UdpTransport.java     |    4 +-
 .../utils/pcapreplay/netty/PcapReplayChannel.java  |    6 +-
 .../plc4x/test/driver/DriverTestsuiteRunner.java   |  145 +-
 .../apache/plc4x/test/driver/model/TestStep.java   |   10 +-
 .../plc4x/test/driver/model/api/TestField.java     |    8 +-
 .../test/driver/model/api/TestValueField.java      |   34 +
 .../org/apache/plc4x/test/manual/ManualTest.java   |  149 +
 .../ParserSerializerTestsuiteRunner.java           |    3 +
 pom.xml                                            |   38 +-
 .../protocols/abeth/ParserSerializerTestsuite.xml  |    0
 .../ads/src/main/resources/protocols/ads/ads.mspec |  197 +-
 .../protocols/ads}/AdsDiscoverySerializerTest.xml  |    0
 .../resources/protocols/ads/DriverTestsuite.xml    |  869 +++
 .../protocols/ads/ParserSerializerTestsuite.xml    |    0
 .../protocols/ads/manual-test-capture.pcapng       |  Bin 0 -> 166372 bytes
 .../resources/protocols/bacnetip/bacnetip.mspec    |   12 -
 .../protocols/df1/ParserSerializerTestsuite.xml    |    0
 .../resources/protocols/eip/DriverTestsuite.xml    |    0
 .../protocols/eip/ParserSerializerTestsuite.xml    |    0
 .../firmata/ParserSerializerTestsuite.xml          |    0
 .../resources/protocols/knxnetip/knxnetip.mspec    | 1154 +++-
 .../apache/plc4x/protocols/knxnetip/protocol.tdml  |  112 +-
 .../knxnetip/ParserSerializerTestsuite.xml         |  500 ++
 .../main/resources/protocols/modbus/modbus.mspec   |  154 +-
 .../resources/protocols/modbus/DriverTestsuite.xml |  382 ++
 .../protocols/modbus/ParserSerializerTestsuite.xml |  181 +
 .../protocols/modbus/manual-test-capture.pcapng    |  Bin 0 -> 305032 bytes
 protocols/pom.xml                                  |   25 +-
 .../s7/src/main/resources/protocols/s7/s7.mspec    |  138 +-
 .../resources/protocols/s7/DriverTestsuite.xml     |  389 ++
 .../protocols/s7/ParserSerializerTestsuite.xml     |    0
 .../protocols/s7/manual-test-capture.pcapng        |  Bin 0 -> 65868 bytes
 protocols/simulated/pom.xml                        |   43 +
 .../protocol/simulated/SimulatedProtocol.java      |   46 +
 ...e.plc4x.plugins.codegenerator.protocol.Protocol |   19 +
 .../resources/protocols/simulated/simulated.mspec  |  164 +
 .../java/discovery/DiscoveryFieldHandler.java      |    4 +-
 .../java/examples/helloinflux/HelloInflux.java     |    3 +-
 .../apache/plc4x/java/s7/utils/StaticHelper.java   |   10 +
 sandbox/plc4c/drivers/s7/include/plc4c/driver_s7.h |    2 +
 sandbox/plc4c/drivers/s7/src/driver_s7.c           |    5 +
 .../generated-sources/modbus/include/data_item.h   |    2 +-
 .../modbus/include/modbus_data_type.h              |   77 +
 .../modbus/include/modbus_data_type_sizes.h        |   76 +
 .../modbus/include/modbus_error_code.h             |   57 +
 .../generated-sources/modbus/include/modbus_pdu.h  |   36 +-
 .../plc4c/generated-sources/modbus/src/data_item.c |   71 +-
 .../modbus/src/modbus_data_type.c                  |  305 ++
 .../modbus/src/modbus_data_type_sizes.c            |  296 +
 .../modbus/src/modbus_error_code.c                 |  105 +
 .../generated-sources/modbus/src/modbus_pdu.c      |  299 +-
 .../plc4c/generated-sources/s7/include/data_item.h |    2 +-
 .../generated-sources/s7/include/transport_size.h  |    8 +-
 .../generated-sources/s7/src/cotp_protocol_class.c |   20 +-
 .../generated-sources/s7/src/cotp_tpdu_size.c      |   42 +-
 sandbox/plc4c/generated-sources/s7/src/data_item.c |  101 +-
 .../s7/src/data_transport_error_code.c             |   24 +-
 .../generated-sources/s7/src/data_transport_size.c |   42 +-
 .../plc4c/generated-sources/s7/src/device_group.c  |   12 +-
 .../plc4c/generated-sources/s7/src/memory_area.c   |   54 +-
 .../plc4c/generated-sources/s7/src/s7_address.c    |    4 +-
 .../s7/src/s7_payload_user_data_item.c             |    8 +-
 .../s7/src/s7_var_payload_data_item.c              |    8 +-
 .../s7/src/s7_var_payload_status_item.c            |    4 +-
 sandbox/plc4c/generated-sources/s7/src/szl_id.c    |    8 +-
 .../s7/src/szl_module_type_class.c                 |   16 +-
 .../plc4c/generated-sources/s7/src/szl_sublist.c   |   76 +-
 .../generated-sources/s7/src/transport_size.c      |  430 +-
 .../apache/plc4x/java/bacnetip/BacNetIpDriver.java |    7 +
 .../plc4x/java/bacnetip/ede/model/Datapoint.java   |   12 +-
 .../java/bacnetip/field/BacNetIpFieldHandler.java  |    4 +-
 .../bacnetip/protocol/BacNetIpProtocolLogic.java   |   21 +-
 .../java/bacnetip/PassiveBacNetIpDriverManual.java |    2 +-
 sandbox/test-java-df1-driver/pom.xml               |   42 +-
 .../org/apache/plc4x/java/df1/DF1PlcDriver.java    |    7 +
 .../plc4x/java/df1/field/Df1FieldHandler.java      |   11 +-
 .../plc4x/java/df1/protocol/Plc4XDf1Protocol.java  |    8 +-
 .../protocol/df1/Df1ParserSerializerTest.java      |    2 +-
 .../adapters/source/knxnetip/KnxNetIpAdapter.java  |    4 +-
 .../enrich/knxnetip/ets5/Ets5DataEnrichment.java   |    2 +-
 src/site/asciidoc/plc4go/index.adoc                |  147 +
 .../general-concepts.adoc                          |    0
 .../asciidoc/users/getting-started/plc4go.adoc     |  294 +
 src/site/asciidoc/users/getting-started/plc4j.adoc |  294 +
 .../{plc4j => getting-started}/virtual-modbus.adoc |    0
 src/site/asciidoc/users/gettingstarted.adoc        |    6 +-
 src/site/asciidoc/users/plc4j/gettingstarted.adoc  |  294 -
 src/site/asciidoc/users/protocols/knxnetip.adoc    |    3 +-
 src/site/asciidoc/users/protocols/simulated.adoc   |  120 +
 src/site/site.xml                                  |    7 +-
 852 files changed, 107923 insertions(+), 19125 deletions(-)
 create mode 100644 build-utils/language-go/pom.xml
 create mode 100644 build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageOutput.java
 create mode 100644 build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
 create mode 100644 build-utils/language-go/src/main/java/org/apache/plc4x/language/go/hack/DefaultBooleanTypeReference.java
 create mode 100644 build-utils/language-go/src/main/java/org/apache/plc4x/language/go/hack/DefaultFloatTypeReference.java
 create mode 100644 build-utils/language-go/src/main/java/org/apache/plc4x/language/go/hack/DefaultIntegerTypeReference.java
 create mode 100644 build-utils/language-go/src/main/java/org/apache/plc4x/language/go/utils/FieldUtils.java
 create mode 100644 build-utils/language-go/src/main/resources/META-INF/services/org.apache.plc4x.plugins.codegenerator.language.LanguageOutput
 create mode 100644 build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh
 create mode 100644 build-utils/language-go/src/main/resources/templates/go/enum-template.ftlh
 create mode 100644 build-utils/language-go/src/main/resources/templates/go/model-template.ftlh
 create mode 100644 build-utils/language-go/src/main/resources/templates/go/parser-factory-template.ftlh
 create mode 100644 build-utils/language-go/src/main/resources/templates/go/xml-parser-factory-template.ftlh
 create mode 100644 build-utils/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/model/references/DefaultBooleanTypeReference.java
 create mode 100644 go.mod
 create mode 100644 plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
 create mode 100644 plc4go/assets/testing/protocols/modbus/DriverTestsuite.xml
 create mode 100644 plc4go/assets/testing/protocols/modbus/ParserSerializerTestsuite.xml
 create mode 100644 plc4go/assets/testing/protocols/s7/DriverTestsuite.xml
 copy plc4j/drivers/s7/src/test/resources/testsuite/S7ParserSerializerTest.xml => plc4go/assets/testing/protocols/s7/ParserSerializerTestsuite.xml (100%)
 create mode 100644 plc4go/cmd/main/drivers/bacnetip_test.go
 create mode 100644 plc4go/cmd/main/drivers/knxnetip_test.go
 create mode 100644 plc4go/cmd/main/drivers/modbus_test.go
 create mode 100644 plc4go/cmd/main/drivers/s7_test.go
 create mode 100644 plc4go/cmd/main/drivers/tests/modbus_driver_test.go
 create mode 100644 plc4go/cmd/main/drivers/tests/modbus_parser_serializer_test.go
 create mode 100644 plc4go/cmd/main/main.go
 create mode 100644 plc4go/examples/read/hello_world_plc4go_read.go
 create mode 100644 plc4go/examples/write/hello_world_plc4go_write.go
 create mode 100644 plc4go/go.mod
 create mode 100644 plc4go/go.sum
 create mode 100644 plc4go/internal/plc4go/bacnetip/BacnetIpDriver.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/ParserHelper.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/XmlParserHelper.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/ApplicationTag.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAddListElement.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedEventNotification.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessage.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestCreateObject.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeviceCommunicationControl.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEventInformation.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestLifeSafetyOperation.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadPropertyMultiple.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRange.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReinitializeDevice.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemoveListElement.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedAuthenticate.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedRequestKey.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTClose.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWritePropertyMultiple.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEventInformation.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedReadPropertyConditional.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkType.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNodeType.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotifyType.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetObjectType.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEnrollmentSummary.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadPropertyMultiple.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedReadPropertyConditional.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTag.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBoolean.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationCharacterString.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDate.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDouble.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationNull.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationObjectIdentifier.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationOctetString.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationReal.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationTime.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIHave.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestTimeSynchronization.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTableAck.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCWideBroadcastDistributionTable.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KncNetIpConnection.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpMessageCodec.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriptionEvent.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpValueHandler.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/ParserHelper.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/XmlParserHelper.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/APCI.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMI.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformation.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIBusmonInd.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataCon.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataFrame.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataInd.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataReq.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrame.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameAck.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameData.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameDataExt.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingData.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingDataExt.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadCon.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadReq.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPollDataCon.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPollDataReq.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPriority.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawCon.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawInd.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawReq.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformation.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationDeviceManagement.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationTunnelConnection.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlock.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockDeviceManagement.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockTunnelConnection.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAckDataBlock.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequestDataBlock.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceStatus.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIControlEndpoint.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDataEndpoint.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDiscoveryEndpoint.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/HostProtocolCode.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxAddress.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapointType.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress2Level.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddress3Level.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxGroupAddressFreeLevel.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxLayer.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpMessage.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ProjectInstallationIdentifier.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/RelativeTimestamp.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/RoutingIndication.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/ServiceId.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/Status.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/TPCI.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequestDataBlock.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponseDataBlock.go
 create mode 100644 plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
 create mode 100644 plc4go/internal/plc4go/modbus/ModbusConnection.go
 create mode 100644 plc4go/internal/plc4go/modbus/ModbusDriver.go
 create mode 100644 plc4go/internal/plc4go/modbus/ModbusField.go
 create mode 100644 plc4go/internal/plc4go/modbus/ModbusFieldHandler.go
 create mode 100644 plc4go/internal/plc4go/modbus/ModbusMessageCodec.go
 create mode 100644 plc4go/internal/plc4go/modbus/ModbusReader.go
 create mode 100644 plc4go/internal/plc4go/modbus/ModbusValueHandler.go
 create mode 100644 plc4go/internal/plc4go/modbus/ModbusWriter.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/ParserHelper.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/XmlParserHelper.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/DataItem.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusConstants.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusDataTypeSizes.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusErrorCode.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDU.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventCounterResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDeviceIdentificationResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequestItem.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusSerialADU.go
 create mode 100644 plc4go/internal/plc4go/modbus/readwrite/model/ModbusTcpADU.go
 create mode 100644 plc4go/internal/plc4go/model/DefaultPlcReadRequest.go
 create mode 100644 plc4go/internal/plc4go/model/DefaultPlcReadResponse.go
 create mode 100644 plc4go/internal/plc4go/model/DefaultPlcSubscriptionEvent.go
 create mode 100644 plc4go/internal/plc4go/model/DefaultPlcSubscriptionRequest.go
 create mode 100644 plc4go/internal/plc4go/model/DefaultPlcSubscriptionResponse.go
 create mode 100644 plc4go/internal/plc4go/model/DefaultPlcWriteRequest.go
 create mode 100644 plc4go/internal/plc4go/model/DefaultPlcWriteResponse.go
 create mode 100644 plc4go/internal/plc4go/model/RequestInterceptor.go
 create mode 100644 plc4go/internal/plc4go/model/values/BOOL.go
 create mode 100644 plc4go/internal/plc4go/model/values/BYTE.go
 create mode 100644 plc4go/internal/plc4go/model/values/CHAR.go
 create mode 100644 plc4go/internal/plc4go/model/values/DATE.go
 create mode 100644 plc4go/internal/plc4go/model/values/DATE_AND_TIME.go
 create mode 100644 plc4go/internal/plc4go/model/values/DINT.go
 create mode 100644 plc4go/internal/plc4go/model/values/DWORD.go
 create mode 100644 plc4go/internal/plc4go/model/values/IEC61131ValueHandler.go
 create mode 100644 plc4go/internal/plc4go/model/values/INT.go
 create mode 100644 plc4go/internal/plc4go/model/values/LINT.go
 create mode 100644 plc4go/internal/plc4go/model/values/LREAL.go
 create mode 100644 plc4go/internal/plc4go/model/values/LTIME.go
 create mode 100644 plc4go/internal/plc4go/model/values/LWORD.go
 create mode 100644 plc4go/internal/plc4go/model/values/NULL.go
 create mode 100644 plc4go/internal/plc4go/model/values/PlcBitString.go
 create mode 100644 plc4go/internal/plc4go/model/values/PlcList.go
 create mode 100644 plc4go/internal/plc4go/model/values/PlcSimpleValueAdapter.go
 create mode 100644 plc4go/internal/plc4go/model/values/PlcStruct.go
 create mode 100644 plc4go/internal/plc4go/model/values/PlcValueAdapter.go
 create mode 100644 plc4go/internal/plc4go/model/values/REAL.go
 create mode 100644 plc4go/internal/plc4go/model/values/SINT.go
 create mode 100644 plc4go/internal/plc4go/model/values/STRING.go
 create mode 100644 plc4go/internal/plc4go/model/values/TIME.go
 create mode 100644 plc4go/internal/plc4go/model/values/TIME_OF_DAY.go
 create mode 100644 plc4go/internal/plc4go/model/values/UDINT.go
 create mode 100644 plc4go/internal/plc4go/model/values/UINT.go
 create mode 100644 plc4go/internal/plc4go/model/values/ULINT.go
 create mode 100644 plc4go/internal/plc4go/model/values/USINT.go
 create mode 100644 plc4go/internal/plc4go/model/values/WCHAR.go
 create mode 100644 plc4go/internal/plc4go/model/values/WORD.go
 create mode 100644 plc4go/internal/plc4go/model/values/WSTRING.go
 create mode 100644 plc4go/internal/plc4go/s7/S7Driver.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/ParserHelper.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/XmlParserHelper.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPParameter.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPProtocolClass.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/COTPTpduSize.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/DataItem.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/DataTransportErrorCode.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/DataTransportSize.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/DeviceGroup.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/MemoryArea.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7Address.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7Message.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7Parameter.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItem.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7Payload.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadReadVarResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserData.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItem.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlRequest.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionReadSzlResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarRequest.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadWriteVarResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7StaticHelper.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadDataItem.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7VarPayloadStatusItem.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItem.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7VarRequestParameterItemAddress.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/SzlDataTreeItem.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/SzlId.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/SzlModuleTypeClass.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/SzlSublist.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/TPKTPacket.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/TransportSize.go
 create mode 100644 plc4go/internal/plc4go/spi/HandlerExposer.go
 create mode 100644 plc4go/internal/plc4go/spi/Message.go
 create mode 100644 plc4go/internal/plc4go/spi/MessageCodec.go
 create mode 100644 plc4go/internal/plc4go/spi/PlcFieldHandler.go
 create mode 100644 plc4go/internal/plc4go/spi/PlcReader.go
 create mode 100644 plc4go/internal/plc4go/spi/PlcSubscriber.go
 create mode 100644 plc4go/internal/plc4go/spi/PlcValueHandler.go
 create mode 100644 plc4go/internal/plc4go/spi/PlcWriter.go
 create mode 100644 plc4go/internal/plc4go/spi/TransportInstanceExposer.go
 create mode 100644 plc4go/internal/plc4go/spi/interceptors/SingleItemRequestInterceptor.go
 create mode 100644 plc4go/internal/plc4go/testutils/DriverTestRunner.go
 create mode 100644 plc4go/internal/plc4go/testutils/ParserSerializerTestRunner.go
 create mode 100644 plc4go/internal/plc4go/testutils/TestUtils.go
 create mode 100644 plc4go/internal/plc4go/transports/Transport.go
 create mode 100644 plc4go/internal/plc4go/transports/TransportInstance.go
 create mode 100644 plc4go/internal/plc4go/transports/tcp/TcpTransport.go
 create mode 100644 plc4go/internal/plc4go/transports/test/TestTransport.go
 create mode 100644 plc4go/internal/plc4go/transports/udp/UdpTransport.go
 create mode 100644 plc4go/internal/plc4go/utils/CastUtils.go
 create mode 100644 plc4go/internal/plc4go/utils/ReadBuffer.go
 create mode 100644 plc4go/internal/plc4go/utils/Regexp.go
 create mode 100644 plc4go/internal/plc4go/utils/Serializable.go
 create mode 100644 plc4go/internal/plc4go/utils/Utils.go
 create mode 100644 plc4go/internal/plc4go/utils/WriteBuffer.go
 create mode 100644 plc4go/pkg/plc4go/connection.go
 create mode 100644 plc4go/pkg/plc4go/driver.go
 create mode 100644 plc4go/pkg/plc4go/driverManager.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_connection_metadata.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_field.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_message.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_read_request.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_read_response.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_request.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_response.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_response_code.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_subscription_event.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_subscription_request.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_subscription_response.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_unsubscription_request.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_unsubscription_response.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_write_request.go
 create mode 100644 plc4go/pkg/plc4go/model/plc_write_response.go
 create mode 100644 plc4go/pkg/plc4go/values/plc_value.go
 create mode 100644 plc4go/pom.xml
 create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionFieldRequest.java
 create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcSubscriptionFieldResponse.java
 create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/model/PlcSubscriptionField.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcBOOL.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcBYTE.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcBigDecimal.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcBigInteger.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcCHAR.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcDINT.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcDWORD.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcDate.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcDateTime.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcIECValue.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcINT.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcLINT.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcLREAL.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcLWORD.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcList.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcNull.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcREAL.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcSINT.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcSimpleValue.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcString.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcStruct.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcTime.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcUDINT.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcUINT.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcULINT.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcUSINT.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValueAdapter.java
 create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValueHandler.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcValues.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcWCHAR.java
 delete mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/value/PlcWORD.java
 delete mode 100644 plc4j/api/src/test/java/org/apache/plc4x/java/api/types/PlcValueTest.java
 delete mode 100644 plc4j/api/src/test/java/org/apache/plc4x/java/api/value/PlcValuesTest.java
 create mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/field/AdsStringField.java
 create mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/field/DirectAdsStringField.java
 create mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/field/SymbolicAdsStringField.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/connection/AdsAbstractPlcConnection.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/connection/AdsConnectionFactory.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/connection/AdsSerialPlcConnection.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/connection/AdsTcpPlcConnection.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/Ads2PayloadProtocol.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/Payload2SerialProtocol.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/Payload2TcpProtocol.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/Plc4x2AdsProtocol.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/exception/AdsException.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/exception/AdsProtocolOverflowException.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/util/DigestUtil.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/util/LittleEndianDecoder.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/util/LittleEndianEncoder.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/protocol/util/SingleMessageRateLimiter.java
 delete mode 100644 plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/amsads/attic/types/AdsDataType.java
 create mode 100644 plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/ManualParserSerializerTest.java
 delete mode 100644 plc4j/drivers/ads/src/test/resources/testsuite/AdsDriverIT.xml
 delete mode 100644 plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/KNXNetIpTest.java
 create mode 100644 plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/KnxNetIpTest.java
 delete mode 100644 plc4j/drivers/knxnetip/src/test/resources/testsuite/KNXNetIPTestsuite.xml
 create mode 100644 plc4j/drivers/mock/src/main/java/org/apache/plc4x/java/mock/field/MockValueHandler.java
 create mode 100644 plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ManualModbusDriverTest.java
 create mode 100644 plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusDriverIT.java
 delete mode 100644 plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusIOTest.java
 create mode 100644 plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusParserSerializerTest.java
 delete mode 100644 plc4j/drivers/modbus/src/test/resources/testsuite/ModbusTestsuite.xml
 create mode 100644 plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/DatatypesTest.java
 delete mode 100644 plc4j/drivers/s7/src/test/resources/testsuite/S7DriverIT.xml
 create mode 100644 plc4j/drivers/simulated/src/main/java/org/apache/plc4x/java/simulated/utils/StaticHelper.java
 create mode 100644 plc4j/examples/replay-test/pom.xml
 delete mode 100644 plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/config/Defaults.java
 delete mode 100644 plc4j/integrations/apache-kafka/src/main/java/org/apache/plc4x/kafka/exceptions/ConfigurationException.java
 delete mode 100644 plc4j/integrations/apache-kafka/src/main/resources/avro/org/apache/plc4x/kafka/avro/plc4x-sink.avsc
 delete mode 100644 plc4j/integrations/apache-kafka/src/main/resources/avro/org/apache/plc4x/kafka/avro/plc4x-source.avsc
 create mode 100644 plc4j/integrations/apache-kafka/src/test/java/org/apache/plc4x/kafka/config/SinkConfigTest.java
 create mode 100644 plc4j/integrations/apache-kafka/src/test/java/org/apache/plc4x/kafka/config/SinkTaskTest.java
 create mode 100644 plc4j/integrations/apache-kafka/src/test/java/org/apache/plc4x/kafka/properties/sink_task_no_error.properties
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultPlcFieldHandler.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/exceptions/InternalPlcRuntimeException.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcProprietaryRequest.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcProprietaryResponse.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcFieldRequest.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcFieldResponse.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcMessage.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcProprietaryRequest.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcProprietaryResponse.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcReadRequest.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcReadResponse.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcRequest.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcResponse.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcSubscriptionEvent.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcSubscriptionRequest.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcSubscriptionResponse.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcUnsubscriptionRequest.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcUnsubscriptionResponse.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcWriteRequest.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/InternalPlcWriteResponse.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcRawMessage.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/DefaultPlcSubscriptionField.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/InternalPlcConsumerRegistration.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/InternalPlcSubscriptionHandle.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/SubscriptionPlcField.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/protocol/SingleItemToSingleRequestProtocol.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/request/PlcRequest.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/types/FieldType.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/utils/XmlSerializable.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/IEC61131ValueHandler.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBOOL.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBYTE.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBigDecimal.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBigInteger.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBitString.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcCHAR.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDATE.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDATE_AND_TIME.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDINT.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDWORD.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcIECValue.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcINT.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLINT.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLREAL.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLTIME.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLWORD.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcList.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcNull.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcREAL.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcSINT.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcSTRING.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcSimpleValue.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcStruct.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME_OF_DAY.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUDINT.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUINT.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcULINT.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUSINT.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcValueAdapter.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcValues.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWCHAR.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWORD.java
 create mode 100644 plc4j/spi/src/test/java/org/apache/plc4x/java/spi/Plc4xNettyWrapperTest.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/driver/model/api/TestValueField.java
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/manual/ManualTest.java
 rename plc4j/drivers/ab-eth/src/test/resources/testsuite/AbEthTestsuite.xml => protocols/ab-eth/src/test/resources/protocols/abeth/ParserSerializerTestsuite.xml (100%)
 rename {plc4j/drivers/ads/src/test/resources/testsuite => protocols/ads/src/test/resources/protocols/ads}/AdsDiscoverySerializerTest.xml (100%)
 create mode 100644 protocols/ads/src/test/resources/protocols/ads/DriverTestsuite.xml
 rename plc4j/drivers/ads/src/test/resources/testsuite/AdsParserSerializerTest.xml => protocols/ads/src/test/resources/protocols/ads/ParserSerializerTestsuite.xml (100%)
 create mode 100644 protocols/ads/src/test/resources/protocols/ads/manual-test-capture.pcapng
 rename sandbox/test-java-df1-driver/src/test/resources/testsuite/Df1Testsuite.xml => protocols/df1/src/test/resources/protocols/df1/ParserSerializerTestsuite.xml (100%)
 rename plc4j/drivers/eip/src/test/resources/testsuite/EIPDriverTestsuite.xml => protocols/eip/src/test/resources/protocols/eip/DriverTestsuite.xml (100%)
 rename plc4j/drivers/eip/src/test/resources/testsuite/EIPParserSerializerTestsuite.xml => protocols/eip/src/test/resources/protocols/eip/ParserSerializerTestsuite.xml (100%)
 rename plc4j/drivers/firmata/src/test/resources/testsuite/FirmataParserSerializerTest.xml => protocols/firmata/src/test/resources/protocols/firmata/ParserSerializerTestsuite.xml (100%)
 create mode 100644 protocols/knxnetip/src/test/resources/protocols/knxnetip/ParserSerializerTestsuite.xml
 create mode 100644 protocols/modbus/src/test/resources/protocols/modbus/DriverTestsuite.xml
 create mode 100644 protocols/modbus/src/test/resources/protocols/modbus/ParserSerializerTestsuite.xml
 create mode 100644 protocols/modbus/src/test/resources/protocols/modbus/manual-test-capture.pcapng
 create mode 100644 protocols/s7/src/test/resources/protocols/s7/DriverTestsuite.xml
 rename plc4j/drivers/s7/src/test/resources/testsuite/S7ParserSerializerTest.xml => protocols/s7/src/test/resources/protocols/s7/ParserSerializerTestsuite.xml (100%)
 create mode 100644 protocols/s7/src/test/resources/protocols/s7/manual-test-capture.pcapng
 create mode 100644 protocols/simulated/pom.xml
 create mode 100644 protocols/simulated/src/main/java/org/apache/plc4x/protocol/simulated/SimulatedProtocol.java
 create mode 100644 protocols/simulated/src/main/resources/META-INF/services/org.apache.plc4x.plugins.codegenerator.protocol.Protocol
 create mode 100644 protocols/simulated/src/main/resources/protocols/simulated/simulated.mspec
 create mode 100644 sandbox/plc4c/generated-sources/modbus/include/modbus_data_type.h
 create mode 100644 sandbox/plc4c/generated-sources/modbus/include/modbus_data_type_sizes.h
 create mode 100644 sandbox/plc4c/generated-sources/modbus/include/modbus_error_code.h
 create mode 100644 sandbox/plc4c/generated-sources/modbus/src/modbus_data_type.c
 create mode 100644 sandbox/plc4c/generated-sources/modbus/src/modbus_data_type_sizes.c
 create mode 100644 sandbox/plc4c/generated-sources/modbus/src/modbus_error_code.c
 create mode 100644 src/site/asciidoc/plc4go/index.adoc
 rename src/site/asciidoc/users/{plc4j => getting-started}/general-concepts.adoc (100%)
 create mode 100644 src/site/asciidoc/users/getting-started/plc4go.adoc
 create mode 100644 src/site/asciidoc/users/getting-started/plc4j.adoc
 rename src/site/asciidoc/users/{plc4j => getting-started}/virtual-modbus.adoc (100%)
 delete mode 100644 src/site/asciidoc/users/plc4j/gettingstarted.adoc