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

[plc4x] 01/01: Merge branch 'develop' of https://github.com/apache/plc4x into feature/plc4py

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

otluk pushed a commit to branch feature/plc4py
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 3e0d5da2912358ad43aeb6208ce81777bdd5629b
Merge: f9ece23 98e5556
Author: ottlukas <ot...@gmail.com>
AuthorDate: Sat Nov 28 18:21:02 2020 +0100

    Merge branch 'develop' of https://github.com/apache/plc4x into feature/plc4py

 .asf.yaml                                          |   56 +
 .gitignore                                         |    4 +
 Jenkinsfile                                        |    8 +-
 NOTICE                                             |    2 +-
 README.md                                          |   26 +-
 RELEASE_NOTES                                      |   48 +-
 build-utils/language-base-freemarker/pom.xml       |    1 -
 .../BaseFreemarkerLanguageTemplateHelper.java      |  104 +-
 .../apache/plc4x/language/c/CLanguageOutput.java   |    4 +-
 .../plc4x/language/c/CLanguageTemplateHelper.java  |  146 +-
 .../resources/templates/c/data-io-template-c.ftlh  |  246 +
 .../resources/templates/c/data-io-template-h.ftlh  |   88 +
 .../resources/templates/c/enum-template-c.ftlh     |   38 +-
 .../resources/templates/c/enum-template-h.ftlh     |    7 +-
 .../resources/templates/c/pojo-template-c.ftlh     |   75 +-
 .../resources/templates/c/pojo-template-h.ftlh     |    4 +-
 build-utils/language-go/pom.xml                    |   58 +
 .../apache/plc4x/language/go/GoLanguageOutput.java |   72 +
 .../language/go/GoLanguageTemplateHelper.java      | 1058 ++++
 .../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 |  149 +
 .../resources/templates/go/model-template.ftlh     | 1035 ++++
 .../templates/go/parser-factory-template.ftlh      |   96 +
 .../templates/go/xml-parser-factory-template.ftlh  |   89 +
 .../language/java/JavaLanguageTemplateHelper.java  |   90 +-
 .../resources/templates/java/data-io-template.ftlh |  163 +-
 .../resources/templates/java/enum-template.ftlh    |    4 +-
 .../main/resources/templates/java/io-template.ftlh |   24 +-
 .../resources/templates/java/pojo-template.ftlh    |   96 +-
 build-utils/pom.xml                                |    1 +
 .../plugins/codegenerator/language/mspec/MSpec.g4  |   12 +-
 .../definitions/DefaultDataIoTypeDefinition.java   |    2 -
 .../model/definitions/DefaultTypeDefinition.java   |    2 +-
 .../references/DefaultComplexTypeReference.java    |   37 -
 .../references/DefaultFloatTypeReference.java      |   45 -
 .../references/DefaultIntegerTypeReference.java    |   30 -
 .../references/DefaultSimpleTypeReference.java     |   44 -
 .../DefaultSimpleVarLengthTypeReference.java       |   30 -
 .../references/DefaultStringTypeReference.java     |   38 -
 .../references/DefaultTemporalTypeReference.java   |   30 -
 .../mspec/parser/MessageFormatListener.java        |   12 +-
 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           |  178 +
 plc4go/cmd/main/drivers/modbus_test.go             |  213 +
 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                                      |   28 +
 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        |  292 +
 .../plc4go/bacnetip/readwrite/model/APDUAbort.go   |  246 +
 .../bacnetip/readwrite/model/APDUComplexAck.go     |  349 ++
 .../readwrite/model/APDUConfirmedRequest.go        |  433 ++
 .../plc4go/bacnetip/readwrite/model/APDUError.go   |  217 +
 .../plc4go/bacnetip/readwrite/model/APDUReject.go  |  218 +
 .../bacnetip/readwrite/model/APDUSegmentAck.go     |  302 +
 .../bacnetip/readwrite/model/APDUSimpleAck.go      |  218 +
 .../readwrite/model/APDUUnconfirmedRequest.go      |  189 +
 .../bacnetip/readwrite/model/ApplicationTag.go     |  140 +
 .../bacnetip/readwrite/model/BACnetAddress.go      |  183 +
 .../readwrite/model/BACnetConfirmedServiceACK.go   |  376 ++
 .../BACnetConfirmedServiceACKAtomicReadFile.go     |  135 +
 .../BACnetConfirmedServiceACKAtomicWriteFile.go    |  135 +
 ...tConfirmedServiceACKConfirmedPrivateTransfer.go |  135 +
 .../model/BACnetConfirmedServiceACKCreateObject.go |  135 +
 .../BACnetConfirmedServiceACKGetAlarmSummary.go    |  135 +
 ...ACnetConfirmedServiceACKGetEnrollmentSummary.go |  135 +
 ...BACnetConfirmedServiceACKGetEventInformation.go |  135 +
 .../model/BACnetConfirmedServiceACKReadProperty.go |  135 +
 ...ACnetConfirmedServiceACKReadPropertyMultiple.go |  135 +
 .../model/BACnetConfirmedServiceACKReadRange.go    |  135 +
 ...BACnetConfirmedServiceACKRemovedAuthenticate.go |  135 +
 ...rmedServiceACKRemovedReadPropertyConditional.go |  135 +
 .../model/BACnetConfirmedServiceACKVTData.go       |  135 +
 .../model/BACnetConfirmedServiceACKVTOpen.go       |  135 +
 .../model/BACnetConfirmedServiceRequest.go         |  614 ++
 ...ACnetConfirmedServiceRequestAcknowledgeAlarm.go |  135 +
 .../BACnetConfirmedServiceRequestAddListElement.go |  135 +
 .../BACnetConfirmedServiceRequestAtomicReadFile.go |  135 +
 ...BACnetConfirmedServiceRequestAtomicWriteFile.go |  135 +
 ...firmedServiceRequestConfirmedCOVNotification.go |  515 ++
 ...rviceRequestConfirmedCOVNotificationMultiple.go |  135 +
 ...rmedServiceRequestConfirmedEventNotification.go |  135 +
 ...firmedServiceRequestConfirmedPrivateTransfer.go |  135 +
 ...tConfirmedServiceRequestConfirmedTextMessage.go |  135 +
 .../BACnetConfirmedServiceRequestCreateObject.go   |  135 +
 .../BACnetConfirmedServiceRequestDeleteObject.go   |  135 +
 ...rmedServiceRequestDeviceCommunicationControl.go |  135 +
 ...tConfirmedServiceRequestGetEnrollmentSummary.go |  135 +
 ...etConfirmedServiceRequestGetEventInformation.go |  135 +
 ...etConfirmedServiceRequestLifeSafetyOperation.go |  135 +
 .../BACnetConfirmedServiceRequestReadProperty.go   |  307 +
 ...tConfirmedServiceRequestReadPropertyMultiple.go |  135 +
 .../BACnetConfirmedServiceRequestReadRange.go      |  135 +
 ...netConfirmedServiceRequestReinitializeDevice.go |  135 +
 ...CnetConfirmedServiceRequestRemoveListElement.go |  135 +
 ...etConfirmedServiceRequestRemovedAuthenticate.go |  135 +
 ...ServiceRequestRemovedReadPropertyConditional.go |  135 +
 ...CnetConfirmedServiceRequestRemovedRequestKey.go |  135 +
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |  420 ++
 ...tConfirmedServiceRequestSubscribeCOVProperty.go |  135 +
 ...edServiceRequestSubscribeCOVPropertyMultiple.go |  135 +
 .../model/BACnetConfirmedServiceRequestVTClose.go  |  135 +
 .../model/BACnetConfirmedServiceRequestVTData.go   |  135 +
 .../model/BACnetConfirmedServiceRequestVTOpen.go   |  135 +
 .../BACnetConfirmedServiceRequestWriteProperty.go  |  412 ++
 ...ConfirmedServiceRequestWritePropertyMultiple.go |  135 +
 .../plc4go/bacnetip/readwrite/model/BACnetError.go |  376 ++
 .../readwrite/model/BACnetErrorAtomicReadFile.go   |  135 +
 .../readwrite/model/BACnetErrorAtomicWriteFile.go  |  135 +
 .../model/BACnetErrorConfirmedPrivateTransfer.go   |  135 +
 .../readwrite/model/BACnetErrorCreateObject.go     |  135 +
 .../readwrite/model/BACnetErrorGetAlarmSummary.go  |  135 +
 .../model/BACnetErrorGetEnrollmentSummary.go       |  135 +
 .../model/BACnetErrorGetEventInformation.go        |  135 +
 .../readwrite/model/BACnetErrorReadProperty.go     |  324 ++
 .../model/BACnetErrorReadPropertyMultiple.go       |  135 +
 .../readwrite/model/BACnetErrorReadRange.go        |  135 +
 .../model/BACnetErrorRemovedAuthenticate.go        |  135 +
 .../BACnetErrorRemovedReadPropertyConditional.go   |  135 +
 .../bacnetip/readwrite/model/BACnetErrorVTData.go  |  135 +
 .../bacnetip/readwrite/model/BACnetErrorVTOpen.go  |  135 +
 .../bacnetip/readwrite/model/BACnetNetworkType.go  |  130 +
 .../bacnetip/readwrite/model/BACnetNodeType.go     |  185 +
 .../bacnetip/readwrite/model/BACnetNotifyType.go   |   90 +
 .../bacnetip/readwrite/model/BACnetObjectType.go   |  370 ++
 .../bacnetip/readwrite/model/BACnetServiceAck.go   |  376 ++
 .../model/BACnetServiceAckAtomicReadFile.go        |  135 +
 .../model/BACnetServiceAckAtomicWriteFile.go       |  135 +
 .../BACnetServiceAckConfirmedPrivateTransfer.go    |  135 +
 .../model/BACnetServiceAckCreateObject.go          |  135 +
 .../model/BACnetServiceAckGetAlarmSummary.go       |  135 +
 .../model/BACnetServiceAckGetEnrollmentSummary.go  |  135 +
 .../model/BACnetServiceAckGetEventInformation.go   |  135 +
 .../model/BACnetServiceAckReadProperty.go          |  372 ++
 .../model/BACnetServiceAckReadPropertyMultiple.go  |  135 +
 .../readwrite/model/BACnetServiceAckReadRange.go   |  135 +
 .../model/BACnetServiceAckRemovedAuthenticate.go   |  135 +
 ...CnetServiceAckRemovedReadPropertyConditional.go |  135 +
 .../readwrite/model/BACnetServiceAckVTData.go      |  135 +
 .../readwrite/model/BACnetServiceAckVTOpen.go      |  135 +
 .../plc4go/bacnetip/readwrite/model/BACnetTag.go   |  500 ++
 .../model/BACnetTagApplicationBitString.go         |  216 +
 .../readwrite/model/BACnetTagApplicationBoolean.go |  139 +
 .../model/BACnetTagApplicationCharacterString.go   |  139 +
 .../readwrite/model/BACnetTagApplicationDate.go    |  139 +
 .../readwrite/model/BACnetTagApplicationDouble.go  |  168 +
 .../model/BACnetTagApplicationEnumerated.go        |  188 +
 .../readwrite/model/BACnetTagApplicationNull.go    |  139 +
 .../model/BACnetTagApplicationObjectIdentifier.go  |  139 +
 .../model/BACnetTagApplicationOctetString.go       |  139 +
 .../readwrite/model/BACnetTagApplicationReal.go    |  168 +
 .../model/BACnetTagApplicationSignedInteger.go     |  188 +
 .../readwrite/model/BACnetTagApplicationTime.go    |  139 +
 .../model/BACnetTagApplicationUnsignedInteger.go   |  188 +
 .../bacnetip/readwrite/model/BACnetTagContext.go   |  188 +
 .../readwrite/model/BACnetTagWithContent.go        |  375 ++
 .../model/BACnetUnconfirmedServiceRequest.go       |  348 ++
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |  401 ++
 .../model/BACnetUnconfirmedServiceRequestIHave.go  |  135 +
 ...UnconfirmedServiceRequestTimeSynchronization.go |  135 +
 ...onfirmedServiceRequestUTCTimeSynchronization.go |  135 +
 ...rmedServiceRequestUnconfirmedCOVNotification.go |  135 +
 ...iceRequestUnconfirmedCOVNotificationMultiple.go |  135 +
 ...edServiceRequestUnconfirmedEventNotification.go |  135 +
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |  319 ++
 ...onfirmedServiceRequestUnconfirmedTextMessage.go |  135 +
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |  344 ++
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |  324 ++
 .../BACnetUnconfirmedServiceRequestWriteGroup.go   |  135 +
 .../plc4go/bacnetip/readwrite/model/BVLC.go        |  400 ++
 .../model/BVLCDeleteForeignDeviceTableEntry.go     |  135 +
 .../model/BVLCDistributeBroadcastToNetwork.go      |  135 +
 .../bacnetip/readwrite/model/BVLCForwardedNPDU.go  |  235 +
 .../readwrite/model/BVLCOriginalBroadcastNPDU.go   |  163 +
 .../readwrite/model/BVLCOriginalUnicastNPDU.go     |  163 +
 .../model/BVLCReadBroadcastDistributionTable.go    |  135 +
 .../model/BVLCReadBroadcastDistributionTableAck.go |  135 +
 .../readwrite/model/BVLCReadForeignDeviceTable.go  |  135 +
 .../model/BVLCReadForeignDeviceTableAck.go         |  135 +
 .../readwrite/model/BVLCRegisterForeignDevice.go   |  135 +
 .../plc4go/bacnetip/readwrite/model/BVLCResult.go  |  135 +
 .../bacnetip/readwrite/model/BVLCSecureBVLL.go     |  135 +
 .../model/BVLCWideBroadcastDistributionTable.go    |  135 +
 .../plc4go/bacnetip/readwrite/model/NLM.go         |  244 +
 .../readwrite/model/NLMIAmRouterToNetwork.go       |  183 +
 .../readwrite/model/NLMWhoIsRouterToNetwork.go     |  183 +
 .../plc4go/bacnetip/readwrite/model/NPDU.go        |  656 +++
 .../internal/plc4go/knxnetip/KnxNetIpConnection.go |  498 ++
 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  |  163 +
 .../internal/plc4go/knxnetip/KnxNetIpSubscriber.go |  139 +
 .../plc4go/knxnetip/KnxNetIpSubscriptionEvent.go   |   84 +
 .../plc4go/knxnetip/KnxNetIpValueHandler.go        |   40 +
 plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go  |   71 +
 .../plc4go/knxnetip/readwrite/ParserHelper.go      |   91 +
 .../plc4go/knxnetip/readwrite/XmlParserHelper.go   |  203 +
 .../plc4go/knxnetip/readwrite/model/APCI.go        |  155 +
 .../plc4go/knxnetip/readwrite/model/CEMI.go        |  334 ++
 .../readwrite/model/CEMIAdditionalInformation.go   |  208 +
 .../CEMIAdditionalInformationBusmonitorInfo.go     |  326 ++
 .../CEMIAdditionalInformationRelativeTimestamp.go  |  185 +
 .../knxnetip/readwrite/model/CEMIBusmonInd.go      |  241 +
 .../plc4go/knxnetip/readwrite/model/CEMIDataCon.go |  241 +
 .../knxnetip/readwrite/model/CEMIDataFrame.go      |  617 ++
 .../plc4go/knxnetip/readwrite/model/CEMIDataInd.go |  241 +
 .../plc4go/knxnetip/readwrite/model/CEMIDataReq.go |  241 +
 .../plc4go/knxnetip/readwrite/model/CEMIFrame.go   |  388 ++
 .../knxnetip/readwrite/model/CEMIFrameAck.go       |  147 +
 .../knxnetip/readwrite/model/CEMIFrameData.go      |  490 ++
 .../knxnetip/readwrite/model/CEMIFrameDataExt.go   |  518 ++
 .../readwrite/model/CEMIFramePollingData.go        |  147 +
 .../readwrite/model/CEMIFramePollingDataExt.go     |  147 +
 .../knxnetip/readwrite/model/CEMIMPropReadCon.go   |  304 +
 .../knxnetip/readwrite/model/CEMIMPropReadReq.go   |  276 +
 .../knxnetip/readwrite/model/CEMIPollDataCon.go    |  135 +
 .../knxnetip/readwrite/model/CEMIPollDataReq.go    |  135 +
 .../knxnetip/readwrite/model/CEMIPriority.go       |   95 +
 .../plc4go/knxnetip/readwrite/model/CEMIRawCon.go  |  135 +
 .../plc4go/knxnetip/readwrite/model/CEMIRawInd.go  |  135 +
 .../plc4go/knxnetip/readwrite/model/CEMIRawReq.go  |  135 +
 .../knxnetip/readwrite/model/ConnectionRequest.go  |  217 +
 .../model/ConnectionRequestInformation.go          |  224 +
 ...ConnectionRequestInformationDeviceManagement.go |  135 +
 ...ConnectionRequestInformationTunnelConnection.go |  190 +
 .../knxnetip/readwrite/model/ConnectionResponse.go |  266 +
 .../readwrite/model/ConnectionResponseDataBlock.go |  224 +
 .../ConnectionResponseDataBlockDeviceManagement.go |  135 +
 .../ConnectionResponseDataBlockTunnelConnection.go |  163 +
 .../readwrite/model/ConnectionStateRequest.go      |  217 +
 .../readwrite/model/ConnectionStateResponse.go     |  192 +
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      |  395 ++
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |  203 +
 .../knxnetip/readwrite/model/DescriptionRequest.go |  163 +
 .../readwrite/model/DescriptionResponse.go         |  190 +
 .../readwrite/model/DeviceConfigurationAck.go      |  163 +
 .../model/DeviceConfigurationAckDataBlock.go       |  209 +
 .../readwrite/model/DeviceConfigurationRequest.go  |  190 +
 .../model/DeviceConfigurationRequestDataBlock.go   |  209 +
 .../knxnetip/readwrite/model/DeviceStatus.go       |  167 +
 .../knxnetip/readwrite/model/DisconnectRequest.go  |  217 +
 .../knxnetip/readwrite/model/DisconnectResponse.go |  192 +
 .../readwrite/model/HPAIControlEndpoint.go         |  208 +
 .../knxnetip/readwrite/model/HPAIDataEndpoint.go   |  208 +
 .../readwrite/model/HPAIDiscoveryEndpoint.go       |  208 +
 .../knxnetip/readwrite/model/HostProtocolCode.go   |   85 +
 .../plc4go/knxnetip/readwrite/model/IPAddress.go   |  159 +
 .../plc4go/knxnetip/readwrite/model/KnxAddress.go  |  193 +
 .../knxnetip/readwrite/model/KnxDatapoint.go       | 5905 ++++++++++++++++++++
 .../knxnetip/readwrite/model/KnxDatapointType.go   | 5088 +++++++++++++++++
 .../knxnetip/readwrite/model/KnxGroupAddress.go    |  206 +
 .../readwrite/model/KnxGroupAddress2Level.go       |  192 +
 .../readwrite/model/KnxGroupAddress3Level.go       |  220 +
 .../readwrite/model/KnxGroupAddressFreeLevel.go    |  164 +
 .../plc4go/knxnetip/readwrite/model/KnxLayer.go    |   90 +
 .../plc4go/knxnetip/readwrite/model/KnxMedium.go   |  105 +
 .../knxnetip/readwrite/model/KnxNetIpCore.go       |  164 +
 .../readwrite/model/KnxNetIpDeviceManagement.go    |  164 +
 .../knxnetip/readwrite/model/KnxNetIpMessage.go    |  458 ++
 .../knxnetip/readwrite/model/KnxNetIpTunneling.go  |  164 +
 .../knxnetip/readwrite/model/KnxNetObjectServer.go |  164 +
 .../model/KnxNetRemoteConfigurationAndDiagnosis.go |  164 +
 .../readwrite/model/KnxNetRemoteLogging.go         |  164 +
 .../plc4go/knxnetip/readwrite/model/MACAddress.go  |  159 +
 .../model/ProjectInstallationIdentifier.go         |  167 +
 .../knxnetip/readwrite/model/RelativeTimestamp.go  |  141 +
 .../knxnetip/readwrite/model/RoutingIndication.go  |  135 +
 .../knxnetip/readwrite/model/SearchRequest.go      |  163 +
 .../knxnetip/readwrite/model/SearchResponse.go     |  217 +
 .../plc4go/knxnetip/readwrite/model/ServiceId.go   |  264 +
 .../plc4go/knxnetip/readwrite/model/Status.go      |  135 +
 .../readwrite/model/SupportedPhysicalMedia.go      |  324 ++
 .../plc4go/knxnetip/readwrite/model/TPCI.go        |   95 +
 .../knxnetip/readwrite/model/TunnelingRequest.go   |  190 +
 .../readwrite/model/TunnelingRequestDataBlock.go   |  209 +
 .../knxnetip/readwrite/model/TunnelingResponse.go  |  163 +
 .../readwrite/model/TunnelingResponseDataBlock.go  |  209 +
 .../knxnetip/readwrite/model/UnknownMessage.go     |  182 +
 plc4go/internal/plc4go/modbus/ModbusConnection.go  |  166 +
 plc4go/internal/plc4go/modbus/ModbusDriver.go      |  108 +
 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      |  137 +
 .../modbus/readwrite/model/ModbusDataTypeSizes.go  |  288 +
 .../modbus/readwrite/model/ModbusErrorCode.go      |  125 +
 .../plc4go/modbus/readwrite/model/ModbusPDU.go     |  744 +++
 .../readwrite/model/ModbusPDUDiagnosticRequest.go  |  200 +
 .../readwrite/model/ModbusPDUDiagnosticResponse.go |  200 +
 .../modbus/readwrite/model/ModbusPDUError.go       |  172 +
 .../model/ModbusPDUGetComEventCounterRequest.go    |  143 +
 .../model/ModbusPDUGetComEventCounterResponse.go   |  200 +
 .../model/ModbusPDUGetComEventLogRequest.go        |  143 +
 .../model/ModbusPDUGetComEventLogResponse.go       |  290 +
 .../ModbusPDUMaskWriteHoldingRegisterRequest.go    |  228 +
 .../ModbusPDUMaskWriteHoldingRegisterResponse.go   |  228 +
 .../readwrite/model/ModbusPDUReadCoilsRequest.go   |  200 +
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |  206 +
 .../ModbusPDUReadDeviceIdentificationRequest.go    |  143 +
 .../ModbusPDUReadDeviceIdentificationResponse.go   |  143 +
 .../model/ModbusPDUReadDiscreteInputsRequest.go    |  200 +
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |  206 +
 .../model/ModbusPDUReadExceptionStatusRequest.go   |  143 +
 .../model/ModbusPDUReadExceptionStatusResponse.go  |  172 +
 .../model/ModbusPDUReadFifoQueueRequest.go         |  172 +
 .../model/ModbusPDUReadFifoQueueResponse.go        |  220 +
 .../model/ModbusPDUReadFileRecordRequest.go        |  215 +
 .../model/ModbusPDUReadFileRecordRequestItem.go    |  219 +
 .../model/ModbusPDUReadFileRecordResponse.go       |  215 +
 .../model/ModbusPDUReadFileRecordResponseItem.go   |  203 +
 .../model/ModbusPDUReadHoldingRegistersRequest.go  |  200 +
 .../model/ModbusPDUReadHoldingRegistersResponse.go |  206 +
 .../model/ModbusPDUReadInputRegistersRequest.go    |  200 +
 .../model/ModbusPDUReadInputRegistersResponse.go   |  206 +
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |  318 ++
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |  206 +
 .../model/ModbusPDUReportServerIdRequest.go        |  143 +
 .../model/ModbusPDUReportServerIdResponse.go       |  206 +
 .../model/ModbusPDUWriteFileRecordRequest.go       |  215 +
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |  255 +
 .../model/ModbusPDUWriteFileRecordResponse.go      |  215 +
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |  255 +
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |  262 +
 .../model/ModbusPDUWriteMultipleCoilsResponse.go   |  200 +
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |  262 +
 ...dbusPDUWriteMultipleHoldingRegistersResponse.go |  200 +
 .../model/ModbusPDUWriteSingleCoilRequest.go       |  200 +
 .../model/ModbusPDUWriteSingleCoilResponse.go      |  200 +
 .../model/ModbusPDUWriteSingleRegisterRequest.go   |  200 +
 .../model/ModbusPDUWriteSingleRegisterResponse.go  |  200 +
 .../modbus/readwrite/model/ModbusSerialADU.go      |  244 +
 .../plc4go/modbus/readwrite/model/ModbusTcpADU.go  |  230 +
 .../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        |  368 ++
 .../readwrite/model/COTPPacketConnectionRequest.go |  222 +
 .../model/COTPPacketConnectionResponse.go          |  222 +
 .../plc4go/s7/readwrite/model/COTPPacketData.go    |  194 +
 .../readwrite/model/COTPPacketDisconnectRequest.go |  222 +
 .../model/COTPPacketDisconnectResponse.go          |  194 +
 .../s7/readwrite/model/COTPPacketTpduError.go      |  194 +
 .../plc4go/s7/readwrite/model/COTPParameter.go     |  266 +
 .../s7/readwrite/model/COTPParameterCalledTsap.go  |  164 +
 .../s7/readwrite/model/COTPParameterCallingTsap.go |  164 +
 .../s7/readwrite/model/COTPParameterChecksum.go    |  164 +
 ...COTPParameterDisconnectAdditionalInformation.go |  180 +
 .../s7/readwrite/model/COTPParameterTpduSize.go    |  164 +
 .../plc4go/s7/readwrite/model/COTPProtocolClass.go |  100 +
 .../plc4go/s7/readwrite/model/COTPTpduSize.go      |  140 +
 .../internal/plc4go/s7/readwrite/model/DataItem.go |  398 ++
 .../s7/readwrite/model/DataTransportErrorCode.go   |  105 +
 .../plc4go/s7/readwrite/model/DataTransportSize.go |  140 +
 .../plc4go/s7/readwrite/model/DeviceGroup.go       |   90 +
 .../plc4go/s7/readwrite/model/MemoryArea.go        |  156 +
 .../plc4go/s7/readwrite/model/S7Address.go         |  194 +
 .../plc4go/s7/readwrite/model/S7AddressAny.go      |  330 ++
 .../plc4go/s7/readwrite/model/S7Message.go         |  412 ++
 .../plc4go/s7/readwrite/model/S7MessageRequest.go  |  138 +
 .../plc4go/s7/readwrite/model/S7MessageResponse.go |  195 +
 .../s7/readwrite/model/S7MessageResponseData.go    |  195 +
 .../plc4go/s7/readwrite/model/S7MessageUserData.go |  138 +
 .../plc4go/s7/readwrite/model/S7Parameter.go       |  265 +
 .../readwrite/model/S7ParameterReadVarRequest.go   |  204 +
 .../readwrite/model/S7ParameterReadVarResponse.go  |  168 +
 .../model/S7ParameterSetupCommunication.go         |  250 +
 .../s7/readwrite/model/S7ParameterUserData.go      |  204 +
 .../s7/readwrite/model/S7ParameterUserDataItem.go  |  194 +
 .../model/S7ParameterUserDataItemCPUFunctions.go   |  406 ++
 .../readwrite/model/S7ParameterWriteVarRequest.go  |  204 +
 .../readwrite/model/S7ParameterWriteVarResponse.go |  168 +
 .../plc4go/s7/readwrite/model/S7Payload.go         |  221 +
 .../s7/readwrite/model/S7PayloadReadVarResponse.go |  191 +
 .../plc4go/s7/readwrite/model/S7PayloadUserData.go |  188 +
 .../s7/readwrite/model/S7PayloadUserDataItem.go    |  311 ++
 ...PayloadUserDataItemCpuFunctionReadSzlRequest.go |  139 +
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |  224 +
 .../s7/readwrite/model/S7PayloadWriteVarRequest.go |  191 +
 .../readwrite/model/S7PayloadWriteVarResponse.go   |  186 +
 .../plc4go/s7/readwrite/model/S7StaticHelper.go    |  150 +
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |  258 +
 .../s7/readwrite/model/S7VarPayloadStatusItem.go   |  141 +
 .../readwrite/model/S7VarRequestParameterItem.go   |  194 +
 .../model/S7VarRequestParameterItemAddress.go      |  179 +
 .../plc4go/s7/readwrite/model/SzlDataTreeItem.go   |  263 +
 plc4go/internal/plc4go/s7/readwrite/model/SzlId.go |  193 +
 .../s7/readwrite/model/SzlModuleTypeClass.go       |   95 +
 .../plc4go/s7/readwrite/model/SzlSublist.go        |  170 +
 .../plc4go/s7/readwrite/model/TPKTPacket.go        |  204 +
 .../plc4go/s7/readwrite/model/TransportSize.go     |  702 +++
 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          |   91 +
 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                 |  163 +
 plc4go/pkg/plc4go/drivers/drivers.go               |   33 +
 plc4go/pkg/plc4go/model/plc_connection_metadata.go |   35 +
 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/transports/transports.go         |   33 +
 plc4go/pkg/plc4go/values/plc_value.go              |   88 +
 plc4go/pom.xml                                     |  237 +
 .../plc4x/java/api/messages/PlcReadRequest.java    |    3 +
 .../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   |   36 +-
 .../java/api/model/PlcConsumerRegistration.java    |   12 +
 .../org/apache/plc4x/java/api/model/PlcField.java  |   29 +
 .../plc4x/java/api/model/PlcSubscriptionField.java |   32 +
 .../java/api/model/PlcSubscriptionHandle.java      |    8 +-
 .../apache/plc4x/java/api/value/PlcBigDecimal.java |  164 -
 .../apache/plc4x/java/api/value/PlcBigInteger.java |  164 -
 .../apache/plc4x/java/api/value/PlcBoolean.java    |  168 -
 .../org/apache/plc4x/java/api/value/PlcByte.java   |  168 -
 .../org/apache/plc4x/java/api/value/PlcDate.java   |   67 -
 .../apache/plc4x/java/api/value/PlcDateTime.java   |   93 -
 .../org/apache/plc4x/java/api/value/PlcDouble.java |  168 -
 .../org/apache/plc4x/java/api/value/PlcFloat.java  |  168 -
 .../apache/plc4x/java/api/value/PlcInteger.java    |  168 -
 .../org/apache/plc4x/java/api/value/PlcList.java   |   84 -
 .../org/apache/plc4x/java/api/value/PlcLong.java   |  168 -
 .../org/apache/plc4x/java/api/value/PlcShort.java  |  168 -
 .../plc4x/java/api/value/PlcSimpleValue.java       |   77 -
 .../org/apache/plc4x/java/api/value/PlcString.java |  218 -
 .../org/apache/plc4x/java/api/value/PlcStruct.java |   84 -
 .../org/apache/plc4x/java/api/value/PlcTime.java   |   67 -
 .../org/apache/plc4x/java/api/value/PlcValue.java  |    7 +
 .../plc4x/java/api/value/PlcValueAdapter.java      |  292 -
 .../plc4x/java/api/value/PlcValueHandler.java      |   46 +
 .../org/apache/plc4x/java/api/value/PlcValues.java |  382 --
 .../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 +
 .../apache/plc4x/java/abeth/field/AbEthField.java  |    5 +
 .../plc4x/java/abeth/field/AbEthFieldHandler.java  |    4 +-
 .../java/abeth/protocol/AbEthProtocolLogic.java    |   33 +-
 .../java/abeth/protocol/Plc4xAbEthProtocol.java    |   23 +-
 .../org/apache/plc4x/protocol/abeth/AbEthTest.java |    2 +-
 plc4j/drivers/ads/pom.xml                          |   47 +-
 .../org/apache/plc4x/java/ads/ADSPlcDriver.java    |   22 +
 .../java/ads/configuration/AdsConfiguration.java   |    4 +-
 .../org/apache/plc4x/java/ads/field/AdsField.java  |    5 +-
 .../plc4x/java/ads/field/AdsFieldHandler.java      | 1081 +---
 .../plc4x/java/ads/field/AdsStringField.java       |   25 +
 .../plc4x/java/ads/field/DirectAdsField.java       |   31 +
 .../plc4x/java/ads/field/DirectAdsStringField.java |  126 +
 .../plc4x/java/ads/field/SymbolicAdsField.java     |   32 +-
 .../java/ads/field/SymbolicAdsStringField.java     |   98 +
 .../plc4x/java/ads/protocol/AdsProtocolLogic.java  |  204 +-
 .../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   |  489 --
 .../attic/protocol/util/LittleEndianEncoder.java   |  285 -
 .../protocol/util/SingleMessageRateLimiter.java    |  124 -
 .../plc4x/java/amsads/attic/types/AdsDataType.java |  578 --
 .../ads/AdsDiscoverySerializerParserTest.java      |   30 +
 .../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   |  655 ---
 plc4j/drivers/eip/pom.xml                          |    8 +
 .../apache/plc4x/java/eip/readwrite/EIPDriver.java |    7 +
 .../plc4x/java/eip/readwrite/field/EipField.java   |    5 +
 .../java/eip/readwrite/field/EipFieldHandler.java  |  401 +-
 .../eip/readwrite/protocol/EipProtocolLogic.java   |   76 +-
 .../java/eip/readwrite/EIPDriverTestsuite.java     |    2 +-
 .../readwrite/EIPParserSerializerTestsuite.java    |    2 +-
 .../resources/testsuite/EIPDriverTestsuite.xml     |  152 -
 plc4j/drivers/firmata/pom.xml                      |    9 +-
 .../java/firmata/readwrite/FirmataDriver.java      |    7 +
 .../readwrite/context/FirmataDriverContext.java    |   18 +-
 .../java/firmata/readwrite/field/FirmataField.java |    2 +-
 .../readwrite/field/FirmataFieldAnalog.java        |    5 +
 .../readwrite/field/FirmataFieldDigital.java       |    7 +-
 .../readwrite/field/FirmataFieldHandler.java       |  116 +-
 .../readwrite/protocol/FirmataProtocolLogic.java   |   31 +-
 .../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       |   35 +-
 .../plc4x/java/knxnetip/ets5/model/Ets5Model.java  |   10 +-
 .../java/knxnetip/ets5/model/GroupAddress.java     |    7 +-
 .../plc4x/java/knxnetip/field/KnxNetIpField.java   |    5 +
 .../java/knxnetip/field/KnxNetIpFieldHandler.java  |   87 +-
 .../knxnetip/protocol/KnxNetIpProtocolLogic.java   |  141 +-
 .../plc4x/java/knxnetip/utils/KnxHelper.java       |   11 +-
 .../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 +-
 .../apache/plc4x/java/mock/field/MockField.java    |    5 +
 .../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  |   21 +-
 .../plc4x/java/modbus/field/ModbusField.java       |   68 +-
 .../plc4x/java/modbus/field/ModbusFieldCoil.java   |   21 +-
 .../modbus/field/ModbusFieldDiscreteInput.java     |   21 +-
 .../java/modbus/field/ModbusFieldHandler.java      |  115 +-
 .../modbus/field/ModbusFieldHoldingRegister.java   |   21 +-
 .../modbus/field/ModbusFieldInputRegister.java     |   21 +-
 .../java/modbus/protocol/ModbusProtocolLogic.java  |  307 +-
 .../plc4x/java/modbus/ManualModbusDriverTest.java  |  103 +
 .../apache/plc4x/java/modbus/ModbusDriverIT.java   |   29 +
 .../apache/plc4x/java/modbus/ModbusEncodeTest.java |  183 +
 .../plc4x/java/modbus/ModbusFieldDataTypeTest.java |   98 +
 .../apache/plc4x/java/modbus/ModbusFieldTest.java  |   71 +
 .../org/apache/plc4x/java/modbus/ModbusIOTest.java |   29 -
 .../java/modbus/ModbusParserSerializerTest.java    |   29 +
 .../test/resources/testsuite/ModbusTestsuite.xml   |  122 -
 plc4j/drivers/opcua/pom.xml                        |   31 +-
 .../opcua/connection/BaseOpcuaPlcConnection.java   |    3 +-
 .../opcua/connection/OpcuaTcpPlcConnection.java    |  188 +-
 .../plc4x/java/opcua/protocol/OpcuaField.java      |    5 +
 .../java/opcua/protocol/OpcuaPlcFieldHandler.java  |  136 +-
 .../opcua/protocol/OpcuaSubsriptionHandle.java     |    5 +-
 .../apache/plc4x/java/opcua/ManualPLC4XOpcua.java  |    4 +-
 .../plc4x/java/opcua/OpcuaPlcDriverTest.java       |    4 +-
 plc4j/drivers/s7/pom.xml                           |    8 +
 .../apache/plc4x/java/s7/readwrite/S7Driver.java   |    7 +
 .../plc4x/java/s7/readwrite/field/S7Field.java     |  198 +-
 .../java/s7/readwrite/field/S7PlcFieldHandler.java |  579 +-
 .../java/s7/readwrite/field/S7StringField.java     |   55 +
 .../java/s7/readwrite/optimizer/S7Optimizer.java   |    4 +-
 .../s7/readwrite/protocol/S7ProtocolLogic.java     |  223 +-
 .../java/s7/readwrite/utils/S7TsapIdEncoder.java   |    2 +-
 .../apache/plc4x/java/s7/utils/StaticHelper.java   |  130 +-
 .../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 +-
 .../plc4x/java/s7/readwrite/field/S7FieldTest.java |    2 +-
 .../s7/src/test/resources/testsuite/S7DriverIT.xml |  308 -
 plc4j/drivers/simulated/pom.xml                    |   52 +-
 .../simulated/connection/SimulatedConnection.java  |   78 +-
 .../java/simulated/connection/SimulatedDevice.java |   95 +-
 .../plc4x/java/simulated/field/SimulatedField.java |   58 +-
 .../simulated/field/SimulatedFieldHandler.java     |  174 +-
 .../plc4x/java/simulated/utils/StaticHelper.java   |   66 +
 .../connection/SimulatedConnectionTest.java        |   30 +-
 .../simulated/connection/SimulatedDeviceTest.java  |    8 +-
 .../simulated/field/SimularedFieldHandlerTest.java |   33 +-
 .../java/simulated/field/SimulatedFieldTest.java   |   19 +-
 .../dummydriver/connection/DummyConnection.java    |    2 -
 .../hello-connectivity-mqtt/mqtt-connector.yml     |    2 +-
 plc4j/examples/hello-integration-iotdb/pom.xml     |   18 +-
 plc4j/examples/hello-storage-elasticsearch/pom.xml |   20 +
 .../watertank/service/WaterTankService.java        |    4 +-
 .../examples/hellowebservice/HelloWebservice.java  |    4 +-
 .../examples/helloplc4x/write/HelloPlc4xWrite.java |    9 +-
 .../plc4x/java/examples/helloplc4x/HelloPlc4x.java |   10 +-
 plc4j/examples/replay-test/pom.xml                 |   78 +
 .../apache-calcite/src/test/resources/example.yml  |    2 +-
 .../java/org/apache/plc4x/camel/MockDriver.java    |    3 +-
 .../plc4x/edgent/PlcConnectionAdapterTest.java     |    1 -
 plc4j/integrations/apache-kafka/README.md          |  233 +-
 .../apache-kafka/config/plc4x-sink.properties      |   77 +
 .../apache-kafka/config/plc4x-source.properties    |   78 +-
 plc4j/integrations/apache-kafka/pom.xml            |   86 +-
 .../org/apache/plc4x/kafka/Plc4xSinkConnector.java |  123 +
 .../java/org/apache/plc4x/kafka/Plc4xSinkTask.java |  271 +
 .../apache/plc4x/kafka/Plc4xSourceConnector.java   |  200 +-
 .../org/apache/plc4x/kafka/Plc4xSourceTask.java    |  144 +-
 .../org/apache/plc4x/kafka/config/Constants.java   |   89 +
 .../org/apache/plc4x/kafka/config/Defaults.java    |   33 -
 .../java/org/apache/plc4x/kafka/config/Field.java  |   65 +
 .../java/org/apache/plc4x/kafka/config/Job.java    |   62 +-
 .../apache/plc4x/kafka/config/JobReference.java    |   34 +-
 .../java/org/apache/plc4x/kafka/config/Sink.java   |  135 +
 .../org/apache/plc4x/kafka/config/SinkConfig.java  |   84 +
 .../java/org/apache/plc4x/kafka/config/Source.java |  109 +-
 .../apache/plc4x/kafka/config/SourceConfig.java    |  121 +-
 .../kafka/exceptions/ConfigurationException.java   |   31 -
 .../apache/plc4x/kafka/config/SinkConfigTest.java  |  130 +
 .../apache/plc4x/kafka/config/SinkTaskTest.java    |  145 +
 .../plc4x/kafka/config/SourceConfigTest.java       |  156 +-
 .../apache/plc4x/kafka/config/SourceTaskTest.java  |  101 +
 .../kafka/properties/sink_task_no_error.properties |   62 +
 .../properties/source_task_no_error.properties     |   62 +
 .../apache-nifi/nifi-plc4x-nar/pom.xml             |   24 +-
 .../apache-nifi/nifi-plc4x-processors/pom.xml      |    6 +
 .../org/apache/plc4x/nifi/BasePlc4xProcessor.java  |   23 +-
 .../org/apache/plc4x/nifi/Plc4xSinkProcessor.java  |   50 +-
 .../apache/plc4x/nifi/Plc4xSourceProcessor.java    |   63 +-
 plc4j/integrations/apache-nifi/pom.xml             |    2 +-
 plc4j/integrations/logstash-plugin/pom.xml         |   43 +-
 plc4j/karaf-features/camel/pom.xml                 |    2 +-
 plc4j/karaf-features/eip/pom.xml                   |    2 +-
 plc4j/karaf-features/s7/pom.xml                    |    2 +-
 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     |   97 -
 .../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 +
 .../apache/plc4x/java/spi/generation/Message.java  |    4 -
 .../plc4x/java/spi/generation/ReadBuffer.java      |   57 +-
 .../plc4x/java/spi/generation/StaticHelper.java    |    5 +
 .../plc4x/java/spi/generation/WriteBuffer.java     |   69 +-
 .../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   |   46 +-
 .../java/spi/messages/DefaultPlcReadResponse.java  |   49 +-
 .../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  |  192 +-
 .../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 +
 .../plc4x/java/spi/generation/ReadBufferTest.java  |   40 +
 .../connectionpool/PooledPlcDriverManager.java     |    6 +-
 plc4j/tools/interop/pom.xml                        |    3 -
 .../java/org/apache/plc4x/interop/impl/Server.java |    4 +-
 .../apache/plc4x/java/opm/ConnectedEntityTest.java |    4 +-
 .../java/opm/PlcEntityManagerComplexTest.java      |  124 +-
 .../plc4x/java/opm/PlcEntityManagerTest.java       |   12 +-
 .../apache/plc4x/java/scraper/ScraperTaskTest.java |    6 +-
 .../org/apache/plc4x/java/scraper/ScraperTest.java |    6 +-
 .../triggeredscraper/TriggeredScraperImplTest.java |   16 +-
 plc4j/transports/serial/pom.xml                    |    1 -
 .../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   |  176 +-
 .../plc4x/test/driver/model/DriverTestsuite.java   |   20 +-
 .../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           |    5 +
 pom.xml                                            |  818 ++-
 .../protocols/abeth/ParserSerializerTestsuite.xml  |    0
 .../plc4x/protocol/ads/ADSDiscoveryProtocol.java   |   49 +
 ...e.plc4x.plugins.codegenerator.protocol.Protocol |    3 +-
 .../resources/protocols/ads/ads-discovery.mspec    |   89 +-
 .../ads/src/main/resources/protocols/ads/ads.mspec |  199 +-
 .../protocols/ads/AdsDiscoverySerializerTest.xml   |  377 ++
 .../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    |  152 +
 .../protocols/eip/ParserSerializerTestsuite.xml    |    0
 .../firmata/ParserSerializerTestsuite.xml          |    0
 .../resources/protocols/knxnetip/knxnetip.mspec    | 1218 +++-
 .../apache/plc4x/protocols/knxnetip/protocol.tdml  |  112 +-
 .../knxnetip/ParserSerializerTestsuite.xml         |  500 ++
 .../main/resources/protocols/modbus/modbus.mspec   |  167 +-
 .../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    |  141 +-
 .../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  |  163 +
 sandbox/code-gen/pom.xml                           |   29 +-
 .../java/discovery/DiscoveryFieldHandler.java      |    4 +-
 sandbox/hello-influx-data-collection/pom.xml       |    1 -
 .../java/examples/helloinflux/HelloInflux.java     |   25 +-
 sandbox/opcua-server/README.adoc                   |  121 +
 sandbox/opcua-server/pom.xml                       |  260 +
 .../java/opcuaserver/AttributeLoggingFilter.java   |   73 +
 .../plc4x/java/opcuaserver/Configuration.java      |   82 +
 .../java/opcuaserver/DeviceConfiguration.java      |   50 +
 .../plc4x/java/opcuaserver/KeyStoreLoader.java     |  170 +
 .../apache/plc4x/java/opcuaserver/OPCUAServer.java |  357 ++
 .../java/opcuaserver/PasswordConfiguration.java    |   92 +
 .../java/opcuaserver/RestrictedAccessFilter.java   |   55 +
 .../org/apache/plc4x/java/opcuaserver/Tag.java     |   43 +
 .../org/apache/plc4x/java/opcuaserver/User.java    |  104 +
 .../opcuaserver/backend/Plc4xCommunication.java    |  254 +
 .../java/opcuaserver/backend/Plc4xNamespace.java   |  258 +
 sandbox/opcua-server/src/main/resources/config.yml |   43 +
 .../opcua-server/src/main/resources/logback.xml    |   34 +
 .../org/apache/plc4x/java/opcuaserver/AppTest.java |   40 +
 sandbox/plc-simulator/pom.xml                      |    1 +
 .../apache/plc4x/java/s7/utils/StaticHelper.java   |   77 +-
 sandbox/plc4c/api/include/plc4c/connection.h       |   10 +-
 sandbox/plc4c/api/include/plc4c/data.h             |   35 +-
 sandbox/plc4c/api/include/plc4c/read.h             |    1 +
 sandbox/plc4c/api/include/plc4c/types.h            |    7 +
 sandbox/plc4c/drivers/modbus/CMakeLists.txt        |   17 +-
 .../drivers/modbus/include/plc4c/driver_modbus.h   |    6 +-
 .../modbus/include/plc4c/driver_modbus_packets.h   |   45 +
 .../modbus/include/plc4c/driver_modbus_sm.h        |   47 +
 .../modbus/include/plc4c/driver_s7_encode_decode.h |   36 +
 sandbox/plc4c/drivers/modbus/src/driver_modbus.c   |   16 +-
 .../modbus/src/driver_modbus_encode_decode.c       |  110 +
 .../drivers/modbus/src/driver_modbus_packets.c     |  142 +
 .../drivers/modbus/src/driver_modbus_sm_connect.c  |   51 +
 .../modbus/src/driver_modbus_sm_disconnect.c       |   74 +
 .../drivers/modbus/src/driver_modbus_sm_read.c     |  119 +
 .../drivers/modbus/src/driver_modbus_sm_write.c    |  121 +
 sandbox/plc4c/drivers/s7/CMakeLists.txt            |   11 +-
 sandbox/plc4c/drivers/s7/include/plc4c/driver_s7.h |   61 +
 .../s7/include/plc4c/driver_s7_encode_decode.h     |   45 +
 .../drivers/s7/include/plc4c/driver_s7_packets.h   |   53 +
 .../plc4c/drivers/s7/include/plc4c/driver_s7_sm.h  |   47 +
 sandbox/plc4c/drivers/s7/src/driver_s7.c           |   95 +-
 .../plc4c/drivers/s7/src/driver_s7_encode_decode.c |  346 ++
 sandbox/plc4c/drivers/s7/src/driver_s7_packets.c   |  524 ++
 .../plc4c/drivers/s7/src/driver_s7_sm_connect.c    |  348 ++
 .../plc4c/drivers/s7/src/driver_s7_sm_disconnect.c |   81 +
 sandbox/plc4c/drivers/s7/src/driver_s7_sm_read.c   |  207 +
 sandbox/plc4c/drivers/s7/src/driver_s7_sm_write.c  |  122 +
 .../plc4c/drivers/s7/test/s7_address_parser_test.c |  110 +
 sandbox/plc4c/drivers/s7/test/s7_test.c            |    7 +-
 .../simulated/include/plc4c/driver_simulated.h     |    6 +-
 .../plc4c/drivers/simulated/src/driver_simulated.c |   15 +-
 sandbox/plc4c/examples/hello-world/CMakeLists.txt  |   11 +-
 .../plc4c/examples/hello-world/src/hello_world.c   |   59 +-
 .../generated-sources/modbus/include/data_item.h   |   43 +
 .../modbus/include/modbus_constants.h              |   56 +
 .../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  |  255 +
 .../modbus_pdu_read_file_record_request_item.h     |   56 +
 .../modbus_pdu_read_file_record_response_item.h    |   54 +
 .../modbus_pdu_write_file_record_request_item.h    |   56 +
 .../modbus_pdu_write_file_record_response_item.h   |   56 +
 .../modbus/include/modbus_serial_adu.h             |   57 +
 .../modbus/include/modbus_tcp_adu.h                |   60 +
 .../modbus/includes/modbus_constants.h             |   56 -
 .../generated-sources/modbus/includes/modbus_pdu.h |  241 -
 .../modbus_pdu_read_file_record_request_item.h     |   56 -
 .../modbus_pdu_read_file_record_response_item.h    |   54 -
 .../modbus_pdu_write_file_record_request_item.h    |   56 -
 .../modbus_pdu_write_file_record_response_item.h   |   56 -
 .../modbus/includes/modbus_serial_adu.h            |   57 -
 .../modbus/includes/modbus_tcp_adu.h               |   60 -
 .../plc4c/generated-sources/modbus/src/data_item.c |  337 ++
 .../modbus/src/modbus_constants.c                  |   10 +-
 .../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      |  628 ++-
 .../src/modbus_pdu_read_file_record_request_item.c |   22 +-
 .../modbus_pdu_read_file_record_response_item.c    |   22 +-
 .../modbus_pdu_write_file_record_request_item.c    |   36 +-
 .../modbus_pdu_write_file_record_response_item.c   |   38 +-
 .../modbus/src/modbus_serial_adu.c                 |   26 +-
 .../generated-sources/modbus/src/modbus_tcp_adu.c  |   26 +-
 .../generated-sources/s7/include/cotp_packet.h     |  108 +
 .../generated-sources/s7/include/cotp_parameter.h  |   91 +
 .../s7/include/cotp_protocol_class.h               |   52 +
 .../generated-sources/s7/include/cotp_tpdu_size.h  |   56 +
 .../plc4c/generated-sources/s7/include/data_item.h |   43 +
 .../s7/include/data_transport_error_code.h         |   53 +
 .../s7/include/data_transport_size.h               |   56 +
 .../generated-sources/s7/include/device_group.h    |   50 +
 .../generated-sources/s7/include/memory_area.h     |   58 +
 .../generated-sources/s7/include/s7_address.h      |   81 +
 .../generated-sources/s7/include/s7_message.h      |   95 +
 .../generated-sources/s7/include/s7_parameter.h    |   99 +
 .../s7/include/s7_parameter_user_data_item.h       |   81 +
 .../generated-sources/s7/include/s7_payload.h      |   91 +
 .../s7/include/s7_payload_user_data_item.h         |   88 +
 .../s7/include/s7_var_payload_data_item.h          |   57 +
 .../s7/include/s7_var_payload_status_item.h        |   54 +
 .../s7/include/s7_var_request_parameter_item.h     |   75 +
 .../s7/include/szl_data_tree_item.h                |   57 +
 .../plc4c/generated-sources/s7/include/szl_id.h    |   57 +
 .../s7/include/szl_module_type_class.h             |   51 +
 .../generated-sources/s7/include/szl_sublist.h     |   66 +
 .../generated-sources/s7/include/tpkt_packet.h     |   58 +
 .../generated-sources/s7/include/transport_size.h  |   96 +
 .../generated-sources/s7/includes/cotp_packet.h    |  108 -
 .../generated-sources/s7/includes/cotp_parameter.h |   91 -
 .../s7/includes/cotp_protocol_class.h              |   47 -
 .../generated-sources/s7/includes/cotp_tpdu_size.h |   51 -
 .../s7/includes/data_transport_error_code.h        |   48 -
 .../s7/includes/data_transport_size.h              |   51 -
 .../generated-sources/s7/includes/device_group.h   |   45 -
 .../generated-sources/s7/includes/memory_area.h    |   53 -
 .../generated-sources/s7/includes/s7_address.h     |   81 -
 .../generated-sources/s7/includes/s7_message.h     |   95 -
 .../generated-sources/s7/includes/s7_parameter.h   |   99 -
 .../s7/includes/s7_parameter_user_data_item.h      |   81 -
 .../generated-sources/s7/includes/s7_payload.h     |   91 -
 .../s7/includes/s7_payload_user_data_item.h        |   88 -
 .../s7/includes/s7_var_payload_data_item.h         |   57 -
 .../s7/includes/s7_var_payload_status_item.h       |   54 -
 .../s7/includes/s7_var_request_parameter_item.h    |   75 -
 .../s7/includes/szl_data_tree_item.h               |   57 -
 .../plc4c/generated-sources/s7/includes/szl_id.h   |   57 -
 .../s7/includes/szl_module_type_class.h            |   46 -
 .../generated-sources/s7/includes/szl_sublist.h    |   61 -
 .../generated-sources/s7/includes/tpkt_packet.h    |   58 -
 .../generated-sources/s7/includes/transport_size.h |   88 -
 .../plc4c/generated-sources/s7/src/cotp_packet.c   |   94 +-
 .../generated-sources/s7/src/cotp_parameter.c      |   35 +-
 .../generated-sources/s7/src/cotp_protocol_class.c |   46 +
 .../generated-sources/s7/src/cotp_tpdu_size.c      |   72 +-
 sandbox/plc4c/generated-sources/s7/src/data_item.c |  275 +
 .../s7/src/data_transport_error_code.c             |   52 +
 .../generated-sources/s7/src/data_transport_size.c |   72 +-
 .../plc4c/generated-sources/s7/src/device_group.c  |   34 +
 .../plc4c/generated-sources/s7/src/memory_area.c   |   88 +-
 .../plc4c/generated-sources/s7/src/s7_address.c    |   38 +-
 .../plc4c/generated-sources/s7/src/s7_message.c    |   54 +-
 .../plc4c/generated-sources/s7/src/s7_parameter.c  |   64 +-
 .../s7/src/s7_parameter_user_data_item.c           |   46 +-
 .../plc4c/generated-sources/s7/src/s7_payload.c    |   30 +-
 .../s7/src/s7_payload_user_data_item.c             |   40 +-
 .../s7/src/s7_var_payload_data_item.c              |   38 +-
 .../s7/src/s7_var_payload_status_item.c            |   10 +-
 .../s7/src/s7_var_request_parameter_item.c         |   18 +-
 .../generated-sources/s7/src/szl_data_tree_item.c  |   27 +-
 sandbox/plc4c/generated-sources/s7/src/szl_id.c    |   18 +-
 .../s7/src/szl_module_type_class.c                 |   40 +
 .../plc4c/generated-sources/s7/src/szl_sublist.c   |  130 +
 .../plc4c/generated-sources/s7/src/tpkt_packet.c   |   22 +-
 .../generated-sources/s7/src/transport_size.c      |  462 +-
 sandbox/plc4c/spi/include/plc4c/spi/read_buffer.h  |    7 +
 .../plc4c/spi/include/plc4c/spi/types_private.h    |   72 +-
 sandbox/plc4c/spi/src/connection.c                 |    5 +
 sandbox/plc4c/spi/src/data.c                       |   95 +-
 sandbox/plc4c/spi/src/evaluation_helper.c          |    4 +
 sandbox/plc4c/spi/src/read.c                       |   24 +-
 sandbox/plc4c/spi/src/system.c                     |   41 +-
 sandbox/plc4c/spi/src/utils/list.c                 |    3 +-
 sandbox/plc4c/spi/src/write.c                      |    9 +-
 .../plc4c/transports/dummy/src/transport_dummy.c   |    5 +
 sandbox/plc4c/transports/serial/CMakeLists.txt     |    4 +-
 .../plc4c/transports/serial/src/transport_serial.c |   24 +
 sandbox/plc4c/transports/tcp/CMakeLists.txt        |    4 +-
 .../transports/tcp/include/plc4c/transport_tcp.h   |    8 +
 sandbox/plc4c/transports/tcp/src/transport_tcp.c   |  124 +
 sandbox/plc4cpp/pom.xml                            |    1 -
 sandbox/pom.xml                                    |   29 +-
 sandbox/test-java-bacnetip-driver/pom.xml          |    4 +-
 .../apache/plc4x/java/bacnetip/BacNetIpDriver.java |    9 +-
 .../configuration/BacNetIpConfiguration.java       |    5 +-
 .../plc4x/java/bacnetip/ede/model/Datapoint.java   |   32 +-
 .../java/bacnetip/field/BacNetIpFieldHandler.java  |    4 +-
 .../bacnetip/protocol/BacNetIpProtocolLogic.java   |   36 +-
 .../java/bacnetip/PassiveBacNetIpDriverManual.java |    2 +-
 sandbox/test-java-df1-driver/pom.xml               |   64 +-
 .../org/apache/plc4x/java/df1/DF1PlcDriver.java    |    9 +-
 .../plc4x/java/df1/field/Df1FieldHandler.java      |   11 +-
 .../plc4x/java/df1/protocol/Plc4XDf1Protocol.java  |   12 +-
 .../protocol/df1/Df1ParserSerializerTest.java      |    2 +-
 .../adapters/source/knxnetip/KnxNetIpAdapter.java  |    4 +-
 .../enrich/knxnetip/ets5/Ets5DataEnrichment.java   |    2 +-
 src/site/asciidoc/developers/building.adoc         |   23 +-
 .../developers/code-gen/protocol/mspec.adoc        |    6 +-
 .../asciidoc/developers/infrastructure/vm.adoc     |    6 +-
 .../asciidoc/developers/infrastructure/vpn.adoc    |    4 +-
 .../asciidoc/developers/release/build-tools.adoc   |   36 +-
 src/site/asciidoc/developers/team.adoc             |    2 +-
 src/site/asciidoc/index.adoc                       |    2 +-
 src/site/asciidoc/plc4go/index.adoc                |  147 +
 src/site/asciidoc/users/adopters.adoc              |   11 +-
 .../asciidoc/users/blogs-videos-and-slides.adoc    |    4 +
 .../general-concepts.adoc                          |    0
 .../asciidoc/users/getting-started/plc4go.adoc     |  283 +
 src/site/asciidoc/users/getting-started/plc4j.adoc |  294 +
 .../{plc4j => getting-started}/virtual-modbus.adoc |    0
 src/site/asciidoc/users/gettingstarted.adoc        |    6 +-
 .../asciidoc/users/integrations/apache-kafka.adoc  |  218 +-
 .../asciidoc/users/integrations/apache-nifi.adoc   |  135 +
 src/site/asciidoc/users/plc4j/gettingstarted.adoc  |  294 -
 src/site/asciidoc/users/preparing-issues.adoc      |   19 +
 src/site/asciidoc/users/protocols/knxnetip.adoc    |    3 +-
 src/site/asciidoc/users/protocols/modbus.adoc      |  169 +-
 src/site/asciidoc/users/protocols/s7.adoc          |    9 +
 src/site/asciidoc/users/protocols/simulated.adoc   |  120 +
 .../images/integrations/nifi/add-processor.png     |  Bin 0 -> 25508 bytes
 .../nifi/configure-processor-properties.png        |  Bin 0 -> 36219 bytes
 .../integrations/nifi/configure-scheduling.png     |  Bin 0 -> 37276 bytes
 .../images/integrations/nifi/configured-flow.png   |  Bin 0 -> 130333 bytes
 .../integrations/nifi/configured-log-processor.png |  Bin 0 -> 54626 bytes
 .../nifi/configured-plc4x-source-processor.png     |  Bin 0 -> 41203 bytes
 .../integrations/nifi/configuring-connection.png   |  Bin 0 -> 39490 bytes
 .../images/integrations/nifi/empty-nifi-flow.png   |  Bin 0 -> 74244 bytes
 .../integrations/nifi/list-of-plc4x-processors.png |  Bin 0 -> 103175 bytes
 .../images/integrations/nifi/running-flow.png      |  Bin 0 -> 59506 bytes
 .../images/users/companies/logo-pietrorimoldi.jpg  |  Bin 0 -> 584330 bytes
 .../logo_record_evolution_single_dark_bgfont.png   |  Bin 0 -> 10498 bytes
 src/site/site.xml                                  |    9 +-
 tools/thrift/pom.xml                               |    2 +-
 1081 files changed, 125885 insertions(+), 19280 deletions(-)