You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2021/09/02 13:13:35 UTC

[plc4x] branch change-opc-delimiter updated (3675be2 -> 94da23e)

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

cdutz pushed a change to branch change-opc-delimiter
in repository https://gitbox.apache.org/repos/asf/plc4x.git.


    from 3675be2  changed delimiter of opc ua from : to ;
     add d2face5  S7 mspec test.
     add 93c19d9  S7 mspec test.
     add 7c1ad93  Test mspec.
     add 305b5e1  Test of mspec.
     add 41acabf  Test mspec.
     add 5482677  Test mspec.
     add f0745a5  Test mspec.
     add 5435aa4  Tests mspec.
     add 24779bd  Test mspec.
     add a21ca21  Test mspec.
     add 78fbff3  Test mspec.
     add 6e05263  Test mspec.
     add 4228b75  S7 MODE,USR,SYS support. Working on./opencv_perf_video
     add 5884867  S7Event work on.
     add 2d64b0d  S7Event working on.
     add 70cdcce  S7Event working on.
     add a2073a8  S7Event working on.
     add 5804800  S7Event working on.
     add bfe7ac3  S7Event working on.
     add cfff378  S7Event working on.
     add 599960b  S7Event working on.
     add 4140a1a  S7Event working on.
     add 8542328  S7Event working on.
     add 922083b  Merge branch 's7event' of https://github.com/glcj/plc4x into s7event
     add 4c5019c  S7Event working on.
     add abd0d99  S7Event working on.
     add 41bc00a  S7Event working on.
     add 05215aa  S7Event working on.
     add 1d0de54  S7Event working on.
     add 3d0c161  Alarm processing.
     add aa51b05  Alarm working on.
     add b3e928c  Alarm working on.
     add 31b394d  Alarm working on.
     add c933f80  Alarm working on.
     add 3c33859  Alarm working on!.
     add 041ce77  Alarm event working on.
     add 6c7cf27  Merge branch 's7event' of https://github.com/glcj/plc4x into s7event
     add 75bd4e3  Alarm working on.
     add 4f4346d  Merge branch 's7event' of https://github.com/glcj/plc4x into s7event
     add 2edb527  Alarm working on.
     add 5f8a0ce  OSGi test.
     add 1820de5  Strings..
     add 9f1d929  Strings..
     add e00b70c  String handler...
     add cd9f609  Fix tools.
     add 908c0eb  S7Event implementation.
     add 31a7a52  - Fixed some more memory-leak issues in plc4c
     add aaf402d  - Initial commit of what I started working on for the PROFINET protocol (This doesn't compile as it's in it's super-early stages)
     add 71a90f1  - Continued implementing the PROFINET DCP Types
     add 7352fb3  Added some logging if messages are discarded in order to try tracking down some issues on embedded devices.
     add 9f7f6ee  CHanged the log-level from DEBUG to INFO
     add 086bccc  Added some debugging information for tracking down issues when running drivers on embedded hardware
     add 60ef131  Merge branch 'develop' of github.com:apache/plc4x into feature/profinet-chris
     add f0c6136  - Fixed some more memory-leak issues in plc4c
     add 2d97ec7  Made sure the sonarqube integration is always fresh for plc4c
     add b2a15f3  Made sure the sonarqube integration is always fresh for plc4c
     add 5fd85ac  Merge branch 'develop' of github.com:apache/plc4x into feature/profinet-chris
     add ad95803  - Worked on implementing the basics of Discovery in API and SPI - Refactored the driver.getDriver function to operate on the driver-code and added a second getDriverForUrl
     add b17673a  plc4j: added a Serializable interface
     add 0a139d2  Merge branch 'develop' of github.com:apache/plc4x into feature/profinet-chris
     add ef1f54e  - Got the Profinet driver to compile
     add e0bd3cb  - Managed to implement a first working version of Profinet auto-discovery working.
     add 114db2d  plc4j: removed the XmlSerializable interface
     add fffe4ac  Merge branch 'develop' of github.com:apache/plc4x into feature/profinet-chris
     add 2ab5472  fix build:
     add 24e739e  fix build:
     add f0cf6eb  Merge branch 'develop' of github.com:apache/plc4x into feature/profinet-chris
     add d72f361  - Adjusted the code to latest changes from develop
     add a9e804e  plc4j: fixed timing issue with SimulatedConnectionTest
     add 7d87ec5  plc4j: fixed timing issue with SimulatedConnectionTest
     add 86a0016  Merge branch 'develop' into feature/profinet-chris
     add fe89bcd  plc4x: unified golang and java xml writing of spi types
     add 3d27849  plc4x: unified golang and java xml writing of spi types
     add 1954d40  plc4x: fixed datatypes and bitlengths of field types for spi (ads,eip,modbus,s7)
     add 2c746dc  It turns out the KNX discovery used "SendRequest" for the search. This resulted in only one response being handled and the second response being discarded. Refactored the code to use a loop consuming the default-channel, hereby allowing multiple responses.
     add a0afb3c  plc4j: small cleanup and refactorings on BacNetIpProtocolLogic
     add 35ff4b5  plc4go: initial bacnet draft
     add 6bed9e0  Merge branch 'develop' of github.com:apache/plc4x into feature/profinet-chris
     add 6c81528  - Fine-tuned the discovery to clean up allocated resources after finishing discovery - Made the example actually return something - Added an "executeWithHandler" which is able to intercept incoming events as they come in
     add 299a01c  - Commented out forcing pcap4j-core lib to the provided scope
     add ed306ad  - Added a serial transport - Made the existing transports safe against deadlocks if no data at all is coming in
     add c98b47a  - Line Break mess
     add 49fe49a  - Line Break mess
     add cd9b423  - Line Break mess
     add 83851a8  - Line Break mess
     add d286844  - Cleanup of imports
     add ba6c58b  added language x protocol table
     add 0df4777  Update index.adoc
     add d652e05  Update index.adoc
     add dc98df2  Feature/native opua client (#253)
     add 0f8c760  Fix for initial OPCUA sequence number, some servers don't start at 1
     add 8671940   PLC4X-307 Add support for custom generator options / customized packages (#263)
     add cef562a  Fix for username/password authentication
     add 0d6c7b0  Updated documentation for OPCUA driver
     add 9a96de3  Merge branch 'develop' of github.com:apache/plc4x into feature/profinet-chris
     add 2f08c8e  - Added some templates to automatically generate headers in newly created resources.
     add a223103  - Added the activating part of a workaround needed on Windows systems to compile C projects
     add 447862f  - Gave the go build some love
     add d626d8e  - Added new KnxManufacturers
     add 52c28a0  - Added new KnxManufacturers
     add e7f2b04  - Added a missing license-header
     add ec66a0f  - Added a fix allowing the opc-ua driver to be compiled on windows systems
     add 019c6f4  - Fine-tuned the prerequisiteCheck.groovy and added some finding to the README.md
     add 34bfb3f  - Streamlining of Apache Headers in the code-generation and the generated c code
     add dda53e8  - Streamlining of Apache Headers in the manual c code
     add 7a9cdcd  - Streamlining of Apache Headers in the protocol modules
     add 4b3342c  - Streamlining of Apache Headers in the rest of the project
     add bd7396d  - Streamlining of Apache Headers in the rest of the project
     add f4cd3eb  - Streamlining of Apache Headers in the Go part of the project - Added more project level settings for headers in goland and clion
     add 211cba6  - Added a rule to exclude jetbrains configs in subdirectories (plc4go and plc4c) too
     add 4c062f4  Updated OPCUA and Modbus protocol support tables
     add 238d4b6  Updated RELEASE NOTES and TODO for OPCUA driver
     add 1b839d6  - Brought some changes regarding serial transports back to the project. - Added a TransportLogger.go which allows tracing of transport io
     add 08d332b  PLC4X-309 - [S7] Writing byte array not working - Fixed the serialization of PlcList typed fields when writing
     add 977d98a  - Continuned specing out the PROFINET protocol - Minor adjustement to the code templates for "length" type arrays to allow "long" lengths - Added a "STR_LEN" function to the static helper to provide the string length
     add d8db00b  - Finished specing out the types for the Profinet IO CM connection requests
     add 8d537f9  - Added a new knx manufacturer
     add 2a8631c  - Cleaned up in the names of the mspec types for PROFINET to follow a consistent pattern
     add 985947e  - Cleaned up in the names of the mspec types for PROFINET to follow a consistent pattern
     add da01d72  - Added more manufacturers
     add 3b51e81  - Streamlined the default implementation of PlcConnection.ping()
     add 37971cf  - Added a register call for the S7 Go driver.
     add 509a970  - Tidied up the go.mod and go.sum
     add 8da75d5  Merge branch 'develop' of github.com:apache/plc4x into s7event
     add c4ea06f  - Fine-tuning of the PR.
     add 971cbcd  - Continued porting the changes to PLC4C - Changed all usages of enum fields in the s7 to simple fields (all except one, where the enum field actually is required)
     add 22f8c3b  - Fixed a typo in a function name
     add a3b6582  - Continued porting the changes to PLC4C - Changed all usages of enum fields in the s7 to simple fields (all except one, where the enum field actually is required)
     add d8f10f2  - Continued getting the plc4c build working again
     add a18e9ed  - Cleaned up the pom configuration of the language test for go
     add ef4d5c1  - Cleaned up the pom configuration of the language test for go
     add 242bfd9  - Fixed some more enum related problems in PLC4C (We're allmost there)
     add 39a999c  - Fixed the output of the diff-check
     add efce43c  - Fixed the output of the diff-check
     add 07baaf4  - Finished extending PLC4Go to use the Cesar's event extensions
     add 2957ed1  Fix/ when reading OPCUA boolean type a byte is returned instead of boolean value
     add 553abf1  [PLC4X-303] Support hostname lookup when resolving endpoints
     add d059709  fixing timer leaks (#267)
     add 60b0b3e  - Simplified the handling of the transports GetNumReadableBytes to be less of a memory leak (Turns out all transports actually don't block here)
     add 932cd21  Merge branch 'develop' of github.com:apache/plc4x into s7event
     add 37ed824  Added options to the Discovery API which allows passing along options to fine tune how discovery is done.
     add 985988e  Added options to the Discovery API which allows passing along options to fine tune how discovery is done. (Adjusted the BACNet IP driver, which I must have missed adjusting)
     add 0e57493  fix: PLC4X-312 - CAN NOT READ STRING FROM S7 PLC
     add d7bdbe7  Restructured the internal and external parts
     add 1cd8f29  Added "Option" to the name some of the DiscoveryOption types
     add 4355963  Made the KNX driver interpret the "device name discovery-option"
     add fc7634e  Merge branch 's7event' of github.com:apache/plc4x into s7event
     add 94da23e  Merge branch 'develop' into change-opc-delimiter

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |    4 +-
 .github/dependabot.yml                             |   28 +-
 .github/workflows/codeql-analysis.yml              |   32 +-
 .gitignore                                         |    1 +
 .idea/fileTemplates/Go Application.go              |    7 +
 .idea/fileTemplates/Go File.go                     |    3 +
 .idea/fileTemplates/Go Scratch.go                  |    7 +
 .idea/fileTemplates/Properties File.properties     |    1 +
 .idea/fileTemplates/XML File.xml                   |    3 +
 .idea/fileTemplates/Yaml FIle.yaml                 |    1 +
 .idea/fileTemplates/Yml File.yml                   |    1 +
 .idea/fileTemplates/includes/C File Header.h       |   19 +
 .idea/fileTemplates/includes/File Header Go.go     |   18 +
 .../includes/File Header Properties.properties     |   19 +
 .idea/fileTemplates/includes/File Header XML.xml   |   18 +
 .idea/fileTemplates/includes/File Header Yaml.yaml |   18 +
 .idea/fileTemplates/includes/File Header Yml.yml   |   18 +
 .idea/fileTemplates/includes/File Header.java      |   18 +
 .idea/fileTemplates/internal/AnnotationType.java   |    5 +
 .idea/fileTemplates/internal/Class.java            |    5 +
 .idea/fileTemplates/internal/Enum.java             |    5 +
 .idea/fileTemplates/internal/Interface.java        |    5 +
 .idea/fileTemplates/internal/Record.java           |    5 +
 .mvn/extensions.xml                                |   28 +-
 .mvn/wrapper/maven-wrapper.properties              |    3 +-
 .travis.yml                                        |   34 +-
 DEVELOPMENT.md                                     |   28 +-
 Jenkinsfile                                        |    1 -
 LICENSE                                            |    4 +
 README.md                                          |   31 +-
 RELEASE_NOTES                                      |    8 +
 Sometimes-Failling-Tests.md                        |   27 -
 build-reproducible.sh                              |    0
 .../BaseFreemarkerLanguageTemplateHelper.java      |   58 +-
 .../protocol/freemarker/FreemarkerException.java   |   34 +-
 .../freemarker/FreemarkerLanguageOutput.java       |   44 +-
 .../FreemarkerLanguageTemplateHelper.java          |   33 +-
 .../apache/plc4x/language/c/CLanguageOutput.java   |   43 +-
 .../plc4x/language/c/CLanguageTemplateHelper.java  |   69 +-
 .../resources/templates/c/data-io-template.c.ftlh  |   34 +-
 .../resources/templates/c/data-io-template.h.ftlh  |   35 +-
 .../resources/templates/c/enum-template.c.ftlh     |   66 +-
 .../resources/templates/c/enum-template.h.ftlh     |   51 +-
 .../resources/templates/c/pojo-template.c.ftlh     |   50 +-
 .../resources/templates/c/pojo-template.h.ftlh     |   36 +-
 .../test/resources/integration-test/CMakeLists.txt |    2 +
 .../include/plc4c/driver_test_static.h             |   29 +
 .../src/test/resources/integration-test/pom.xml    |   36 +-
 .../language-c/src/test/resources/settings.xml     |    2 +
 .../apache/plc4x/language/go/GoLanguageOutput.java |   41 +-
 .../language/go/GoLanguageTemplateHelper.java      |   44 +-
 .../apache/plc4x/language/go/utils/FieldUtils.java |   34 +-
 .../templates/go/data-io-template.go.ftlh          |   36 +-
 .../resources/templates/go/enum-template.go.ftlh   |   36 +-
 .../resources/templates/go/model-template.go.ftlh  |   62 +-
 .../templates/go/parser-factory-template.go.ftlh   |   36 +-
 .../go/xml-parser-factory-template.go.ftlh         |   48 +-
 .../language-go/src/test/resources/plc4go/pom.xml  |   50 +-
 .../language-go/src/test/resources/settings.xml    |    2 +
 .../plc4x/language/java/JavaLanguageOutput.java    |   44 +-
 .../language/java/JavaLanguageTemplateHelper.java  |   47 +-
 .../templates/java/data-io-template.java.ftlh      |   39 +-
 .../java/enum-package-info-template.java.ftlh      |   34 +-
 .../templates/java/enum-template.java.ftlh         |   35 +-
 .../resources/templates/java/io-template.java.ftlh |   91 +-
 .../templates/java/pojo-template.java.ftlh         |   37 +-
 .../src/test/resources/integration-test/pom.xml    |   36 +-
 .../language-java/src/test/resources/settings.xml  |    2 +
 code-generation/pom.xml                            |   28 +-
 .../plugins/codegenerator/language/mspec/MSpec.g4  |   34 +-
 .../mspec/expression/ExpressionStringListener.java |   33 +-
 .../mspec/expression/ExpressionStringParser.java   |   33 +-
 .../definitions/DefaultComplexTypeDefinition.java  |   38 +-
 .../definitions/DefaultDataIoTypeDefinition.java   |   34 +-
 .../DefaultDiscriminatedComplexTypeDefinition.java |   33 +-
 .../definitions/DefaultEnumTypeDefinition.java     |   33 +-
 .../mspec/model/definitions/DefaultEnumValue.java  |   33 +-
 .../model/definitions/DefaultTypeDefinition.java   |   33 +-
 .../mspec/model/fields/DefaultAbstractField.java   |   33 +-
 .../mspec/model/fields/DefaultArrayField.java      |   33 +-
 .../mspec/model/fields/DefaultChecksumField.java   |   33 +-
 .../mspec/model/fields/DefaultConstField.java      |   33 +-
 .../model/fields/DefaultDiscriminatorField.java    |   33 +-
 .../mspec/model/fields/DefaultEnumField.java       |   33 +-
 .../mspec/model/fields/DefaultImplicitField.java   |   33 +-
 .../model/fields/DefaultManualArrayField.java      |   33 +-
 .../mspec/model/fields/DefaultManualField.java     |   33 +-
 .../mspec/model/fields/DefaultOptionalField.java   |   33 +-
 .../mspec/model/fields/DefaultPaddingField.java    |   33 +-
 .../mspec/model/fields/DefaultReservedField.java   |   33 +-
 .../mspec/model/fields/DefaultSimpleField.java     |   33 +-
 .../mspec/model/fields/DefaultSwitchField.java     |   33 +-
 .../mspec/model/fields/DefaultTaggedField.java     |   34 +-
 .../mspec/model/fields/DefaultUnknownField.java    |   33 +-
 .../mspec/model/fields/DefaultVirtualField.java    |   33 +-
 .../mspec/parser/MessageFormatListener.java        |   33 +-
 .../language/mspec/parser/MessageFormatParser.java |   33 +-
 .../expression/ExpressionStringParserTest.java     |   33 +-
 .../mspec/parser/MessageFormatParserTest.java      |   33 +-
 .../src/test/resources/mspec.example               |    2 +-
 .../apache/plc4x/protocol/test/TestProtocol.java   |   34 +-
 .../src/main/resources/protocols/test/test.mspec   |   88 +-
 code-generation/protocol-test/src/site/site.xml    |   34 +-
 compare-reproducible.sh                            |    0
 mvnw                                               |    0
 plc4c/.gitignore                                   |    1 +
 plc4c/.idea/fileTemplates/includes/C File Header.h |   19 +
 plc4c/CMakeLists.txt                               |   16 +
 plc4c/CODE_CONVENTIONS.md                          |   28 +-
 plc4c/README.md                                    |   28 +-
 plc4c/drivers/modbus/CMakeLists.txt                |    2 +-
 .../modbus/include/plc4c/driver_modbus_static.h    |   23 +
 plc4c/drivers/modbus/src/driver_modbus.c           |   34 +-
 .../modbus/src/driver_modbus_encode_decode.c       |   34 +-
 plc4c/drivers/modbus/src/driver_modbus_packets.c   |   34 +-
 .../drivers/modbus/src/driver_modbus_sm_connect.c  |   34 +-
 .../modbus/src/driver_modbus_sm_disconnect.c       |   34 +-
 plc4c/drivers/modbus/src/driver_modbus_sm_read.c   |   34 +-
 plc4c/drivers/modbus/src/driver_modbus_sm_write.c  |   34 +-
 plc4c/drivers/s7/CMakeLists.txt                    |    2 +-
 plc4c/drivers/s7/include/plc4c/driver_s7.h         |   22 -
 plc4c/drivers/s7/include/plc4c/driver_s7_static.h  |   62 +
 plc4c/drivers/s7/src/driver_s7.c                   |  129 +-
 plc4c/drivers/s7/src/driver_s7_encode_decode.c     |   34 +-
 plc4c/drivers/s7/src/driver_s7_packets.c           |   55 +-
 plc4c/drivers/s7/src/driver_s7_sm_connect.c        |   34 +-
 plc4c/drivers/s7/src/driver_s7_sm_disconnect.c     |   34 +-
 plc4c/drivers/s7/src/driver_s7_sm_read.c           |   40 +-
 plc4c/drivers/s7/src/driver_s7_sm_write.c          |   34 +-
 plc4c/drivers/s7/src/driver_s7_static.c            |  146 ++
 plc4c/drivers/s7/test/s7_test.c                    |    2 +-
 plc4c/drivers/simulated/src/driver_simulated.c     |   40 +-
 plc4c/examples/hello-world-modbus/CMakeLists.txt   |    1 +
 plc4c/examples/hello-world-s7/CMakeLists.txt       |    1 +
 plc4c/generated-sources/modbus/include/data_item.h |   35 +-
 .../modbus/include/modbus_constants.h              |   36 +-
 .../modbus/include/modbus_data_type.h              |   45 +-
 .../modbus/include/modbus_error_code.h             |   45 +-
 .../generated-sources/modbus/include/modbus_pdu.h  |   34 +-
 .../modbus_pdu_read_file_record_request_item.h     |   36 +-
 .../modbus_pdu_read_file_record_response_item.h    |   36 +-
 .../modbus_pdu_write_file_record_request_item.h    |   36 +-
 .../modbus_pdu_write_file_record_response_item.h   |   36 +-
 .../modbus/include/modbus_serial_adu.h             |   36 +-
 .../modbus/include/modbus_tcp_adu.h                |   36 +-
 plc4c/generated-sources/modbus/src/data_item.c     |   34 +-
 .../modbus/src/modbus_constants.c                  |   34 +-
 .../modbus/src/modbus_data_type.c                  |   65 +-
 .../modbus/src/modbus_error_code.c                 |   65 +-
 plc4c/generated-sources/modbus/src/modbus_pdu.c    |   56 +-
 .../src/modbus_pdu_read_file_record_request_item.c |   34 +-
 .../modbus_pdu_read_file_record_response_item.c    |   34 +-
 .../modbus_pdu_write_file_record_request_item.c    |   34 +-
 .../modbus_pdu_write_file_record_response_item.c   |   34 +-
 .../modbus/src/modbus_serial_adu.c                 |   34 +-
 .../generated-sources/modbus/src/modbus_tcp_adu.c  |   34 +-
 .../include/alarm_message_ack_object_push_type.h   |   68 +
 .../s7/include/alarm_message_ack_push_type.h       |   62 +
 .../s7/include/alarm_message_ack_response_type.h   |   59 +
 .../s7/include/alarm_message_ack_type.h            |   60 +
 .../s7/include/alarm_message_object_ack_type.h     |   69 +
 .../s7/include/alarm_message_object_push_type.h    |   72 +
 .../s7/include/alarm_message_object_query_type.h   |   71 +
 .../s7/include/alarm_message_push_type.h           |   62 +
 .../s7/include/alarm_message_query_type.h          |   68 +
 .../s7/include/alarm_state_type.h                  |   67 +
 plc4c/generated-sources/s7/include/alarm_type.h    |   64 +
 .../s7/include/associated_value_type.h             |   62 +
 plc4c/generated-sources/s7/include/cotp_packet.h   |   34 +-
 .../generated-sources/s7/include/cotp_parameter.h  |   34 +-
 .../s7/include/cotp_protocol_class.h               |   45 +-
 .../generated-sources/s7/include/cotp_tpdu_size.h  |   45 +-
 .../s7/include/cpu_subscribe_events.h              |   65 +
 plc4c/generated-sources/s7/include/data_item.h     |   35 +-
 .../s7/include/data_transport_error_code.h         |   45 +-
 .../s7/include/data_transport_size.h               |   45 +-
 plc4c/generated-sources/s7/include/date_and_time.h |   64 +
 plc4c/generated-sources/s7/include/device_group.h  |   45 +-
 plc4c/generated-sources/s7/include/event_type.h    |   65 +
 plc4c/generated-sources/s7/include/memory_area.h   |   45 +-
 .../s7/include/mode_transition_type.h              |   70 +
 plc4c/generated-sources/s7/include/query_type.h    |   64 +
 plc4c/generated-sources/s7/include/s7_address.h    |   34 +-
 .../s7/include/s7_data_alarm_message.h             |   98 ++
 plc4c/generated-sources/s7/include/s7_message.h    |   36 +-
 plc4c/generated-sources/s7/include/s7_parameter.h  |   44 +-
 .../s7/include/s7_parameter_user_data_item.h       |   34 +-
 plc4c/generated-sources/s7/include/s7_payload.h    |   34 +-
 .../s7/include/s7_payload_user_data_item.h         |  148 +-
 .../s7/include/s7_var_payload_data_item.h          |   36 +-
 .../s7/include/s7_var_payload_status_item.h        |   36 +-
 .../s7/include/s7_var_request_parameter_item.h     |   34 +-
 plc4c/generated-sources/s7/include/state.h         |   64 +
 .../generated-sources/s7/include/syntax_id_type.h  |   74 +
 .../s7/include/szl_data_tree_item.h                |   36 +-
 plc4c/generated-sources/s7/include/szl_id.h        |   36 +-
 .../s7/include/szl_module_type_class.h             |   45 +-
 plc4c/generated-sources/s7/include/szl_sublist.h   |   45 +-
 plc4c/generated-sources/s7/include/tpkt_packet.h   |   36 +-
 .../generated-sources/s7/include/transport_size.h  |   45 +-
 .../s7/src/alarm_message_ack_object_push_type.c    |  182 ++
 .../s7/src/alarm_message_ack_push_type.c           |  151 ++
 .../s7/src/alarm_message_ack_response_type.c       |  125 ++
 .../s7/src/alarm_message_ack_type.c                |  134 ++
 .../s7/src/alarm_message_object_ack_type.c         |  186 ++
 .../s7/src/alarm_message_object_push_type.c        |  259 +++
 .../s7/src/alarm_message_object_query_type.c       |  237 +++
 .../s7/src/alarm_message_push_type.c               |  151 ++
 .../s7/src/alarm_message_query_type.c              |  191 ++
 plc4c/generated-sources/s7/src/alarm_state_type.c  |  114 ++
 plc4c/generated-sources/s7/src/alarm_type.c        |   96 +
 .../s7/src/associated_value_type.c                 |  138 ++
 plc4c/generated-sources/s7/src/cotp_packet.c       |   82 +-
 plc4c/generated-sources/s7/src/cotp_parameter.c    |   52 +-
 .../generated-sources/s7/src/cotp_protocol_class.c |   65 +-
 plc4c/generated-sources/s7/src/cotp_tpdu_size.c    |   65 +-
 .../s7/src/cpu_subscribe_events.c                  |  102 ++
 plc4c/generated-sources/s7/src/data_item.c         |   34 +-
 .../s7/src/data_transport_error_code.c             |   65 +-
 .../generated-sources/s7/src/data_transport_size.c |   65 +-
 plc4c/generated-sources/s7/src/date_and_time.c     |  165 ++
 plc4c/generated-sources/s7/src/device_group.c      |   65 +-
 plc4c/generated-sources/s7/src/event_type.c        |  102 ++
 plc4c/generated-sources/s7/src/memory_area.c       |   65 +-
 .../s7/src/mode_transition_type.c                  |  132 ++
 plc4c/generated-sources/s7/src/query_type.c        |   96 +
 plc4c/generated-sources/s7/src/s7_address.c        |   50 +-
 .../s7/src/s7_data_alarm_message.c                 |  372 ++++
 plc4c/generated-sources/s7/src/s7_message.c        |   34 +-
 plc4c/generated-sources/s7/src/s7_parameter.c      |  196 ++-
 .../s7/src/s7_parameter_user_data_item.c           |   34 +-
 plc4c/generated-sources/s7/src/s7_payload.c        |   44 +-
 .../s7/src/s7_payload_user_data_item.c             | 1516 ++++++++++++++--
 .../s7/src/s7_var_payload_data_item.c              |   68 +-
 .../s7/src/s7_var_payload_status_item.c            |   50 +-
 .../s7/src/s7_var_request_parameter_item.c         |   34 +-
 plc4c/generated-sources/s7/src/state.c             |  193 ++
 plc4c/generated-sources/s7/src/syntax_id_type.c    |  156 ++
 .../generated-sources/s7/src/szl_data_tree_item.c  |   36 +-
 plc4c/generated-sources/s7/src/szl_id.c            |   66 +-
 .../s7/src/szl_module_type_class.c                 |   65 +-
 plc4c/generated-sources/s7/src/szl_sublist.c       |   65 +-
 plc4c/generated-sources/s7/src/tpkt_packet.c       |   34 +-
 plc4c/generated-sources/s7/src/transport_size.c    |   65 +-
 plc4c/pom.xml                                      |    1 +
 plc4c/transports/dummy/src/transport_dummy.c       |   34 +-
 plc4c/transports/serial/src/transport_serial.c     |   34 +-
 plc4c/transports/tcp/src/transport_tcp.c           |   34 +-
 plc4c/venv/lib64                                   |    1 -
 .../.idea/fileTemplates/includes/File Header Go.go |   18 +
 .../.idea/fileTemplates/internal/Go Application.go |    7 +
 plc4go/.idea/fileTemplates/internal/Go File.go     |    3 +
 plc4go/.idea/fileTemplates/internal/Go Scratch.go  |    7 +
 plc4go/Makefile                                    |    2 +-
 .../testing/protocols/ads/DriverTestsuite.xml      |   86 +-
 .../testing/protocols/eip/DriverTestsuite.xml      |   17 +-
 .../testing/protocols/modbus/DriverTestsuite.xml   |   80 +-
 .../testing/protocols/s7/DriverTestsuite.xml       |   92 +-
 .../protocols/s7/ParserSerializerTestsuite.xml     |   50 +-
 plc4go/cmd/main/drivers/s7_test.go                 |   36 +-
 plc4go/cmd/main/drivers/tests/abeth_driver_test.go |   36 +-
 .../drivers/tests/abeth_parser_serializer_test.go  |   36 +-
 plc4go/cmd/main/drivers/tests/ads_driver_test.go   |   36 +-
 .../drivers/tests/ads_parser_serializer_test.go    |   36 +-
 plc4go/cmd/main/drivers/tests/df1_driver_test.go   |   36 +-
 .../drivers/tests/df1_parser_serializer_test.go    |   36 +-
 plc4go/cmd/main/drivers/tests/eip_driver_test.go   |   36 +-
 .../drivers/tests/eip_parser_serializer_test.go    |   36 +-
 .../cmd/main/drivers/tests/firmata_driver_test.go  |   36 +-
 .../tests/firmata_parser_serializer_test.go        |   36 +-
 .../cmd/main/drivers/tests/knxnetip_driver_test.go |   36 +-
 .../tests/knxnetip_parser_serializer_test.go       |   36 +-
 .../main/drivers/tests/manual_ads_driver_test.go   |   36 +-
 .../main/drivers/tests/manual_s7_driver_test.go    |   36 +-
 .../cmd/main/drivers/tests/modbus_driver_test.go   |   36 +-
 .../drivers/tests/modbus_parser_serializer_test.go |   36 +-
 plc4go/cmd/main/drivers/tests/s7_driver_test.go    |   36 +-
 .../drivers/tests/s7_parser_serializer_test.go     |   36 +-
 plc4go/cmd/main/initializetest/init.go             |   36 +-
 plc4go/cmd/main/main.go                            |   36 +-
 .../discovery/hello_world_plc4go_knx_discovery.go  |   36 +-
 .../hello_world_plc4go_knx_read_group_address.go   |   36 +-
 .../hello_world_plc4go_knx_subscription.go         |   36 +-
 plc4go/examples/read/hello_world_plc4go_read.go    |   36 +-
 plc4go/examples/write/hello_world_plc4go_write.go  |   36 +-
 plc4go/go.mod                                      |    7 +-
 plc4go/go.sum                                      |   21 +-
 .../plc4go/abeth/readwrite/ParserHelper.go         |   36 +-
 .../plc4go/abeth/readwrite/XmlParserHelper.go      |   40 +-
 .../model/CIPEncapsulationConnectionRequest.go     |   36 +-
 .../model/CIPEncapsulationConnectionResponse.go    |   36 +-
 .../readwrite/model/CIPEncapsulationPacket.go      |   36 +-
 .../readwrite/model/CIPEncapsulationReadRequest.go |   39 +-
 .../model/CIPEncapsulationReadResponse.go          |   39 +-
 .../readwrite/model/DF1CommandRequestMessage.go    |   39 +-
 ...mandResponseMessageProtectedTypedLogicalRead.go |   36 +-
 .../abeth/readwrite/model/DF1RequestCommand.go     |   36 +-
 .../abeth/readwrite/model/DF1RequestMessage.go     |   36 +-
 .../model/DF1RequestProtectedTypedLogicalRead.go   |   36 +-
 .../abeth/readwrite/model/DF1ResponseMessage.go    |   36 +-
 plc4go/internal/plc4go/ads/Configuration.go        |   36 +-
 plc4go/internal/plc4go/ads/Connection.go           |   36 +-
 plc4go/internal/plc4go/ads/Driver.go               |   42 +-
 plc4go/internal/plc4go/ads/Field.go                |   96 +-
 plc4go/internal/plc4go/ads/FieldHandler.go         |   36 +-
 plc4go/internal/plc4go/ads/MessageCodec.go         |   36 +-
 plc4go/internal/plc4go/ads/Reader.go               |   36 +-
 plc4go/internal/plc4go/ads/ValueHandler.go         |   36 +-
 plc4go/internal/plc4go/ads/Writer.go               |   36 +-
 .../internal/plc4go/ads/readwrite/ParserHelper.go  |   36 +-
 .../plc4go/ads/readwrite/XmlParserHelper.go        |   40 +-
 .../model/AdsAddDeviceNotificationRequest.go       |   36 +-
 .../model/AdsAddDeviceNotificationResponse.go      |   39 +-
 .../internal/plc4go/ads/readwrite/model/AdsData.go |   36 +-
 .../plc4go/ads/readwrite/model/AdsDataType.go      |   36 +-
 .../model/AdsDeleteDeviceNotificationRequest.go    |   36 +-
 .../model/AdsDeleteDeviceNotificationResponse.go   |   39 +-
 .../model/AdsDeviceNotificationRequest.go          |   36 +-
 .../model/AdsDeviceNotificationResponse.go         |   36 +-
 .../ads/readwrite/model/AdsInvalidRequest.go       |   36 +-
 .../ads/readwrite/model/AdsInvalidResponse.go      |   36 +-
 .../ads/readwrite/model/AdsMultiRequestItem.go     |   36 +-
 .../ads/readwrite/model/AdsMultiRequestItemRead.go |   36 +-
 .../model/AdsMultiRequestItemReadWrite.go          |   36 +-
 .../readwrite/model/AdsMultiRequestItemWrite.go    |   36 +-
 .../ads/readwrite/model/AdsNotificationSample.go   |   36 +-
 .../readwrite/model/AdsReadDeviceInfoRequest.go    |   36 +-
 .../readwrite/model/AdsReadDeviceInfoResponse.go   |   39 +-
 .../plc4go/ads/readwrite/model/AdsReadRequest.go   |   36 +-
 .../plc4go/ads/readwrite/model/AdsReadResponse.go  |   39 +-
 .../ads/readwrite/model/AdsReadStateRequest.go     |   36 +-
 .../ads/readwrite/model/AdsReadStateResponse.go    |   39 +-
 .../ads/readwrite/model/AdsReadWriteRequest.go     |   36 +-
 .../ads/readwrite/model/AdsReadWriteResponse.go    |   39 +-
 .../plc4go/ads/readwrite/model/AdsStampHeader.go   |   36 +-
 .../plc4go/ads/readwrite/model/AdsStaticHelper.go  |   36 +-
 .../ads/readwrite/model/AdsWriteControlRequest.go  |   36 +-
 .../ads/readwrite/model/AdsWriteControlResponse.go |   39 +-
 .../plc4go/ads/readwrite/model/AdsWriteRequest.go  |   36 +-
 .../plc4go/ads/readwrite/model/AdsWriteResponse.go |   39 +-
 .../plc4go/ads/readwrite/model/AmsNetId.go         |   36 +-
 .../plc4go/ads/readwrite/model/AmsPacket.go        |   51 +-
 .../readwrite/model/AmsSerialAcknowledgeFrame.go   |   36 +-
 .../plc4go/ads/readwrite/model/AmsSerialFrame.go   |   39 +-
 .../ads/readwrite/model/AmsSerialResetFrame.go     |   36 +-
 .../plc4go/ads/readwrite/model/AmsTCPPacket.go     |   39 +-
 .../plc4go/ads/readwrite/model/CommandId.go        |   36 +-
 .../plc4go/ads/readwrite/model/DataItem.go         |   36 +-
 .../ads/readwrite/model/ReservedIndexGroups.go     |   36 +-
 .../plc4go/ads/readwrite/model/ReturnCode.go       |   36 +-
 .../internal/plc4go/ads/readwrite/model/State.go   |   36 +-
 plc4go/internal/plc4go/bacnetip/Connection.go      |   77 +
 plc4go/internal/plc4go/bacnetip/Driver.go          |  117 +-
 plc4go/internal/plc4go/bacnetip/Field.go           |   92 +
 plc4go/internal/plc4go/bacnetip/FieldHandler.go    |   64 +
 plc4go/internal/plc4go/bacnetip/MessageCodec.go    |  102 ++
 plc4go/internal/plc4go/bacnetip/Subscriber.go      |   70 +
 plc4go/internal/plc4go/bacnetip/ValueHandler.go    |   32 +
 .../plc4go/bacnetip/readwrite/ParserHelper.go      |   36 +-
 .../plc4go/bacnetip/readwrite/XmlParserHelper.go   |   56 +-
 .../plc4go/bacnetip/readwrite/model/APDU.go        |   36 +-
 .../plc4go/bacnetip/readwrite/model/APDUAbort.go   |   36 +-
 .../bacnetip/readwrite/model/APDUComplexAck.go     |   39 +-
 .../readwrite/model/APDUConfirmedRequest.go        |   39 +-
 .../plc4go/bacnetip/readwrite/model/APDUError.go   |   39 +-
 .../plc4go/bacnetip/readwrite/model/APDUReject.go  |   36 +-
 .../bacnetip/readwrite/model/APDUSegmentAck.go     |   36 +-
 .../bacnetip/readwrite/model/APDUSimpleAck.go      |   36 +-
 .../readwrite/model/APDUUnconfirmedRequest.go      |   39 +-
 .../bacnetip/readwrite/model/ApplicationTag.go     |   36 +-
 .../bacnetip/readwrite/model/BACnetAddress.go      |   36 +-
 .../readwrite/model/BACnetConfirmedServiceACK.go   |   36 +-
 .../BACnetConfirmedServiceACKAtomicReadFile.go     |   36 +-
 .../BACnetConfirmedServiceACKAtomicWriteFile.go    |   36 +-
 ...tConfirmedServiceACKConfirmedPrivateTransfer.go |   36 +-
 .../model/BACnetConfirmedServiceACKCreateObject.go |   36 +-
 .../BACnetConfirmedServiceACKGetAlarmSummary.go    |   36 +-
 ...ACnetConfirmedServiceACKGetEnrollmentSummary.go |   36 +-
 ...BACnetConfirmedServiceACKGetEventInformation.go |   36 +-
 .../model/BACnetConfirmedServiceACKReadProperty.go |   36 +-
 ...ACnetConfirmedServiceACKReadPropertyMultiple.go |   36 +-
 .../model/BACnetConfirmedServiceACKReadRange.go    |   36 +-
 ...BACnetConfirmedServiceACKRemovedAuthenticate.go |   36 +-
 ...rmedServiceACKRemovedReadPropertyConditional.go |   36 +-
 .../model/BACnetConfirmedServiceACKVTData.go       |   36 +-
 .../model/BACnetConfirmedServiceACKVTOpen.go       |   36 +-
 .../model/BACnetConfirmedServiceRequest.go         |   36 +-
 ...ACnetConfirmedServiceRequestAcknowledgeAlarm.go |   36 +-
 .../BACnetConfirmedServiceRequestAddListElement.go |   36 +-
 .../BACnetConfirmedServiceRequestAtomicReadFile.go |   36 +-
 ...BACnetConfirmedServiceRequestAtomicWriteFile.go |   36 +-
 ...firmedServiceRequestConfirmedCOVNotification.go |   36 +-
 ...rviceRequestConfirmedCOVNotificationMultiple.go |   36 +-
 ...rmedServiceRequestConfirmedEventNotification.go |   36 +-
 ...firmedServiceRequestConfirmedPrivateTransfer.go |   36 +-
 ...tConfirmedServiceRequestConfirmedTextMessage.go |   36 +-
 .../BACnetConfirmedServiceRequestCreateObject.go   |   36 +-
 .../BACnetConfirmedServiceRequestDeleteObject.go   |   36 +-
 ...rmedServiceRequestDeviceCommunicationControl.go |   36 +-
 ...tConfirmedServiceRequestGetEnrollmentSummary.go |   36 +-
 ...etConfirmedServiceRequestGetEventInformation.go |   36 +-
 ...etConfirmedServiceRequestLifeSafetyOperation.go |   36 +-
 .../BACnetConfirmedServiceRequestReadProperty.go   |   36 +-
 ...tConfirmedServiceRequestReadPropertyMultiple.go |   36 +-
 .../BACnetConfirmedServiceRequestReadRange.go      |   36 +-
 ...netConfirmedServiceRequestReinitializeDevice.go |   36 +-
 ...CnetConfirmedServiceRequestRemoveListElement.go |   36 +-
 ...etConfirmedServiceRequestRemovedAuthenticate.go |   36 +-
 ...ServiceRequestRemovedReadPropertyConditional.go |   36 +-
 ...CnetConfirmedServiceRequestRemovedRequestKey.go |   36 +-
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |   36 +-
 ...tConfirmedServiceRequestSubscribeCOVProperty.go |   36 +-
 ...edServiceRequestSubscribeCOVPropertyMultiple.go |   36 +-
 .../model/BACnetConfirmedServiceRequestVTClose.go  |   36 +-
 .../model/BACnetConfirmedServiceRequestVTData.go   |   36 +-
 .../model/BACnetConfirmedServiceRequestVTOpen.go   |   36 +-
 .../BACnetConfirmedServiceRequestWriteProperty.go  |   39 +-
 ...ConfirmedServiceRequestWritePropertyMultiple.go |   36 +-
 .../plc4go/bacnetip/readwrite/model/BACnetError.go |   36 +-
 .../readwrite/model/BACnetErrorAtomicReadFile.go   |   36 +-
 .../readwrite/model/BACnetErrorAtomicWriteFile.go  |   36 +-
 .../model/BACnetErrorConfirmedPrivateTransfer.go   |   36 +-
 .../readwrite/model/BACnetErrorCreateObject.go     |   36 +-
 .../readwrite/model/BACnetErrorGetAlarmSummary.go  |   36 +-
 .../model/BACnetErrorGetEnrollmentSummary.go       |   36 +-
 .../model/BACnetErrorGetEventInformation.go        |   36 +-
 .../readwrite/model/BACnetErrorReadProperty.go     |   36 +-
 .../model/BACnetErrorReadPropertyMultiple.go       |   36 +-
 .../readwrite/model/BACnetErrorReadRange.go        |   36 +-
 .../model/BACnetErrorRemovedAuthenticate.go        |   36 +-
 .../BACnetErrorRemovedReadPropertyConditional.go   |   36 +-
 .../bacnetip/readwrite/model/BACnetErrorVTData.go  |   36 +-
 .../bacnetip/readwrite/model/BACnetErrorVTOpen.go  |   36 +-
 .../bacnetip/readwrite/model/BACnetNetworkType.go  |   36 +-
 .../bacnetip/readwrite/model/BACnetNodeType.go     |   36 +-
 .../bacnetip/readwrite/model/BACnetNotifyType.go   |   36 +-
 .../bacnetip/readwrite/model/BACnetObjectType.go   |   36 +-
 .../bacnetip/readwrite/model/BACnetServiceAck.go   |   36 +-
 .../model/BACnetServiceAckAtomicReadFile.go        |   36 +-
 .../model/BACnetServiceAckAtomicWriteFile.go       |   36 +-
 .../BACnetServiceAckConfirmedPrivateTransfer.go    |   36 +-
 .../model/BACnetServiceAckCreateObject.go          |   36 +-
 .../model/BACnetServiceAckGetAlarmSummary.go       |   36 +-
 .../model/BACnetServiceAckGetEnrollmentSummary.go  |   36 +-
 .../model/BACnetServiceAckGetEventInformation.go   |   36 +-
 .../model/BACnetServiceAckReadProperty.go          |   39 +-
 .../model/BACnetServiceAckReadPropertyMultiple.go  |   36 +-
 .../readwrite/model/BACnetServiceAckReadRange.go   |   36 +-
 .../model/BACnetServiceAckRemovedAuthenticate.go   |   36 +-
 ...CnetServiceAckRemovedReadPropertyConditional.go |   36 +-
 .../readwrite/model/BACnetServiceAckVTData.go      |   36 +-
 .../readwrite/model/BACnetServiceAckVTOpen.go      |   36 +-
 .../plc4go/bacnetip/readwrite/model/BACnetTag.go   |   36 +-
 .../model/BACnetTagApplicationBitString.go         |   36 +-
 .../readwrite/model/BACnetTagApplicationBoolean.go |   36 +-
 .../model/BACnetTagApplicationCharacterString.go   |   36 +-
 .../readwrite/model/BACnetTagApplicationDate.go    |   36 +-
 .../readwrite/model/BACnetTagApplicationDouble.go  |   36 +-
 .../model/BACnetTagApplicationEnumerated.go        |   36 +-
 .../readwrite/model/BACnetTagApplicationNull.go    |   36 +-
 .../model/BACnetTagApplicationObjectIdentifier.go  |   36 +-
 .../model/BACnetTagApplicationOctetString.go       |   36 +-
 .../readwrite/model/BACnetTagApplicationReal.go    |   36 +-
 .../model/BACnetTagApplicationSignedInteger.go     |   36 +-
 .../readwrite/model/BACnetTagApplicationTime.go    |   36 +-
 .../model/BACnetTagApplicationUnsignedInteger.go   |   36 +-
 .../bacnetip/readwrite/model/BACnetTagContext.go   |   36 +-
 .../readwrite/model/BACnetTagWithContent.go        |   39 +-
 .../model/BACnetUnconfirmedServiceRequest.go       |   36 +-
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |   36 +-
 .../model/BACnetUnconfirmedServiceRequestIHave.go  |   36 +-
 ...UnconfirmedServiceRequestTimeSynchronization.go |   36 +-
 ...onfirmedServiceRequestUTCTimeSynchronization.go |   36 +-
 ...rmedServiceRequestUnconfirmedCOVNotification.go |   36 +-
 ...iceRequestUnconfirmedCOVNotificationMultiple.go |   36 +-
 ...edServiceRequestUnconfirmedEventNotification.go |   36 +-
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |   36 +-
 ...onfirmedServiceRequestUnconfirmedTextMessage.go |   36 +-
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |   36 +-
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |   36 +-
 .../BACnetUnconfirmedServiceRequestWriteGroup.go   |   36 +-
 .../plc4go/bacnetip/readwrite/model/BVLC.go        |   36 +-
 .../model/BVLCDeleteForeignDeviceTableEntry.go     |   36 +-
 .../model/BVLCDistributeBroadcastToNetwork.go      |   36 +-
 .../bacnetip/readwrite/model/BVLCForwardedNPDU.go  |   39 +-
 .../readwrite/model/BVLCOriginalBroadcastNPDU.go   |   39 +-
 .../readwrite/model/BVLCOriginalUnicastNPDU.go     |   39 +-
 .../model/BVLCReadBroadcastDistributionTable.go    |   36 +-
 .../model/BVLCReadBroadcastDistributionTableAck.go |   36 +-
 .../readwrite/model/BVLCReadForeignDeviceTable.go  |   36 +-
 .../model/BVLCReadForeignDeviceTableAck.go         |   36 +-
 .../readwrite/model/BVLCRegisterForeignDevice.go   |   36 +-
 .../plc4go/bacnetip/readwrite/model/BVLCResult.go  |   36 +-
 .../bacnetip/readwrite/model/BVLCSecureBVLL.go     |   36 +-
 .../model/BVLCWideBroadcastDistributionTable.go    |   36 +-
 .../plc4go/bacnetip/readwrite/model/NLM.go         |   36 +-
 .../readwrite/model/NLMIAmRouterToNetwork.go       |   36 +-
 .../readwrite/model/NLMWhoIsRouterToNetwork.go     |   36 +-
 .../plc4go/bacnetip/readwrite/model/NPDU.go        |   36 +-
 .../internal/plc4go/df1/readwrite/ParserHelper.go  |   36 +-
 .../plc4go/df1/readwrite/XmlParserHelper.go        |   36 +-
 .../plc4go/df1/readwrite/model/DF1Command.go       |   36 +-
 .../plc4go/df1/readwrite/model/DF1Symbol.go        |   36 +-
 .../df1/readwrite/model/DF1SymbolMessageFrame.go   |   39 +-
 .../readwrite/model/DF1SymbolMessageFrameACK.go    |   36 +-
 .../readwrite/model/DF1SymbolMessageFrameNAK.go    |   36 +-
 .../readwrite/model/DF1UnprotectedReadRequest.go   |   36 +-
 .../readwrite/model/DF1UnprotectedReadResponse.go  |   36 +-
 .../plc4go/df1/readwrite/model/Df1StaticHelper.go  |   36 +-
 .../df1/readwrite/model/Df1StaticHelper_test.go    |   36 +-
 plc4go/internal/plc4go/eip/Configuration.go        |   36 +-
 plc4go/internal/plc4go/eip/Connection.go           |   36 +-
 plc4go/internal/plc4go/eip/Driver.go               |   40 +-
 plc4go/internal/plc4go/eip/DriverContext.go        |   36 +-
 plc4go/internal/plc4go/eip/Field.go                |   57 +-
 plc4go/internal/plc4go/eip/FieldHandler.go         |   36 +-
 plc4go/internal/plc4go/eip/MessageCodec.go         |   36 +-
 plc4go/internal/plc4go/eip/Reader.go               |   36 +-
 plc4go/internal/plc4go/eip/ValueHandler.go         |   36 +-
 plc4go/internal/plc4go/eip/Writer.go               |   36 +-
 .../internal/plc4go/eip/readwrite/ParserHelper.go  |   36 +-
 .../plc4go/eip/readwrite/XmlParserHelper.go        |   48 +-
 .../plc4go/eip/readwrite/model/CIPDataTypeCode.go  |   36 +-
 .../plc4go/eip/readwrite/model/CipExchange.go      |   39 +-
 .../plc4go/eip/readwrite/model/CipRRData.go        |   39 +-
 .../plc4go/eip/readwrite/model/CipReadRequest.go   |   36 +-
 .../plc4go/eip/readwrite/model/CipReadResponse.go  |   36 +-
 .../plc4go/eip/readwrite/model/CipService.go       |   36 +-
 .../eip/readwrite/model/CipUnconnectedRequest.go   |   39 +-
 .../plc4go/eip/readwrite/model/CipWriteRequest.go  |   36 +-
 .../plc4go/eip/readwrite/model/CipWriteResponse.go |   36 +-
 .../plc4go/eip/readwrite/model/EiPCommand.go       |   36 +-
 .../eip/readwrite/model/EipConnectionRequest.go    |   36 +-
 .../eip/readwrite/model/EipDisconnectRequest.go    |   36 +-
 .../plc4go/eip/readwrite/model/EipPacket.go        |   36 +-
 .../eip/readwrite/model/MultipleServiceRequest.go  |   39 +-
 .../eip/readwrite/model/MultipleServiceResponse.go |   36 +-
 .../plc4go/eip/readwrite/model/Services.go         |   36 +-
 .../plc4go/firmata/readwrite/ParserHelper.go       |   36 +-
 .../plc4go/firmata/readwrite/XmlParserHelper.go    |   36 +-
 .../firmata/readwrite/model/FirmataCommand.go      |   36 +-
 .../model/FirmataCommandProtocolVersion.go         |   36 +-
 .../model/FirmataCommandSetDigitalPinValue.go      |   36 +-
 .../readwrite/model/FirmataCommandSetPinMode.go    |   36 +-
 .../firmata/readwrite/model/FirmataCommandSysex.go |   39 +-
 .../readwrite/model/FirmataCommandSystemReset.go   |   36 +-
 .../firmata/readwrite/model/FirmataMessage.go      |   36 +-
 .../readwrite/model/FirmataMessageAnalogIO.go      |   36 +-
 .../readwrite/model/FirmataMessageCommand.go       |   39 +-
 .../readwrite/model/FirmataMessageDigitalIO.go     |   36 +-
 .../model/FirmataMessageSubscribeAnalogPinValue.go |   36 +-
 .../FirmataMessageSubscribeDigitalPinValue.go      |   36 +-
 .../firmata/readwrite/model/FirmataStaticHelper.go |   36 +-
 .../plc4go/firmata/readwrite/model/PinMode.go      |   36 +-
 .../plc4go/firmata/readwrite/model/SysexCommand.go |   36 +-
 .../model/SysexCommandAnalogMappingQueryRequest.go |   36 +-
 .../SysexCommandAnalogMappingQueryResponse.go      |   36 +-
 .../model/SysexCommandAnalogMappingResponse.go     |   36 +-
 .../readwrite/model/SysexCommandCapabilityQuery.go |   36 +-
 .../model/SysexCommandCapabilityResponse.go        |   36 +-
 .../readwrite/model/SysexCommandExendedId.go       |   36 +-
 .../readwrite/model/SysexCommandExtendedAnalog.go  |   36 +-
 .../readwrite/model/SysexCommandPinStateQuery.go   |   36 +-
 .../model/SysexCommandPinStateResponse.go          |   36 +-
 .../model/SysexCommandReportFirmwareRequest.go     |   36 +-
 .../model/SysexCommandReportFirmwareResponse.go    |   36 +-
 .../model/SysexCommandSamplingInterval.go          |   36 +-
 .../readwrite/model/SysexCommandStringData.go      |   36 +-
 .../model/SysexCommandSysexNonRealtime.go          |   36 +-
 .../readwrite/model/SysexCommandSysexRealtime.go   |   36 +-
 plc4go/internal/plc4go/knxnetip/Browser.go         |   57 +-
 plc4go/internal/plc4go/knxnetip/Connection.go      |   73 +-
 .../knxnetip/ConnectionDriverSpecificOperations.go |   91 +-
 .../internal/plc4go/knxnetip/ConnectionHelper.go   |   60 +-
 .../knxnetip/ConnectionInternalOperations.go       |   51 +-
 plc4go/internal/plc4go/knxnetip/Discoverer.go      |  135 +-
 plc4go/internal/plc4go/knxnetip/Driver.go          |   44 +-
 plc4go/internal/plc4go/knxnetip/Field.go           |   36 +-
 plc4go/internal/plc4go/knxnetip/FieldHandler.go    |   36 +-
 plc4go/internal/plc4go/knxnetip/MessageCodec.go    |   38 +-
 plc4go/internal/plc4go/knxnetip/Reader.go          |   58 +-
 plc4go/internal/plc4go/knxnetip/Subscriber.go      |   36 +-
 .../internal/plc4go/knxnetip/SubscriptionEvent.go  |   36 +-
 plc4go/internal/plc4go/knxnetip/Utils.go           |   36 +-
 plc4go/internal/plc4go/knxnetip/ValueDecoder.go    |   36 +-
 plc4go/internal/plc4go/knxnetip/ValueHandler.go    |   36 +-
 plc4go/internal/plc4go/knxnetip/Writer.go          |   36 +-
 .../plc4go/knxnetip/readwrite/ParserHelper.go      |   36 +-
 .../knxnetip/readwrite/PropertyDataTypeIO.go       |   37 +-
 .../plc4go/knxnetip/readwrite/XmlParserHelper.go   |   56 +-
 .../plc4go/knxnetip/readwrite/model/AccessLevel.go |   36 +-
 .../plc4go/knxnetip/readwrite/model/Apdu.go        |   36 +-
 .../plc4go/knxnetip/readwrite/model/ApduControl.go |   36 +-
 .../knxnetip/readwrite/model/ApduControlAck.go     |   36 +-
 .../knxnetip/readwrite/model/ApduControlConnect.go |   36 +-
 .../readwrite/model/ApduControlContainer.go        |   39 +-
 .../readwrite/model/ApduControlDisconnect.go       |   36 +-
 .../knxnetip/readwrite/model/ApduControlNack.go    |   36 +-
 .../plc4go/knxnetip/readwrite/model/ApduData.go    |   36 +-
 .../knxnetip/readwrite/model/ApduDataAdcRead.go    |   36 +-
 .../readwrite/model/ApduDataAdcResponse.go         |   36 +-
 .../knxnetip/readwrite/model/ApduDataContainer.go  |   39 +-
 .../model/ApduDataDeviceDescriptorRead.go          |   36 +-
 .../model/ApduDataDeviceDescriptorResponse.go      |   36 +-
 .../plc4go/knxnetip/readwrite/model/ApduDataExt.go |   36 +-
 .../readwrite/model/ApduDataExtAuthorizeRequest.go |   36 +-
 .../model/ApduDataExtAuthorizeResponse.go          |   36 +-
 .../model/ApduDataExtDomainAddressRead.go          |   36 +-
 .../model/ApduDataExtDomainAddressResponse.go      |   36 +-
 .../model/ApduDataExtDomainAddressSelectiveRead.go |   36 +-
 .../ApduDataExtDomainAddressSerialNumberRead.go    |   36 +-
 ...ApduDataExtDomainAddressSerialNumberResponse.go |   36 +-
 .../ApduDataExtDomainAddressSerialNumberWrite.go   |   36 +-
 .../model/ApduDataExtDomainAddressWrite.go         |   36 +-
 .../model/ApduDataExtFileStreamInfoReport.go       |   36 +-
 .../ApduDataExtGroupPropertyValueInfoReport.go     |   36 +-
 .../model/ApduDataExtGroupPropertyValueRead.go     |   36 +-
 .../model/ApduDataExtGroupPropertyValueResponse.go |   36 +-
 .../model/ApduDataExtGroupPropertyValueWrite.go    |   36 +-
 ...ApduDataExtIndividualAddressSerialNumberRead.go |   36 +-
 ...DataExtIndividualAddressSerialNumberResponse.go |   36 +-
 ...pduDataExtIndividualAddressSerialNumberWrite.go |   36 +-
 .../readwrite/model/ApduDataExtKeyResponse.go      |   36 +-
 .../readwrite/model/ApduDataExtKeyWrite.go         |   36 +-
 .../readwrite/model/ApduDataExtLinkRead.go         |   36 +-
 .../readwrite/model/ApduDataExtLinkResponse.go     |   36 +-
 .../readwrite/model/ApduDataExtLinkWrite.go        |   36 +-
 .../readwrite/model/ApduDataExtMemoryBitWrite.go   |   36 +-
 .../model/ApduDataExtNetworkParameterRead.go       |   36 +-
 .../model/ApduDataExtNetworkParameterResponse.go   |   36 +-
 .../model/ApduDataExtNetworkParameterWrite.go      |   36 +-
 .../model/ApduDataExtOpenRoutingTableRequest.go    |   36 +-
 .../model/ApduDataExtPropertyDescriptionRead.go    |   36 +-
 .../ApduDataExtPropertyDescriptionResponse.go      |   45 +-
 .../model/ApduDataExtPropertyValueRead.go          |   36 +-
 .../model/ApduDataExtPropertyValueResponse.go      |   36 +-
 .../model/ApduDataExtPropertyValueWrite.go         |   36 +-
 .../model/ApduDataExtReadRouterMemoryRequest.go    |   36 +-
 .../model/ApduDataExtReadRouterMemoryResponse.go   |   36 +-
 .../model/ApduDataExtReadRouterStatusRequest.go    |   36 +-
 .../model/ApduDataExtReadRouterStatusResponse.go   |   36 +-
 .../model/ApduDataExtReadRoutingTableRequest.go    |   36 +-
 .../model/ApduDataExtReadRoutingTableResponse.go   |   36 +-
 .../model/ApduDataExtWriteRouterMemoryRequest.go   |   36 +-
 .../model/ApduDataExtWriteRouterStatusRequest.go   |   36 +-
 .../model/ApduDataExtWriteRoutingTableRequest.go   |   36 +-
 .../readwrite/model/ApduDataGroupValueRead.go      |   36 +-
 .../readwrite/model/ApduDataGroupValueResponse.go  |   36 +-
 .../readwrite/model/ApduDataGroupValueWrite.go     |   36 +-
 .../model/ApduDataIndividualAddressRead.go         |   36 +-
 .../model/ApduDataIndividualAddressResponse.go     |   36 +-
 .../model/ApduDataIndividualAddressWrite.go        |   36 +-
 .../knxnetip/readwrite/model/ApduDataMemoryRead.go |   36 +-
 .../readwrite/model/ApduDataMemoryResponse.go      |   36 +-
 .../readwrite/model/ApduDataMemoryWrite.go         |   36 +-
 .../knxnetip/readwrite/model/ApduDataOther.go      |   39 +-
 .../knxnetip/readwrite/model/ApduDataRestart.go    |   36 +-
 .../readwrite/model/ApduDataUserMessage.go         |   36 +-
 .../plc4go/knxnetip/readwrite/model/CEMI.go        |   36 +-
 .../readwrite/model/CEMIAdditionalInformation.go   |   36 +-
 .../CEMIAdditionalInformationBusmonitorInfo.go     |   36 +-
 .../CEMIAdditionalInformationRelativeTimestamp.go  |   39 +-
 .../knxnetip/readwrite/model/CEMIPriority.go       |   36 +-
 .../knxnetip/readwrite/model/ChannelInformation.go |   36 +-
 .../knxnetip/readwrite/model/ComObjectTable.go     |   36 +-
 .../readwrite/model/ComObjectTableAddresses.go     |   36 +-
 .../model/ComObjectTableRealisationType1.go        |   36 +-
 .../model/ComObjectTableRealisationType2.go        |   36 +-
 .../model/ComObjectTableRealisationType6.go        |   39 +-
 .../knxnetip/readwrite/model/ComObjectValueType.go |   36 +-
 .../knxnetip/readwrite/model/ConnectionRequest.go  |   45 +-
 .../model/ConnectionRequestInformation.go          |   36 +-
 ...ConnectionRequestInformationDeviceManagement.go |   36 +-
 ...ConnectionRequestInformationTunnelConnection.go |   39 +-
 .../knxnetip/readwrite/model/ConnectionResponse.go |   39 +-
 .../readwrite/model/ConnectionResponseDataBlock.go |   36 +-
 .../ConnectionResponseDataBlockDeviceManagement.go |   36 +-
 .../ConnectionResponseDataBlockTunnelConnection.go |   39 +-
 .../readwrite/model/ConnectionStateRequest.go      |   39 +-
 .../readwrite/model/ConnectionStateResponse.go     |   39 +-
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      |   54 +-
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |   36 +-
 .../knxnetip/readwrite/model/DescriptionRequest.go |   39 +-
 .../readwrite/model/DescriptionResponse.go         |   42 +-
 .../readwrite/model/DeviceConfigurationAck.go      |   39 +-
 .../model/DeviceConfigurationAckDataBlock.go       |   39 +-
 .../readwrite/model/DeviceConfigurationRequest.go  |   42 +-
 .../model/DeviceConfigurationRequestDataBlock.go   |   36 +-
 .../knxnetip/readwrite/model/DeviceDescriptor.go   |   36 +-
 .../readwrite/model/DeviceDescriptorMediumType.go  |   36 +-
 .../readwrite/model/DeviceDescriptorType2.go       |   48 +-
 .../knxnetip/readwrite/model/DeviceStatus.go       |   36 +-
 .../knxnetip/readwrite/model/DisconnectRequest.go  |   39 +-
 .../knxnetip/readwrite/model/DisconnectResponse.go |   39 +-
 .../knxnetip/readwrite/model/FirmwareType.go       |   36 +-
 .../model/GroupObjectDescriptorRealisationType1.go |   42 +-
 .../model/GroupObjectDescriptorRealisationType2.go |   42 +-
 .../model/GroupObjectDescriptorRealisationType6.go |   36 +-
 .../model/GroupObjectDescriptorRealisationType7.go |   42 +-
 .../model/GroupObjectDescriptorRealisationTypeB.go |   42 +-
 .../readwrite/model/HPAIControlEndpoint.go         |   42 +-
 .../knxnetip/readwrite/model/HPAIDataEndpoint.go   |   42 +-
 .../readwrite/model/HPAIDiscoveryEndpoint.go       |   42 +-
 .../knxnetip/readwrite/model/HostProtocolCode.go   |   36 +-
 .../plc4go/knxnetip/readwrite/model/IPAddress.go   |   36 +-
 .../plc4go/knxnetip/readwrite/model/KnxAddress.go  |   36 +-
 .../knxnetip/readwrite/model/KnxDatapoint.go       |   36 +-
 .../readwrite/model/KnxDatapointMainType.go        |   36 +-
 .../knxnetip/readwrite/model/KnxDatapointType.go   |   36 +-
 .../knxnetip/readwrite/model/KnxGroupAddress.go    |   36 +-
 .../readwrite/model/KnxGroupAddress2Level.go       |   36 +-
 .../readwrite/model/KnxGroupAddress3Level.go       |   36 +-
 .../readwrite/model/KnxGroupAddressFreeLevel.go    |   36 +-
 .../readwrite/model/KnxInterfaceObjectProperty.go  |   36 +-
 .../readwrite/model/KnxInterfaceObjectType.go      |   36 +-
 .../plc4go/knxnetip/readwrite/model/KnxLayer.go    |   36 +-
 .../knxnetip/readwrite/model/KnxManufacturer.go    |  252 ++-
 .../plc4go/knxnetip/readwrite/model/KnxMedium.go   |   36 +-
 .../knxnetip/readwrite/model/KnxNetIpCore.go       |   36 +-
 .../readwrite/model/KnxNetIpDeviceManagement.go    |   36 +-
 .../knxnetip/readwrite/model/KnxNetIpMessage.go    |   36 +-
 .../knxnetip/readwrite/model/KnxNetIpRouting.go    |   36 +-
 .../knxnetip/readwrite/model/KnxNetIpTunneling.go  |   36 +-
 .../knxnetip/readwrite/model/KnxNetObjectServer.go |   36 +-
 .../model/KnxNetRemoteConfigurationAndDiagnosis.go |   36 +-
 .../readwrite/model/KnxNetRemoteLogging.go         |   36 +-
 .../plc4go/knxnetip/readwrite/model/KnxProperty.go |   36 +-
 .../readwrite/model/KnxPropertyDataType.go         |   36 +-
 .../plc4go/knxnetip/readwrite/model/LBusmonInd.go  |   39 +-
 .../plc4go/knxnetip/readwrite/model/LDataCon.go    |   39 +-
 .../knxnetip/readwrite/model/LDataExtended.go      |   42 +-
 .../plc4go/knxnetip/readwrite/model/LDataFrame.go  |   36 +-
 .../knxnetip/readwrite/model/LDataFrameACK.go      |   36 +-
 .../plc4go/knxnetip/readwrite/model/LDataInd.go    |   39 +-
 .../plc4go/knxnetip/readwrite/model/LDataReq.go    |   39 +-
 .../plc4go/knxnetip/readwrite/model/LPollData.go   |   39 +-
 .../knxnetip/readwrite/model/LPollDataCon.go       |   36 +-
 .../knxnetip/readwrite/model/LPollDataReq.go       |   36 +-
 .../plc4go/knxnetip/readwrite/model/LRawCon.go     |   36 +-
 .../plc4go/knxnetip/readwrite/model/LRawInd.go     |   36 +-
 .../plc4go/knxnetip/readwrite/model/LRawReq.go     |   36 +-
 .../plc4go/knxnetip/readwrite/model/MACAddress.go  |   36 +-
 .../readwrite/model/MFuncPropCommandReq.go         |   36 +-
 .../knxnetip/readwrite/model/MFuncPropCon.go       |   36 +-
 .../readwrite/model/MFuncPropStateReadReq.go       |   36 +-
 .../knxnetip/readwrite/model/MPropInfoInd.go       |   36 +-
 .../knxnetip/readwrite/model/MPropReadCon.go       |   36 +-
 .../knxnetip/readwrite/model/MPropReadReq.go       |   36 +-
 .../knxnetip/readwrite/model/MPropWriteCon.go      |   36 +-
 .../knxnetip/readwrite/model/MPropWriteReq.go      |   36 +-
 .../plc4go/knxnetip/readwrite/model/MResetInd.go   |   36 +-
 .../plc4go/knxnetip/readwrite/model/MResetReq.go   |   36 +-
 .../model/ProjectInstallationIdentifier.go         |   36 +-
 .../knxnetip/readwrite/model/RelativeTimestamp.go  |   36 +-
 .../knxnetip/readwrite/model/RoutingIndication.go  |   36 +-
 .../knxnetip/readwrite/model/SearchRequest.go      |   39 +-
 .../knxnetip/readwrite/model/SearchResponse.go     |   45 +-
 .../plc4go/knxnetip/readwrite/model/ServiceId.go   |   36 +-
 .../plc4go/knxnetip/readwrite/model/Status.go      |   36 +-
 .../readwrite/model/SupportedPhysicalMedia.go      |   36 +-
 .../knxnetip/readwrite/model/TDataConnectedInd.go  |   36 +-
 .../knxnetip/readwrite/model/TDataConnectedReq.go  |   36 +-
 .../knxnetip/readwrite/model/TDataIndividualInd.go |   36 +-
 .../knxnetip/readwrite/model/TDataIndividualReq.go |   36 +-
 .../knxnetip/readwrite/model/TunnelingRequest.go   |   42 +-
 .../readwrite/model/TunnelingRequestDataBlock.go   |   36 +-
 .../knxnetip/readwrite/model/TunnelingResponse.go  |   39 +-
 .../readwrite/model/TunnelingResponseDataBlock.go  |   39 +-
 .../knxnetip/readwrite/model/UnknownMessage.go     |   36 +-
 plc4go/internal/plc4go/modbus/Connection.go        |   36 +-
 plc4go/internal/plc4go/modbus/Driver.go            |   40 +-
 plc4go/internal/plc4go/modbus/Field.go             |   52 +-
 plc4go/internal/plc4go/modbus/FieldHandler.go      |   36 +-
 plc4go/internal/plc4go/modbus/MessageCodec.go      |   36 +-
 plc4go/internal/plc4go/modbus/Reader.go            |   36 +-
 plc4go/internal/plc4go/modbus/ValueHandler.go      |   36 +-
 plc4go/internal/plc4go/modbus/Writer.go            |   36 +-
 .../plc4go/modbus/readwrite/ParserHelper.go        |   36 +-
 .../plc4go/modbus/readwrite/XmlParserHelper.go     |   36 +-
 .../plc4go/modbus/readwrite/model/DataItem.go      |   36 +-
 .../modbus/readwrite/model/ModbusConstants.go      |   36 +-
 .../modbus/readwrite/model/ModbusDataType.go       |   36 +-
 .../modbus/readwrite/model/ModbusErrorCode.go      |   36 +-
 .../plc4go/modbus/readwrite/model/ModbusPDU.go     |   36 +-
 .../readwrite/model/ModbusPDUDiagnosticRequest.go  |   36 +-
 .../readwrite/model/ModbusPDUDiagnosticResponse.go |   36 +-
 .../modbus/readwrite/model/ModbusPDUError.go       |   36 +-
 .../model/ModbusPDUGetComEventCounterRequest.go    |   36 +-
 .../model/ModbusPDUGetComEventCounterResponse.go   |   36 +-
 .../model/ModbusPDUGetComEventLogRequest.go        |   36 +-
 .../model/ModbusPDUGetComEventLogResponse.go       |   36 +-
 .../ModbusPDUMaskWriteHoldingRegisterRequest.go    |   36 +-
 .../ModbusPDUMaskWriteHoldingRegisterResponse.go   |   36 +-
 .../readwrite/model/ModbusPDUReadCoilsRequest.go   |   36 +-
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |   36 +-
 .../ModbusPDUReadDeviceIdentificationRequest.go    |   36 +-
 .../ModbusPDUReadDeviceIdentificationResponse.go   |   36 +-
 .../model/ModbusPDUReadDiscreteInputsRequest.go    |   36 +-
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |   36 +-
 .../model/ModbusPDUReadExceptionStatusRequest.go   |   36 +-
 .../model/ModbusPDUReadExceptionStatusResponse.go  |   36 +-
 .../model/ModbusPDUReadFifoQueueRequest.go         |   36 +-
 .../model/ModbusPDUReadFifoQueueResponse.go        |   36 +-
 .../model/ModbusPDUReadFileRecordRequest.go        |   36 +-
 .../model/ModbusPDUReadFileRecordRequestItem.go    |   36 +-
 .../model/ModbusPDUReadFileRecordResponse.go       |   36 +-
 .../model/ModbusPDUReadFileRecordResponseItem.go   |   36 +-
 .../model/ModbusPDUReadHoldingRegistersRequest.go  |   36 +-
 .../model/ModbusPDUReadHoldingRegistersResponse.go |   36 +-
 .../model/ModbusPDUReadInputRegistersRequest.go    |   36 +-
 .../model/ModbusPDUReadInputRegistersResponse.go   |   36 +-
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |   36 +-
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |   36 +-
 .../model/ModbusPDUReportServerIdRequest.go        |   36 +-
 .../model/ModbusPDUReportServerIdResponse.go       |   36 +-
 .../model/ModbusPDUWriteFileRecordRequest.go       |   36 +-
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |   36 +-
 .../model/ModbusPDUWriteFileRecordResponse.go      |   36 +-
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |   36 +-
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |   36 +-
 .../model/ModbusPDUWriteMultipleCoilsResponse.go   |   36 +-
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |   36 +-
 ...dbusPDUWriteMultipleHoldingRegistersResponse.go |   36 +-
 .../model/ModbusPDUWriteSingleCoilRequest.go       |   36 +-
 .../model/ModbusPDUWriteSingleCoilResponse.go      |   36 +-
 .../model/ModbusPDUWriteSingleRegisterRequest.go   |   36 +-
 .../model/ModbusPDUWriteSingleRegisterResponse.go  |   36 +-
 .../modbus/readwrite/model/ModbusSerialADU.go      |   39 +-
 .../plc4go/modbus/readwrite/model/ModbusTcpADU.go  |   39 +-
 plc4go/internal/plc4go/s7/Configuration.go         |   36 +-
 plc4go/internal/plc4go/s7/Connection.go            |   40 +-
 plc4go/internal/plc4go/s7/ControllerType.go        |   36 +-
 plc4go/internal/plc4go/s7/Driver.go                |   40 +-
 plc4go/internal/plc4go/s7/DriverContext.go         |   36 +-
 plc4go/internal/plc4go/s7/Field.go                 |   91 +-
 plc4go/internal/plc4go/s7/FieldHandler.go          |   36 +-
 plc4go/internal/plc4go/s7/MessageCodec.go          |   36 +-
 plc4go/internal/plc4go/s7/Reader.go                |   36 +-
 plc4go/internal/plc4go/s7/TsapIdEncoder.go         |   36 +-
 plc4go/internal/plc4go/s7/ValueHandler.go          |   36 +-
 plc4go/internal/plc4go/s7/Writer.go                |   36 +-
 .../internal/plc4go/s7/readwrite/ParserHelper.go   |  104 +-
 .../plc4go/s7/readwrite/XmlParserHelper.go         |  122 +-
 .../model/AlarmMessageAckObjectPushType.go         |  263 +++
 .../s7/readwrite/model/AlarmMessageAckPushType.go  |  210 +++
 .../readwrite/model/AlarmMessageAckResponseType.go |  179 ++
 .../s7/readwrite/model/AlarmMessageAckType.go      |  182 ++
 .../readwrite/model/AlarmMessageObjectAckType.go   |  265 +++
 .../readwrite/model/AlarmMessageObjectPushType.go  |  361 ++++
 .../readwrite/model/AlarmMessageObjectQueryType.go |  367 ++++
 .../s7/readwrite/model/AlarmMessagePushType.go     |  210 +++
 .../s7/readwrite/model/AlarmMessageQueryType.go    |  260 +++
 .../plc4go/s7/readwrite/model/AlarmStateType.go    |  144 ++
 .../plc4go/s7/readwrite/model/AlarmType.go         |  120 ++
 .../s7/readwrite/model/AssociatedValueType.go      |  229 +++
 .../plc4go/s7/readwrite/model/COTPPacket.go        |   36 +-
 .../readwrite/model/COTPPacketConnectionRequest.go |   51 +-
 .../model/COTPPacketConnectionResponse.go          |   51 +-
 .../plc4go/s7/readwrite/model/COTPPacketData.go    |   36 +-
 .../readwrite/model/COTPPacketDisconnectRequest.go |   51 +-
 .../model/COTPPacketDisconnectResponse.go          |   36 +-
 .../s7/readwrite/model/COTPPacketTpduError.go      |   36 +-
 .../plc4go/s7/readwrite/model/COTPParameter.go     |   36 +-
 .../s7/readwrite/model/COTPParameterCalledTsap.go  |   36 +-
 .../s7/readwrite/model/COTPParameterCallingTsap.go |   36 +-
 .../s7/readwrite/model/COTPParameterChecksum.go    |   36 +-
 ...COTPParameterDisconnectAdditionalInformation.go |   36 +-
 .../s7/readwrite/model/COTPParameterTpduSize.go    |   51 +-
 .../plc4go/s7/readwrite/model/COTPProtocolClass.go |   36 +-
 .../plc4go/s7/readwrite/model/COTPTpduSize.go      |   36 +-
 .../s7/readwrite/model/CpuSubscribeEvents.go       |  128 ++
 .../internal/plc4go/s7/readwrite/model/DataItem.go |   36 +-
 .../s7/readwrite/model/DataTransportErrorCode.go   |   36 +-
 .../plc4go/s7/readwrite/model/DataTransportSize.go |   36 +-
 .../plc4go/s7/readwrite/model/DateAndTime.go       |  319 ++++
 .../plc4go/s7/readwrite/model/DeviceGroup.go       |   36 +-
 .../plc4go/s7/readwrite/model/EventType.go         |  128 ++
 .../plc4go/s7/readwrite/model/MemoryArea.go        |   36 +-
 .../s7/readwrite/model/ModeTransitionType.go       |  168 ++
 .../plc4go/s7/readwrite/model/QueryType.go         |  120 ++
 .../plc4go/s7/readwrite/model/S7Address.go         |   36 +-
 .../plc4go/s7/readwrite/model/S7AddressAny.go      |   51 +-
 .../s7/readwrite/model/S7DataAlarmMessage.go       |  192 ++
 .../plc4go/s7/readwrite/model/S7EventHelper.go     |   52 +
 .../plc4go/s7/readwrite/model/S7Message.go         |   36 +-
 .../s7/readwrite/model/S7MessageObjectRequest.go   |  316 ++++
 .../s7/readwrite/model/S7MessageObjectResponse.go  |  220 +++
 .../plc4go/s7/readwrite/model/S7MessageRequest.go  |   36 +-
 .../plc4go/s7/readwrite/model/S7MessageResponse.go |   36 +-
 .../s7/readwrite/model/S7MessageResponseData.go    |   36 +-
 .../plc4go/s7/readwrite/model/S7MessageUserData.go |   36 +-
 .../plc4go/s7/readwrite/model/S7Parameter.go       |   38 +-
 .../readwrite/model/S7ParameterModeTransition.go   |  276 +++
 .../readwrite/model/S7ParameterReadVarRequest.go   |   36 +-
 .../readwrite/model/S7ParameterReadVarResponse.go  |   36 +-
 .../model/S7ParameterSetupCommunication.go         |   36 +-
 .../s7/readwrite/model/S7ParameterUserData.go      |   36 +-
 .../s7/readwrite/model/S7ParameterUserDataItem.go  |   36 +-
 .../model/S7ParameterUserDataItemCPUFunctions.go   |   36 +-
 .../readwrite/model/S7ParameterWriteVarRequest.go  |   36 +-
 .../readwrite/model/S7ParameterWriteVarResponse.go |   36 +-
 .../plc4go/s7/readwrite/model/S7Payload.go         |   36 +-
 .../plc4go/s7/readwrite/model/S7PayloadAlarm8.go   |  174 ++
 .../s7/readwrite/model/S7PayloadAlarmAckInd.go     |  174 ++
 .../plc4go/s7/readwrite/model/S7PayloadAlarmS.go   |  174 ++
 .../plc4go/s7/readwrite/model/S7PayloadAlarmSC.go  |  174 ++
 .../plc4go/s7/readwrite/model/S7PayloadAlarmSQ.go  |  174 ++
 .../readwrite/model/S7PayloadDiagnosticMessage.go  |  288 +++
 .../plc4go/s7/readwrite/model/S7PayloadNotify.go   |  174 ++
 .../plc4go/s7/readwrite/model/S7PayloadNotify8.go  |  174 ++
 .../s7/readwrite/model/S7PayloadReadVarResponse.go |   36 +-
 .../plc4go/s7/readwrite/model/S7PayloadUserData.go |   38 +-
 .../s7/readwrite/model/S7PayloadUserDataItem.go    |  160 +-
 .../S7PayloadUserDataItemCpuFunctionAlarmAck.go    |  224 +++
 ...yloadUserDataItemCpuFunctionAlarmAckResponse.go |  221 +++
 .../S7PayloadUserDataItemCpuFunctionAlarmQuery.go  |  364 ++++
 ...oadUserDataItemCpuFunctionAlarmQueryResponse.go |  271 +++
 ...ayloadUserDataItemCpuFunctionMsgSubscription.go |  264 +++
 ...aItemCpuFunctionMsgSubscriptionAlarmResponse.go |  250 +++
 ...erDataItemCpuFunctionMsgSubscriptionResponse.go |  143 ++
 ...ataItemCpuFunctionMsgSubscriptionSysResponse.go |  182 ++
 ...PayloadUserDataItemCpuFunctionReadSzlRequest.go |  106 +-
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |  111 +-
 .../s7/readwrite/model/S7PayloadWriteVarRequest.go |   36 +-
 .../readwrite/model/S7PayloadWriteVarResponse.go   |   36 +-
 .../plc4go/s7/readwrite/model/S7StaticHelper.go    |   36 +-
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |   68 +-
 .../s7/readwrite/model/S7VarPayloadStatusItem.go   |   51 +-
 .../readwrite/model/S7VarRequestParameterItem.go   |   36 +-
 .../model/S7VarRequestParameterItemAddress.go      |   39 +-
 plc4go/internal/plc4go/s7/readwrite/model/State.go |  242 +++
 .../plc4go/s7/readwrite/model/SyntaxIdType.go      |  200 +++
 .../plc4go/s7/readwrite/model/SzlDataTreeItem.go   |   36 +-
 plc4go/internal/plc4go/s7/readwrite/model/SzlId.go |   66 +-
 .../s7/readwrite/model/SzlModuleTypeClass.go       |   36 +-
 .../plc4go/s7/readwrite/model/SzlSublist.go        |   36 +-
 .../plc4go/s7/readwrite/model/TPKTPacket.go        |   39 +-
 .../plc4go/s7/readwrite/model/TransportSize.go     |   36 +-
 plc4go/internal/plc4go/s7/s7Io_test.go             |   36 +-
 .../plc4go/simulated/readwrite/ParserHelper.go     |   36 +-
 .../plc4go/simulated/readwrite/XmlParserHelper.go  |   36 +-
 .../plc4go/simulated/readwrite/model/DataItem.go   |   36 +-
 .../plc4go/simulated/readwrite/model/Dummy.go      |   36 +-
 .../readwrite/model/SimulatedDataTypeSizes.go      |   36 +-
 plc4go/internal/plc4go/spi/HandlerExposer.go       |   36 +-
 plc4go/internal/plc4go/spi/Message.go              |   36 +-
 plc4go/internal/plc4go/spi/MessageCodec.go         |   36 +-
 plc4go/internal/plc4go/spi/PlcBrowser.go           |   36 +-
 plc4go/internal/plc4go/spi/PlcDiscoverer.go        |   36 +-
 plc4go/internal/plc4go/spi/PlcFieldHandler.go      |   36 +-
 plc4go/internal/plc4go/spi/PlcReader.go            |   36 +-
 plc4go/internal/plc4go/spi/PlcSubscriber.go        |   36 +-
 plc4go/internal/plc4go/spi/PlcValueHandler.go      |   36 +-
 plc4go/internal/plc4go/spi/PlcWriter.go            |   36 +-
 .../plc4go/spi/RequestTransactionManager.go        |   36 +-
 .../plc4go/spi/TransportInstanceExposer.go         |   36 +-
 plc4go/internal/plc4go/spi/default/DefaultCodec.go |   54 +-
 .../plc4go/spi/default/DefaultConnection.go        |   46 +-
 plc4go/internal/plc4go/spi/default/Options.go      |   36 +-
 plc4go/internal/plc4go/spi/default/init.go         |   36 +-
 .../plc4go/spi/interceptors/RequestInterceptor.go  |   36 +-
 .../interceptors/SingleItemRequestInterceptor.go   |   36 +-
 .../plc4go/spi/model/DefaultBrowseRequest.go       |   36 +-
 .../plc4go/spi/model/DefaultPlcDiscoveryEvent.go   |   36 +-
 .../plc4go/spi/model/DefaultPlcReadRequest.go      |   65 +-
 .../plc4go/spi/model/DefaultPlcReadResponse.go     |   88 +-
 .../spi/model/DefaultPlcSubscriptionEvent.go       |   58 +-
 .../spi/model/DefaultPlcSubscriptionRequest.go     |   65 +-
 .../spi/model/DefaultPlcSubscriptionResponse.go    |   69 +-
 .../plc4go/spi/model/DefaultPlcWriteRequest.go     |   93 +-
 .../plc4go/spi/model/DefaultPlcWriteResponse.go    |   63 +-
 plc4go/internal/plc4go/spi/model/DefaultRequest.go |   36 +-
 .../internal/plc4go/spi/model/DefaultResponse.go   |   36 +-
 .../internal/plc4go/spi/plcerrors/TimeoutError.go  |   36 +-
 .../plc4go/spi/testutils/DriverTestRunner.go       |   59 +-
 .../plc4go/spi/testutils/ManualTestRunner.go       |   36 +-
 .../spi/testutils/ParserSerializerTestRunner.go    |   36 +-
 plc4go/internal/plc4go/spi/testutils/TestUtils.go  |   48 +-
 plc4go/internal/plc4go/spi/transports/Transport.go |   36 +-
 .../plc4go/spi/transports/TransportInstance.go     |   38 +-
 .../plc4go/spi/transports/serial/Transport.go      |  183 ++
 .../plc4go/spi/transports/tcp/Transport.go         |   41 +-
 .../plc4go/spi/transports/test/Transport.go        |   45 +-
 .../plc4go/spi/transports/udp/Transport.go         |   42 +-
 .../plc4go/spi/transports/utils/TransportLogger.go |   68 +
 plc4go/internal/plc4go/spi/utils/Buffer.go         |   36 +-
 plc4go/internal/plc4go/spi/utils/CastUtils.go      |   82 +-
 plc4go/internal/plc4go/spi/utils/MultiError.go     |   36 +-
 plc4go/internal/plc4go/spi/utils/ReadBuffer.go     |   36 +-
 .../plc4go/spi/utils/ReadBufferByteBased.go        |   36 +-
 .../plc4go/spi/utils/ReadBufferByteBased_test.go   |   36 +-
 .../plc4go/spi/utils/ReadBufferJsonBased.go        |   36 +-
 .../plc4go/spi/utils/ReadBufferXmlBased.go         |   36 +-
 plc4go/internal/plc4go/spi/utils/Regexp.go         |   36 +-
 plc4go/internal/plc4go/spi/utils/Serializable.go   |   36 +-
 plc4go/internal/plc4go/spi/utils/Utils.go          |   36 +-
 plc4go/internal/plc4go/spi/utils/WriteBuffer.go    |   36 +-
 .../plc4go/spi/utils/WriteBufferBoxBased.go        |   36 +-
 .../plc4go/spi/utils/WriteBufferByteBased.go       |   36 +-
 .../plc4go/spi/utils/WriteBufferJsonBased.go       |   36 +-
 .../plc4go/spi/utils/WriteBufferXmlBased.go        |   36 +-
 plc4go/internal/plc4go/spi/utils/asciiBox.go       |   36 +-
 plc4go/internal/plc4go/spi/utils/asciiBox_test.go  |   36 +-
 plc4go/internal/plc4go/spi/utils/bufferCommons.go  |   36 +-
 plc4go/internal/plc4go/spi/utils/dumpUtils.go      |   36 +-
 plc4go/internal/plc4go/spi/utils/dumpUtils_test.go |   36 +-
 plc4go/internal/plc4go/spi/utils/hex.go            |   36 +-
 plc4go/internal/plc4go/spi/utils/hex_test.go       |   36 +-
 plc4go/internal/plc4go/spi/values/BINT.go          |   50 +-
 plc4go/internal/plc4go/spi/values/BOOL.go          |   51 +-
 plc4go/internal/plc4go/spi/values/BREAL.go         |   50 +-
 plc4go/internal/plc4go/spi/values/BYTE.go          |   47 +-
 plc4go/internal/plc4go/spi/values/CHAR.go          |   47 +-
 plc4go/internal/plc4go/spi/values/DATE.go          |   45 +-
 plc4go/internal/plc4go/spi/values/DATE_AND_TIME.go |   45 +-
 plc4go/internal/plc4go/spi/values/DINT.go          |   45 +-
 plc4go/internal/plc4go/spi/values/DWORD.go         |   47 +-
 .../plc4go/spi/values/IEC61131ValueHandler.go      |   36 +-
 plc4go/internal/plc4go/spi/values/INT.go           |   45 +-
 plc4go/internal/plc4go/spi/values/LINT.go          |   45 +-
 plc4go/internal/plc4go/spi/values/LREAL.go         |   45 +-
 plc4go/internal/plc4go/spi/values/LTIME.go         |   45 +-
 plc4go/internal/plc4go/spi/values/LWORD.go         |   47 +-
 plc4go/internal/plc4go/spi/values/NULL.go          |   48 +-
 plc4go/internal/plc4go/spi/values/PlcBitString.go  |   59 +-
 plc4go/internal/plc4go/spi/values/PlcByteArray.go  |   52 +-
 plc4go/internal/plc4go/spi/values/PlcList.go       |   67 +-
 .../plc4go/spi/values/PlcSimpleValueAdapter.go     |   36 +-
 plc4go/internal/plc4go/spi/values/PlcStruct.go     |   64 +-
 .../internal/plc4go/spi/values/PlcValueAdapter.go  |   36 +-
 plc4go/internal/plc4go/spi/values/REAL.go          |   45 +-
 plc4go/internal/plc4go/spi/values/RawPlcValue.go   |   50 +-
 plc4go/internal/plc4go/spi/values/SINT.go          |   45 +-
 plc4go/internal/plc4go/spi/values/STRING.go        |   47 +-
 plc4go/internal/plc4go/spi/values/TIME.go          |   45 +-
 plc4go/internal/plc4go/spi/values/TIME_OF_DAY.go   |   45 +-
 plc4go/internal/plc4go/spi/values/UDINT.go         |   45 +-
 plc4go/internal/plc4go/spi/values/UINT.go          |   45 +-
 plc4go/internal/plc4go/spi/values/ULINT.go         |   45 +-
 plc4go/internal/plc4go/spi/values/USINT.go         |   45 +-
 plc4go/internal/plc4go/spi/values/WCHAR.go         |   45 +-
 plc4go/internal/plc4go/spi/values/WORD.go          |   47 +-
 plc4go/internal/plc4go/spi/values/WSTRING.go       |   45 +-
 plc4go/pkg/plc4go/config/config.go                 |   36 +-
 plc4go/pkg/plc4go/connection.go                    |   36 +-
 plc4go/pkg/plc4go/driver.go                        |   38 +-
 plc4go/pkg/plc4go/driverManager.go                 |   63 +-
 plc4go/pkg/plc4go/drivers/drivers.go               |   42 +-
 plc4go/pkg/plc4go/logging/init.go                  |   36 +-
 plc4go/pkg/plc4go/model/plc_browse.go              |   36 +-
 plc4go/pkg/plc4go/model/plc_connection_metadata.go |   36 +-
 plc4go/pkg/plc4go/model/plc_discovery.go           |  231 ++-
 plc4go/pkg/plc4go/model/plc_field.go               |   36 +-
 plc4go/pkg/plc4go/model/plc_message.go             |   36 +-
 plc4go/pkg/plc4go/model/plc_read.go                |   36 +-
 plc4go/pkg/plc4go/model/plc_request.go             |   36 +-
 plc4go/pkg/plc4go/model/plc_response.go            |   36 +-
 plc4go/pkg/plc4go/model/plc_response_code.go       |   36 +-
 plc4go/pkg/plc4go/model/plc_subscription.go        |   36 +-
 plc4go/pkg/plc4go/model/plc_unsubscription.go      |   36 +-
 plc4go/pkg/plc4go/model/plc_write.go               |   36 +-
 plc4go/pkg/plc4go/transports/transports.go         |   36 +-
 plc4go/pkg/plc4go/values/plc_value.go              |   36 +-
 plc4go/pom.xml                                     |   59 +-
 plc4j/api/pom.xml                                  |   32 +-
 .../org/apache/plc4x/java/PlcDriverManager.java    |   41 +-
 .../org/apache/plc4x/java/api/Experimental.java    |    1 -
 .../plc4x/java/api/PlcConnectionExtension.java     |    1 -
 .../java/org/apache/plc4x/java/api/PlcDriver.java  |   15 +-
 .../api/exceptions/PlcFieldRangeException.java     |    1 -
 .../PlcIncompatibleDatatypeException.java          |    1 -
 .../exceptions/PlcProtocolTimeoutException.java    |   34 +-
 .../java/api/exceptions/PlcTimeoutException.java   |    1 -
 .../PlcUnsupportedProtocolException.java           |    1 -
 .../plc4x/java/api/messages/PlcDiscoveryItem.java  |   55 +
 .../java/api/messages/PlcDiscoveryItemHandler.java |   25 +
 .../java/api/messages/PlcDiscoveryRequest.java     |    2 +
 .../java/api/messages/PlcDiscoveryResponse.java    |    8 +
 .../plc4x/java/api/metadata/PlcDriverMetadata.java |   31 +
 .../java/api/model/PlcConsumerRegistration.java    |    1 -
 .../plc4x/java/api/model/PlcDiscoveryHandler.java  |   31 +
 .../plc4x/java/api/model/PlcSubscriptionField.java |   34 +-
 .../org/apache/plc4x/java/api/value/PlcValue.java  |    1 -
 .../plc4x/java/api/value/PlcValueHandler.java      |   19 +-
 .../PlcUsernamePasswordAuthenticationTest.java     |    1 -
 .../api/exceptions/PlcConnectionExceptionTest.java |    1 -
 .../java/api/exceptions/PlcExceptionTest.java      |    1 -
 .../api/exceptions/PlcFieldRangeExceptionTest.java |    1 -
 .../PlcIncompatibleDatatypeExceptionTest.java      |    1 -
 .../exceptions/PlcInvalidFieldExceptionTest.java   |    1 -
 .../java/api/exceptions/PlcIoExceptionTest.java    |    1 -
 .../exceptions/PlcNotImplementedExceptionTest.java |    1 -
 .../api/exceptions/PlcProtocolExceptionTest.java   |    1 -
 .../PlcProtocolPayloadTooBigExceptionTest.java     |    1 -
 .../api/exceptions/PlcRuntimeExceptionTest.java    |    1 -
 .../api/exceptions/PlcTimeoutExceptionTest.java    |    1 -
 .../PlcUnsupportedDataTypeExceptionTest.java       |    1 -
 .../PlcUnsupportedOperationExceptionTest.java      |    1 -
 .../plc4x/java/api/messages/APIMessageTests.java   |    1 -
 .../api/messages/PlcUnsubscriptionRequestTest.java |    1 -
 .../java/api/types/PlcClientDatatypeTest.java      |    3 -
 .../plc4x/java/api/types/PlcResponseCodeTest.java  |    1 -
 .../java/api/types/PlcSubscriptionTypeTest.java    |    1 -
 .../plc4x/java/mock/DuplicateMockDriver.java       |    1 -
 .../apache/plc4x/java/mock/MockPlcConnection.java  |    1 -
 .../services/org.apache.plc4x.java.api.PlcDriver   |   19 -
 .../services/org.apache.plc4x.java.api.PlcDriver   |   19 -
 plc4j/drivers/ab-eth/pom.xml                       |   32 +-
 .../org/apache/plc4x/java/abeth/AbEthDriver.java   |   34 +-
 .../abeth/configuration/AbEthConfiguration.java    |   34 +-
 .../apache/plc4x/java/abeth/field/AbEthField.java  |   34 +-
 .../plc4x/java/abeth/field/AbEthFieldHandler.java  |   34 +-
 .../java/abeth/protocol/AbEthProtocolLogic.java    |   34 +-
 .../java/abeth/protocol/Plc4xAbEthProtocol.java    |   34 +-
 .../apache/plc4x/java/abeth/types/FileType.java    |   34 +-
 .../protocol/abeth/AbEthParserSerializerTest.java  |   35 +-
 plc4j/drivers/ads/pom.xml                          |    2 +-
 .../org/apache/plc4x/java/ads/ADSPlcDriver.java    |   32 +-
 .../java/ads/configuration/AdsConfiguration.java   |   34 +-
 .../org/apache/plc4x/java/ads/field/AdsField.java  |   36 +-
 .../plc4x/java/ads/field/AdsFieldHandler.java      |   32 +-
 .../plc4x/java/ads/field/AdsStringField.java       |   34 +-
 .../plc4x/java/ads/field/DirectAdsField.java       |   64 +-
 .../plc4x/java/ads/field/DirectAdsStringField.java |   64 +-
 .../plc4x/java/ads/field/SymbolicAdsField.java     |   62 +-
 .../java/ads/field/SymbolicAdsStringField.java     |   64 +-
 .../java/ads/model/AdsSubscriptionHandle.java      |   34 +-
 .../plc4x/java/ads/protocol/AdsProtocolLogic.java  |   34 +-
 .../apache/plc4x/java/ads/utils/StaticHelper.java  |   34 +-
 .../ads/AdsDiscoverySerializerParserTest.java      |   35 +-
 .../org/apache/plc4x/protocol/ads/AdsDriverIT.java |   34 +-
 .../protocol/ads/AdsSerializerParserTest.java      |   35 +-
 .../apache/plc4x/protocol/ads/HexBase64Helper.java |   34 +-
 .../plc4x/protocol/ads/ManualAdsDriverTest.java    |   34 +-
 .../protocol/ads/ManualParserSerializerTest.java   |   34 +-
 plc4j/drivers/canopen/pom.xml                      |   32 +-
 .../plc4x/java/canopen/CANOpenPlcDriver.java       |   32 +-
 .../api/conversation/canopen/CANConversation.java  |   34 +-
 .../canopen/CANOpenConversationBase.java           |   34 +-
 .../canopen/SDODownloadConversation.java           |   34 +-
 .../canopen/SDOUploadConversation.java             |   34 +-
 .../api/segmentation/accumulator/ByteStorage.java  |   34 +-
 .../api/segmentation/accumulator/Storage.java      |   34 +-
 .../configuration/CANOpenConfiguration.java        |   34 +-
 .../java/canopen/context/CANOpenDriverContext.java |   34 +-
 .../plc4x/java/canopen/field/CANOpenField.java     |   38 +-
 .../java/canopen/field/CANOpenFieldHandler.java    |   34 +-
 .../java/canopen/field/CANOpenHeartbeatField.java  |   57 +-
 .../plc4x/java/canopen/field/CANOpenNMTField.java  |   58 +-
 .../plc4x/java/canopen/field/CANOpenPDOField.java  |   63 +-
 .../plc4x/java/canopen/field/CANOpenSDOField.java  |   67 +-
 .../canopen/field/CANOpenSubscriptionField.java    |   34 +-
 .../plc4x/java/canopen/helper/CANOpenHelper.java   |   34 +-
 .../plc4x/java/canopen/helper/HeaderParser.java    |   34 +-
 .../plc4x/java/canopen/listener/Callback.java      |   34 +-
 .../java/canopen/listener/CompositeCallback.java   |   34 +-
 .../canopen/protocol/CANOpenProtocolLogic.java     |   34 +-
 .../protocol/CANOpenSubscriptionHandle.java        |   34 +-
 .../canopen/socketcan/SocketCANConversation.java   |   34 +-
 .../canopen/transport/CANOpenAbortException.java   |   34 +-
 .../plc4x/java/canopen/transport/CANOpenFrame.java |   34 +-
 .../canopen/transport/CANOpenFrameBuilder.java     |   34 +-
 .../transport/CANOpenFrameBuilderFactory.java      |   34 +-
 .../transport/socketcan/CANOpenSocketCANFrame.java |   34 +-
 .../socketcan/CANOpenSocketCANFrameBuilder.java    |   34 +-
 .../socketcan/io/CANOpenSocketCANFrameIO.java      |   34 +-
 .../plc4x/java/canopen/CANOpenDriverSDOIT.java     |   34 +-
 .../plc4x/java/canopen/CANOpenPayloadTest.java     |   34 +-
 .../plc4x/java/canopen/CANOpenWiresharkTest.java   |   34 +-
 .../java/org/apache/plc4x/java/canopen/Main.java   |   34 +-
 .../plc4x/java/canopen/ManualParserTest.java       |   34 +-
 .../java/canopen/field/CANOpenFieldSDOTest.java    |   34 +-
 .../java/canopen/field/CANOpenNMTFieldTest.java    |   34 +-
 .../java/canopen/field/CANOpenPDOFieldTest.java    |   34 +-
 .../java/canopen/field/CANOpenSDOFieldTest.java    |   34 +-
 plc4j/drivers/eip/pom.xml                          |   32 +-
 .../plc4x/java/eip/readwrite/field/EipField.java   |   80 +-
 .../java/eip/readwrite/EIPDriverTestsuite.java     |   34 +-
 .../readwrite/EIPParserSerializerTestsuite.java    |   34 +-
 plc4j/drivers/firmata/pom.xml                      |   32 +-
 .../java/firmata/readwrite/FirmataDriver.java      |   34 +-
 .../configuration/FirmataConfiguration.java        |   34 +-
 .../readwrite/context/FirmataDriverContext.java    |   34 +-
 .../java/firmata/readwrite/field/FirmataField.java |   34 +-
 .../readwrite/field/FirmataFieldAnalog.java        |   34 +-
 .../readwrite/field/FirmataFieldDigital.java       |   34 +-
 .../readwrite/field/FirmataFieldHandler.java       |   34 +-
 .../readwrite/model/FirmataSubscriptionHandle.java |   34 +-
 .../readwrite/protocol/FirmataProtocolLogic.java   |   34 +-
 .../java/firmata/readwrite/utils/FirmataUtils.java |   34 +-
 .../readwrite/FirmataParserSerializerTest.java     |   34 +-
 .../apache/plc4x/java/knxnetip/KnxNetIpDriver.java |   34 +-
 .../configuration/KnxNetIpConfiguration.java       |   34 +-
 .../knxnetip/context/KnxNetIpDriverContext.java    |   34 +-
 .../plc4x/java/knxnetip/ets5/Ets5Parser.java       |   34 +-
 .../java/knxnetip/ets5/model/AddressType.java      |   34 +-
 .../plc4x/java/knxnetip/ets5/model/Ets5Model.java  |   34 +-
 .../plc4x/java/knxnetip/ets5/model/Function.java   |   34 +-
 .../java/knxnetip/ets5/model/GroupAddress.java     |   34 +-
 .../plc4x/java/knxnetip/field/KnxNetIpField.java   |   34 +-
 .../java/knxnetip/field/KnxNetIpFieldHandler.java  |   34 +-
 .../knxnetip/model/KnxNetIpSubscriptionHandle.java |   34 +-
 .../knxnetip/protocol/KnxNetIpProtocolLogic.java   |   34 +-
 .../plc4x/java/knxnetip/utils/KnxHelper.java       |   34 +-
 .../knxnetip/KnxNetIpParserSerializerTest.java     |   35 +-
 .../apache/plc4x/java/knxnetip/ManualKnxNetIp.java |   34 +-
 .../knxnetip/src/test/resources/logback.xml        |   28 +-
 .../org/apache/plc4x/java/mock/MockDriver.java     |   34 +-
 .../plc4x/java/mock/connection/MockConnection.java |   34 +-
 .../plc4x/java/mock/connection/MockDevice.java     |    1 -
 .../java/mock/connection/tcp/TcpHexDumper.java     |   32 +-
 .../apache/plc4x/java/mock/field/MockField.java    |   34 +-
 .../plc4x/java/mock/field/MockFieldHandler.java    |    1 -
 .../apache/plc4x/java/mock/field/MockPlcValue.java |   37 +-
 .../org/apache/plc4x/java/mock/field/MockType.java |   34 +-
 .../plc4x/java/mock/field/MockValueHandler.java    |   34 +-
 .../mock/protocol/Plc4XSupportedDataTypes.java     |   32 +-
 .../org/apache/plc4x/java/mock/util/Assert.java    |   32 +-
 .../org/apache/plc4x/java/mock/util/HexUtil.java   |   33 +-
 .../org/apache/plc4x/java/modbus/ModbusDriver.java |   34 +-
 .../java/modbus/config/ModbusConfiguration.java    |   34 +-
 .../java/modbus/field/ModbusExtendedRegister.java  |   32 +-
 .../plc4x/java/modbus/field/ModbusField.java       |   77 +-
 .../plc4x/java/modbus/field/ModbusFieldCoil.java   |   32 +-
 .../modbus/field/ModbusFieldDiscreteInput.java     |   32 +-
 .../java/modbus/field/ModbusFieldHandler.java      |   34 +-
 .../modbus/field/ModbusFieldHoldingRegister.java   |   32 +-
 .../modbus/field/ModbusFieldInputRegister.java     |   32 +-
 .../java/modbus/protocol/ModbusProtocolLogic.java  |   34 +-
 .../plc4x/java/modbus/ManualModbusDriverTest.java  |   34 +-
 .../apache/plc4x/java/modbus/ModbusDriverIT.java   |   34 +-
 .../apache/plc4x/java/modbus/ModbusEncodeTest.java |   34 +-
 .../plc4x/java/modbus/ModbusFieldDataTypeTest.java |   34 +-
 .../apache/plc4x/java/modbus/ModbusFieldTest.java  |   34 +-
 .../java/modbus/ModbusParserSerializerTest.java    |   34 +-
 plc4j/drivers/opcua/pom.xml                        |   82 +-
 .../apache/plc4x/java/opcua/OpcuaPlcDriver.java    |  268 ++-
 .../java/opcua/config/OpcuaConfiguration.java      |  235 +++
 .../opcua/connection/BaseOpcuaPlcConnection.java   |  103 --
 .../opcua/connection/OpcuaConnectionFactory.java   |   38 -
 .../opcua/connection/OpcuaTcpPlcConnection.java    |  919 ----------
 .../java/opcua/context/CertificateGenerator.java   |  125 ++
 .../java/opcua/context/CertificateKeyPair.java     |   43 +
 .../java/opcua/context/EncryptionHandler.java      |  249 +++
 .../plc4x/java/opcua/context/SecureChannel.java    | 1221 +++++++++++++
 .../context/SecureChannelTransactionManager.java   |  115 ++
 .../apache/plc4x/java/opcua/field/OpcuaField.java  |  142 ++
 .../java/opcua/field/OpcuaPlcFieldHandler.java     |   36 +
 .../plc4x/java/opcua/optimizer/OpcuaOptimizer.java |   57 +
 .../plc4x/java/opcua/protocol/OpcuaField.java      |  153 --
 .../java/opcua/protocol/OpcuaPlcFieldHandler.java  |   37 -
 .../java/opcua/protocol/OpcuaProtocolLogic.java    |  909 ++++++++++
 .../opcua/protocol/OpcuaSubscriptionHandle.java    |  489 ++++++
 .../opcua/protocol/OpcuaSubsriptionHandle.java     |   92 -
 .../apache/plc4x/java/opcua/ManualPLC4XOpcua.java  |  169 +-
 .../plc4x/java/opcua/OpcuaPlcDriverTest.java       |   82 +-
 .../org/apache/plc4x/java/opcua/UtilsTest.java     |   35 +-
 .../connection/OpcuaTcpPlcConnectionTest.java      |   74 +-
 .../plc4x/java/opcua/protocol/OpcuaFieldTest.java  |   36 +-
 .../opcua/protocol/OpcuaPlcFieldHandlerTest.java   |   34 +-
 .../protocol/OpcuaSubscriptionHandleTest.java      |  545 +++++-
 .../opcua/src/test/resources/log4j.properties      |   24 +
 plc4j/drivers/opcua/src/test/resources/logback.xml |   30 +
 plc4j/drivers/pom.xml                              |    3 +-
 plc4j/drivers/profinet/pom.xml                     |  203 +++
 .../apache/plc4x/java/profinet/ProfinetDriver.java |  151 ++
 .../profinet/config/ProfinetConfiguration.java     |   53 +
 .../profinet/context/ProfinetDiscoveryContext.java |   25 +
 .../profinet/discovery/ProfinetPlcDiscoverer.java  |  261 +++
 .../plc4x/java/profinet/field/ProfinetField.java   |   30 +
 .../java/profinet/field/ProfinetFieldHandler.java  |   31 +
 .../profinet/protocol/ProfinetDiscoveryLogic.java  |   32 +
 .../profinet/protocol/ProfinetProtocolLogic.java   |   62 +
 .../plc4x/java/profinet/utils/StaticHelper.java    |   34 +
 .../services/org.apache.plc4x.java.api.PlcDriver   |   19 +
 plc4j/drivers/s7/pom.xml                           |    2 +
 .../apache/plc4x/java/s7/events/S7AlarmEvent.java  |  687 ++++++++
 .../plc4x/java/s7/events/S7CyclicValueEvent.java   |   27 +
 .../org/apache/plc4x/java/s7/events/S7Event.java   |   54 +
 .../apache/plc4x/java/s7/events/S7ModeEvent.java   |  453 +++++
 .../apache/plc4x/java/s7/events/S7SysEvent.java    |  466 +++++
 .../apache/plc4x/java/s7/events/S7UserEvent.java   |   33 +
 .../apache/plc4x/java/s7/readwrite/S7Driver.java   |   40 +-
 .../readwrite/configuration/S7Configuration.java   |    1 -
 .../java/s7/readwrite/context/S7DriverContext.java |   34 +-
 .../plc4x/java/s7/readwrite/field/S7Field.java     |  140 +-
 .../java/s7/readwrite/field/S7PlcFieldHandler.java |   38 +-
 .../plc4x/java/s7/readwrite/field/S7SslField.java  |   71 +
 .../java/s7/readwrite/field/S7StringField.java     |   65 +-
 .../s7/readwrite/field/S7SubscriptionField.java    |  165 ++
 .../optimizer/DefaultS7MessageProcessor.java       |   34 +-
 .../s7/readwrite/optimizer/S7MessageProcessor.java |   34 +-
 .../java/s7/readwrite/optimizer/S7Optimizer.java   |   34 +-
 .../readwrite/protocol/S7ProtocolEventLogic.java   |  220 +++
 .../s7/readwrite/protocol/S7ProtocolLogic.java     |  365 +++-
 .../java/s7/readwrite/types/S7ControllerType.java  |   34 +-
 .../readwrite/types/S7SubscriptionFieldType.java   |   32 +
 .../readwrite/utils/S7PlcSubscriptionHandle.java   |   42 +
 .../java/s7/readwrite/utils/S7TsapIdEncoder.java   |   34 +-
 .../plc4x/java/s7/utils/S7DiagnosticEventId.java   |  684 ++++++++
 .../apache/plc4x/java/s7/utils/S7EventHelper.java  | 1846 ++++++++++++++++++++
 .../plc4x/java/s7/utils/S7ParamErrorCode.java      |  273 +++
 .../apache/plc4x/java/s7/utils/StaticHelper.java   |   96 +-
 .../s7/src/test/java/BenchmarkGeneratedS7.java     |   32 +-
 .../plc4x/java/s7/readwrite/DatatypesTest.java     |   34 +-
 .../java/s7/readwrite/ManualS7DriverTest.java      |   34 +-
 .../apache/plc4x/java/s7/readwrite/S7DriverIT.java |   34 +-
 .../java/s7/readwrite/S7ParserSerializerTest.java  |   34 +-
 .../plc4x/java/s7/readwrite/field/S7FieldTest.java |   51 +-
 .../plc4x/java/s7/readwrite/issues/PLC4X272.java   |   34 +-
 plc4j/drivers/s7/src/test/resources/logback.xml    |   28 +-
 .../plc4x/java/simulated/SimulatedDriver.java      |   32 +-
 .../simulated/connection/SimulatedConnection.java  |  107 +-
 .../java/simulated/connection/SimulatedDevice.java |   73 +-
 .../plc4x/java/simulated/field/SimulatedField.java |   36 +-
 .../simulated/field/SimulatedFieldHandler.java     |   33 +-
 .../java/simulated/types/SimulatedFieldType.java   |   35 +-
 .../plc4x/java/simulated/utils/StaticHelper.java   |   38 +-
 .../plc4x/java/simulated/SimulatedDriverTest.java  |   33 +-
 .../connection/SimulatedConnectionTest.java        |   52 +-
 .../simulated/connection/SimulatedDeviceTest.java  |   32 +-
 .../simulated/field/SimularedFieldHandlerTest.java |   33 +-
 .../java/simulated/field/SimulatedFieldTest.java   |   33 +-
 plc4j/examples/hello-cloud-azure/pom.xml           |   28 +-
 .../java/examples/cloud/azure/CliOptions.java      |   33 +-
 .../cloud/azure/S7PlcToAzureIoTHubSample.java      |   32 +-
 plc4j/examples/hello-cloud-google/README.md        |   28 +-
 plc4j/examples/hello-cloud-google/pom.xml          |   28 +-
 .../java/examples/cloud/google/CliOptions.java     |   33 +-
 .../cloud/google/S7PlcToGoogleIoTCoreSample.java   |   32 +-
 .../src/main/resources/logback.xml                 |   28 +-
 plc4j/examples/hello-connectivity-kafka/pom.xml    |   28 +-
 plc4j/examples/hello-connectivity-kafka/server.sh  |    0
 .../connectivity/kafka/KafkaConnector.java         |   32 +-
 .../connectivity/kafka/model/Configuration.java    |   32 +-
 .../connectivity/kafka/model/KafkaConfig.java      |   32 +-
 .../connectivity/kafka/model/PlcConfig.java        |   32 +-
 .../connectivity/kafka/model/PlcFieldConfig.java   |   32 +-
 .../connectivity/kafka/model/PlcMemoryBlock.java   |   32 +-
 .../src/main/resources/logback.xml                 |   28 +-
 .../hello-connectivity-mqtt/mqtt-connector.yml     |    2 +-
 .../examples/connectivity/mqtt/MqttConnector.java  |   33 +-
 .../connectivity/mqtt/model/Configuration.java     |   32 +-
 .../connectivity/mqtt/model/MqttConfig.java        |   32 +-
 .../connectivity/mqtt/model/PlcConfig.java         |   32 +-
 .../connectivity/mqtt/model/PlcFieldConfig.java    |   32 +-
 .../connectivity/mqtt/model/PlcMemoryBlock.java    |   32 +-
 .../src/main/resources/logback.xml                 |   28 +-
 plc4j/examples/hello-discovery/pom.xml             |   79 +
 .../java/examples/hellodiscovery/CliOptions.java   |   72 +
 .../examples/hellodiscovery/HelloDiscovery.java    |   72 +
 .../hello-discovery/src/main/resources/logback.xml |   36 +
 .../examples/hello-influx-data-collection/pom.xml  |   28 +-
 .../java/examples/helloinflux/HelloInflux.java     |   34 +-
 .../src/main/resources/logback.xml                 |   28 +-
 plc4j/examples/hello-integration-edgent/pom.xml    |   28 +-
 .../examples/integration/edgent/CliOptions.java    |   33 +-
 .../examples/integration/edgent/PlcLogger.java     |   32 +-
 .../src/main/resources/logback.xml                 |   28 +-
 plc4j/examples/hello-integration-iotdb/pom.xml     |   28 +-
 .../examples/integration/iotdb/CliOptions.java     |   33 +-
 .../examples/integration/iotdb/IIoTDBWriter.java   |    1 -
 .../integration/iotdb/IoTDBWriterWithJDBC.java     |    1 -
 .../integration/iotdb/IoTDBWriterWithSession.java  |    1 -
 .../java/examples/integration/iotdb/PlcLogger.java |   32 +-
 .../src/main/resources/logback.xml                 |   28 +-
 .../hello-kafka-connect-elasticsearch/README.md    |   28 +-
 .../elasticsearch-sink.properties                  |    1 -
 .../elasticsearch-worker.properties                |    1 -
 .../kafka-connect-config/plc4x-worker.properties   |    1 -
 .../plc4x/java/examples/helloopm/HelloOpm.java     |   33 +-
 .../hello-opm/src/main/resources/logback.xml       |   28 +-
 plc4j/examples/hello-webapp/webapp/pom.xml         |    1 -
 .../plc4x/examples/watertank/Application.java      |   33 +-
 .../watertank/service/WaterTankService.java        |   34 +-
 .../java/org/springframework/core/JdkVersion.java  |   34 +-
 .../resources/META-INF/flex/services-config.xml    |   28 +-
 .../src/main/resources/application.properties      |    1 -
 .../webapp/src/main/webapp/WEB-INF/web.xml         |   28 +-
 plc4j/examples/hello-webservice/pom.xml            |   28 +-
 .../java/examples/hellowebservice/CliOptions.java  |   33 +-
 .../examples/hellowebservice/HelloWebservice.java  |   34 +-
 .../src/main/resources/logback.xml                 |   28 +-
 .../hello-world-plc4x-subscription/pom.xml         |   28 +-
 .../helloplc4x/subscription/CliOptions.java        |   33 +-
 .../subscription/HelloPlc4xSubscription.java       |   34 +-
 .../src/main/resources/logback.xml                 |   28 +-
 plc4j/examples/hello-world-plc4x-write/pom.xml     |   28 +-
 .../java/examples/helloplc4x/write/CliOptions.java |   33 +-
 .../examples/helloplc4x/write/HelloPlc4xWrite.java |   34 +-
 .../src/main/resources/logback.xml                 |   28 +-
 plc4j/examples/hello-world-plc4x/pom.xml           |   28 +-
 .../plc4x/java/examples/helloplc4x/CliOptions.java |   33 +-
 .../plc4x/java/examples/helloplc4x/HelloPlc4x.java |   35 +-
 .../src/main/resources/logback.xml                 |   28 +-
 plc4j/examples/plc4j-s7event/pom.xml               |   81 +
 .../examples/plc4j/s7event/EventSubscription.java  |  112 ++
 plc4j/examples/poll-loop/pom.xml                   |   28 +-
 .../apache/plc4x/java/examples/pollloop/Main.java  |   33 +-
 .../plc4x/java/examples/pollloop/PollLoop.java     |   33 +-
 plc4j/examples/pom.xml                             |    9 +
 plc4j/integrations/apache-calcite/pom.xml          |   28 +-
 .../main/java/org/apache/plc4x/Plc4xBaseTable.java |   34 +-
 .../main/java/org/apache/plc4x/Plc4xSchema.java    |   34 +-
 .../java/org/apache/plc4x/Plc4xSchemaFactory.java  |   34 +-
 .../java/org/apache/plc4x/Plc4xStreamTable.java    |   34 +-
 .../src/main/java/org/apache/plc4x/Plc4xTable.java |   34 +-
 .../java/org/apache/plc4x/DriverManagerTest.java   |   34 +-
 .../java/org/apache/plc4x/Plc4XBaseTableTest.java  |   34 +-
 .../org/apache/plc4x/Plc4xSchemaFactoryTest.java   |   34 +-
 .../apache-calcite/src/test/resources/logback.xml  |   28 +-
 .../apache-calcite/src/test/resources/model.json   |   16 -
 plc4j/integrations/apache-camel/pom.xml            |   28 +-
 .../java/org/apache/plc4x/camel/Constants.java     |   34 +-
 .../org/apache/plc4x/camel/Plc4XComponent.java     |   34 +-
 .../java/org/apache/plc4x/camel/Plc4XConsumer.java |   32 +-
 .../java/org/apache/plc4x/camel/Plc4XEndpoint.java |   34 +-
 .../apache/plc4x/camel/Plc4XPollingConsumer.java   |   32 +-
 .../java/org/apache/plc4x/camel/Plc4XProducer.java |   34 +-
 .../main/java/org/apache/plc4x/camel/TagData.java  |   34 +-
 .../services/org/apache/camel/component/plc4x      |   36 +-
 .../java/org/apache/plc4x/camel/ConstantsTest.java |   34 +-
 .../java/org/apache/plc4x/camel/ManualTest.java    |   32 +-
 .../java/org/apache/plc4x/camel/MockDriver.java    |   34 +-
 .../org/apache/plc4x/camel/Plc4XComponentTest.java |   34 +-
 .../org/apache/plc4x/camel/Plc4XConsumerTest.java  |   32 +-
 .../org/apache/plc4x/camel/Plc4XEndpointTest.java  |   34 +-
 .../plc4x/camel/Plc4XPollingConsumerTest.java      |   32 +-
 .../org/apache/plc4x/camel/Plc4XProducerTest.java  |   34 +-
 .../apache-camel/src/test/resources/logback.xml    |   28 +-
 plc4j/integrations/apache-edgent/pom.xml           |   28 +-
 .../apache/plc4x/edgent/PlcConnectionAdapter.java  |   34 +-
 .../java/org/apache/plc4x/edgent/PlcFunctions.java |   34 +-
 .../java/org/apache/plc4x/edgent/package-info.java |   34 +-
 .../plc4x/edgent/PlcConnectionAdapterTest.java     |   34 +-
 .../org/apache/plc4x/edgent/PlcFunctionsTest.java  |   34 +-
 plc4j/integrations/apache-kafka/pom.xml            |   28 +-
 .../org/apache/plc4x/kafka/Plc4xSinkConnector.java |   34 +-
 .../java/org/apache/plc4x/kafka/Plc4xSinkTask.java |   34 +-
 .../apache/plc4x/kafka/Plc4xSourceConnector.java   |   34 +-
 .../org/apache/plc4x/kafka/Plc4xSourceTask.java    |   34 +-
 .../org/apache/plc4x/kafka/config/Constants.java   |   34 +-
 .../java/org/apache/plc4x/kafka/config/Field.java  |   34 +-
 .../java/org/apache/plc4x/kafka/config/Job.java    |   34 +-
 .../apache/plc4x/kafka/config/JobReference.java    |   34 +-
 .../java/org/apache/plc4x/kafka/config/Sink.java   |   36 +-
 .../org/apache/plc4x/kafka/config/SinkConfig.java  |   34 +-
 .../java/org/apache/plc4x/kafka/config/Source.java |   36 +-
 .../apache/plc4x/kafka/config/SourceConfig.java    |   34 +-
 .../org/apache/plc4x/kafka/util/VersionUtil.java   |   34 +-
 .../apache/plc4x/kafka/config/SinkConfigTest.java  |   34 +-
 .../apache/plc4x/kafka/config/SinkTaskTest.java    |   34 +-
 .../plc4x/kafka/config/SourceConfigTest.java       |   34 +-
 .../apache/plc4x/kafka/config/SourceTaskTest.java  |   34 +-
 .../apache-nifi/nifi-plc4x-nar/pom.xml             |   30 +-
 .../apache-nifi/nifi-plc4x-processors/pom.xml      |   30 +-
 .../org/apache/plc4x/nifi/BasePlc4xProcessor.java  |   32 +-
 .../org/apache/plc4x/nifi/Plc4xSinkProcessor.java  |   32 +-
 .../apache/plc4x/nifi/Plc4xSourceProcessor.java    |   32 +-
 .../services/org.apache.nifi.processor.Processor   |    1 -
 .../plc4x4nifi/Plc4xSinkProcessorTest.java         |    1 -
 .../plc4x4nifi/Plc4xSourceProcessorTest.java       |   32 +-
 plc4j/integrations/apache-nifi/pom.xml             |   30 +-
 plc4j/integrations/opcua-server/pom.xml            |   29 +-
 .../apache/plc4x/java/opcuaserver/OPCUAServer.java |    1 -
 .../opcuaserver/backend/Plc4xCommunication.java    |    3 +-
 .../java/opcuaserver/backend/Plc4xNamespace.java   |    1 -
 .../opcuaserver/configuration/Configuration.java   |    1 -
 .../configuration/DeviceConfiguration.java         |    1 -
 .../configuration/PasswordConfiguration.java       |    1 -
 .../plc4x/java/opcuaserver/configuration/Tag.java  |    1 -
 .../plc4x/java/opcuaserver/configuration/User.java |    1 -
 .../opcuaserver/context/CertificateGenerator.java  |    1 -
 .../opcuaserver/context/CertificateKeyPair.java    |    1 -
 .../opcua-server/src/main/resources/config.yml     |   31 +-
 .../opcua-server/src/main/resources/logback.xml    |   28 +-
 .../plc4x/java/opcuaserver/OpcuaPlcDriverTest.java |   34 +-
 .../apache/plc4x/java/opcuaserver/UtilsTest.java   |   40 -
 .../opcua-server/src/test/resources/config.yml     |   31 +-
 plc4j/integrations/pom.xml                         |    3 +-
 plc4j/osgi/pom.xml                                 |   28 +-
 plc4j/pom.xml                                      |   28 +-
 plc4j/protocols/ads/LINKS.md                       |   28 +-
 plc4j/protocols/ads/pom.xml                        |   28 +-
 .../java/ads/api/commands/AdsAbstractRequest.java  |   32 +-
 .../java/ads/api/commands/AdsAbstractResponse.java |   32 +-
 .../commands/AdsAddDeviceNotificationRequest.java  |   32 +-
 .../commands/AdsAddDeviceNotificationResponse.java |   32 +-
 .../java/ads/api/commands/AdsCommandType.java      |   32 +-
 .../AdsDeleteDeviceNotificationRequest.java        |   32 +-
 .../AdsDeleteDeviceNotificationResponse.java       |   32 +-
 .../api/commands/AdsDeviceNotificationRequest.java |   32 +-
 .../commands/AdsDeviceNotificationResponse.java    |   32 +-
 .../ads/api/commands/AdsReadDeviceInfoRequest.java |   32 +-
 .../api/commands/AdsReadDeviceInfoResponse.java    |   32 +-
 .../java/ads/api/commands/AdsReadRequest.java      |   32 +-
 .../java/ads/api/commands/AdsReadResponse.java     |   32 +-
 .../java/ads/api/commands/AdsReadStateRequest.java |   32 +-
 .../ads/api/commands/AdsReadStateResponse.java     |   32 +-
 .../java/ads/api/commands/AdsReadWriteRequest.java |   32 +-
 .../ads/api/commands/AdsReadWriteResponse.java     |   32 +-
 .../ads/api/commands/AdsWriteControlRequest.java   |   32 +-
 .../ads/api/commands/AdsWriteControlResponse.java  |   32 +-
 .../java/ads/api/commands/AdsWriteRequest.java     |   32 +-
 .../java/ads/api/commands/AdsWriteResponse.java    |   32 +-
 .../java/ads/api/commands/UnknownCommand.java      |   32 +-
 .../plc4x/java/ads/api/commands/package-info.java  |   32 +-
 .../api/commands/types/AdsNotificationSample.java  |   32 +-
 .../java/ads/api/commands/types/AdsReturnCode.java |   32 +-
 .../ads/api/commands/types/AdsStampHeader.java     |   32 +-
 .../java/ads/api/commands/types/AdsState.java      |   32 +-
 .../java/ads/api/commands/types/CycleTime.java     |   32 +-
 .../plc4x/java/ads/api/commands/types/Data.java    |   32 +-
 .../plc4x/java/ads/api/commands/types/Device.java  |   32 +-
 .../java/ads/api/commands/types/DeviceState.java   |   32 +-
 .../java/ads/api/commands/types/IndexGroup.java    |   32 +-
 .../java/ads/api/commands/types/IndexOffset.java   |   32 +-
 .../plc4x/java/ads/api/commands/types/Length.java  |   32 +-
 .../java/ads/api/commands/types/MajorVersion.java  |   32 +-
 .../java/ads/api/commands/types/MaxDelay.java      |   32 +-
 .../java/ads/api/commands/types/MinorVersion.java  |   32 +-
 .../ads/api/commands/types/NotificationHandle.java |   32 +-
 .../java/ads/api/commands/types/ReadLength.java    |   32 +-
 .../plc4x/java/ads/api/commands/types/Result.java  |   32 +-
 .../java/ads/api/commands/types/SampleSize.java    |   32 +-
 .../plc4x/java/ads/api/commands/types/Samples.java |   32 +-
 .../plc4x/java/ads/api/commands/types/Stamps.java  |   32 +-
 .../java/ads/api/commands/types/TimeStamp.java     |   32 +-
 .../ads/api/commands/types/TransmissionMode.java   |   32 +-
 .../plc4x/java/ads/api/commands/types/Version.java |   32 +-
 .../java/ads/api/commands/types/WriteLength.java   |   32 +-
 .../java/ads/api/commands/types/package-info.java  |   32 +-
 .../apache/plc4x/java/ads/api/generic/AdsData.java |   32 +-
 .../plc4x/java/ads/api/generic/AmsHeader.java      |   32 +-
 .../plc4x/java/ads/api/generic/AmsPacket.java      |   32 +-
 .../plc4x/java/ads/api/generic/package-info.java   |   32 +-
 .../plc4x/java/ads/api/generic/types/AmsError.java |   32 +-
 .../plc4x/java/ads/api/generic/types/AmsNetId.java |   32 +-
 .../plc4x/java/ads/api/generic/types/AmsPort.java  |   32 +-
 .../plc4x/java/ads/api/generic/types/Command.java  |   32 +-
 .../java/ads/api/generic/types/DataLength.java     |   32 +-
 .../plc4x/java/ads/api/generic/types/Invoke.java   |   32 +-
 .../plc4x/java/ads/api/generic/types/State.java    |   32 +-
 .../java/ads/api/generic/types/package-info.java   |   32 +-
 .../apache/plc4x/java/ads/api/package-info.java    |   32 +-
 .../ads/api/serial/AmsSerialAcknowledgeFrame.java  |   32 +-
 .../plc4x/java/ads/api/serial/AmsSerialFrame.java  |   32 +-
 .../java/ads/api/serial/AmsSerialResetFrame.java   |   32 +-
 .../plc4x/java/ads/api/serial/package-info.java    |   32 +-
 .../plc4x/java/ads/api/serial/types/CRC.java       |   32 +-
 .../java/ads/api/serial/types/FragmentNumber.java  |   32 +-
 .../java/ads/api/serial/types/MagicCookie.java     |   32 +-
 .../java/ads/api/serial/types/ReceiverAddress.java |   32 +-
 .../ads/api/serial/types/TransmitterAddress.java   |   32 +-
 .../plc4x/java/ads/api/serial/types/UserData.java  |   32 +-
 .../java/ads/api/serial/types/UserDataLength.java  |   32 +-
 .../java/ads/api/serial/types/package-info.java    |   32 +-
 .../plc4x/java/ads/api/tcp/AmsTCPPacket.java       |   32 +-
 .../plc4x/java/ads/api/tcp/AmsTcpHeader.java       |   32 +-
 .../plc4x/java/ads/api/tcp/package-info.java       |   32 +-
 .../plc4x/java/ads/api/tcp/types/TcpLength.java    |   32 +-
 .../plc4x/java/ads/api/tcp/types/UserData.java     |   32 +-
 .../plc4x/java/ads/api/tcp/types/package-info.java |   32 +-
 .../plc4x/java/ads/api/util/ByteBufSupplier.java   |   32 +-
 .../plc4x/java/ads/api/util/ByteReadable.java      |   32 +-
 .../apache/plc4x/java/ads/api/util/ByteValue.java  |   32 +-
 .../plc4x/java/ads/api/util/LengthSupplier.java    |   32 +-
 .../java/ads/api/util/UnsignedIntLEByteValue.java  |   32 +-
 .../ads/api/util/UnsignedShortLEByteValue.java     |   32 +-
 .../plc4x/java/ads/api/util/package-info.java      |   32 +-
 .../apache/plc4x/java/ads/model/AdsDataType.java   |   32 +-
 .../org/apache/plc4x/java/ads/model/AdsField.java  |   32 +-
 .../plc4x/java/ads/model/AdsPlcFieldHandler.java   |   32 +-
 .../java/ads/model/AdsSubscriptionHandle.java      |   34 +-
 .../plc4x/java/ads/model/DirectAdsField.java       |   32 +-
 .../plc4x/java/ads/model/SymbolicAdsField.java     |   32 +-
 .../apache/plc4x/java/ads/model/package-info.java  |   32 +-
 .../java/ads/protocol/Ads2PayloadProtocol.java     |   32 +-
 .../java/ads/protocol/Payload2SerialProtocol.java  |   32 +-
 .../java/ads/protocol/Payload2TcpProtocol.java     |   32 +-
 .../plc4x/java/ads/protocol/Plc4x2AdsProtocol.java |   32 +-
 .../java/ads/protocol/exception/AdsException.java  |   32 +-
 .../exception/AdsProtocolOverflowException.java    |   33 +-
 .../plc4x/java/ads/protocol/package-info.java      |   32 +-
 .../plc4x/java/ads/protocol/util/DigestUtil.java   |   32 +-
 .../ads/protocol/util/LittleEndianDecoder.java     |   32 +-
 .../ads/protocol/util/LittleEndianEncoder.java     |   32 +-
 .../protocol/util/SingleMessageRateLimiter.java    |   32 +-
 .../plc4x/java/ads/protocol/util/package-info.java |   32 +-
 .../util/LittleEndianDecoderSpecHurz.groovy        |   33 +-
 .../util/LittleEndianEncoderSpecHurz.groovy        |   33 +-
 .../java/org/apache/plc4x/java/ads/AdsDumper.java  |   32 +-
 .../apache/plc4x/java/ads/ManualPlc4XAdsTest.java  |   32 +-
 .../AdsDeviceNotificationResponseTest.java         |   33 +-
 .../ads/api/commands/CommandFactoryMethodTest.java |   32 +-
 .../commands/types/AdsNotificationSampleTest.java  |   32 +-
 .../ads/api/commands/types/AdsStampHeaderTest.java |   32 +-
 .../types/CommandTypesFactoryMethodTest.java       |   32 +-
 .../java/ads/api/commands/types/DeviceTest.java    |   32 +-
 .../java/ads/api/commands/types/LengthTest.java    |   32 +-
 .../ads/api/generic/GenericFactoryMethodTest.java  |   32 +-
 .../java/ads/api/generic/types/AmsErrorTest.java   |   32 +-
 .../java/ads/api/generic/types/AmsNetIdTest.java   |   32 +-
 .../java/ads/api/generic/types/AmsPortTest.java    |   32 +-
 .../java/ads/api/generic/types/CommandTest.java    |   32 +-
 .../types/GenericTypesFactoryMethodTest.java       |   32 +-
 .../java/ads/api/generic/types/StateTest.java      |   32 +-
 .../java/ads/api/generic/types/TcpLengthTest.java  |   32 +-
 .../ads/api/serial/SerialFactoryMethodTest.java    |   32 +-
 .../types/GenericTypesFactoryMethodTest.java       |   32 +-
 .../java/ads/api/tcp/TcpFactoryMethodTest.java     |   32 +-
 .../tcp/types/GenericTypesFactoryMethodTest.java   |   32 +-
 .../plc4x/java/ads/api/util/ByteValueTest.java     |   32 +-
 .../java/ads/model/AdsPlcFieldHandlerTest.java     |   33 +-
 .../plc4x/java/ads/model/DirectAdsFieldTest.java   |   32 +-
 .../java/ads/protocol/AbstractProtocolTest.java    |   32 +-
 .../java/ads/protocol/Ads2PayloadProtocolTest.java |   32 +-
 ...load2SerialProtocolExampleConversationTest.java |   32 +-
 .../ads/protocol/Payload2SerialProtocolTest.java   |   32 +-
 .../java/ads/protocol/Payload2TcpProtocolTest.java |   32 +-
 .../java/ads/protocol/Plc4x2AdsProtocolTest.java   |   32 +-
 .../java/ads/protocol/util/DigestUtilTest.java     |   32 +-
 plc4j/protocols/ads/src/test/resources/logback.xml |   28 +-
 plc4j/protocols/benchmarks/README.md               |   28 +-
 plc4j/protocols/benchmarks/pom.xml                 |    2 +-
 .../java/ads/protocol/ADSProtocolBenchmark.java    |   33 +-
 .../benchmarks/src/main/resources/logback.xml      |    2 +-
 .../java/org/apache/plc4x/java/deltav/PoCES.java   |   35 +-
 .../org/apache/plc4x/java/deltav/PoCInflux.java    |   33 +-
 plc4j/protocols/pom.xml                            |   28 +-
 plc4j/spi/pom.xml                                  |   42 +-
 .../apache/plc4x/java/spi/ConversationContext.java |    4 +-
 .../apache/plc4x/java/spi/Plc4xNettyWrapper.java   |   21 +-
 .../apache/plc4x/java/spi/Plc4xProtocolBase.java   |    5 +-
 .../java/spi/configuration/Configuration.java      |   34 +-
 .../spi/configuration/ConfigurationFactory.java    |    1 -
 .../ConfigurationParameterConverter.java           |   34 +-
 .../java/spi/configuration/HasConfiguration.java   |    1 -
 .../annotations/ConfigurationParameter.java        |    1 -
 .../annotations/ParameterConverter.java            |    1 -
 .../spi/configuration/annotations/Required.java    |    1 -
 .../annotations/defaults/BooleanDefaultValue.java  |    1 -
 .../annotations/defaults/DoubleDefaultValue.java   |    1 -
 .../annotations/defaults/FloatDefaultValue.java    |    1 -
 .../annotations/defaults/IntDefaultValue.java      |    1 -
 .../annotations/defaults/LongDefaultValue.java     |    1 -
 .../annotations/defaults/StringDefaultValue.java   |    1 -
 .../exceptions/ConfigurationException.java         |   34 +-
 .../spi/connection/ChannelExposingConnection.java  |   34 +-
 .../spi/connection/DefaultNettyPlcConnection.java  |   38 +-
 .../java/spi/connection/GeneratedDriverBase.java   |   14 +-
 .../connection/GeneratedProtocolMessageCodec.java  |    1 -
 .../java/spi/connection/NettyChannelFactory.java   |    1 -
 .../spi/connection/ProtocolStackConfigurer.java    |    1 -
 .../connection/SingleProtocolStackConfigurer.java  |    1 -
 .../plc4x/java/spi/context/DriverContext.java      |   34 +-
 .../plc4x/java/spi/discovery/ActiveDiscovery.java  |   34 +-
 .../java/spi/discovery/BroadcastDiscovery.java     |   34 +-
 .../plc4x/java/spi/discovery/PassiveDiscovery.java |   34 +-
 .../java/spi/discovery/SupportsDiscovery.java      |   34 +-
 .../plc4x/java/spi/events/DiscoverEvent.java       |   22 +
 .../plc4x/java/spi/events/DiscoveredEvent.java     |   32 +
 .../plc4x/java/spi/generation/BufferCommons.java   |   33 +-
 .../java/spi/generation/EvaluationHelper.java      |    1 -
 .../apache/plc4x/java/spi/generation/Message.java  |    1 -
 .../plc4x/java/spi/generation/ParseException.java  |    1 -
 .../plc4x/java/spi/generation/ReadBuffer.java      |   33 +-
 .../java/spi/generation/ReadBufferByteBased.java   |    1 -
 .../java/spi/generation/ReadBufferJsonBased.java   |   33 +-
 .../java/spi/generation/ReadBufferXmlBased.java    |   33 +-
 .../plc4x/java/spi/generation/StaticHelper.java    |    7 +
 .../plc4x/java/spi/generation/WithReaderArgs.java  |   33 +-
 .../java/spi/generation/WithReaderWriterArgs.java  |   33 +-
 .../plc4x/java/spi/generation/WithWriterArgs.java  |   33 +-
 .../plc4x/java/spi/generation/WriteBuffer.java     |   33 +-
 .../java/spi/generation/WriteBufferByteBased.java  |    5 +-
 .../java/spi/generation/WriteBufferJsonBased.java  |   33 +-
 .../java/spi/generation/WriteBufferXmlBased.java   |   48 +-
 .../java/spi/generation/io/MyDefaultBitInput.java  |   33 +-
 .../java/spi/generation/io/MyDefaultBitOutput.java |   34 +-
 .../java/spi/internal/DefaultContextHandler.java   |   34 +-
 .../spi/internal/DefaultExpectRequestContext.java  |   34 +-
 .../spi/internal/DefaultSendRequestContext.java    |   33 +-
 .../java/spi/internal/HandlerRegistration.java     |    1 -
 .../java/spi/messages/DefaultPlcDiscoveryItem.java |  122 ++
 .../spi/messages/DefaultPlcDiscoveryRequest.java   |   73 +
 .../spi/messages/DefaultPlcDiscoveryResponse.java  |   68 +
 .../java/spi/messages/DefaultPlcReadRequest.java   |   30 +-
 .../java/spi/messages/DefaultPlcReadResponse.java  |   32 +-
 .../spi/messages/DefaultPlcSubscriptionEvent.java  |    1 -
 .../messages/DefaultPlcSubscriptionRequest.java    |   34 +-
 .../messages/DefaultPlcSubscriptionResponse.java   |   25 +-
 .../messages/DefaultPlcUnsubscriptionRequest.java  |   14 +-
 .../messages/DefaultPlcUnsubscriptionResponse.java |    8 +-
 .../java/spi/messages/DefaultPlcWriteRequest.java  |   45 +-
 .../java/spi/messages/DefaultPlcWriteResponse.java |   33 +-
 .../plc4x/java/spi/messages/PlcDiscoverer.java     |   42 +
 .../java/spi/messages/utils/FieldValueItem.java    |   34 +-
 .../java/spi/messages/utils/ResponseItem.java      |   56 +-
 .../spi/model/DefaultPlcSubscriptionField.java     |    9 +
 .../spi/model/DefaultPlcSubscriptionHandle.java    |    6 +-
 .../plc4x/java/spi/optimizer/BaseOptimizer.java    |   34 +-
 .../java/spi/optimizer/SingleFieldOptimizer.java   |   34 +-
 .../spi/transaction/RequestTransactionManager.java |    1 -
 .../apache/plc4x/java/spi/transport/Transport.java |   34 +-
 .../java/spi/transport/TransportConfiguration.java |   34 +-
 .../apache/plc4x/java/spi/utils/Serializable.java  |   26 +
 .../plc4x/java/spi/utils/XmlSerializable.java      |   27 -
 .../java/spi/values/IEC61131ValueHandler.java      |    1 -
 .../org/apache/plc4x/java/spi/values/PlcBOOL.java  |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcBYTE.java  |    9 +-
 .../plc4x/java/spi/values/PlcBigDecimal.java       |    9 +-
 .../plc4x/java/spi/values/PlcBigInteger.java       |    8 +-
 .../apache/plc4x/java/spi/values/PlcBitString.java |    1 -
 .../org/apache/plc4x/java/spi/values/PlcCHAR.java  |   10 +-
 .../org/apache/plc4x/java/spi/values/PlcDATE.java  |    9 +-
 .../plc4x/java/spi/values/PlcDATE_AND_TIME.java    |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcDINT.java  |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcDWORD.java |    9 +-
 .../apache/plc4x/java/spi/values/PlcIECValue.java  |   13 +-
 .../org/apache/plc4x/java/spi/values/PlcINT.java   |   11 +-
 .../org/apache/plc4x/java/spi/values/PlcLINT.java  |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcLREAL.java |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcLTIME.java |   42 +-
 .../org/apache/plc4x/java/spi/values/PlcLWORD.java |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcList.java  |   18 +-
 .../org/apache/plc4x/java/spi/values/PlcNull.java  |   34 +-
 .../org/apache/plc4x/java/spi/values/PlcREAL.java  |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcSINT.java  |    9 +-
 .../apache/plc4x/java/spi/values/PlcSTRING.java    |    9 +-
 .../plc4x/java/spi/values/PlcSimpleValue.java      |    1 -
 .../apache/plc4x/java/spi/values/PlcStruct.java    |   22 +-
 .../org/apache/plc4x/java/spi/values/PlcTIME.java  |   42 +-
 .../plc4x/java/spi/values/PlcTIME_OF_DAY.java      |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcUDINT.java |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcUINT.java  |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcULINT.java |    9 +-
 .../org/apache/plc4x/java/spi/values/PlcUSINT.java |    9 +-
 .../plc4x/java/spi/values/PlcValueAdapter.java     |    4 +-
 .../apache/plc4x/java/spi/values/PlcValues.java    |    1 -
 .../org/apache/plc4x/java/spi/values/PlcWCHAR.java |   10 +-
 .../org/apache/plc4x/java/spi/values/PlcWORD.java  |    9 +-
 .../internal/DefaultSendRequestContextTest.java    |   33 +-
 .../optimizer/RequestTransactionManagerTest.java   |    1 -
 .../java/spi/parser/ConnectionParserTest.java      |    1 -
 plc4j/tools/capture-replay/pom.xml                 |   28 +-
 .../java/utils/capturereplay/CaptureReplay.java    |   34 +-
 .../plc4x/java/utils/capturereplay/CliOptions.java |   33 +-
 .../capture-replay/src/main/resources/logback.xml  |   28 +-
 plc4j/tools/connection-cache/pom.xml               |   28 +-
 .../utils/connectionpool2/CachedDriverManager.java |    1 -
 .../connectionpool2/CachedDriverManagerMBean.java  |    1 -
 .../utils/connectionpool2/CachedPlcConnection.java |    6 +-
 .../utils/connectionpool2/CachedReadRequest.java   |    1 -
 .../connectionpool2/CachedReadRequestBuilder.java  |    1 -
 .../connectionpool2/PlcConnectionFactory.java      |    1 -
 .../utils/connectionpool2/PooledDriverManager.java |    1 -
 .../connectionpool2/PooledDriverManagerMBean.java  |    1 -
 .../connectionpool2/CachedDriverManagerIT.java     |    1 -
 .../connectionpool2/CachedDriverManagerMT.java     |    1 -
 .../connectionpool2/CachedDriverManagerTest.java   |    1 -
 .../connectionpool2/CachedPlcConnectionTest.java   |    1 -
 .../connectionpool2/PooledDriverManagerTest.java   |    1 -
 .../src/test/resources/logback.xml                 |   28 +-
 plc4j/tools/connection-pool/pom.xml                |   28 +-
 .../plc4x/java/utils/connectionpool/PoolKey.java   |   33 +-
 .../java/utils/connectionpool/PoolKeyFactory.java  |   33 +-
 .../connectionpool/PooledPlcConnectionFactory.java |    1 -
 .../connectionpool/PooledPlcDriverManager.java     |    1 -
 .../utils/connectionpool/PoolKeyFactoryTest.java   |   33 +-
 .../utils/connectionpool/PooledDummyDriver.java    |    1 -
 .../connectionpool/PooledPlcDriverManagerTest.java |    1 -
 .../connection-pool/src/test/resources/logback.xml |   30 +-
 plc4j/tools/opm/pom.xml                            |    2 +-
 .../org/apache/plc4x/java/opm/AliasRegistry.java   |    1 -
 .../org/apache/plc4x/java/opm/OPMException.java    |   33 +-
 .../java/org/apache/plc4x/java/opm/OpmUtils.java   |   33 +-
 .../java/org/apache/plc4x/java/opm/PlcEntity.java  |   33 +-
 .../plc4x/java/opm/PlcEntityInterceptor.java       |    1 -
 .../apache/plc4x/java/opm/PlcEntityManager.java    |   33 +-
 .../java/org/apache/plc4x/java/opm/PlcField.java   |   33 +-
 .../apache/plc4x/java/opm/SimpleAliasRegistry.java |    1 -
 plc4j/tools/opm/src/site/site.xml                  |   32 +-
 .../apache/plc4x/java/opm/ConnectedEntityTest.java |    1 -
 .../apache/plc4x/java/opm/OPMExceptionTest.java    |   33 +-
 .../org/apache/plc4x/java/opm/OpmUtilsTest.java    |    1 -
 .../plc4x/java/opm/PlcEntityInterceptorTest.java   |    1 -
 .../java/opm/PlcEntityManagerComplexTest.java      |   33 +-
 .../plc4x/java/opm/PlcEntityManagerTest.java       |    1 -
 .../plc4x/java/opm/SimpleAliasRegistryTest.java    |    1 -
 plc4j/tools/opm/src/test/resources/logback.xml     |    2 +-
 plc4j/tools/pom.xml                                |   28 +-
 plc4j/tools/scraper/README.md                      |   28 +-
 plc4j/tools/scraper/pom.xml                        |   33 +-
 .../apache/plc4x/java/scraper/ResultHandler.java   |    1 -
 .../org/apache/plc4x/java/scraper/ScrapeJob.java   |    1 -
 .../apache/plc4x/java/scraper/ScrapeJobImpl.java   |    1 -
 .../org/apache/plc4x/java/scraper/Scraper.java     |    1 -
 .../org/apache/plc4x/java/scraper/ScraperImpl.java |    1 -
 .../org/apache/plc4x/java/scraper/ScraperTask.java |    1 -
 .../apache/plc4x/java/scraper/ScraperTaskImpl.java |    1 -
 .../java/scraper/config/JobConfiguration.java      |    1 -
 .../config/JobConfigurationClassicImpl.java        |    1 -
 .../config/JobConfigurationClassicImplBuilder.java |    1 -
 .../java/scraper/config/JobConfigurationImpl.java  |    1 -
 .../java/scraper/config/ScraperConfiguration.java  |    1 -
 .../config/ScraperConfigurationClassicImpl.java    |    1 -
 .../ScraperConfigurationClassicImplBuilder.java    |    1 -
 .../JobConfigurationTriggeredImpl.java             |    1 -
 .../JobConfigurationTriggeredImplBuilder.java      |    1 -
 .../ScraperConfigurationTriggeredImpl.java         |    1 -
 .../ScraperConfigurationTriggeredImplBuilder.java  |    1 -
 .../exception/ScraperConfigurationException.java   |    1 -
 .../java/scraper/exception/ScraperException.java   |    1 -
 .../triggeredscraper/TriggeredScrapeJobImpl.java   |    1 -
 .../triggeredscraper/TriggeredScraperImpl.java     |    1 -
 .../triggeredscraper/TriggeredScraperMBean.java    |    1 -
 .../triggeredscraper/TriggeredScraperTask.java     |    1 -
 .../TriggeredScraperTaskMBean.java                 |    1 -
 .../triggerhandler/TriggerConfiguration.java       |    3 +-
 .../scraper/util/PercentageAboveThreshold.java     |    1 -
 .../apache/plc4x/java/s7/ManualS7PlcDriverMT.java  |    1 -
 .../java/scraper/ScraperConfigurationTest.java     |    1 -
 .../apache/plc4x/java/scraper/ScraperRunner.java   |    1 -
 .../apache/plc4x/java/scraper/ScraperTaskTest.java |    1 -
 .../org/apache/plc4x/java/scraper/ScraperTest.java |    1 -
 .../plc4x/java/scraper/TriggeredScraperRunner.java |    1 -
 .../java/scraper/TriggeredScraperRunnerModbus.java |    1 -
 .../config/ScraperConfigurationBuilderTest.java    |    1 -
 .../triggeredscraper/TriggeredScraperImplTest.java |    1 -
 .../triggerhandler/TriggerConfigurationTest.java   |    1 -
 .../scraper/src/test/resources/logback-test.xml    |   32 +-
 plc4j/tools/scraper/src/test/resources/logback.xml |   32 +-
 plc4j/transports/pcap-replay/pom.xml               |   28 +-
 .../pcapreplay/PcapReplayChannelFactory.java       |   34 +-
 .../transport/pcapreplay/PcapReplayTransport.java  |   34 +-
 .../PcapReplayTransportConfiguration.java          |   34 +-
 .../org.apache.plc4x.java.spi.transport.Transport  |    1 -
 plc4j/transports/pcap-shared/pom.xml               |   28 +-
 .../transport/pcap/PcapTransportConfiguration.java |   34 +-
 plc4j/transports/pom.xml                           |   28 +-
 plc4j/transports/raw-socket/pom.xml                |   28 +-
 .../rawsocket/RawSocketChannelFactory.java         |   34 +-
 .../transport/rawsocket/RawSocketTransport.java    |   38 +-
 .../rawsocket/RawSocketTransportConfiguration.java |   34 +-
 .../org.apache.plc4x.java.spi.transport.Transport  |    1 -
 plc4j/transports/serial/pom.xml                    |   28 +-
 .../plc4x/java/transport/serial/SerialChannel.java |    1 -
 .../java/transport/serial/SerialChannelConfig.java |   34 +-
 .../transport/serial/SerialChannelFactory.java     |   34 +-
 .../transport/serial/SerialChannelHandler.java     |    1 -
 .../transport/serial/SerialChannelOptions.java     |   34 +-
 .../transport/serial/SerialPollingSelector.java    |    1 -
 .../java/transport/serial/SerialSelectionKey.java  |    1 -
 .../transport/serial/SerialSelectorProvider.java   |    1 -
 .../java/transport/serial/SerialSocketAddress.java |    1 -
 .../java/transport/serial/SerialSocketChannel.java |    1 -
 .../java/transport/serial/SerialTransport.java     |   34 +-
 .../serial/SerialTransportConfiguration.java       |   34 +-
 .../org.apache.plc4x.java.spi.transport.Transport  |    1 -
 .../base/connection/SerialChannelFactoryTest.java  |    1 -
 plc4j/transports/socketcan/pom.xml                 |   28 +-
 .../socketcan/CANTransportConfiguration.java       |   34 +-
 .../socketcan/SocketCANChannelFactory.java         |   34 +-
 .../transport/socketcan/SocketCANTransport.java    |   34 +-
 .../socketcan/netty/SocketCANChannel.java          |    1 -
 .../socketcan/netty/SocketCANChannelConfig.java    |   34 +-
 .../socketcan/netty/address/SocketCANAddress.java  |   34 +-
 .../org.apache.plc4x.java.spi.transport.Transport  |    1 -
 plc4j/transports/tcp/pom.xml                       |   29 +-
 .../java/transport/tcp/TcpChannelFactory.java      |   34 +-
 .../plc4x/java/transport/tcp/TcpTransport.java     |   34 +-
 .../transport/tcp/TcpTransportConfiguration.java   |    1 -
 .../org.apache.plc4x.java.spi.transport.Transport  |    1 -
 plc4j/transports/test/pom.xml                      |   28 +-
 .../java/io/netty/bootstrap/EmbeddedBootstrap.java |   34 +-
 .../java/io/netty/bootstrap/EventLoopProvider.java |   34 +-
 .../java/transport/test/TestChannelFactory.java    |   34 +-
 .../java/transport/test/TestSocketAddress.java     |    1 -
 .../plc4x/java/transport/test/TestTransport.java   |   34 +-
 .../transport/test/TestTransportConfiguration.java |   34 +-
 .../src/main/remote-resources/META-INF/LICENSE     |    7 +
 .../src/main}/remote-resources/META-INF/NOTICE     |    0
 .../org.apache.plc4x.java.spi.transport.Transport  |    1 -
 plc4j/transports/udp/pom.xml                       |   28 +-
 .../java/transport/udp/UdpChannelFactory.java      |   34 +-
 .../plc4x/java/transport/udp/UdpTransport.java     |   34 +-
 .../transport/udp/UdpTransportConfiguration.java   |   34 +-
 .../udp/protocol/DatagramUnpackingHandler.java     |   34 +-
 .../org.apache.plc4x.java.spi.transport.Transport  |    1 -
 plc4j/utils/pcap-replay/pom.xml                    |   28 +-
 .../utils/pcapreplay/netty/PcapReplayChannel.java  |    1 -
 .../netty/address/PcapReplayAddress.java           |   34 +-
 .../netty/config/PcapReplayChannelConfig.java      |   34 +-
 .../netty/config/PcapReplayChannelOption.java      |   34 +-
 plc4j/utils/pcap-shared/pom.xml                    |   28 +-
 .../pcap/netty/address/PcapSocketAddress.java      |   34 +-
 .../utils/pcap/netty/config/PcapChannelConfig.java |   34 +-
 .../utils/pcap/netty/config/PcapChannelOption.java |   34 +-
 .../utils/pcap/netty/handlers/PacketHandler.java   |   34 +-
 .../pcap/netty/handlers/TcpIpPacketHandler.java    |   34 +-
 .../pcap/netty/handlers/UdpIpPacketHandler.java    |   34 +-
 .../src/main/remote-resources/META-INF/LICENSE     |    6 +
 .../src/main}/remote-resources/META-INF/NOTICE     |    0
 plc4j/utils/pom.xml                                |   28 +-
 plc4j/utils/raw-sockets/pom.xml                    |   28 +-
 .../utils/rawsockets/netty/RawSocketChannel.java   |    1 -
 .../rawsockets/netty/address/RawSocketAddress.java |   34 +-
 .../netty/config/RawSocketChannelConfig.java       |   34 +-
 .../src/remote-resources/META-INF/LICENSE          |    1 +
 .../rawsockets/netty/RawSocketChannelTest.java     |    1 -
 plc4j/utils/test-utils/pom.xml                     |   28 +-
 .../main/java/org/apache/plc4x/test/FastTests.java |   34 +-
 .../plc4x/test/RequireInternetConnection.java      |   33 +-
 .../test/RequireInternetConnectionCondition.java   |   33 +-
 .../apache/plc4x/test/RequireNonCaptureAllDns.java |   33 +-
 .../test/RequireNonCaptureAllDnsCondition.java     |   33 +-
 .../java/org/apache/plc4x/test/RequirePcap.java    |   33 +-
 .../apache/plc4x/test/RequirePcapCondition.java    |   33 +-
 .../java/org/apache/plc4x/test/RequirePcapNg.java  |   33 +-
 .../apache/plc4x/test/RequirePcapNgCondition.java  |   33 +-
 .../org/apache/plc4x/test/XmlTestsuiteLoader.java  |   32 +-
 .../test/dom4j/LocationAwareDocumentFactory.java   |   32 +-
 .../plc4x/test/dom4j/LocationAwareElement.java     |   32 +-
 .../test/dom4j/LocationAwareSAXContentHandler.java |   32 +-
 .../plc4x/test/dom4j/LocationAwareSAXReader.java   |   32 +-
 .../plc4x/test/driver/DriverTestsuiteRunner.java   |   34 +-
 .../exceptions/DriverTestsuiteException.java       |   33 +-
 .../test/driver/internal/ConnectionManager.java    |   34 +-
 .../test/driver/internal/DriverTestsuite.java      |   62 +-
 .../internal/DriverTestsuiteConfiguration.java     |   48 +-
 .../plc4x/test/driver/internal/StepType.java       |   34 +-
 .../plc4x/test/driver/internal/TestStep.java       |   34 +-
 .../plc4x/test/driver/internal/Testcase.java       |   34 +-
 .../plc4x/test/driver/internal/api/TestField.java  |   34 +-
 .../test/driver/internal/api/TestFieldRequest.java |   34 +-
 .../test/driver/internal/api/TestReadRequest.java  |   34 +-
 .../test/driver/internal/api/TestRequest.java      |   34 +-
 .../test/driver/internal/api/TestValueField.java   |   34 +-
 .../test/driver/internal/api/TestWriteRequest.java |   34 +-
 .../internal/handlers/ApiRequestHandler.java       |   34 +-
 .../internal/handlers/ApiResponseHandler.java      |   77 +-
 .../internal/handlers/IncomingPlcBytesHandler.java |   34 +-
 .../handlers/IncomingPlcMessageHandler.java        |   36 +-
 .../internal/handlers/OutgoingPlcBytesHandler.java |   34 +-
 .../handlers/OutgoingPlcMessageHandler.java        |   36 +-
 .../plc4x/test/driver/internal/utils/Delay.java    |   34 +-
 .../test/driver/internal/utils/Synchronizer.java   |   34 +-
 .../driver/internal/validator/ApiValidator.java    |    1 -
 .../org/apache/plc4x/test/manual/ManualTest.java   |   34 +-
 .../plc4x/test/migration/MessageResolver.java      |   93 +-
 .../migration/MessageValidatorAndMigrator.java     |   26 +-
 .../plc4x/test/migration/MigrationException.java   |    1 -
 .../plc4x/test/migration/TestCasePatcher.java      |   34 +-
 .../java/org/apache/plc4x/test/model/Location.java |   32 +-
 .../org/apache/plc4x/test/model/LocationAware.java |   32 +-
 .../ParserSerializerTestsuiteRunner.java           |   53 +-
 .../ParserSerializerTestsuiteException.java        |   33 +-
 .../model/ParserSerializerTestsuite.java           |   42 +-
 .../test/parserserializer/model/Testcase.java      |   34 +-
 .../java/org/apache/plc4x/test/xml/XmlHelper.java  |   53 +
 .../test-utils/src/main/resources/logback.xml      |   28 +-
 .../main/resources/schemas/driver-testsuite.xsd    |   39 +-
 .../schemas/parser-serializer-testsuite.xsd        |   22 +
 pom.xml                                            |   31 +-
 protocols/ab-eth/pom.xml                           |   32 +-
 .../apache/plc4x/protocol/abeth/ABETHProtocol.java |    1 -
 .../main/resources/protocols/abeth/ab-eth.mspec    |   36 +-
 protocols/ads/pom.xml                              |    2 +-
 .../plc4x/protocol/ads/ADSDiscoveryProtocol.java   |   33 +-
 .../org/apache/plc4x/protocol/ads/ADSProtocol.java |   33 +-
 .../resources/protocols/ads/ads-discovery.mspec    |   36 +-
 .../ads/src/main/resources/protocols/ads/ads.mspec |   36 +-
 .../resources/protocols/ads/DriverTestsuite.xml    |   86 +-
 protocols/bacnetip/pom.xml                         |   32 +-
 .../plc4x/protocol/bacnetip/BacNetIpProtocol.java  |    1 -
 .../resources/protocols/bacnetip/bacnetip.mspec    |   36 +-
 protocols/canopen/pom.xml                          |    2 +-
 .../plc4x/protocol/canopen/CANOpenProtocol.java    |   33 +-
 .../src/main/resources/protocols/can/canopen.mspec |    2 +-
 protocols/df1/pom.xml                              |   32 +-
 .../org/apache/plc4x/protocol/df1/Df1Protocol.java |    1 -
 .../df1/src/main/resources/protocols/df1/df1.mspec |   36 +-
 protocols/eip/pom.xml                              |   32 +-
 .../org/apache/plc4x/protocol/eip/EipProtocol.java |    1 -
 .../eip/src/main/resources/protocols/eip/eip.mspec |   42 +-
 .../resources/protocols/eip/DriverTestsuite.xml    |   17 +-
 protocols/firmata/pom.xml                          |   32 +-
 .../plc4x/protocol/firmata/FirmataProtocol.java    |    1 -
 .../main/resources/protocols/firmata/firmata.mspec |   36 +-
 .../plc4x/protocol/knxnetip/KnxNetIpProtocol.java  |   33 +-
 .../resources/protocols/knxnetip/device-info.mspec |   36 +-
 .../resources/protocols/knxnetip/knxnetip.mspec    |   36 +-
 .../src/main/script/getKnxMasterData.groovy        |   39 +-
 .../protocol/knxnetip/KnxDefinitionsGenerator.java |   33 +-
 .../knxnetip/KnxSpecificationStoreUpdater.java     |   33 +-
 .../knxnetip/handlers/ManufacturerIdsHandler.java  |   33 +-
 .../handlers/ProductDescriptionHandler.java        |   33 +-
 .../plc4x/protocol/modbus/ModbusProtocol.java      |   33 +-
 .../main/resources/protocols/modbus/modbus.mspec   |   36 +-
 .../resources/protocols/modbus/DriverTestsuite.xml |   80 +-
 protocols/opcua/pom.xml                            |  218 ++-
 .../apache/plc4x/protocol/opcua/OpcuaProtocol.java |   68 +-
 .../src/main/resources/protocols/opcua/opcua.mspec |   36 +-
 protocols/opcua/src/main/xslt/opc-common.xsl       |  500 ++++++
 protocols/opcua/src/main/xslt/opc-manual.xsl       |  447 +++++
 protocols/opcua/src/main/xslt/opc-services.xsl     |   72 +
 protocols/opcua/src/main/xslt/opc-status.xsl       |   68 +
 protocols/opcua/src/main/xslt/opc-types.xsl        |   58 +
 .../src/main/resources/protocols/plc4x/plc4x.mspec |   36 +-
 protocols/pom.xml                                  |    1 +
 protocols/profinet/pom.xml                         |   43 +
 .../plc4x/protocol/profinet/ProfinetProtocol.java  |   45 +
 ...e.plc4x.plugins.codegenerator.protocol.Protocol |   19 +
 .../resources/protocols/profinet/profinet.mspec    |  792 +++++++++
 .../org/apache/plc4x/protocol/s7/S7Protocol.java   |   33 +-
 .../s7/src/main/resources/protocols/s7/s7.mspec    |  410 ++++-
 .../resources/protocols/s7/DriverTestsuite.xml     |   92 +-
 .../protocols/s7/ParserSerializerTestsuite.xml     |   50 +-
 .../protocol/simulated/SimulatedProtocol.java      |   33 +-
 .../resources/protocols/simulated/simulated.mspec  |   36 +-
 sandbox/code-gen/src/main/antlr4/imaginary.g4      |   34 +-
 .../java/org/apache/plc4x/codegen/DFDLUtil.java    |   34 +-
 .../java/org/apache/plc4x/codegen/api/Buffer.java  |   34 +-
 .../org/apache/plc4x/codegen/ast/AbstractNode.java |   34 +-
 .../plc4x/codegen/ast/AssignementExpression.java   |   34 +-
 .../apache/plc4x/codegen/ast/BinaryExpression.java |   34 +-
 .../java/org/apache/plc4x/codegen/ast/Block.java   |   34 +-
 .../org/apache/plc4x/codegen/ast/BlockBuilder.java |   34 +-
 .../apache/plc4x/codegen/ast/CallExpression.java   |   34 +-
 .../apache/plc4x/codegen/ast/ClassDeclaration.java |   34 +-
 .../org/apache/plc4x/codegen/ast/CodeWriter.java   |   34 +-
 .../plc4x/codegen/ast/ConstantExpression.java      |   34 +-
 .../plc4x/codegen/ast/ConstructorDeclaration.java  |   34 +-
 .../plc4x/codegen/ast/DeclarationStatement.java    |   34 +-
 .../apache/plc4x/codegen/ast/ExceptionType.java    |   34 +-
 .../org/apache/plc4x/codegen/ast/Expression.java   |   34 +-
 .../org/apache/plc4x/codegen/ast/Expressions.java  |   34 +-
 .../apache/plc4x/codegen/ast/FieldDeclaration.java |   34 +-
 .../apache/plc4x/codegen/ast/FieldReference.java   |   34 +-
 .../org/apache/plc4x/codegen/ast/FileNode.java     |   34 +-
 .../org/apache/plc4x/codegen/ast/Generator.java    |   34 +-
 .../org/apache/plc4x/codegen/ast/IfStatement.java  |   34 +-
 .../apache/plc4x/codegen/ast/JavaGenerator.java    |   34 +-
 .../org/apache/plc4x/codegen/ast/LineComment.java  |   34 +-
 .../java/org/apache/plc4x/codegen/ast/Method.java  |   34 +-
 .../apache/plc4x/codegen/ast/MethodDefinition.java |   34 +-
 .../org/apache/plc4x/codegen/ast/Modifier.java     |   34 +-
 .../apache/plc4x/codegen/ast/NewExpression.java    |   34 +-
 .../java/org/apache/plc4x/codegen/ast/Node.java    |   34 +-
 .../org/apache/plc4x/codegen/ast/NodeVisitor.java  |   34 +-
 .../plc4x/codegen/ast/ParameterExpression.java     |   34 +-
 .../org/apache/plc4x/codegen/ast/Primitive.java    |   34 +-
 .../apache/plc4x/codegen/ast/PythonGenerator.java  |   34 +-
 .../apache/plc4x/codegen/ast/ReturnStatement.java  |   34 +-
 .../org/apache/plc4x/codegen/ast/Statement.java    |   34 +-
 .../apache/plc4x/codegen/ast/TypeDefinition.java   |   34 +-
 .../org/apache/plc4x/codegen/ast/TypeUtil.java     |   34 +-
 .../org/apache/plc4x/codegen/ast/UnknownType.java  |   34 +-
 .../plc4x/codegen/python/AbstractNodeVisitor.java  |   34 +-
 .../org/apache/plc4x/codegen/python/AddNode.java   |   34 +-
 .../org/apache/plc4x/codegen/python/AliasNode.java |   34 +-
 .../plc4x/codegen/python/AnnAssignerNode.java      |   34 +-
 .../org/apache/plc4x/codegen/python/ArgNode.java   |   34 +-
 .../apache/plc4x/codegen/python/ArgumentsNode.java |   34 +-
 .../apache/plc4x/codegen/python/AssignNode.java    |   34 +-
 .../apache/plc4x/codegen/python/AttributeNode.java |   34 +-
 .../apache/plc4x/codegen/python/AugAssignNode.java |   34 +-
 .../org/apache/plc4x/codegen/python/BinOpNode.java |   34 +-
 .../org/apache/plc4x/codegen/python/CallNode.java  |   34 +-
 .../apache/plc4x/codegen/python/ClassDefNode.java  |   34 +-
 .../apache/plc4x/codegen/python/CodePrinter.java   |   34 +-
 .../apache/plc4x/codegen/python/CompareNode.java   |   34 +-
 .../apache/plc4x/codegen/python/ContextNode.java   |   34 +-
 .../org/apache/plc4x/codegen/python/EqNode.java    |   34 +-
 .../org/apache/plc4x/codegen/python/ExprNode.java  |   34 +-
 .../plc4x/codegen/python/FunctionDefNode.java      |   34 +-
 .../org/apache/plc4x/codegen/python/IfNode.java    |   34 +-
 .../plc4x/codegen/python/ImportFromNode.java       |   34 +-
 .../apache/plc4x/codegen/python/KeywordNode.java   |   34 +-
 .../apache/plc4x/codegen/python/LineEntryNode.java |   34 +-
 .../org/apache/plc4x/codegen/python/ListNode.java  |   34 +-
 .../org/apache/plc4x/codegen/python/LoadNode.java  |   34 +-
 .../apache/plc4x/codegen/python/ModuleNode.java    |   34 +-
 .../org/apache/plc4x/codegen/python/MultNode.java  |   34 +-
 .../plc4x/codegen/python/NameConstantNode.java     |   34 +-
 .../org/apache/plc4x/codegen/python/NameNode.java  |   34 +-
 .../java/org/apache/plc4x/codegen/python/Node.java |   34 +-
 .../apache/plc4x/codegen/python/NodeVisitor.java   |   34 +-
 .../org/apache/plc4x/codegen/python/NotEqNode.java |   34 +-
 .../org/apache/plc4x/codegen/python/NumNode.java   |   34 +-
 .../org/apache/plc4x/codegen/python/PassNode.java  |   34 +-
 .../apache/plc4x/codegen/python/ReturnNode.java    |   34 +-
 .../org/apache/plc4x/codegen/python/StoreNode.java |   34 +-
 .../org/apache/plc4x/codegen/python/StrNode.java   |   34 +-
 .../org/apache/plc4x/codegen/python/TupleNode.java |   34 +-
 .../org/apache/plc4x/codegen/python/WhileNode.java |   34 +-
 .../org/apache/plc4x/codegen/util/BufferUtil.java  |   34 +-
 .../org/apache/plc4x/codegen/util/EnumFactory.java |   34 +-
 .../org/apache/plc4x/codegen/util/PojoFactory.java |   34 +-
 .../org/apache/plc4x/codegen/DFDLUtilTest.java     |   34 +-
 .../org/apache/plc4x/codegen/ModuleNodeTest.java   |   34 +-
 .../java/org/apache/plc4x/codegen/PojoBuilder.java |   34 +-
 .../plc4x/codegen/ast/JavaGeneratorTest.java       |   34 +-
 .../plc4x/codegen/ast/PythonGeneratorTest.java     |   34 +-
 .../apache/plc4x/codegen/util/EnumFactoryTest.java |   34 +-
 .../java/org/apache/plc4x/codegen/util/MyPojo.java |   34 +-
 .../apache/plc4x/codegen/util/PojoFactoryTest.java |   34 +-
 .../plc4x/java/discovery/DiscoveryConnection.java  |   34 +-
 .../plc4x/java/discovery/DiscoveryDriver.java      |   32 +-
 .../java/discovery/DiscoveryFieldHandler.java      |   34 +-
 .../services/org.apache.plc4x.java.api.PlcDriver   |    1 -
 .../apache/plc4x/java/s7/utils/StaticHelper.java   |   34 +-
 .../org/apache/plc4x/simulator/PlcSimulator.java   |   34 +-
 .../simulator/exceptions/SimulatorExcepiton.java   |   34 +-
 .../org/apache/plc4x/simulator/model/Context.java  |   34 +-
 .../plc4x/simulator/server/ServerModule.java       |   34 +-
 .../plc4x/simulator/server/s7/S7ServerModule.java  |   34 +-
 .../server/s7/protocol/S7Step7ServerAdapter.java   |   34 +-
 .../simulator/simulation/SimulationModule.java     |   34 +-
 .../watertank/WaterTankSimulationModule.java       |   34 +-
 .../org.apache.plc4x.simulator.server.ServerModule |    1 -
 ...che.plc4x.simulator.simulation.SimulationModule |    1 -
 .../plc-simulator/src/main/resources/logback.xml   |    2 -
 sandbox/plc4cpp/README.md                          |   28 +-
 .../cpp/org/apache/plc4x/cpp/PlcConnection.cpp     |   32 +-
 .../main/cpp/org/apache/plc4x/cpp/PlcConnection.h  |   32 +-
 .../cpp/org/apache/plc4x/cpp/PlcDriverManager.cpp  |   34 +-
 .../cpp/org/apache/plc4x/cpp/PlcDriverManager.h    |   34 +-
 .../cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp |   32 +-
 .../cpp/org/apache/plc4x/cpp/api/PlcConnection.h   |   32 +-
 .../cpp/api/authentication/PlcAuthentication.cpp   |   34 +-
 .../cpp/api/authentication/PlcAuthentication.h     |   34 +-
 .../PlcUsernamePasswordAuthentication.cpp          |   34 +-
 .../PlcUsernamePasswordAuthentication.h            |   34 +-
 .../cpp/api/exceptions/PlcConnectionException.cpp  |   34 +-
 .../cpp/api/exceptions/PlcConnectionException.h    |   34 +-
 .../plc4x/cpp/api/exceptions/PlcException.cpp      |   34 +-
 .../apache/plc4x/cpp/api/exceptions/PlcException.h |   34 +-
 .../cpp/api/exceptions/PlcFieldRangeException.cpp  |   34 +-
 .../cpp/api/exceptions/PlcFieldRangeException.h    |   34 +-
 .../PlcIncompatibleDatatypeException.cpp           |   34 +-
 .../exceptions/PlcIncompatibleDatatypeException.h  |   34 +-
 .../api/exceptions/PlcInvalidFieldException.cpp    |   34 +-
 .../cpp/api/exceptions/PlcInvalidFieldException.h  |   34 +-
 .../plc4x/cpp/api/exceptions/PlcIoException.cpp    |   34 +-
 .../plc4x/cpp/api/exceptions/PlcIoException.h      |   34 +-
 .../api/exceptions/PlcNotImplementedException.cpp  |   34 +-
 .../api/exceptions/PlcNotImplementedException.h    |   34 +-
 .../cpp/api/exceptions/PlcProtocolException.cpp    |   34 +-
 .../cpp/api/exceptions/PlcProtocolException.h      |   34 +-
 .../PlcProtocolPayloadTooBigException.cpp          |   34 +-
 .../exceptions/PlcProtocolPayloadTooBigException.h |   34 +-
 .../cpp/api/exceptions/PlcRuntimeException.cpp     |   34 +-
 .../plc4x/cpp/api/exceptions/PlcRuntimeException.h |   34 +-
 .../cpp/api/exceptions/PlcTimeoutException.cpp     |   34 +-
 .../plc4x/cpp/api/exceptions/PlcTimeoutException.h |   34 +-
 .../exceptions/PlcUnsupportedDataTypeException.cpp |   34 +-
 .../exceptions/PlcUnsupportedDataTypeException.h   |   34 +-
 .../PlcUnsupportedOperationException.cpp           |   34 +-
 .../exceptions/PlcUnsupportedOperationException.h  |   34 +-
 .../plc4x/cpp/api/messages/PlcFieldRequest.cpp     |   34 +-
 .../plc4x/cpp/api/messages/PlcFieldRequest.h       |   34 +-
 .../plc4x/cpp/api/messages/PlcFieldResponse.cpp    |   34 +-
 .../plc4x/cpp/api/messages/PlcFieldResponse.h      |   34 +-
 .../apache/plc4x/cpp/api/messages/PlcMessage.cpp   |   34 +-
 .../org/apache/plc4x/cpp/api/messages/PlcMessage.h |   34 +-
 .../plc4x/cpp/api/messages/PlcReadRequest.cpp      |   34 +-
 .../apache/plc4x/cpp/api/messages/PlcReadRequest.h |   34 +-
 .../cpp/api/messages/PlcReadRequestBuilder.cpp     |   34 +-
 .../plc4x/cpp/api/messages/PlcReadRequestBuilder.h |   34 +-
 .../plc4x/cpp/api/messages/PlcReadResponse.cpp     |   34 +-
 .../plc4x/cpp/api/messages/PlcReadResponse.h       |   34 +-
 .../apache/plc4x/cpp/api/messages/PlcRequest.cpp   |   34 +-
 .../org/apache/plc4x/cpp/api/messages/PlcRequest.h |   34 +-
 .../plc4x/cpp/api/messages/PlcRequestBuilder.cpp   |   34 +-
 .../plc4x/cpp/api/messages/PlcRequestBuilder.h     |   34 +-
 .../apache/plc4x/cpp/api/messages/PlcResponse.cpp  |   34 +-
 .../apache/plc4x/cpp/api/messages/PlcResponse.h    |   34 +-
 .../cpp/api/messages/PlcSubscriptionEvent.cpp      |   34 +-
 .../plc4x/cpp/api/messages/PlcSubscriptionEvent.h  |   34 +-
 .../cpp/api/messages/PlcSubscriptionRequest.cpp    |   34 +-
 .../cpp/api/messages/PlcSubscriptionRequest.h      |   34 +-
 .../cpp/api/messages/PlcSubscriptionResponse.cpp   |   34 +-
 .../cpp/api/messages/PlcSubscriptionResponse.h     |   34 +-
 .../cpp/api/messages/PlcUnsubscriptionRequest.cpp  |   34 +-
 .../cpp/api/messages/PlcUnsubscriptionRequest.h    |   34 +-
 .../cpp/api/messages/PlcUnsubscriptionResponse.cpp |   34 +-
 .../cpp/api/messages/PlcUnsubscriptionResponse.h   |   34 +-
 .../plc4x/cpp/api/messages/PlcWriteRequest.cpp     |   34 +-
 .../plc4x/cpp/api/messages/PlcWriteRequest.h       |   34 +-
 .../plc4x/cpp/api/messages/PlcWriteResponse.cpp    |   34 +-
 .../plc4x/cpp/api/messages/PlcWriteResponse.h      |   34 +-
 .../org/apache/plc4x/cpp/api/messages/REQUEST.cpp  |   34 +-
 .../org/apache/plc4x/cpp/api/messages/REQUEST.h    |   34 +-
 .../org/apache/plc4x/cpp/api/messages/RESPONSE.cpp |   34 +-
 .../org/apache/plc4x/cpp/api/messages/RESPONSE.h   |   34 +-
 .../plc4x/cpp/api/messages/RequestTemplate.cpp     |   34 +-
 .../plc4x/cpp/api/messages/RequestTemplate.h       |   34 +-
 .../plc4x/cpp/api/messages/ResponseTemplate.cpp    |   34 +-
 .../plc4x/cpp/api/messages/ResponseTemplate.h      |   34 +-
 .../cpp/api/metadata/PlcConnectionMetadata.cpp     |   34 +-
 .../plc4x/cpp/api/metadata/PlcConnectionMetadata.h |   34 +-
 .../org/apache/plc4x/cpp/api/model/Consumer.cpp    |   34 +-
 .../cpp/org/apache/plc4x/cpp/api/model/Consumer.h  |   34 +-
 .../cpp/api/model/PlcConsumerRegistration.cpp      |   34 +-
 .../plc4x/cpp/api/model/PlcConsumerRegistration.h  |   34 +-
 .../org/apache/plc4x/cpp/api/model/PlcField.cpp    |   34 +-
 .../cpp/org/apache/plc4x/cpp/api/model/PlcField.h  |   34 +-
 .../plc4x/cpp/api/model/PlcSubscriptionHandle.cpp  |   34 +-
 .../plc4x/cpp/api/model/PlcSubscriptionHandle.h    |   34 +-
 .../plc4x/cpp/api/types/PlcClientDataType.cpp      |   34 +-
 .../apache/plc4x/cpp/api/types/PlcClientDataType.h |   34 +-
 .../apache/plc4x/cpp/api/types/PlcResponseCode.cpp |   34 +-
 .../apache/plc4x/cpp/api/types/PlcResponseCode.h   |   34 +-
 .../plc4x/cpp/api/types/PlcSubscriptionType.cpp    |   34 +-
 .../plc4x/cpp/api/types/PlcSubscriptionType.h      |   34 +-
 .../apache/plc4x/cpp/api/types/ValueTypeObject.cpp |   34 +-
 .../apache/plc4x/cpp/api/types/ValueTypeObject.h   |   34 +-
 .../cpp/org/apache/plc4x/cpp/spi/PlcDriver.cpp     |   34 +-
 .../main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h  |   34 +-
 .../cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.cpp |   34 +-
 .../cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.h   |   34 +-
 .../plc4x/cpp/proxy/connection/ProxyConnection.cpp |   34 +-
 .../plc4x/cpp/proxy/connection/ProxyConnection.h   |   34 +-
 .../cpp/org/apache/plc4x/cpp/proxy/dllexports.cpp  |   34 +-
 .../cpp/org/apache/plc4x/cpp/proxy/dllexports.h    |   34 +-
 .../cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.cpp    |   34 +-
 .../main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.h |   34 +-
 .../plc4x/cpp/s7/connection/S7PlcConnection.cpp    |   34 +-
 .../plc4x/cpp/s7/connection/S7PlcConnection.h      |   34 +-
 .../cpp/org/apache/plc4x/cpp/s7/dllexports.cpp     |   34 +-
 .../main/cpp/org/apache/plc4x/cpp/s7/dllexports.h  |   34 +-
 .../plc4x/cpp/examples/helloplc4x/helloplc4x.cpp   |   34 +-
 .../cpp/base/connection/AbstractPlcConnection.cpp  |   34 +-
 .../cpp/base/connection/AbstractPlcConnection.h    |   34 +-
 .../plc4x/cpp/base/connection/BoostConnection.cpp  |   34 +-
 .../plc4x/cpp/base/connection/BoostConnection.h    |   34 +-
 .../plc4x/cpp/base/connection/ChannelFactory.cpp   |   34 +-
 .../plc4x/cpp/base/connection/ChannelFactory.h     |   34 +-
 .../cpp/base/connection/DefaultPlcFieldHandler.cpp |   34 +-
 .../cpp/base/connection/DefaultPlcFieldHandler.h   |   34 +-
 .../plc4x/cpp/base/connection/PlcFieldHandler.cpp  |   34 +-
 .../plc4x/cpp/base/connection/PlcFieldHandler.h    |   34 +-
 .../apache/plc4x/cpp/base/events/ConnectEvent.cpp  |   34 +-
 .../apache/plc4x/cpp/base/events/ConnectEvent.h    |   34 +-
 .../plc4x/cpp/base/events/ConnectedEvent.cpp       |   34 +-
 .../apache/plc4x/cpp/base/events/ConnectedEvent.h  |   34 +-
 .../cpp/base/messages/DefaultPlcReadRequest.cpp    |   34 +-
 .../cpp/base/messages/DefaultPlcReadRequest.h      |   34 +-
 .../cpp/base/messages/DefaultPlcWriteRequest.cpp   |   34 +-
 .../cpp/base/messages/DefaultPlcWriteRequest.h     |   34 +-
 .../cpp/base/messages/InternalPlcFieldRequest.cpp  |   34 +-
 .../cpp/base/messages/InternalPlcFieldRequest.h    |   34 +-
 .../cpp/base/messages/InternalPlcFieldResponse.cpp |   34 +-
 .../cpp/base/messages/InternalPlcFieldResponse.h   |   34 +-
 .../messages/InternalPlcProprietaryRequest.cpp     |   34 +-
 .../base/messages/InternalPlcProprietaryRequest.h  |   34 +-
 .../messages/InternalPlcProprietaryResponse.cpp    |   34 +-
 .../base/messages/InternalPlcProprietaryResponse.h |   34 +-
 .../cpp/base/messages/InternalPlcReadRequest.cpp   |   34 +-
 .../cpp/base/messages/InternalPlcReadRequest.h     |   34 +-
 .../plc4x/cpp/base/messages/InternalPlcRequest.cpp |   34 +-
 .../plc4x/cpp/base/messages/InternalPlcRequest.h   |   34 +-
 .../cpp/base/messages/InternalPlcResponse.cpp      |   34 +-
 .../plc4x/cpp/base/messages/InternalPlcResponse.h  |   34 +-
 .../cpp/base/messages/InternalPlcWriteRequest.cpp  |   34 +-
 .../cpp/base/messages/InternalPlcWriteRequest.h    |   34 +-
 .../cpp/base/messages/PlcProprietaryRequest.cpp    |   34 +-
 .../cpp/base/messages/PlcProprietaryRequest.h      |   34 +-
 .../cpp/base/messages/PlcProprietaryResponse.cpp   |   34 +-
 .../cpp/base/messages/PlcProprietaryResponse.h     |   34 +-
 .../apache/plc4x/cpp/base/messages/PlcReader.cpp   |   34 +-
 .../org/apache/plc4x/cpp/base/messages/PlcReader.h |   34 +-
 .../apache/plc4x/cpp/base/messages/PlcWriter.cpp   |   34 +-
 .../org/apache/plc4x/cpp/base/messages/PlcWriter.h |   34 +-
 .../base/messages/items/BaseDefaultFieldItem.cpp   |   34 +-
 .../cpp/base/messages/items/BaseDefaultFieldItem.h |   34 +-
 .../messages/items/DefaultBigDecimalFieldItem.cpp  |   34 +-
 .../messages/items/DefaultBigDecimalFieldItem.h    |   34 +-
 .../messages/items/DefaultBigIntegerFieldItem.cpp  |   34 +-
 .../messages/items/DefaultBigIntegerFieldItem.h    |   34 +-
 .../messages/items/DefaultBooleanFieldItem.cpp     |   34 +-
 .../base/messages/items/DefaultBooleanFieldItem.h  |   34 +-
 .../messages/items/DefaultByteArrayFieldItem.cpp   |   34 +-
 .../messages/items/DefaultByteArrayFieldItem.h     |   34 +-
 .../base/messages/items/DefaultByteFieldItem.cpp   |   34 +-
 .../cpp/base/messages/items/DefaultByteFieldItem.h |   34 +-
 .../base/messages/items/DefaultDoubleFieldItem.cpp |   34 +-
 .../base/messages/items/DefaultDoubleFieldItem.h   |   34 +-
 .../base/messages/items/DefaultFloatFieldItem.cpp  |   34 +-
 .../base/messages/items/DefaultFloatFieldItem.h    |   34 +-
 .../messages/items/DefaultIntegerFieldItem.cpp     |   34 +-
 .../base/messages/items/DefaultIntegerFieldItem.h  |   34 +-
 .../messages/items/DefaultLocalDateFieldItem.cpp   |   34 +-
 .../messages/items/DefaultLocalDateFieldItem.h     |   34 +-
 .../items/DefaultLocalDateTimeFieldItem.cpp        |   34 +-
 .../messages/items/DefaultLocalDateTimeFieldItem.h |   34 +-
 .../messages/items/DefaultLocalTimeFieldItem.cpp   |   34 +-
 .../messages/items/DefaultLocalTimeFieldItem.h     |   34 +-
 .../base/messages/items/DefaultLongFieldItem.cpp   |   34 +-
 .../cpp/base/messages/items/DefaultLongFieldItem.h |   34 +-
 .../base/messages/items/DefaultShortFieldItem.cpp  |   34 +-
 .../base/messages/items/DefaultShortFieldItem.h    |   34 +-
 .../base/messages/items/DefaultStringFieldItem.cpp |   34 +-
 .../base/messages/items/DefaultStringFieldItem.h   |   34 +-
 .../apache/plc4x/cpp/s7/types/S7ControllerType.h   |   34 +-
 .../org/apache/plc4x/cpp/utils/logger/BLogger.cpp  |   34 +-
 .../org/apache/plc4x/cpp/utils/logger/BLogger.h    |   34 +-
 .../org/apache/plc4x/cpp/utils/logger/DatDmp.cpp   |   34 +-
 .../cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h |   34 +-
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp |   34 +-
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.h   |   34 +-
 .../plc4x/cpp/utils/logger/ErrorCategory.cpp       |   34 +-
 .../apache/plc4x/cpp/utils/logger/ErrorCategory.h  |   34 +-
 .../plc4x/cpp/utils/logger/ErrorInfoException.cpp  |   34 +-
 .../plc4x/cpp/utils/logger/ErrorInfoException.h    |   34 +-
 .../org/apache/plc4x/cpp/utils/logger/ExLog.cpp    |   34 +-
 .../cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h  |   34 +-
 .../cpp/utils/systemconfig/SystemConfiguration.cpp |   34 +-
 .../cpp/utils/systemconfig/SystemConfiguration.h   |   34 +-
 sandbox/plc4net/api/PlcDriverManager.cs            |   34 +-
 sandbox/plc4net/api/api/IPlcConnection.cs          |   34 +-
 sandbox/plc4net/api/api/IPlcDriver.cs              |   34 +-
 .../api/api/authentication/IPlcAuthentication.cs   |   34 +-
 .../PlcUsernamePasswordAuthentication.cs           |   34 +-
 .../api/api/metadata/IPlcConnectionMetadata.cs     |   34 +-
 .../api/exceptions/PlcConnectionException.cs       |   34 +-
 sandbox/plc4net/api/exceptions/PlcException.cs     |   34 +-
 .../api/exceptions/PlcInvalidFieldException.cs     |   34 +-
 sandbox/plc4net/api/messages/IPlcFieldRequest.cs   |   34 +-
 sandbox/plc4net/api/messages/IPlcFieldResponse.cs  |   34 +-
 sandbox/plc4net/api/messages/IPlcMessage.cs        |   34 +-
 sandbox/plc4net/api/messages/IPlcReadRequest.cs    |   34 +-
 .../plc4net/api/messages/IPlcReadRequestBuilder.cs |   34 +-
 sandbox/plc4net/api/messages/IPlcReadResponse.cs   |   34 +-
 sandbox/plc4net/api/messages/IPlcRequest.cs        |   34 +-
 sandbox/plc4net/api/messages/IPlcRequestBuilder.cs |   34 +-
 sandbox/plc4net/api/messages/IPlcResponse.cs       |   34 +-
 .../api/messages/IPlcSubscriptionEventArgs.cs      |   34 +-
 .../api/messages/IPlcSubscriptionRequest.cs        |   34 +-
 .../api/messages/IPlcSubscriptionRequestBuilder.cs |   34 +-
 .../api/messages/IPlcSubscriptionResponse.cs       |   34 +-
 .../api/messages/IPlcUnsubscriptionRequest.cs      |   34 +-
 .../messages/IPlcUnsubscriptionRequestBuilder.cs   |   34 +-
 .../api/messages/IPlcUnsubscriptionResponse.cs     |   34 +-
 sandbox/plc4net/api/messages/IPlcWriteRequest.cs   |   34 +-
 .../api/messages/IPlcWriteRequestBuilder.cs        |   34 +-
 sandbox/plc4net/api/model/IPlcField.cs             |   34 +-
 .../plc4net/api/model/IPlcSubscriptionHandle.cs    |   34 +-
 sandbox/plc4net/api/types/PlcResponseCode.cs       |   34 +-
 sandbox/plc4py/README.md                           |   28 +-
 sandbox/plc4py/pom.xml                             |   32 +-
 sandbox/plc4py/src/main/resources/lib/log4j2.xml   |   32 +-
 sandbox/test-java-bacnetip-driver/pom.xml          |   32 +-
 .../apache/plc4x/java/bacnetip/BacNetIpDriver.java |   34 +-
 .../configuration/BacNetIpConfiguration.java       |   34 +-
 .../apache/plc4x/java/bacnetip/ede/EdeParser.java  |   34 +-
 .../plc4x/java/bacnetip/ede/layouts/EdeLayout.java |   34 +-
 .../bacnetip/ede/layouts/EdeLayoutFactory.java     |   34 +-
 .../bacnetip/ede/layouts/EdeVersion2Layout.java    |   34 +-
 .../bacnetip/ede/layouts/EdeVersion3Layout.java    |   34 +-
 .../bacnetip/ede/layouts/EdeVersion4Layout.java    |   34 +-
 .../plc4x/java/bacnetip/ede/model/Datapoint.java   |   34 +-
 .../plc4x/java/bacnetip/ede/model/EdeModel.java    |   34 +-
 .../plc4x/java/bacnetip/field/BacNetIpField.java   |   34 +-
 .../java/bacnetip/field/BacNetIpFieldHandler.java  |   34 +-
 .../bacnetip/protocol/BacNetIpProtocolLogic.java   |  241 +--
 .../plc4x/java/bacnetip/ManualBacNetDecoder.java   |   34 +-
 .../java/bacnetip/PassiveBacNetIpDriverManual.java |   34 +-
 .../src/test/resources/logback.xml                 |    2 -
 sandbox/test-java-df1-driver/pom.xml               |   32 +-
 .../org/apache/plc4x/java/df1/DF1PlcDriver.java    |   32 +-
 .../java/df1/configuration/Df1Configuration.java   |   34 +-
 .../plc4x/java/df1/field/Df1FieldHandler.java      |   32 +-
 .../plc4x/java/df1/protocol/Df1Protocol.java       |   32 +-
 .../plc4x/java/df1/protocol/Df1ProtocolLogic.java  |   34 +-
 .../plc4x/java/df1/protocol/Plc4XDf1Protocol.java  |   32 +-
 .../org/apache/plc4x/java/df1/types/DataType.java  |   32 +-
 .../plc4x/protocol/df1/BenchmarkGeneratedDf1.java  |    1 -
 .../plc4x/protocol/df1/BenchmarkManualDf1.java     |    1 -
 .../protocol/df1/Df1ParserSerializerTest.java      |   35 +-
 .../apache/plc4x/protocol/df1/EndToEndTest.java    |    1 -
 src/main/script/preSiteGeneration.groovy           |   32 +-
 src/main/script/prerequisiteCheck.groovy           |   55 +-
 .../developers/code-gen/language/freemarker.adoc   |   35 +-
 src/site/asciidoc/users/protocols/index.adoc       |  139 +-
 src/site/asciidoc/users/protocols/opc-ua.adoc      |   12 +-
 src/site/asciidoc/users/protocols/s7.adoc          |   35 +-
 .../resources/css/bootstrap-responsive.min.css     |   34 +-
 src/site/resources/css/site.css                    |   34 +-
 src/site/resources/images/users/protocols/s7.png   |  Bin 0 -> 19399 bytes
 .../resources/images/users/protocols/s7_alert.png  |  Bin 0 -> 19948 bytes
 .../resources/images/users/protocols/s7_banner.png |  Bin 0 -> 42137 bytes
 .../images/users/protocols/s7_caution.png          |  Bin 0 -> 18944 bytes
 .../resources/images/users/protocols/s7_danger.png |  Bin 0 -> 20452 bytes
 .../resources/images/users/protocols/s7_dont.png   |  Bin 0 -> 20067 bytes
 .../resources/images/users/protocols/s7_ex.png     |  Bin 0 -> 20057 bytes
 .../images/users/protocols/s7_important.png        |  Bin 0 -> 19667 bytes
 .../resources/images/users/protocols/s7_note.png   |  Bin 0 -> 19486 bytes
 .../resources/images/users/protocols/s7_tip.png    |  Bin 0 -> 20231 bytes
 .../resources/images/users/protocols/s7_toddy.png  |  Bin 0 -> 20356 bytes
 .../images/users/protocols/s7_warning.png          |  Bin 0 -> 19172 bytes
 tools/README.md                                    |   28 +-
 tools/check_sigs.sh                                |   36 +-
 tools/clean-site.sh                                |   36 +-
 tools/common.sh                                    |   36 +-
 tools/download_staged_release.sh                   |   36 +-
 2408 files changed, 67688 insertions(+), 37262 deletions(-)
 create mode 100644 .idea/fileTemplates/Go Application.go
 create mode 100644 .idea/fileTemplates/Go File.go
 create mode 100644 .idea/fileTemplates/Go Scratch.go
 create mode 100644 .idea/fileTemplates/Properties File.properties
 create mode 100644 .idea/fileTemplates/XML File.xml
 create mode 100644 .idea/fileTemplates/Yaml FIle.yaml
 create mode 100644 .idea/fileTemplates/Yml File.yml
 create mode 100644 .idea/fileTemplates/includes/C File Header.h
 create mode 100644 .idea/fileTemplates/includes/File Header Go.go
 create mode 100644 .idea/fileTemplates/includes/File Header Properties.properties
 create mode 100644 .idea/fileTemplates/includes/File Header XML.xml
 create mode 100644 .idea/fileTemplates/includes/File Header Yaml.yaml
 create mode 100644 .idea/fileTemplates/includes/File Header Yml.yml
 create mode 100644 .idea/fileTemplates/includes/File Header.java
 create mode 100644 .idea/fileTemplates/internal/AnnotationType.java
 create mode 100644 .idea/fileTemplates/internal/Class.java
 create mode 100644 .idea/fileTemplates/internal/Enum.java
 create mode 100644 .idea/fileTemplates/internal/Interface.java
 create mode 100644 .idea/fileTemplates/internal/Record.java
 delete mode 100644 Sometimes-Failling-Tests.md
 mode change 100755 => 100644 build-reproducible.sh
 create mode 100644 code-generation/language-c/src/test/resources/integration-test/include/plc4c/driver_test_static.h
 mode change 100755 => 100644 compare-reproducible.sh
 mode change 100755 => 100644 mvnw
 create mode 100644 plc4c/.idea/fileTemplates/includes/C File Header.h
 create mode 100644 plc4c/drivers/modbus/include/plc4c/driver_modbus_static.h
 create mode 100644 plc4c/drivers/s7/include/plc4c/driver_s7_static.h
 create mode 100644 plc4c/drivers/s7/src/driver_s7_static.c
 create mode 100644 plc4c/generated-sources/s7/include/alarm_message_ack_object_push_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_message_ack_push_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_message_ack_response_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_message_ack_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_message_object_ack_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_message_object_push_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_message_object_query_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_message_push_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_message_query_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_state_type.h
 create mode 100644 plc4c/generated-sources/s7/include/alarm_type.h
 create mode 100644 plc4c/generated-sources/s7/include/associated_value_type.h
 create mode 100644 plc4c/generated-sources/s7/include/cpu_subscribe_events.h
 create mode 100644 plc4c/generated-sources/s7/include/date_and_time.h
 create mode 100644 plc4c/generated-sources/s7/include/event_type.h
 create mode 100644 plc4c/generated-sources/s7/include/mode_transition_type.h
 create mode 100644 plc4c/generated-sources/s7/include/query_type.h
 create mode 100644 plc4c/generated-sources/s7/include/s7_data_alarm_message.h
 create mode 100644 plc4c/generated-sources/s7/include/state.h
 create mode 100644 plc4c/generated-sources/s7/include/syntax_id_type.h
 create mode 100644 plc4c/generated-sources/s7/src/alarm_message_ack_object_push_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_message_ack_push_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_message_ack_response_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_message_ack_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_message_object_ack_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_message_object_push_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_message_object_query_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_message_push_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_message_query_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_state_type.c
 create mode 100644 plc4c/generated-sources/s7/src/alarm_type.c
 create mode 100644 plc4c/generated-sources/s7/src/associated_value_type.c
 create mode 100644 plc4c/generated-sources/s7/src/cpu_subscribe_events.c
 create mode 100644 plc4c/generated-sources/s7/src/date_and_time.c
 create mode 100644 plc4c/generated-sources/s7/src/event_type.c
 create mode 100644 plc4c/generated-sources/s7/src/mode_transition_type.c
 create mode 100644 plc4c/generated-sources/s7/src/query_type.c
 create mode 100644 plc4c/generated-sources/s7/src/s7_data_alarm_message.c
 create mode 100644 plc4c/generated-sources/s7/src/state.c
 create mode 100644 plc4c/generated-sources/s7/src/syntax_id_type.c
 delete mode 120000 plc4c/venv/lib64
 create mode 100644 plc4go/.idea/fileTemplates/includes/File Header Go.go
 create mode 100644 plc4go/.idea/fileTemplates/internal/Go Application.go
 create mode 100644 plc4go/.idea/fileTemplates/internal/Go File.go
 create mode 100644 plc4go/.idea/fileTemplates/internal/Go Scratch.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/Connection.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/Field.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/FieldHandler.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/MessageCodec.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/Subscriber.go
 create mode 100644 plc4go/internal/plc4go/bacnetip/ValueHandler.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmMessageAckObjectPushType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmMessageAckPushType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmMessageAckResponseType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmMessageAckType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmMessageObjectAckType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmMessageObjectPushType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmMessageObjectQueryType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmMessagePushType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmMessageQueryType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmStateType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AlarmType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/AssociatedValueType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/CpuSubscribeEvents.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/DateAndTime.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/EventType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/ModeTransitionType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/QueryType.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7DataAlarmMessage.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7EventHelper.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectRequest.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7MessageObjectResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7ParameterModeTransition.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarm8.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmAckInd.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmS.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSC.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadAlarmSQ.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadDiagnosticMessage.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadNotify8.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAck.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmAckResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQuery.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionAlarmQueryResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscription.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/State.go
 create mode 100644 plc4go/internal/plc4go/s7/readwrite/model/SyntaxIdType.go
 create mode 100644 plc4go/internal/plc4go/spi/transports/serial/Transport.go
 create mode 100644 plc4go/internal/plc4go/spi/transports/utils/TransportLogger.go
 create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcDiscoveryItem.java
 create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcDiscoveryItemHandler.java
 create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/metadata/PlcDriverMetadata.java
 create mode 100644 plc4j/api/src/main/java/org/apache/plc4x/java/api/model/PlcDiscoveryHandler.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/config/OpcuaConfiguration.java
 delete mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/BaseOpcuaPlcConnection.java
 delete mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaConnectionFactory.java
 delete mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/connection/OpcuaTcpPlcConnection.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/CertificateGenerator.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/CertificateKeyPair.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/EncryptionHandler.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannel.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannelTransactionManager.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/field/OpcuaField.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/field/OpcuaPlcFieldHandler.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/optimizer/OpcuaOptimizer.java
 delete mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaField.java
 delete mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaPlcFieldHandler.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaProtocolLogic.java
 create mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubscriptionHandle.java
 delete mode 100644 plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/protocol/OpcuaSubsriptionHandle.java
 create mode 100644 plc4j/drivers/opcua/src/test/resources/log4j.properties
 create mode 100644 plc4j/drivers/opcua/src/test/resources/logback.xml
 create mode 100644 plc4j/drivers/profinet/pom.xml
 create mode 100644 plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/ProfinetDriver.java
 create mode 100644 plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/config/ProfinetConfiguration.java
 create mode 100644 plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/context/ProfinetDiscoveryContext.java
 create mode 100644 plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/discovery/ProfinetPlcDiscoverer.java
 create mode 100644 plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/field/ProfinetField.java
 create mode 100644 plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/field/ProfinetFieldHandler.java
 create mode 100644 plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/protocol/ProfinetDiscoveryLogic.java
 create mode 100644 plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/protocol/ProfinetProtocolLogic.java
 create mode 100644 plc4j/drivers/profinet/src/main/java/org/apache/plc4x/java/profinet/utils/StaticHelper.java
 create mode 100644 plc4j/drivers/profinet/src/main/resources/META-INF/services/org.apache.plc4x.java.api.PlcDriver
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/events/S7AlarmEvent.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/events/S7CyclicValueEvent.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/events/S7Event.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/events/S7ModeEvent.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/events/S7SysEvent.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/events/S7UserEvent.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/field/S7SslField.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/field/S7SubscriptionField.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolEventLogic.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/types/S7SubscriptionFieldType.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/utils/S7PlcSubscriptionHandle.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/utils/S7DiagnosticEventId.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/utils/S7EventHelper.java
 create mode 100644 plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/utils/S7ParamErrorCode.java
 mode change 100755 => 100644 plc4j/examples/hello-connectivity-kafka/server.sh
 create mode 100644 plc4j/examples/hello-discovery/pom.xml
 create mode 100644 plc4j/examples/hello-discovery/src/main/java/org/apache/plc4x/java/examples/hellodiscovery/CliOptions.java
 create mode 100644 plc4j/examples/hello-discovery/src/main/java/org/apache/plc4x/java/examples/hellodiscovery/HelloDiscovery.java
 create mode 100644 plc4j/examples/hello-discovery/src/main/resources/logback.xml
 create mode 100644 plc4j/examples/plc4j-s7event/pom.xml
 create mode 100644 plc4j/examples/plc4j-s7event/src/main/java/org/apache/plc4x/examples/plc4j/s7event/EventSubscription.java
 delete mode 100644 plc4j/integrations/opcua-server/src/test/java/org/apache/plc4x/java/opcuaserver/UtilsTest.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/events/DiscoverEvent.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/events/DiscoveredEvent.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcDiscoveryItem.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcDiscoveryRequest.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcDiscoveryResponse.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/PlcDiscoverer.java
 create mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/utils/Serializable.java
 delete mode 100644 plc4j/spi/src/main/java/org/apache/plc4x/java/spi/utils/XmlSerializable.java
 create mode 100644 plc4j/transports/test/src/main/remote-resources/META-INF/LICENSE
 copy plc4j/{utils/raw-sockets/src => transports/test/src/main}/remote-resources/META-INF/NOTICE (100%)
 create mode 100644 plc4j/utils/pcap-shared/src/main/remote-resources/META-INF/LICENSE
 copy plc4j/utils/{raw-sockets/src => pcap-shared/src/main}/remote-resources/META-INF/NOTICE (100%)
 create mode 100644 plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/xml/XmlHelper.java
 create mode 100644 protocols/opcua/src/main/xslt/opc-common.xsl
 create mode 100644 protocols/opcua/src/main/xslt/opc-manual.xsl
 create mode 100644 protocols/opcua/src/main/xslt/opc-services.xsl
 create mode 100644 protocols/opcua/src/main/xslt/opc-status.xsl
 create mode 100644 protocols/opcua/src/main/xslt/opc-types.xsl
 create mode 100644 protocols/profinet/pom.xml
 create mode 100644 protocols/profinet/src/main/java/org/apache/plc4x/protocol/profinet/ProfinetProtocol.java
 create mode 100644 protocols/profinet/src/main/resources/META-INF/services/org.apache.plc4x.plugins.codegenerator.protocol.Protocol
 create mode 100644 protocols/profinet/src/main/resources/protocols/profinet/profinet.mspec
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.h
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.cpp
 mode change 100755 => 100644 sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.h
 create mode 100644 src/site/resources/images/users/protocols/s7.png
 create mode 100644 src/site/resources/images/users/protocols/s7_alert.png
 create mode 100644 src/site/resources/images/users/protocols/s7_banner.png
 create mode 100644 src/site/resources/images/users/protocols/s7_caution.png
 create mode 100644 src/site/resources/images/users/protocols/s7_danger.png
 create mode 100644 src/site/resources/images/users/protocols/s7_dont.png
 create mode 100644 src/site/resources/images/users/protocols/s7_ex.png
 create mode 100644 src/site/resources/images/users/protocols/s7_important.png
 create mode 100644 src/site/resources/images/users/protocols/s7_note.png
 create mode 100644 src/site/resources/images/users/protocols/s7_tip.png
 create mode 100644 src/site/resources/images/users/protocols/s7_toddy.png
 create mode 100644 src/site/resources/images/users/protocols/s7_warning.png
 mode change 100755 => 100644 tools/check_sigs.sh
 mode change 100755 => 100644 tools/common.sh
 mode change 100755 => 100644 tools/download_staged_release.sh