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/08/14 16:48:32 UTC
[plc4x] 01/02: Merge branch 'develop' of github.com:apache/plc4x
into s7event
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch s7event
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 8da75d54ef0260383ba087c3a85ef16233d03649
Merge: 908c0eb 509a970
Author: cdutz <ch...@c-ware.de>
AuthorDate: Sat Aug 14 17:35:11 2021 +0200
Merge branch 'develop' of github.com:apache/plc4x into s7event
Conflicts:
plc4j/drivers/pom.xml
plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
protocols/s7/src/main/resources/protocols/s7/s7.mspec
.asf.yaml | 4 +-
.github/dependabot.yml | 25 +
.github/workflows/codeql-analysis.yml | 78 +
.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/MavenWrapperDownloader.java | 9 +-
.mvn/wrapper/maven-wrapper.properties | 3 +-
.travis.yml | 34 +-
DEVELOPMENT.md | 28 +-
Dockerfile | 4 +-
Jenkinsfile | 25 +-
LICENSE | 6 +-
README.md | 37 +-
RELEASE_NOTES | 8 +
Sometimes-Failling-Tests.md | 27 -
build-reproducible.sh | 2 +-
build-utils/language-base-freemarker/pom.xml | 66 -
.../BaseFreemarkerLanguageTemplateHelper.java | 985 --------
.../protocol/freemarker/FreemarkerException.java | 34 -
.../freemarker/FreemarkerLanguageOutput.java | 180 --
.../FreemarkerLanguageTemplateHelper.java | 23 -
build-utils/language-c/pom.xml | 94 -
.../apache/plc4x/language/c/CLanguageOutput.java | 76 -
.../plc4x/language/c/CLanguageTemplateHelper.java | 1034 ---------
.../resources/templates/c/data-io-template.c.ftlh | 256 ---
.../resources/templates/c/data-io-template.h.ftlh | 90 -
.../resources/templates/c/enum-template.c.ftlh | 128 --
.../resources/templates/c/enum-template.h.ftlh | 96 -
.../resources/templates/c/pojo-template.c.ftlh | 785 -------
.../resources/templates/c/pojo-template.h.ftlh | 184 --
.../generated-sources/test/CMakeLists.txt | 30 -
.../src/test/resources/integration-test/pom.xml | 387 ----
.../language-c/src/test/resources/settings.xml | 51 -
build-utils/language-go/pom.xml | 110 -
.../apache/plc4x/language/go/GoLanguageOutput.java | 72 -
.../language/go/GoLanguageTemplateHelper.java | 1167 ----------
.../apache/plc4x/language/go/utils/FieldUtils.java | 103 -
.../templates/go/data-io-template.go.ftlh | 254 ---
.../resources/templates/go/enum-template.go.ftlh | 196 --
.../resources/templates/go/model-template.go.ftlh | 1245 ----------
.../templates/go/parser-factory-template.go.ftlh | 98 -
.../go/xml-parser-factory-template.go.ftlh | 131 --
.../language-go/src/test/resources/plc4go/pom.xml | 291 ---
.../language-go/src/test/resources/settings.xml | 51 -
build-utils/language-java/pom.xml | 140 --
.../plc4x/language/java/JavaLanguageOutput.java | 74 -
.../language/java/JavaLanguageTemplateHelper.java | 917 --------
.../templates/java/data-io-template.java.ftlh | 396 ----
.../java/enum-package-info-template.java.ftlh | 49 -
.../templates/java/enum-template.java.ftlh | 144 --
.../resources/templates/java/io-template.java.ftlh | 689 ------
.../templates/java/pojo-template.java.ftlh | 396 ----
.../src/test/resources/integration-test/pom.xml | 205 --
.../language-java/src/test/resources/settings.xml | 51 -
build-utils/pom.xml | 77 -
build-utils/protocol-base-mspec/pom.xml | 86 -
.../plugins/codegenerator/language/mspec/MSpec.g4 | 294 ---
.../mspec/expression/ExpressionStringListener.java | 383 ----
.../mspec/expression/ExpressionStringParser.java | 44 -
.../definitions/DefaultComplexTypeDefinition.java | 98 -
.../definitions/DefaultDataIoTypeDefinition.java | 45 -
.../DefaultDiscriminatedComplexTypeDefinition.java | 50 -
.../definitions/DefaultEnumTypeDefinition.java | 69 -
.../mspec/model/definitions/DefaultEnumValue.java | 53 -
.../model/definitions/DefaultTypeDefinition.java | 66 -
.../mspec/model/fields/DefaultAbstractField.java | 52 -
.../mspec/model/fields/DefaultArrayField.java | 64 -
.../mspec/model/fields/DefaultChecksumField.java | 55 -
.../mspec/model/fields/DefaultConstField.java | 55 -
.../model/fields/DefaultDiscriminatorField.java | 49 -
.../mspec/model/fields/DefaultEnumField.java | 57 -
.../mspec/model/fields/DefaultImplicitField.java | 55 -
.../model/fields/DefaultManualArrayField.java | 82 -
.../mspec/model/fields/DefaultManualField.java | 69 -
.../mspec/model/fields/DefaultOptionalField.java | 57 -
.../mspec/model/fields/DefaultPaddingField.java | 63 -
.../mspec/model/fields/DefaultReservedField.java | 49 -
.../mspec/model/fields/DefaultSimpleField.java | 51 -
.../mspec/model/fields/DefaultSwitchField.java | 56 -
.../mspec/model/fields/DefaultTaggedField.java | 36 -
.../mspec/model/fields/DefaultVirtualField.java | 55 -
.../mspec/parser/MessageFormatListener.java | 537 -----
.../language/mspec/parser/MessageFormatParser.java | 47 -
.../expression/ExpressionStringParserTest.java | 177 --
.../mspec/parser/MessageFormatParserTest.java | 46 -
.../src/test/resources/mspec.example | 365 ---
build-utils/protocol-test/pom.xml | 220 --
.../apache/plc4x/protocol/test/TestProtocol.java | 45 -
.../src/main/resources/protocols/test/test.mspec | 399 ----
build-utils/protocol-test/src/site/site.xml | 145 --
code-generation/language-base-freemarker/pom.xml | 66 +
.../BaseFreemarkerLanguageTemplateHelper.java | 1024 +++++++++
.../protocol/freemarker/FreemarkerException.java | 34 +
.../freemarker/FreemarkerLanguageOutput.java | 186 ++
.../FreemarkerLanguageTemplateHelper.java | 22 +
code-generation/language-c/pom.xml | 94 +
.../apache/plc4x/language/c/CLanguageOutput.java | 83 +
.../plc4x/language/c/CLanguageTemplateHelper.java | 1034 +++++++++
...x.plugins.codegenerator.language.LanguageOutput | 0
.../resources/templates/c/data-io-template.c.ftlh | 256 +++
.../resources/templates/c/data-io-template.h.ftlh | 90 +
.../resources/templates/c/enum-template.c.ftlh | 128 ++
.../resources/templates/c/enum-template.h.ftlh | 96 +
.../resources/templates/c/pojo-template.c.ftlh | 785 +++++++
.../resources/templates/c/pojo-template.h.ftlh | 185 ++
.../test/resources/integration-test/CMakeLists.txt | 0
.../generated-sources/CMakeLists.txt | 0
.../generated-sources/test/CMakeLists.txt | 30 +
.../src/test/resources/integration-test/pom.xml | 389 ++++
.../language-c/src/test/resources/settings.xml | 53 +
code-generation/language-go/pom.xml | 110 +
.../apache/plc4x/language/go/GoLanguageOutput.java | 77 +
.../language/go/GoLanguageTemplateHelper.java | 1166 ++++++++++
.../apache/plc4x/language/go/utils/FieldUtils.java | 103 +
...x.plugins.codegenerator.language.LanguageOutput | 0
.../templates/go/data-io-template.go.ftlh | 254 +++
.../resources/templates/go/enum-template.go.ftlh | 196 ++
.../resources/templates/go/model-template.go.ftlh | 1276 +++++++++++
.../templates/go/parser-factory-template.go.ftlh | 98 +
.../go/xml-parser-factory-template.go.ftlh | 144 ++
.../language-go/src/test/resources/plc4go/go.mod | 0
.../language-go/src/test/resources/plc4go/pom.xml | 291 +++
.../language-go/src/test/resources/settings.xml | 53 +
code-generation/language-java/pom.xml | 140 ++
.../plc4x/language/java/JavaLanguageOutput.java | 79 +
.../language/java/JavaLanguageTemplateHelper.java | 922 ++++++++
...x.plugins.codegenerator.language.LanguageOutput | 0
.../templates/java/data-io-template.java.ftlh | 395 ++++
.../java/enum-package-info-template.java.ftlh | 49 +
.../templates/java/enum-template.java.ftlh | 143 ++
.../resources/templates/java/io-template.java.ftlh | 739 ++++++
.../templates/java/pojo-template.java.ftlh | 404 ++++
.../src/test/resources/integration-test/pom.xml | 205 ++
.../language-java/src/test/resources/settings.xml | 53 +
code-generation/pom.xml | 76 +
code-generation/protocol-base-mspec/pom.xml | 86 +
.../plugins/codegenerator/language/mspec/MSpec.g4 | 299 +++
.../language/mspec/expression/Expression.g4 | 0
.../mspec/expression/ExpressionStringListener.java | 382 ++++
.../mspec/expression/ExpressionStringParser.java | 43 +
.../definitions/DefaultComplexTypeDefinition.java | 102 +
.../definitions/DefaultDataIoTypeDefinition.java | 45 +
.../DefaultDiscriminatedComplexTypeDefinition.java | 49 +
.../definitions/DefaultEnumTypeDefinition.java | 68 +
.../mspec/model/definitions/DefaultEnumValue.java | 52 +
.../model/definitions/DefaultTypeDefinition.java | 65 +
.../mspec/model/fields/DefaultAbstractField.java | 51 +
.../mspec/model/fields/DefaultArrayField.java | 63 +
.../mspec/model/fields/DefaultChecksumField.java | 54 +
.../mspec/model/fields/DefaultConstField.java | 54 +
.../model/fields/DefaultDiscriminatorField.java | 48 +
.../mspec/model/fields/DefaultEnumField.java | 56 +
.../mspec/model/fields/DefaultImplicitField.java | 54 +
.../model/fields/DefaultManualArrayField.java | 81 +
.../mspec/model/fields/DefaultManualField.java | 68 +
.../mspec/model/fields/DefaultOptionalField.java | 56 +
.../mspec/model/fields/DefaultPaddingField.java | 62 +
.../mspec/model/fields/DefaultReservedField.java | 48 +
.../mspec/model/fields/DefaultSimpleField.java | 50 +
.../mspec/model/fields/DefaultSwitchField.java | 55 +
.../mspec/model/fields/DefaultTaggedField.java | 36 +
.../mspec/model/fields/DefaultUnknownField.java | 42 +
.../mspec/model/fields/DefaultVirtualField.java | 54 +
.../mspec/parser/MessageFormatListener.java | 537 +++++
.../language/mspec/parser/MessageFormatParser.java | 46 +
.../src/remote-resources/LICENSE | 0
.../src/remote-resources/UNLICENSE | 0
.../expression/ExpressionStringParserTest.java | 176 ++
.../mspec/parser/MessageFormatParserTest.java | 45 +
.../src/test/resources/mspec.example | 365 +++
code-generation/protocol-test/pom.xml | 220 ++
.../apache/plc4x/protocol/test/TestProtocol.java | 45 +
...e.plc4x.plugins.codegenerator.protocol.Protocol | 0
.../src/main/resources/protocols/test/test.mspec | 449 ++++
.../protocol-test/src/site/asciidoc/index.adoc | 0
code-generation/protocol-test/src/site/site.xml | 145 ++
compare-reproducible.sh | 0
mvnw | 0
{sandbox/plc4c => plc4c}/.clang-format | 0
plc4c/.gitignore | 146 ++
plc4c/.idea/fileTemplates/includes/C File Header.h | 19 +
plc4c/CMakeLists.txt | 95 +
plc4c/CODE_CONVENTIONS.md | 43 +
plc4c/README.md | 41 +
plc4c/SonarcloudBuildWrapperHack.groovy | 43 +
{sandbox/plc4c => plc4c}/api/CMakeLists.txt | 0
.../plc4c => plc4c}/api/include/plc4c/connection.h | 0
plc4c/api/include/plc4c/data.h | 198 ++
{sandbox/plc4c => plc4c}/api/include/plc4c/plc4c.h | 0
plc4c/api/include/plc4c/read.h | 117 +
.../plc4c => plc4c}/api/include/plc4c/subscribe.h | 0
.../plc4c => plc4c}/api/include/plc4c/system.h | 0
{sandbox/plc4c => plc4c}/api/include/plc4c/types.h | 0
plc4c/api/include/plc4c/utils/list.h | 88 +
.../api/include/plc4c/utils/queue.h | 0
plc4c/api/include/plc4c/write.h | 117 +
{sandbox/plc4c => plc4c}/design-guidelines.adoc | 0
{sandbox/plc4c => plc4c}/drivers/CMakeLists.txt | 0
.../plc4c => plc4c}/drivers/modbus/CMakeLists.txt | 0
.../drivers/modbus/include/plc4c/driver_modbus.h | 0
.../modbus/include/plc4c/driver_modbus_packets.h | 0
.../modbus/include/plc4c/driver_modbus_sm.h | 0
.../modbus/include/plc4c/driver_s7_encode_decode.h | 0
plc4c/drivers/modbus/src/driver_modbus.c | 60 +
.../modbus/src/driver_modbus_encode_decode.c | 166 ++
plc4c/drivers/modbus/src/driver_modbus_packets.c | 176 ++
.../drivers/modbus/src/driver_modbus_sm_connect.c | 80 +
.../modbus/src/driver_modbus_sm_disconnect.c | 74 +
plc4c/drivers/modbus/src/driver_modbus_sm_read.c | 237 ++
plc4c/drivers/modbus/src/driver_modbus_sm_write.c | 121 +
{sandbox/plc4c => plc4c}/drivers/s7/CMakeLists.txt | 0
.../drivers/s7/include/plc4c/driver_s7.h | 0
.../s7/include/plc4c/driver_s7_encode_decode.h | 0
plc4c/drivers/s7/include/plc4c/driver_s7_packets.h | 78 +
plc4c/drivers/s7/include/plc4c/driver_s7_sm.h | 49 +
plc4c/drivers/s7/src/driver_s7.c | 163 ++
plc4c/drivers/s7/src/driver_s7_encode_decode.c | 404 ++++
plc4c/drivers/s7/src/driver_s7_packets.c | 978 ++++++++
plc4c/drivers/s7/src/driver_s7_sm_connect.c | 338 +++
plc4c/drivers/s7/src/driver_s7_sm_disconnect.c | 81 +
plc4c/drivers/s7/src/driver_s7_sm_read.c | 291 +++
plc4c/drivers/s7/src/driver_s7_sm_write.c | 243 ++
.../drivers/s7/test/s7_address_parser_test.c | 0
{sandbox/plc4c => plc4c}/drivers/s7/test/s7_test.c | 0
.../drivers/simulated/CMakeLists.txt | 0
.../simulated/include/plc4c/driver_simulated.h | 0
plc4c/drivers/simulated/src/driver_simulated.c | 433 ++++
{sandbox/plc4c => plc4c}/examples/CMakeLists.txt | 0
.../examples/hello-subscriptions/CMakeLists.txt | 0
.../hello-subscriptions/src/hello_subscriptions.c | 0
.../examples/hello-world-modbus/CMakeLists.txt | 0
.../hello-world-modbus/src/hello_world_modbus.c | 355 +++
.../examples/hello-world-s7/CMakeLists.txt | 0
plc4c/examples/hello-world-s7/src/hello_world_s7.c | 381 ++++
.../hello-world-s7/src/hello_world_s7_loopback.c | 349 +++
plc4c/generated-sources/modbus/include/data_item.h | 46 +
.../modbus/include/modbus_constants.h | 59 +
.../modbus/include/modbus_data_type.h | 80 +
.../modbus/include/modbus_error_code.h | 60 +
.../generated-sources/modbus/include/modbus_pdu.h | 246 ++
.../modbus_pdu_read_file_record_request_item.h | 59 +
.../modbus_pdu_read_file_record_response_item.h | 57 +
.../modbus_pdu_write_file_record_request_item.h | 59 +
.../modbus_pdu_write_file_record_response_item.h | 59 +
.../modbus/include/modbus_serial_adu.h | 60 +
.../modbus/include/modbus_tcp_adu.h | 63 +
plc4c/generated-sources/modbus/src/data_item.c | 575 +++++
.../modbus/src/modbus_constants.c | 80 +
.../modbus/src/modbus_data_type.c | 318 +++
.../modbus/src/modbus_error_code.c | 107 +
plc4c/generated-sources/modbus/src/modbus_pdu.c | 2370 ++++++++++++++++++++
.../src/modbus_pdu_read_file_record_request_item.c | 125 ++
.../modbus_pdu_read_file_record_response_item.c | 124 +
.../modbus_pdu_write_file_record_request_item.c | 158 ++
.../modbus_pdu_write_file_record_response_item.c | 158 ++
.../modbus/src/modbus_serial_adu.c | 146 ++
.../generated-sources/modbus/src/modbus_tcp_adu.c | 147 ++
plc4c/generated-sources/s7/include/cotp_packet.h | 111 +
.../generated-sources/s7/include/cotp_parameter.h | 94 +
.../s7/include/cotp_protocol_class.h | 55 +
.../generated-sources/s7/include/cotp_tpdu_size.h | 60 +
plc4c/generated-sources/s7/include/data_item.h | 45 +
.../s7/include/data_transport_error_code.h | 56 +
.../s7/include/data_transport_size.h | 60 +
plc4c/generated-sources/s7/include/device_group.h | 53 +
plc4c/generated-sources/s7/include/memory_area.h | 62 +
plc4c/generated-sources/s7/include/s7_address.h | 84 +
plc4c/generated-sources/s7/include/s7_message.h | 94 +
plc4c/generated-sources/s7/include/s7_parameter.h | 102 +
.../s7/include/s7_parameter_user_data_item.h | 84 +
plc4c/generated-sources/s7/include/s7_payload.h | 94 +
.../s7/include/s7_payload_user_data_item.h | 89 +
.../s7/include/s7_var_payload_data_item.h | 60 +
.../s7/include/s7_var_payload_status_item.h | 57 +
.../s7/include/s7_var_request_parameter_item.h | 78 +
.../s7/include/szl_data_tree_item.h | 60 +
plc4c/generated-sources/s7/include/szl_id.h | 60 +
.../s7/include/szl_module_type_class.h | 54 +
plc4c/generated-sources/s7/include/szl_sublist.h | 69 +
plc4c/generated-sources/s7/include/tpkt_packet.h | 61 +
.../generated-sources/s7/include/transport_size.h | 111 +
plc4c/generated-sources/s7/src/cotp_packet.c | 553 +++++
plc4c/generated-sources/s7/src/cotp_parameter.c | 288 +++
.../generated-sources/s7/src/cotp_protocol_class.c | 77 +
plc4c/generated-sources/s7/src/cotp_tpdu_size.c | 147 ++
plc4c/generated-sources/s7/src/data_item.c | 438 ++++
.../s7/src/data_transport_error_code.c | 83 +
.../generated-sources/s7/src/data_transport_size.c | 132 ++
plc4c/generated-sources/s7/src/device_group.c | 65 +
plc4c/generated-sources/s7/src/memory_area.c | 166 ++
plc4c/generated-sources/s7/src/s7_address.c | 259 +++
plc4c/generated-sources/s7/src/s7_message.c | 371 +++
plc4c/generated-sources/s7/src/s7_parameter.c | 485 ++++
.../s7/src/s7_parameter_user_data_item.c | 329 +++
plc4c/generated-sources/s7/src/s7_payload.c | 314 +++
.../s7/src/s7_payload_user_data_item.c | 285 +++
.../s7/src/s7_var_payload_data_item.c | 172 ++
.../s7/src/s7_var_payload_status_item.c | 74 +
.../s7/src/s7_var_request_parameter_item.c | 150 ++
.../generated-sources/s7/src/szl_data_tree_item.c | 159 ++
plc4c/generated-sources/s7/src/szl_id.c | 108 +
.../s7/src/szl_module_type_class.c | 71 +
plc4c/generated-sources/s7/src/szl_sublist.c | 161 ++
plc4c/generated-sources/s7/src/tpkt_packet.c | 134 ++
plc4c/generated-sources/s7/src/transport_size.c | 1435 ++++++++++++
.../plc4c => plc4c}/integrations/CMakeLists.txt | 0
.../integrations/apache-mynewt/CMakeLists.txt | 0
plc4c/pom.xml | 390 ++++
{sandbox/plc4c => plc4c}/spi/CMakeLists.txt | 0
.../spi/include/plc4c/spi/evaluation_helper.h | 0
.../spi/include/plc4c/spi/read_buffer.h | 0
.../spi/include/plc4c/spi/system_private.h | 0
plc4c/spi/include/plc4c/spi/types_private.h | 363 +++
.../spi/include/plc4c/spi/write_buffer.h | 0
plc4c/spi/src/connection.c | 301 +++
plc4c/spi/src/data.c | 552 +++++
.../plc4c => plc4c}/spi/src/evaluation_helper.c | 0
plc4c/spi/src/read.c | 143 ++
plc4c/spi/src/read_buffer.c | 623 +++++
{sandbox/plc4c => plc4c}/spi/src/subscribe.c | 0
plc4c/spi/src/system.c | 509 +++++
{sandbox/plc4c => plc4c}/spi/src/types.c | 0
plc4c/spi/src/utils/list.c | 232 ++
{sandbox/plc4c => plc4c}/spi/src/utils/queue.c | 0
plc4c/spi/src/write.c | 153 ++
{sandbox/plc4c => plc4c}/spi/src/write_buffer.c | 0
.../plc4c => plc4c}/spi/test/read_buffer_test.c | 0
{sandbox/plc4c => plc4c}/spi/test/spi_test.c | 0
{sandbox/plc4c => plc4c}/spi/test/system_test.c | 0
.../plc4c => plc4c}/spi/test/write_buffer_test.c | 0
{sandbox/plc4c => plc4c}/transports/CMakeLists.txt | 0
.../transports/dummy/CMakeLists.txt | 0
.../dummy/include/plc4c/transport_dummy.h | 0
plc4c/transports/dummy/src/transport_dummy.c | 34 +
.../transports/serial/CMakeLists.txt | 0
.../serial/include/plc4c/transport_serial.h | 0
plc4c/transports/serial/src/transport_serial.c | 53 +
.../plc4c => plc4c}/transports/tcp/CMakeLists.txt | 0
.../transports/tcp/include/plc4c/transport_tcp.h | 0
plc4c/transports/tcp/src/transport_tcp.c | 178 ++
.../.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 | 37 +-
plc4go/cmd/main/drivers/s7_test.go | 36 +-
plc4go/cmd/main/drivers/tests/abeth_driver_test.go | 39 +-
.../drivers/tests/abeth_parser_serializer_test.go | 36 +-
plc4go/cmd/main/drivers/tests/ads_driver_test.go | 44 +-
.../drivers/tests/ads_parser_serializer_test.go | 36 +-
plc4go/cmd/main/drivers/tests/df1_driver_test.go | 39 +-
.../drivers/tests/df1_parser_serializer_test.go | 36 +-
plc4go/cmd/main/drivers/tests/eip_driver_test.go | 44 +-
.../drivers/tests/eip_parser_serializer_test.go | 36 +-
.../cmd/main/drivers/tests/firmata_driver_test.go | 39 +-
.../tests/firmata_parser_serializer_test.go | 36 +-
.../cmd/main/drivers/tests/knxnetip_driver_test.go | 44 +-
.../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 | 44 +-
.../drivers/tests/modbus_parser_serializer_test.go | 36 +-
plc4go/cmd/main/drivers/tests/s7_driver_test.go | 44 +-
.../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 | 9 +-
plc4go/go.sum | 60 +-
.../plc4go/abeth/readwrite/ParserHelper.go | 38 +-
.../plc4go/abeth/readwrite/XmlParserHelper.go | 45 +-
.../model/CIPEncapsulationConnectionRequest.go | 38 +-
.../model/CIPEncapsulationConnectionResponse.go | 38 +-
.../readwrite/model/CIPEncapsulationPacket.go | 38 +-
.../readwrite/model/CIPEncapsulationReadRequest.go | 38 +-
.../model/CIPEncapsulationReadResponse.go | 47 +-
.../readwrite/model/DF1CommandRequestMessage.go | 38 +-
...mandResponseMessageProtectedTypedLogicalRead.go | 47 +-
.../abeth/readwrite/model/DF1RequestCommand.go | 38 +-
.../abeth/readwrite/model/DF1RequestMessage.go | 38 +-
.../model/DF1RequestProtectedTypedLogicalRead.go | 38 +-
.../abeth/readwrite/model/DF1ResponseMessage.go | 47 +-
plc4go/internal/plc4go/ads/Configuration.go | 68 +-
plc4go/internal/plc4go/ads/Connection.go | 36 +-
plc4go/internal/plc4go/ads/Driver.go | 38 +-
plc4go/internal/plc4go/ads/Field.go | 96 +-
plc4go/internal/plc4go/ads/FieldHandler.go | 56 +-
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 | 38 +-
.../plc4go/ads/readwrite/XmlParserHelper.go | 45 +-
.../model/AdsAddDeviceNotificationRequest.go | 38 +-
.../model/AdsAddDeviceNotificationResponse.go | 38 +-
.../internal/plc4go/ads/readwrite/model/AdsData.go | 47 +-
.../plc4go/ads/readwrite/model/AdsDataType.go | 38 +-
.../model/AdsDeleteDeviceNotificationRequest.go | 38 +-
.../model/AdsDeleteDeviceNotificationResponse.go | 38 +-
.../model/AdsDeviceNotificationRequest.go | 38 +-
.../model/AdsDeviceNotificationResponse.go | 38 +-
.../ads/readwrite/model/AdsInvalidRequest.go | 38 +-
.../ads/readwrite/model/AdsInvalidResponse.go | 38 +-
.../ads/readwrite/model/AdsMultiRequestItem.go | 47 +-
.../ads/readwrite/model/AdsMultiRequestItemRead.go | 38 +-
.../model/AdsMultiRequestItemReadWrite.go | 38 +-
.../readwrite/model/AdsMultiRequestItemWrite.go | 38 +-
.../ads/readwrite/model/AdsNotificationSample.go | 38 +-
.../readwrite/model/AdsReadDeviceInfoRequest.go | 38 +-
.../readwrite/model/AdsReadDeviceInfoResponse.go | 38 +-
.../plc4go/ads/readwrite/model/AdsReadRequest.go | 38 +-
.../plc4go/ads/readwrite/model/AdsReadResponse.go | 38 +-
.../ads/readwrite/model/AdsReadStateRequest.go | 38 +-
.../ads/readwrite/model/AdsReadStateResponse.go | 38 +-
.../ads/readwrite/model/AdsReadWriteRequest.go | 38 +-
.../ads/readwrite/model/AdsReadWriteResponse.go | 38 +-
.../plc4go/ads/readwrite/model/AdsStampHeader.go | 38 +-
.../plc4go/ads/readwrite/model/AdsStaticHelper.go | 36 +-
.../ads/readwrite/model/AdsWriteControlRequest.go | 38 +-
.../ads/readwrite/model/AdsWriteControlResponse.go | 38 +-
.../plc4go/ads/readwrite/model/AdsWriteRequest.go | 38 +-
.../plc4go/ads/readwrite/model/AdsWriteResponse.go | 38 +-
.../plc4go/ads/readwrite/model/AmsNetId.go | 38 +-
.../plc4go/ads/readwrite/model/AmsPacket.go | 38 +-
.../readwrite/model/AmsSerialAcknowledgeFrame.go | 38 +-
.../plc4go/ads/readwrite/model/AmsSerialFrame.go | 38 +-
.../ads/readwrite/model/AmsSerialResetFrame.go | 38 +-
.../plc4go/ads/readwrite/model/AmsTCPPacket.go | 38 +-
.../plc4go/ads/readwrite/model/CommandId.go | 38 +-
.../plc4go/ads/readwrite/model/DataItem.go | 38 +-
.../ads/readwrite/model/ReservedIndexGroups.go | 38 +-
.../plc4go/ads/readwrite/model/ReturnCode.go | 38 +-
.../internal/plc4go/ads/readwrite/model/State.go | 38 +-
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 | 38 +-
.../plc4go/bacnetip/readwrite/XmlParserHelper.go | 61 +-
.../plc4go/bacnetip/readwrite/model/APDU.go | 47 +-
.../plc4go/bacnetip/readwrite/model/APDUAbort.go | 38 +-
.../bacnetip/readwrite/model/APDUComplexAck.go | 38 +-
.../readwrite/model/APDUConfirmedRequest.go | 47 +-
.../plc4go/bacnetip/readwrite/model/APDUError.go | 38 +-
.../plc4go/bacnetip/readwrite/model/APDUReject.go | 38 +-
.../bacnetip/readwrite/model/APDUSegmentAck.go | 38 +-
.../bacnetip/readwrite/model/APDUSimpleAck.go | 38 +-
.../readwrite/model/APDUUnconfirmedRequest.go | 47 +-
.../bacnetip/readwrite/model/ApplicationTag.go | 38 +-
.../bacnetip/readwrite/model/BACnetAddress.go | 38 +-
.../readwrite/model/BACnetConfirmedServiceACK.go | 38 +-
.../BACnetConfirmedServiceACKAtomicReadFile.go | 38 +-
.../BACnetConfirmedServiceACKAtomicWriteFile.go | 38 +-
...tConfirmedServiceACKConfirmedPrivateTransfer.go | 38 +-
.../model/BACnetConfirmedServiceACKCreateObject.go | 38 +-
.../BACnetConfirmedServiceACKGetAlarmSummary.go | 38 +-
...ACnetConfirmedServiceACKGetEnrollmentSummary.go | 38 +-
...BACnetConfirmedServiceACKGetEventInformation.go | 38 +-
.../model/BACnetConfirmedServiceACKReadProperty.go | 38 +-
...ACnetConfirmedServiceACKReadPropertyMultiple.go | 38 +-
.../model/BACnetConfirmedServiceACKReadRange.go | 38 +-
...BACnetConfirmedServiceACKRemovedAuthenticate.go | 38 +-
...rmedServiceACKRemovedReadPropertyConditional.go | 38 +-
.../model/BACnetConfirmedServiceACKVTData.go | 38 +-
.../model/BACnetConfirmedServiceACKVTOpen.go | 38 +-
.../model/BACnetConfirmedServiceRequest.go | 47 +-
...ACnetConfirmedServiceRequestAcknowledgeAlarm.go | 38 +-
.../BACnetConfirmedServiceRequestAddListElement.go | 38 +-
.../BACnetConfirmedServiceRequestAtomicReadFile.go | 38 +-
...BACnetConfirmedServiceRequestAtomicWriteFile.go | 38 +-
...firmedServiceRequestConfirmedCOVNotification.go | 47 +-
...rviceRequestConfirmedCOVNotificationMultiple.go | 38 +-
...rmedServiceRequestConfirmedEventNotification.go | 38 +-
...firmedServiceRequestConfirmedPrivateTransfer.go | 38 +-
...tConfirmedServiceRequestConfirmedTextMessage.go | 38 +-
.../BACnetConfirmedServiceRequestCreateObject.go | 38 +-
.../BACnetConfirmedServiceRequestDeleteObject.go | 38 +-
...rmedServiceRequestDeviceCommunicationControl.go | 38 +-
...tConfirmedServiceRequestGetEnrollmentSummary.go | 38 +-
...etConfirmedServiceRequestGetEventInformation.go | 38 +-
...etConfirmedServiceRequestLifeSafetyOperation.go | 38 +-
.../BACnetConfirmedServiceRequestReadProperty.go | 38 +-
...tConfirmedServiceRequestReadPropertyMultiple.go | 38 +-
.../BACnetConfirmedServiceRequestReadRange.go | 38 +-
...netConfirmedServiceRequestReinitializeDevice.go | 38 +-
...CnetConfirmedServiceRequestRemoveListElement.go | 38 +-
...etConfirmedServiceRequestRemovedAuthenticate.go | 38 +-
...ServiceRequestRemovedReadPropertyConditional.go | 38 +-
...CnetConfirmedServiceRequestRemovedRequestKey.go | 38 +-
.../BACnetConfirmedServiceRequestSubscribeCOV.go | 38 +-
...tConfirmedServiceRequestSubscribeCOVProperty.go | 38 +-
...edServiceRequestSubscribeCOVPropertyMultiple.go | 38 +-
.../model/BACnetConfirmedServiceRequestVTClose.go | 38 +-
.../model/BACnetConfirmedServiceRequestVTData.go | 38 +-
.../model/BACnetConfirmedServiceRequestVTOpen.go | 38 +-
.../BACnetConfirmedServiceRequestWriteProperty.go | 47 +-
...ConfirmedServiceRequestWritePropertyMultiple.go | 38 +-
.../plc4go/bacnetip/readwrite/model/BACnetError.go | 38 +-
.../readwrite/model/BACnetErrorAtomicReadFile.go | 38 +-
.../readwrite/model/BACnetErrorAtomicWriteFile.go | 38 +-
.../model/BACnetErrorConfirmedPrivateTransfer.go | 38 +-
.../readwrite/model/BACnetErrorCreateObject.go | 38 +-
.../readwrite/model/BACnetErrorGetAlarmSummary.go | 38 +-
.../model/BACnetErrorGetEnrollmentSummary.go | 38 +-
.../model/BACnetErrorGetEventInformation.go | 38 +-
.../readwrite/model/BACnetErrorReadProperty.go | 38 +-
.../model/BACnetErrorReadPropertyMultiple.go | 38 +-
.../readwrite/model/BACnetErrorReadRange.go | 38 +-
.../model/BACnetErrorRemovedAuthenticate.go | 38 +-
.../BACnetErrorRemovedReadPropertyConditional.go | 38 +-
.../bacnetip/readwrite/model/BACnetErrorVTData.go | 38 +-
.../bacnetip/readwrite/model/BACnetErrorVTOpen.go | 38 +-
.../bacnetip/readwrite/model/BACnetNetworkType.go | 38 +-
.../bacnetip/readwrite/model/BACnetNodeType.go | 38 +-
.../bacnetip/readwrite/model/BACnetNotifyType.go | 38 +-
.../bacnetip/readwrite/model/BACnetObjectType.go | 38 +-
.../bacnetip/readwrite/model/BACnetServiceAck.go | 38 +-
.../model/BACnetServiceAckAtomicReadFile.go | 38 +-
.../model/BACnetServiceAckAtomicWriteFile.go | 38 +-
.../BACnetServiceAckConfirmedPrivateTransfer.go | 38 +-
.../model/BACnetServiceAckCreateObject.go | 38 +-
.../model/BACnetServiceAckGetAlarmSummary.go | 38 +-
.../model/BACnetServiceAckGetEnrollmentSummary.go | 38 +-
.../model/BACnetServiceAckGetEventInformation.go | 38 +-
.../model/BACnetServiceAckReadProperty.go | 38 +-
.../model/BACnetServiceAckReadPropertyMultiple.go | 38 +-
.../readwrite/model/BACnetServiceAckReadRange.go | 38 +-
.../model/BACnetServiceAckRemovedAuthenticate.go | 38 +-
...CnetServiceAckRemovedReadPropertyConditional.go | 38 +-
.../readwrite/model/BACnetServiceAckVTData.go | 38 +-
.../readwrite/model/BACnetServiceAckVTOpen.go | 38 +-
.../plc4go/bacnetip/readwrite/model/BACnetTag.go | 38 +-
.../model/BACnetTagApplicationBitString.go | 47 +-
.../readwrite/model/BACnetTagApplicationBoolean.go | 38 +-
.../model/BACnetTagApplicationCharacterString.go | 38 +-
.../readwrite/model/BACnetTagApplicationDate.go | 38 +-
.../readwrite/model/BACnetTagApplicationDouble.go | 47 +-
.../model/BACnetTagApplicationEnumerated.go | 47 +-
.../readwrite/model/BACnetTagApplicationNull.go | 38 +-
.../model/BACnetTagApplicationObjectIdentifier.go | 38 +-
.../model/BACnetTagApplicationOctetString.go | 38 +-
.../readwrite/model/BACnetTagApplicationReal.go | 47 +-
.../model/BACnetTagApplicationSignedInteger.go | 47 +-
.../readwrite/model/BACnetTagApplicationTime.go | 38 +-
.../model/BACnetTagApplicationUnsignedInteger.go | 47 +-
.../bacnetip/readwrite/model/BACnetTagContext.go | 47 +-
.../readwrite/model/BACnetTagWithContent.go | 38 +-
.../model/BACnetUnconfirmedServiceRequest.go | 47 +-
.../model/BACnetUnconfirmedServiceRequestIAm.go | 38 +-
.../model/BACnetUnconfirmedServiceRequestIHave.go | 38 +-
...UnconfirmedServiceRequestTimeSynchronization.go | 38 +-
...onfirmedServiceRequestUTCTimeSynchronization.go | 38 +-
...rmedServiceRequestUnconfirmedCOVNotification.go | 38 +-
...iceRequestUnconfirmedCOVNotificationMultiple.go | 38 +-
...edServiceRequestUnconfirmedEventNotification.go | 38 +-
...rmedServiceRequestUnconfirmedPrivateTransfer.go | 47 +-
...onfirmedServiceRequestUnconfirmedTextMessage.go | 38 +-
.../model/BACnetUnconfirmedServiceRequestWhoHas.go | 38 +-
.../model/BACnetUnconfirmedServiceRequestWhoIs.go | 38 +-
.../BACnetUnconfirmedServiceRequestWriteGroup.go | 38 +-
.../plc4go/bacnetip/readwrite/model/BVLC.go | 38 +-
.../model/BVLCDeleteForeignDeviceTableEntry.go | 38 +-
.../model/BVLCDistributeBroadcastToNetwork.go | 38 +-
.../bacnetip/readwrite/model/BVLCForwardedNPDU.go | 47 +-
.../readwrite/model/BVLCOriginalBroadcastNPDU.go | 47 +-
.../readwrite/model/BVLCOriginalUnicastNPDU.go | 47 +-
.../model/BVLCReadBroadcastDistributionTable.go | 38 +-
.../model/BVLCReadBroadcastDistributionTableAck.go | 38 +-
.../readwrite/model/BVLCReadForeignDeviceTable.go | 38 +-
.../model/BVLCReadForeignDeviceTableAck.go | 38 +-
.../readwrite/model/BVLCRegisterForeignDevice.go | 38 +-
.../plc4go/bacnetip/readwrite/model/BVLCResult.go | 38 +-
.../bacnetip/readwrite/model/BVLCSecureBVLL.go | 38 +-
.../model/BVLCWideBroadcastDistributionTable.go | 38 +-
.../plc4go/bacnetip/readwrite/model/NLM.go | 47 +-
.../readwrite/model/NLMIAmRouterToNetwork.go | 47 +-
.../readwrite/model/NLMWhoIsRouterToNetwork.go | 47 +-
.../plc4go/bacnetip/readwrite/model/NPDU.go | 47 +-
.../internal/plc4go/df1/readwrite/ParserHelper.go | 38 +-
.../plc4go/df1/readwrite/XmlParserHelper.go | 41 +-
.../plc4go/df1/readwrite/model/DF1Command.go | 38 +-
.../plc4go/df1/readwrite/model/DF1Symbol.go | 38 +-
.../df1/readwrite/model/DF1SymbolMessageFrame.go | 38 +-
.../readwrite/model/DF1SymbolMessageFrameACK.go | 38 +-
.../readwrite/model/DF1SymbolMessageFrameNAK.go | 38 +-
.../readwrite/model/DF1UnprotectedReadRequest.go | 38 +-
.../readwrite/model/DF1UnprotectedReadResponse.go | 38 +-
.../plc4go/df1/readwrite/model/Df1StaticHelper.go | 36 +-
.../df1/readwrite/model/Df1StaticHelper_test.go | 36 +-
plc4go/internal/plc4go/eip/Configuration.go | 44 +-
plc4go/internal/plc4go/eip/Connection.go | 36 +-
plc4go/internal/plc4go/eip/Driver.go | 38 +-
plc4go/internal/plc4go/eip/DriverContext.go | 36 +-
plc4go/internal/plc4go/eip/Field.go | 57 +-
plc4go/internal/plc4go/eip/FieldHandler.go | 40 +-
plc4go/internal/plc4go/eip/MessageCodec.go | 36 +-
plc4go/internal/plc4go/eip/Reader.go | 44 +-
plc4go/internal/plc4go/eip/ValueHandler.go | 36 +-
plc4go/internal/plc4go/eip/Writer.go | 36 +-
.../internal/plc4go/eip/readwrite/ParserHelper.go | 38 +-
.../plc4go/eip/readwrite/XmlParserHelper.go | 53 +-
.../plc4go/eip/readwrite/model/CIPDataTypeCode.go | 38 +-
.../plc4go/eip/readwrite/model/CipExchange.go | 47 +-
.../plc4go/eip/readwrite/model/CipRRData.go | 47 +-
.../plc4go/eip/readwrite/model/CipReadRequest.go | 38 +-
.../plc4go/eip/readwrite/model/CipReadResponse.go | 47 +-
.../plc4go/eip/readwrite/model/CipService.go | 47 +-
.../eip/readwrite/model/CipUnconnectedRequest.go | 38 +-
.../plc4go/eip/readwrite/model/CipWriteRequest.go | 38 +-
.../plc4go/eip/readwrite/model/CipWriteResponse.go | 38 +-
.../plc4go/eip/readwrite/model/EiPCommand.go | 38 +-
.../eip/readwrite/model/EipConnectionRequest.go | 38 +-
.../eip/readwrite/model/EipDisconnectRequest.go | 38 +-
.../plc4go/eip/readwrite/model/EipPacket.go | 38 +-
.../eip/readwrite/model/MultipleServiceRequest.go | 47 +-
.../eip/readwrite/model/MultipleServiceResponse.go | 47 +-
.../plc4go/eip/readwrite/model/Services.go | 47 +-
.../plc4go/firmata/readwrite/ParserHelper.go | 38 +-
.../plc4go/firmata/readwrite/XmlParserHelper.go | 41 +-
.../firmata/readwrite/model/FirmataCommand.go | 47 +-
.../model/FirmataCommandProtocolVersion.go | 38 +-
.../model/FirmataCommandSetDigitalPinValue.go | 38 +-
.../readwrite/model/FirmataCommandSetPinMode.go | 38 +-
.../firmata/readwrite/model/FirmataCommandSysex.go | 47 +-
.../readwrite/model/FirmataCommandSystemReset.go | 38 +-
.../firmata/readwrite/model/FirmataMessage.go | 47 +-
.../readwrite/model/FirmataMessageAnalogIO.go | 38 +-
.../readwrite/model/FirmataMessageCommand.go | 47 +-
.../readwrite/model/FirmataMessageDigitalIO.go | 38 +-
.../model/FirmataMessageSubscribeAnalogPinValue.go | 38 +-
.../FirmataMessageSubscribeDigitalPinValue.go | 38 +-
.../firmata/readwrite/model/FirmataStaticHelper.go | 36 +-
.../plc4go/firmata/readwrite/model/PinMode.go | 38 +-
.../plc4go/firmata/readwrite/model/SysexCommand.go | 47 +-
.../model/SysexCommandAnalogMappingQueryRequest.go | 38 +-
.../SysexCommandAnalogMappingQueryResponse.go | 38 +-
.../model/SysexCommandAnalogMappingResponse.go | 38 +-
.../readwrite/model/SysexCommandCapabilityQuery.go | 38 +-
.../model/SysexCommandCapabilityResponse.go | 38 +-
.../readwrite/model/SysexCommandExendedId.go | 38 +-
.../readwrite/model/SysexCommandExtendedAnalog.go | 38 +-
.../readwrite/model/SysexCommandPinStateQuery.go | 38 +-
.../model/SysexCommandPinStateResponse.go | 38 +-
.../model/SysexCommandReportFirmwareRequest.go | 38 +-
.../model/SysexCommandReportFirmwareResponse.go | 38 +-
.../model/SysexCommandSamplingInterval.go | 38 +-
.../readwrite/model/SysexCommandStringData.go | 38 +-
.../model/SysexCommandSysexNonRealtime.go | 38 +-
.../readwrite/model/SysexCommandSysexRealtime.go | 38 +-
plc4go/internal/plc4go/knxnetip/Browser.go | 46 +-
plc4go/internal/plc4go/knxnetip/Connection.go | 43 +-
.../knxnetip/ConnectionDriverSpecificOperations.go | 51 +-
.../internal/plc4go/knxnetip/ConnectionHelper.go | 44 +-
.../knxnetip/ConnectionInternalOperations.go | 40 +-
plc4go/internal/plc4go/knxnetip/Discoverer.go | 97 +-
plc4go/internal/plc4go/knxnetip/Driver.go | 38 +-
plc4go/internal/plc4go/knxnetip/Field.go | 48 +-
plc4go/internal/plc4go/knxnetip/FieldHandler.go | 70 +-
plc4go/internal/plc4go/knxnetip/MessageCodec.go | 38 +-
plc4go/internal/plc4go/knxnetip/Reader.go | 45 +-
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 | 38 +-
.../knxnetip/readwrite/PropertyDataTypeIO.go | 37 +-
.../plc4go/knxnetip/readwrite/XmlParserHelper.go | 61 +-
.../plc4go/knxnetip/readwrite/model/AccessLevel.go | 38 +-
.../plc4go/knxnetip/readwrite/model/Apdu.go | 47 +-
.../plc4go/knxnetip/readwrite/model/ApduControl.go | 38 +-
.../knxnetip/readwrite/model/ApduControlAck.go | 38 +-
.../knxnetip/readwrite/model/ApduControlConnect.go | 38 +-
.../readwrite/model/ApduControlContainer.go | 38 +-
.../readwrite/model/ApduControlDisconnect.go | 38 +-
.../knxnetip/readwrite/model/ApduControlNack.go | 38 +-
.../plc4go/knxnetip/readwrite/model/ApduData.go | 47 +-
.../knxnetip/readwrite/model/ApduDataAdcRead.go | 38 +-
.../readwrite/model/ApduDataAdcResponse.go | 38 +-
.../knxnetip/readwrite/model/ApduDataContainer.go | 47 +-
.../model/ApduDataDeviceDescriptorRead.go | 38 +-
.../model/ApduDataDeviceDescriptorResponse.go | 47 +-
.../plc4go/knxnetip/readwrite/model/ApduDataExt.go | 47 +-
.../readwrite/model/ApduDataExtAuthorizeRequest.go | 38 +-
.../model/ApduDataExtAuthorizeResponse.go | 38 +-
.../model/ApduDataExtDomainAddressRead.go | 38 +-
.../model/ApduDataExtDomainAddressResponse.go | 38 +-
.../model/ApduDataExtDomainAddressSelectiveRead.go | 38 +-
.../ApduDataExtDomainAddressSerialNumberRead.go | 38 +-
...ApduDataExtDomainAddressSerialNumberResponse.go | 38 +-
.../ApduDataExtDomainAddressSerialNumberWrite.go | 38 +-
.../model/ApduDataExtDomainAddressWrite.go | 38 +-
.../model/ApduDataExtFileStreamInfoReport.go | 38 +-
.../ApduDataExtGroupPropertyValueInfoReport.go | 38 +-
.../model/ApduDataExtGroupPropertyValueRead.go | 38 +-
.../model/ApduDataExtGroupPropertyValueResponse.go | 38 +-
.../model/ApduDataExtGroupPropertyValueWrite.go | 38 +-
...ApduDataExtIndividualAddressSerialNumberRead.go | 38 +-
...DataExtIndividualAddressSerialNumberResponse.go | 38 +-
...pduDataExtIndividualAddressSerialNumberWrite.go | 38 +-
.../readwrite/model/ApduDataExtKeyResponse.go | 38 +-
.../readwrite/model/ApduDataExtKeyWrite.go | 38 +-
.../readwrite/model/ApduDataExtLinkRead.go | 38 +-
.../readwrite/model/ApduDataExtLinkResponse.go | 38 +-
.../readwrite/model/ApduDataExtLinkWrite.go | 38 +-
.../readwrite/model/ApduDataExtMemoryBitWrite.go | 38 +-
.../model/ApduDataExtNetworkParameterRead.go | 38 +-
.../model/ApduDataExtNetworkParameterResponse.go | 38 +-
.../model/ApduDataExtNetworkParameterWrite.go | 38 +-
.../model/ApduDataExtOpenRoutingTableRequest.go | 38 +-
.../model/ApduDataExtPropertyDescriptionRead.go | 38 +-
.../ApduDataExtPropertyDescriptionResponse.go | 38 +-
.../model/ApduDataExtPropertyValueRead.go | 38 +-
.../model/ApduDataExtPropertyValueResponse.go | 47 +-
.../model/ApduDataExtPropertyValueWrite.go | 47 +-
.../model/ApduDataExtReadRouterMemoryRequest.go | 38 +-
.../model/ApduDataExtReadRouterMemoryResponse.go | 38 +-
.../model/ApduDataExtReadRouterStatusRequest.go | 38 +-
.../model/ApduDataExtReadRouterStatusResponse.go | 38 +-
.../model/ApduDataExtReadRoutingTableRequest.go | 38 +-
.../model/ApduDataExtReadRoutingTableResponse.go | 38 +-
.../model/ApduDataExtWriteRouterMemoryRequest.go | 38 +-
.../model/ApduDataExtWriteRouterStatusRequest.go | 38 +-
.../model/ApduDataExtWriteRoutingTableRequest.go | 38 +-
.../readwrite/model/ApduDataGroupValueRead.go | 38 +-
.../readwrite/model/ApduDataGroupValueResponse.go | 47 +-
.../readwrite/model/ApduDataGroupValueWrite.go | 47 +-
.../model/ApduDataIndividualAddressRead.go | 38 +-
.../model/ApduDataIndividualAddressResponse.go | 38 +-
.../model/ApduDataIndividualAddressWrite.go | 38 +-
.../knxnetip/readwrite/model/ApduDataMemoryRead.go | 38 +-
.../readwrite/model/ApduDataMemoryResponse.go | 38 +-
.../readwrite/model/ApduDataMemoryWrite.go | 38 +-
.../knxnetip/readwrite/model/ApduDataOther.go | 47 +-
.../knxnetip/readwrite/model/ApduDataRestart.go | 38 +-
.../readwrite/model/ApduDataUserMessage.go | 38 +-
.../plc4go/knxnetip/readwrite/model/CEMI.go | 47 +-
.../readwrite/model/CEMIAdditionalInformation.go | 38 +-
.../CEMIAdditionalInformationBusmonitorInfo.go | 38 +-
.../CEMIAdditionalInformationRelativeTimestamp.go | 38 +-
.../knxnetip/readwrite/model/CEMIPriority.go | 38 +-
.../knxnetip/readwrite/model/ChannelInformation.go | 38 +-
.../knxnetip/readwrite/model/ComObjectTable.go | 47 +-
.../readwrite/model/ComObjectTableAddresses.go | 38 +-
.../model/ComObjectTableRealisationType1.go | 38 +-
.../model/ComObjectTableRealisationType2.go | 38 +-
.../model/ComObjectTableRealisationType6.go | 38 +-
.../knxnetip/readwrite/model/ComObjectValueType.go | 38 +-
.../knxnetip/readwrite/model/ConnectionRequest.go | 38 +-
.../model/ConnectionRequestInformation.go | 38 +-
...ConnectionRequestInformationDeviceManagement.go | 38 +-
...ConnectionRequestInformationTunnelConnection.go | 38 +-
.../knxnetip/readwrite/model/ConnectionResponse.go | 38 +-
.../readwrite/model/ConnectionResponseDataBlock.go | 38 +-
.../ConnectionResponseDataBlockDeviceManagement.go | 38 +-
.../ConnectionResponseDataBlockTunnelConnection.go | 38 +-
.../readwrite/model/ConnectionStateRequest.go | 38 +-
.../readwrite/model/ConnectionStateResponse.go | 38 +-
.../knxnetip/readwrite/model/DIBDeviceInfo.go | 38 +-
.../knxnetip/readwrite/model/DIBSuppSvcFamilies.go | 38 +-
.../knxnetip/readwrite/model/DescriptionRequest.go | 38 +-
.../readwrite/model/DescriptionResponse.go | 38 +-
.../readwrite/model/DeviceConfigurationAck.go | 38 +-
.../model/DeviceConfigurationAckDataBlock.go | 38 +-
.../readwrite/model/DeviceConfigurationRequest.go | 47 +-
.../model/DeviceConfigurationRequestDataBlock.go | 38 +-
.../knxnetip/readwrite/model/DeviceDescriptor.go | 38 +-
.../readwrite/model/DeviceDescriptorMediumType.go | 38 +-
.../readwrite/model/DeviceDescriptorType2.go | 38 +-
.../knxnetip/readwrite/model/DeviceStatus.go | 38 +-
.../knxnetip/readwrite/model/DisconnectRequest.go | 38 +-
.../knxnetip/readwrite/model/DisconnectResponse.go | 38 +-
.../knxnetip/readwrite/model/FirmwareType.go | 38 +-
.../model/GroupObjectDescriptorRealisationType1.go | 38 +-
.../model/GroupObjectDescriptorRealisationType2.go | 38 +-
.../model/GroupObjectDescriptorRealisationType6.go | 38 +-
.../model/GroupObjectDescriptorRealisationType7.go | 38 +-
.../model/GroupObjectDescriptorRealisationTypeB.go | 38 +-
.../readwrite/model/HPAIControlEndpoint.go | 38 +-
.../knxnetip/readwrite/model/HPAIDataEndpoint.go | 38 +-
.../readwrite/model/HPAIDiscoveryEndpoint.go | 38 +-
.../knxnetip/readwrite/model/HostProtocolCode.go | 38 +-
.../plc4go/knxnetip/readwrite/model/IPAddress.go | 38 +-
.../plc4go/knxnetip/readwrite/model/KnxAddress.go | 38 +-
.../knxnetip/readwrite/model/KnxDatapoint.go | 38 +-
.../readwrite/model/KnxDatapointMainType.go | 38 +-
.../knxnetip/readwrite/model/KnxDatapointType.go | 38 +-
.../knxnetip/readwrite/model/KnxGroupAddress.go | 47 +-
.../readwrite/model/KnxGroupAddress2Level.go | 38 +-
.../readwrite/model/KnxGroupAddress3Level.go | 38 +-
.../readwrite/model/KnxGroupAddressFreeLevel.go | 38 +-
.../readwrite/model/KnxInterfaceObjectProperty.go | 38 +-
.../readwrite/model/KnxInterfaceObjectType.go | 38 +-
.../plc4go/knxnetip/readwrite/model/KnxLayer.go | 38 +-
.../knxnetip/readwrite/model/KnxManufacturer.go | 294 ++-
.../plc4go/knxnetip/readwrite/model/KnxMedium.go | 38 +-
.../knxnetip/readwrite/model/KnxNetIpCore.go | 38 +-
.../readwrite/model/KnxNetIpDeviceManagement.go | 38 +-
.../knxnetip/readwrite/model/KnxNetIpMessage.go | 38 +-
.../knxnetip/readwrite/model/KnxNetIpRouting.go | 38 +-
.../knxnetip/readwrite/model/KnxNetIpTunneling.go | 38 +-
.../knxnetip/readwrite/model/KnxNetObjectServer.go | 38 +-
.../model/KnxNetRemoteConfigurationAndDiagnosis.go | 38 +-
.../readwrite/model/KnxNetRemoteLogging.go | 38 +-
.../plc4go/knxnetip/readwrite/model/KnxProperty.go | 38 +-
.../readwrite/model/KnxPropertyDataType.go | 38 +-
.../plc4go/knxnetip/readwrite/model/LBusmonInd.go | 38 +-
.../plc4go/knxnetip/readwrite/model/LDataCon.go | 38 +-
.../knxnetip/readwrite/model/LDataExtended.go | 38 +-
.../plc4go/knxnetip/readwrite/model/LDataFrame.go | 38 +-
.../knxnetip/readwrite/model/LDataFrameACK.go | 38 +-
.../plc4go/knxnetip/readwrite/model/LDataInd.go | 38 +-
.../plc4go/knxnetip/readwrite/model/LDataReq.go | 38 +-
.../plc4go/knxnetip/readwrite/model/LPollData.go | 38 +-
.../knxnetip/readwrite/model/LPollDataCon.go | 38 +-
.../knxnetip/readwrite/model/LPollDataReq.go | 38 +-
.../plc4go/knxnetip/readwrite/model/LRawCon.go | 38 +-
.../plc4go/knxnetip/readwrite/model/LRawInd.go | 38 +-
.../plc4go/knxnetip/readwrite/model/LRawReq.go | 38 +-
.../plc4go/knxnetip/readwrite/model/MACAddress.go | 38 +-
.../readwrite/model/MFuncPropCommandReq.go | 38 +-
.../knxnetip/readwrite/model/MFuncPropCon.go | 38 +-
.../readwrite/model/MFuncPropStateReadReq.go | 38 +-
.../knxnetip/readwrite/model/MPropInfoInd.go | 38 +-
.../knxnetip/readwrite/model/MPropReadCon.go | 66 +-
.../knxnetip/readwrite/model/MPropReadReq.go | 38 +-
.../knxnetip/readwrite/model/MPropWriteCon.go | 38 +-
.../knxnetip/readwrite/model/MPropWriteReq.go | 38 +-
.../plc4go/knxnetip/readwrite/model/MResetInd.go | 38 +-
.../plc4go/knxnetip/readwrite/model/MResetReq.go | 38 +-
.../model/ProjectInstallationIdentifier.go | 38 +-
.../knxnetip/readwrite/model/RelativeTimestamp.go | 38 +-
.../knxnetip/readwrite/model/RoutingIndication.go | 38 +-
.../knxnetip/readwrite/model/SearchRequest.go | 38 +-
.../knxnetip/readwrite/model/SearchResponse.go | 38 +-
.../plc4go/knxnetip/readwrite/model/ServiceId.go | 38 +-
.../plc4go/knxnetip/readwrite/model/Status.go | 38 +-
.../readwrite/model/SupportedPhysicalMedia.go | 38 +-
.../knxnetip/readwrite/model/TDataConnectedInd.go | 38 +-
.../knxnetip/readwrite/model/TDataConnectedReq.go | 38 +-
.../knxnetip/readwrite/model/TDataIndividualInd.go | 38 +-
.../knxnetip/readwrite/model/TDataIndividualReq.go | 38 +-
.../knxnetip/readwrite/model/TunnelingRequest.go | 47 +-
.../readwrite/model/TunnelingRequestDataBlock.go | 38 +-
.../knxnetip/readwrite/model/TunnelingResponse.go | 38 +-
.../readwrite/model/TunnelingResponseDataBlock.go | 38 +-
.../knxnetip/readwrite/model/UnknownMessage.go | 47 +-
plc4go/internal/plc4go/modbus/Connection.go | 36 +-
plc4go/internal/plc4go/modbus/Driver.go | 42 +-
plc4go/internal/plc4go/modbus/Field.go | 58 +-
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 | 38 +-
.../plc4go/modbus/readwrite/XmlParserHelper.go | 41 +-
.../plc4go/modbus/readwrite/model/DataItem.go | 38 +-
.../modbus/readwrite/model/ModbusConstants.go | 38 +-
.../modbus/readwrite/model/ModbusDataType.go | 38 +-
.../modbus/readwrite/model/ModbusErrorCode.go | 38 +-
.../plc4go/modbus/readwrite/model/ModbusPDU.go | 47 +-
.../readwrite/model/ModbusPDUDiagnosticRequest.go | 38 +-
.../readwrite/model/ModbusPDUDiagnosticResponse.go | 38 +-
.../modbus/readwrite/model/ModbusPDUError.go | 38 +-
.../model/ModbusPDUGetComEventCounterRequest.go | 38 +-
.../model/ModbusPDUGetComEventCounterResponse.go | 38 +-
.../model/ModbusPDUGetComEventLogRequest.go | 38 +-
.../model/ModbusPDUGetComEventLogResponse.go | 38 +-
.../ModbusPDUMaskWriteHoldingRegisterRequest.go | 38 +-
.../ModbusPDUMaskWriteHoldingRegisterResponse.go | 38 +-
.../readwrite/model/ModbusPDUReadCoilsRequest.go | 38 +-
.../readwrite/model/ModbusPDUReadCoilsResponse.go | 38 +-
.../ModbusPDUReadDeviceIdentificationRequest.go | 38 +-
.../ModbusPDUReadDeviceIdentificationResponse.go | 38 +-
.../model/ModbusPDUReadDiscreteInputsRequest.go | 38 +-
.../model/ModbusPDUReadDiscreteInputsResponse.go | 38 +-
.../model/ModbusPDUReadExceptionStatusRequest.go | 38 +-
.../model/ModbusPDUReadExceptionStatusResponse.go | 38 +-
.../model/ModbusPDUReadFifoQueueRequest.go | 38 +-
.../model/ModbusPDUReadFifoQueueResponse.go | 38 +-
.../model/ModbusPDUReadFileRecordRequest.go | 38 +-
.../model/ModbusPDUReadFileRecordRequestItem.go | 38 +-
.../model/ModbusPDUReadFileRecordResponse.go | 38 +-
.../model/ModbusPDUReadFileRecordResponseItem.go | 38 +-
.../model/ModbusPDUReadHoldingRegistersRequest.go | 38 +-
.../model/ModbusPDUReadHoldingRegistersResponse.go | 38 +-
.../model/ModbusPDUReadInputRegistersRequest.go | 38 +-
.../model/ModbusPDUReadInputRegistersResponse.go | 38 +-
...sPDUReadWriteMultipleHoldingRegistersRequest.go | 38 +-
...PDUReadWriteMultipleHoldingRegistersResponse.go | 38 +-
.../model/ModbusPDUReportServerIdRequest.go | 38 +-
.../model/ModbusPDUReportServerIdResponse.go | 38 +-
.../model/ModbusPDUWriteFileRecordRequest.go | 38 +-
.../model/ModbusPDUWriteFileRecordRequestItem.go | 38 +-
.../model/ModbusPDUWriteFileRecordResponse.go | 38 +-
.../model/ModbusPDUWriteFileRecordResponseItem.go | 38 +-
.../model/ModbusPDUWriteMultipleCoilsRequest.go | 38 +-
.../model/ModbusPDUWriteMultipleCoilsResponse.go | 38 +-
...odbusPDUWriteMultipleHoldingRegistersRequest.go | 38 +-
...dbusPDUWriteMultipleHoldingRegistersResponse.go | 38 +-
.../model/ModbusPDUWriteSingleCoilRequest.go | 38 +-
.../model/ModbusPDUWriteSingleCoilResponse.go | 38 +-
.../model/ModbusPDUWriteSingleRegisterRequest.go | 38 +-
.../model/ModbusPDUWriteSingleRegisterResponse.go | 38 +-
.../modbus/readwrite/model/ModbusSerialADU.go | 47 +-
.../plc4go/modbus/readwrite/model/ModbusTcpADU.go | 47 +-
plc4go/internal/plc4go/s7/Configuration.go | 64 +-
plc4go/internal/plc4go/s7/Connection.go | 36 +-
plc4go/internal/plc4go/s7/ControllerType.go | 36 +-
plc4go/internal/plc4go/s7/Driver.go | 38 +-
plc4go/internal/plc4go/s7/DriverContext.go | 36 +-
plc4go/internal/plc4go/s7/Field.go | 91 +-
plc4go/internal/plc4go/s7/FieldHandler.go | 122 +-
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 | 38 +-
.../plc4go/s7/readwrite/XmlParserHelper.go | 61 +-
.../plc4go/s7/readwrite/model/COTPPacket.go | 47 +-
.../readwrite/model/COTPPacketConnectionRequest.go | 38 +-
.../model/COTPPacketConnectionResponse.go | 38 +-
.../plc4go/s7/readwrite/model/COTPPacketData.go | 38 +-
.../readwrite/model/COTPPacketDisconnectRequest.go | 38 +-
.../model/COTPPacketDisconnectResponse.go | 38 +-
.../s7/readwrite/model/COTPPacketTpduError.go | 38 +-
.../plc4go/s7/readwrite/model/COTPParameter.go | 47 +-
.../s7/readwrite/model/COTPParameterCalledTsap.go | 38 +-
.../s7/readwrite/model/COTPParameterCallingTsap.go | 38 +-
.../s7/readwrite/model/COTPParameterChecksum.go | 38 +-
...COTPParameterDisconnectAdditionalInformation.go | 47 +-
.../s7/readwrite/model/COTPParameterTpduSize.go | 38 +-
.../plc4go/s7/readwrite/model/COTPProtocolClass.go | 38 +-
.../plc4go/s7/readwrite/model/COTPTpduSize.go | 38 +-
.../internal/plc4go/s7/readwrite/model/DataItem.go | 38 +-
.../s7/readwrite/model/DataTransportErrorCode.go | 38 +-
.../plc4go/s7/readwrite/model/DataTransportSize.go | 38 +-
.../plc4go/s7/readwrite/model/DeviceGroup.go | 38 +-
.../plc4go/s7/readwrite/model/MemoryArea.go | 38 +-
.../plc4go/s7/readwrite/model/S7Address.go | 38 +-
.../plc4go/s7/readwrite/model/S7AddressAny.go | 38 +-
.../plc4go/s7/readwrite/model/S7Message.go | 38 +-
.../plc4go/s7/readwrite/model/S7MessageRequest.go | 38 +-
.../plc4go/s7/readwrite/model/S7MessageResponse.go | 38 +-
.../s7/readwrite/model/S7MessageResponseData.go | 38 +-
.../plc4go/s7/readwrite/model/S7MessageUserData.go | 38 +-
.../plc4go/s7/readwrite/model/S7Parameter.go | 47 +-
.../readwrite/model/S7ParameterReadVarRequest.go | 38 +-
.../readwrite/model/S7ParameterReadVarResponse.go | 38 +-
.../model/S7ParameterSetupCommunication.go | 38 +-
.../s7/readwrite/model/S7ParameterUserData.go | 38 +-
.../s7/readwrite/model/S7ParameterUserDataItem.go | 38 +-
.../model/S7ParameterUserDataItemCPUFunctions.go | 38 +-
.../readwrite/model/S7ParameterWriteVarRequest.go | 38 +-
.../readwrite/model/S7ParameterWriteVarResponse.go | 38 +-
.../plc4go/s7/readwrite/model/S7Payload.go | 47 +-
.../s7/readwrite/model/S7PayloadReadVarResponse.go | 47 +-
.../plc4go/s7/readwrite/model/S7PayloadUserData.go | 47 +-
.../s7/readwrite/model/S7PayloadUserDataItem.go | 47 +-
...PayloadUserDataItemCpuFunctionReadSzlRequest.go | 38 +-
...ayloadUserDataItemCpuFunctionReadSzlResponse.go | 38 +-
.../s7/readwrite/model/S7PayloadWriteVarRequest.go | 47 +-
.../readwrite/model/S7PayloadWriteVarResponse.go | 47 +-
.../plc4go/s7/readwrite/model/S7StaticHelper.go | 36 +-
.../s7/readwrite/model/S7VarPayloadDataItem.go | 38 +-
.../s7/readwrite/model/S7VarPayloadStatusItem.go | 38 +-
.../readwrite/model/S7VarRequestParameterItem.go | 38 +-
.../model/S7VarRequestParameterItemAddress.go | 38 +-
.../plc4go/s7/readwrite/model/SzlDataTreeItem.go | 38 +-
plc4go/internal/plc4go/s7/readwrite/model/SzlId.go | 38 +-
.../s7/readwrite/model/SzlModuleTypeClass.go | 38 +-
.../plc4go/s7/readwrite/model/SzlSublist.go | 38 +-
.../plc4go/s7/readwrite/model/TPKTPacket.go | 38 +-
.../plc4go/s7/readwrite/model/TransportSize.go | 38 +-
plc4go/internal/plc4go/s7/s7Io_test.go | 36 +-
.../plc4go/simulated/readwrite/ParserHelper.go | 38 +-
.../plc4go/simulated/readwrite/XmlParserHelper.go | 41 +-
.../plc4go/simulated/readwrite/model/DataItem.go | 38 +-
.../plc4go/simulated/readwrite/model/Dummy.go | 38 +-
.../readwrite/model/SimulatedDataTypeSizes.go | 38 +-
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 | 45 +-
.../plc4go/spi/default/DefaultConnection.go | 36 +-
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 | 193 +-
.../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 | 59 +-
.../plc4go/spi/transports/test/Transport.go | 44 +-
.../plc4go/spi/transports/udp/Transport.go | 60 +-
.../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 | 36 +-
plc4go/pkg/plc4go/driverManager.go | 36 +-
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 | 36 +-
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 | 64 +-
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 -
.../api/exceptions/PlcInvalidFieldException.java | 15 +-
.../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 | 36 +-
.../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 | 6 +-
.../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 | 135 +-
.../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 | 36 +-
.../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 | 39 +-
.../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 | 36 +-
.../plc4x/java/eip/readwrite/field/EipField.java | 80 +-
.../eip/readwrite/protocol/EipProtocolLogic.java | 5 +-
.../java/eip/readwrite/EIPDriverTestsuite.java | 34 +-
.../readwrite/EIPParserSerializerTestsuite.java | 34 +-
plc4j/drivers/firmata/pom.xml | 36 +-
.../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 +-
plc4j/drivers/knxnetip/pom.xml | 4 +-
.../apache/plc4x/java/knxnetip/KnxNetIpDriver.java | 34 +-
.../configuration/KnxNetIpConfiguration.java | 34 +-
.../knxnetip/context/KnxNetIpDriverContext.java | 34 +-
.../plc4x/java/knxnetip/ets5/Ets5Parser.java | 70 +-
.../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 | 38 +-
.../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 +-
plc4j/drivers/modbus/pom.xml | 4 +-
.../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 | 84 +-
.../apache/plc4x/java/opcua/OpcuaPlcDriver.java | 267 ++-
.../java/opcua/config/OpcuaConfiguration.java | 228 ++
.../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 | 1204 ++++++++++
.../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 | 905 ++++++++
.../opcua/protocol/OpcuaSubscriptionHandle.java | 489 ++++
.../opcua/protocol/OpcuaSubsriptionHandle.java | 92 -
.../apache/plc4x/java/opcua/ManualPLC4XOpcua.java | 176 +-
.../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 | 1 +
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 | 4 +-
.../apache/plc4x/java/s7/readwrite/S7Driver.java | 34 +-
.../readwrite/configuration/S7Configuration.java | 1 -
.../java/s7/readwrite/context/S7DriverContext.java | 34 +-
.../plc4x/java/s7/readwrite/field/S7Field.java | 137 +-
.../java/s7/readwrite/field/S7PlcFieldHandler.java | 34 +-
.../java/s7/readwrite/field/S7StringField.java | 65 +-
.../optimizer/DefaultS7MessageProcessor.java | 34 +-
.../s7/readwrite/optimizer/S7MessageProcessor.java | 34 +-
.../java/s7/readwrite/optimizer/S7Optimizer.java | 34 +-
.../s7/readwrite/protocol/S7ProtocolLogic.java | 151 +-
.../java/s7/readwrite/types/S7ControllerType.java | 34 +-
.../java/s7/readwrite/utils/S7TsapIdEncoder.java | 34 +-
.../apache/plc4x/java/s7/utils/StaticHelper.java | 34 +-
.../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 | 34 +-
.../plc4x/java/s7/readwrite/issues/PLC4X272.java | 34 +-
plc4j/drivers/s7/src/test/resources/logback.xml | 28 +-
plc4j/drivers/simulated/pom.xml | 4 +-
.../plc4x/java/simulated/SimulatedDriver.java | 32 +-
.../simulated/connection/SimulatedConnection.java | 107 +-
.../java/simulated/connection/SimulatedDevice.java | 88 +-
.../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 | 54 +-
.../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 +
.../hello-influx-data-collection/README.adoc | 0
.../example.properties | 0
.../examples/hello-influx-data-collection/pom.xml | 96 +
.../java/examples/helloinflux/HelloInflux.java | 160 ++
.../src/main/resources/logback.xml | 34 +
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 | 40 +-
.../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 +-
.../hello-storage-elasticsearch/README.adoc | 66 -
plc4j/examples/hello-storage-elasticsearch/pom.xml | 168 --
.../examples/storage/elasticsearch/CliOptions.java | 82 -
.../elasticsearch/ElasticsearchStorage.java | 270 ---
.../src/main/resources/log4j2.xml | 35 -
.../src/main/resources/logback.xml | 40 -
plc4j/examples/hello-webapp/webapp/pom.xml | 1 -
.../plc4x/examples/watertank/Application.java | 33 +-
.../watertank/service/WaterTankService.java | 75 +-
.../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 | 54 +-
.../src/main/resources/logback.xml | 28 +-
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 | 10 +-
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 | 60 +-
.../java/org/apache/plc4x/camel/Plc4XConsumer.java | 184 +-
.../java/org/apache/plc4x/camel/Plc4XEndpoint.java | 87 +-
.../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 | 36 +-
.../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 | 33 +-
.../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 | 261 ++-
.../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 | 36 +-
.../properties/source_task_no_error.properties | 2 +-
.../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/logstash-plugin/README.md | 70 -
plc4j/integrations/logstash-plugin/pom.xml | 302 ---
.../src/gem/lib/logstash-input-plc4x_jars.rb | 22 -
.../src/gem/lib/logstash/inputs/plc4x.rb | 29 -
.../src/gem/logstash-input-plc4x.gemspec | 42 -
.../main/java/org/apache/plc4x/logstash/Plc4x.java | 171 --
.../org/apache/plc4x/logstash/Plc4xInputTest.java | 75 -
plc4j/integrations/opcua-server/pom.xml | 34 +-
.../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 | 19 +-
.../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 | 12 +-
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 | 34 +-
.../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 | 33 +-
.../apache/plc4x/java/spi/ConversationContext.java | 4 +-
.../spi/GeneratedDriverByteToMessageCodec.java | 14 +-
.../apache/plc4x/java/spi/Plc4xNettyWrapper.java | 21 +-
.../apache/plc4x/java/spi/Plc4xProtocolBase.java | 5 +-
.../plc4x/java/spi/PlcMessageToMessageCodec.java | 4 +-
.../java/spi/configuration/Configuration.java | 34 +-
.../spi/configuration/ConfigurationFactory.java | 15 +-
.../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 +-
.../java/spi/connection/AbstractPlcConnection.java | 4 +-
.../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 | 11 +-
.../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 | 87 +-
.../java/spi/generation/ReadBufferJsonBased.java | 101 +-
.../java/spi/generation/ReadBufferXmlBased.java | 47 +-
.../plc4x/java/spi/generation/StaticHelper.java | 13 +-
.../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 | 38 +-
.../java/spi/generation/WriteBufferJsonBased.java | 77 +-
.../java/spi/generation/WriteBufferXmlBased.java | 76 +-
.../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 | 36 +-
.../java/spi/optimizer/SingleFieldOptimizer.java | 34 +-
.../spi/transaction/RequestTransactionManager.java | 3 +-
.../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 | 105 +-
.../org/apache/plc4x/java/spi/values/PlcBOOL.java | 132 +-
.../org/apache/plc4x/java/spi/values/PlcBYTE.java | 141 +-
.../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 | 64 +-
.../org/apache/plc4x/java/spi/values/PlcDATE.java | 14 +-
.../plc4x/java/spi/values/PlcDATE_AND_TIME.java | 9 +-
.../org/apache/plc4x/java/spi/values/PlcDINT.java | 99 +-
.../org/apache/plc4x/java/spi/values/PlcDWORD.java | 149 +-
.../apache/plc4x/java/spi/values/PlcIECValue.java | 13 +-
.../org/apache/plc4x/java/spi/values/PlcINT.java | 100 +-
.../org/apache/plc4x/java/spi/values/PlcLINT.java | 94 +-
.../org/apache/plc4x/java/spi/values/PlcLREAL.java | 73 +-
.../org/apache/plc4x/java/spi/values/PlcLTIME.java | 42 +-
.../org/apache/plc4x/java/spi/values/PlcLWORD.java | 145 +-
.../org/apache/plc4x/java/spi/values/PlcList.java | 33 +-
.../org/apache/plc4x/java/spi/values/PlcNull.java | 34 +-
.../org/apache/plc4x/java/spi/values/PlcREAL.java | 66 +-
.../org/apache/plc4x/java/spi/values/PlcSINT.java | 108 +-
.../apache/plc4x/java/spi/values/PlcSTRING.java | 14 +-
.../plc4x/java/spi/values/PlcSimpleValue.java | 1 -
.../apache/plc4x/java/spi/values/PlcStruct.java | 25 +-
.../org/apache/plc4x/java/spi/values/PlcTIME.java | 49 +-
.../plc4x/java/spi/values/PlcTIME_OF_DAY.java | 9 +-
.../org/apache/plc4x/java/spi/values/PlcUDINT.java | 145 +-
.../org/apache/plc4x/java/spi/values/PlcUINT.java | 127 +-
.../org/apache/plc4x/java/spi/values/PlcULINT.java | 145 +-
.../org/apache/plc4x/java/spi/values/PlcUSINT.java | 142 +-
.../plc4x/java/spi/values/PlcValueAdapter.java | 4 +-
.../apache/plc4x/java/spi/values/PlcValues.java | 20 +-
.../org/apache/plc4x/java/spi/values/PlcWCHAR.java | 137 +-
.../org/apache/plc4x/java/spi/values/PlcWORD.java | 125 +-
.../internal/DefaultSendRequestContextTest.java | 50 +-
.../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 | 7 +-
.../connectionpool2/CachedDriverManagerMT.java | 5 +-
.../connectionpool2/CachedDriverManagerTest.java | 1 -
.../connectionpool2/CachedPlcConnectionTest.java | 44 +-
.../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 | 44 +-
.../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 | 4 +-
.../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 | 64 +-
.../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 | 7 +-
.../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 | 28 +-
.../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 +
.../test/src/main/remote-resources/META-INF/NOTICE | 4 +
.../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 | 42 +-
.../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 | 4 +
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 | 9 +-
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 | 39 +-
.../java/org/apache/plc4x/test/RequirePcapNg.java | 33 +-
.../apache/plc4x/test/RequirePcapNgCondition.java | 39 +-
.../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 | 82 +-
.../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 | 51 +-
protocols/ab-eth/pom.xml | 34 +-
.../apache/plc4x/protocol/abeth/ABETHProtocol.java | 1 -
.../main/resources/protocols/abeth/ab-eth.mspec | 36 +-
protocols/ads/pom.xml | 4 +-
.../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 | 34 +-
.../plc4x/protocol/bacnetip/BacNetIpProtocol.java | 1 -
.../resources/protocols/bacnetip/bacnetip.mspec | 36 +-
protocols/canopen/pom.xml | 4 +-
.../plc4x/protocol/canopen/CANOpenProtocol.java | 33 +-
.../src/main/resources/protocols/can/canopen.mspec | 2 +-
protocols/df1/pom.xml | 34 +-
.../org/apache/plc4x/protocol/df1/Df1Protocol.java | 1 -
.../df1/src/main/resources/protocols/df1/df1.mspec | 36 +-
protocols/eip/pom.xml | 34 +-
.../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 | 34 +-
.../plc4x/protocol/firmata/FirmataProtocol.java | 1 -
.../main/resources/protocols/firmata/firmata.mspec | 36 +-
protocols/knxnetip/pom.xml | 2 +-
.../plc4x/protocol/knxnetip/KnxNetIpProtocol.java | 33 +-
.../resources/protocols/knxnetip/device-info.mspec | 36 +-
.../resources/protocols/knxnetip/knxnetip.mspec | 39 +-
.../src/main/script/getKnxMasterData.groovy | 39 +-
.../protocol/knxnetip/KnxDefinitionsGenerator.java | 33 +-
.../knxnetip/KnxSpecificationStoreUpdater.java | 33 +-
.../knxnetip/handlers/ManufacturerIdsHandler.java | 33 +-
.../handlers/ProductDescriptionHandler.java | 33 +-
protocols/modbus/pom.xml | 2 +-
.../plc4x/protocol/modbus/ModbusProtocol.java | 33 +-
.../main/resources/protocols/modbus/modbus.mspec | 36 +-
.../resources/protocols/modbus/DriverTestsuite.xml | 80 +-
protocols/opcua/pom.xml | 220 +-
.../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 +
protocols/plc4x/pom.xml | 2 +-
.../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 +++++++
protocols/s7/pom.xml | 2 +-
.../org/apache/plc4x/protocol/s7/S7Protocol.java | 33 +-
.../s7/src/main/resources/protocols/s7/s7.mspec | 91 +-
.../resources/protocols/s7/DriverTestsuite.xml | 37 +-
protocols/simulated/pom.xml | 2 +-
.../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 | 68 +-
.../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 -
sandbox/hello-influx-data-collection/pom.xml | 116 -
.../java/examples/helloinflux/HelloInflux.java | 160 --
.../src/main/resources/logback.xml | 34 -
sandbox/plc-simulator/pom.xml | 2 +-
.../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 | 37 +-
.../org.apache.plc4x.simulator.server.ServerModule | 1 -
...che.plc4x.simulator.simulation.SimulationModule | 1 -
.../plc-simulator/src/main/resources/logback.xml | 2 -
sandbox/plc4c/.gitignore | 145 --
sandbox/plc4c/CMakeLists.txt | 79 -
sandbox/plc4c/CODE_CONVENTIONS.md | 43 -
sandbox/plc4c/README.md | 41 -
sandbox/plc4c/api/include/plc4c/data.h | 195 --
sandbox/plc4c/api/include/plc4c/read.h | 115 -
sandbox/plc4c/api/include/plc4c/utils/list.h | 86 -
sandbox/plc4c/api/include/plc4c/write.h | 115 -
sandbox/plc4c/drivers/modbus/src/driver_modbus.c | 60 -
.../modbus/src/driver_modbus_encode_decode.c | 162 --
.../drivers/modbus/src/driver_modbus_packets.c | 176 --
.../drivers/modbus/src/driver_modbus_sm_connect.c | 80 -
.../modbus/src/driver_modbus_sm_disconnect.c | 74 -
.../drivers/modbus/src/driver_modbus_sm_read.c | 237 --
.../drivers/modbus/src/driver_modbus_sm_write.c | 121 -
.../drivers/s7/include/plc4c/driver_s7_packets.h | 53 -
.../plc4c/drivers/s7/include/plc4c/driver_s7_sm.h | 47 -
sandbox/plc4c/drivers/s7/src/driver_s7.c | 161 --
.../plc4c/drivers/s7/src/driver_s7_encode_decode.c | 360 ---
sandbox/plc4c/drivers/s7/src/driver_s7_packets.c | 661 ------
.../plc4c/drivers/s7/src/driver_s7_sm_connect.c | 348 ---
.../plc4c/drivers/s7/src/driver_s7_sm_disconnect.c | 81 -
sandbox/plc4c/drivers/s7/src/driver_s7_sm_read.c | 254 ---
sandbox/plc4c/drivers/s7/src/driver_s7_sm_write.c | 207 --
.../plc4c/drivers/simulated/src/driver_simulated.c | 427 ----
.../hello-world-modbus/src/hello_world_modbus.c | 355 ---
.../examples/hello-world-s7/src/hello_world_s7.c | 381 ----
.../hello-world-s7/src/hello_world_s7_loopback.c | 412 ----
.../generated-sources/modbus/include/data_item.h | 46 -
.../modbus/include/modbus_constants.h | 58 -
.../modbus/include/modbus_data_type.h | 80 -
.../modbus/include/modbus_error_code.h | 60 -
.../generated-sources/modbus/include/modbus_pdu.h | 245 --
.../modbus_pdu_read_file_record_request_item.h | 58 -
.../modbus_pdu_read_file_record_response_item.h | 56 -
.../modbus_pdu_write_file_record_request_item.h | 58 -
.../modbus_pdu_write_file_record_response_item.h | 58 -
.../modbus/include/modbus_serial_adu.h | 59 -
.../modbus/include/modbus_tcp_adu.h | 62 -
.../plc4c/generated-sources/modbus/src/data_item.c | 575 -----
.../modbus/src/modbus_constants.c | 80 -
.../modbus/src/modbus_data_type.c | 318 ---
.../modbus/src/modbus_error_code.c | 107 -
.../generated-sources/modbus/src/modbus_pdu.c | 2370 --------------------
.../src/modbus_pdu_read_file_record_request_item.c | 125 --
.../modbus_pdu_read_file_record_response_item.c | 124 -
.../modbus_pdu_write_file_record_request_item.c | 158 --
.../modbus_pdu_write_file_record_response_item.c | 158 --
.../modbus/src/modbus_serial_adu.c | 146 --
.../generated-sources/modbus/src/modbus_tcp_adu.c | 147 --
.../generated-sources/s7/include/cotp_packet.h | 110 -
.../generated-sources/s7/include/cotp_parameter.h | 93 -
.../s7/include/cotp_protocol_class.h | 55 -
.../generated-sources/s7/include/cotp_tpdu_size.h | 60 -
.../plc4c/generated-sources/s7/include/data_item.h | 45 -
.../s7/include/data_transport_error_code.h | 56 -
.../s7/include/data_transport_size.h | 60 -
.../generated-sources/s7/include/device_group.h | 53 -
.../generated-sources/s7/include/memory_area.h | 62 -
.../generated-sources/s7/include/s7_address.h | 83 -
.../generated-sources/s7/include/s7_message.h | 93 -
.../generated-sources/s7/include/s7_parameter.h | 101 -
.../s7/include/s7_parameter_user_data_item.h | 83 -
.../generated-sources/s7/include/s7_payload.h | 93 -
.../s7/include/s7_payload_user_data_item.h | 88 -
.../s7/include/s7_var_payload_data_item.h | 59 -
.../s7/include/s7_var_payload_status_item.h | 56 -
.../s7/include/s7_var_request_parameter_item.h | 77 -
.../s7/include/szl_data_tree_item.h | 59 -
.../plc4c/generated-sources/s7/include/szl_id.h | 59 -
.../s7/include/szl_module_type_class.h | 54 -
.../generated-sources/s7/include/szl_sublist.h | 69 -
.../generated-sources/s7/include/tpkt_packet.h | 60 -
.../generated-sources/s7/include/transport_size.h | 111 -
.../plc4c/generated-sources/s7/src/cotp_packet.c | 557 -----
.../generated-sources/s7/src/cotp_parameter.c | 288 ---
.../generated-sources/s7/src/cotp_protocol_class.c | 77 -
.../generated-sources/s7/src/cotp_tpdu_size.c | 147 --
sandbox/plc4c/generated-sources/s7/src/data_item.c | 438 ----
.../s7/src/data_transport_error_code.c | 83 -
.../generated-sources/s7/src/data_transport_size.c | 132 --
.../plc4c/generated-sources/s7/src/device_group.c | 65 -
.../plc4c/generated-sources/s7/src/memory_area.c | 166 --
.../plc4c/generated-sources/s7/src/s7_address.c | 259 ---
.../plc4c/generated-sources/s7/src/s7_message.c | 379 ----
.../plc4c/generated-sources/s7/src/s7_parameter.c | 485 ----
.../s7/src/s7_parameter_user_data_item.c | 329 ---
.../plc4c/generated-sources/s7/src/s7_payload.c | 314 ---
.../s7/src/s7_payload_user_data_item.c | 285 ---
.../s7/src/s7_var_payload_data_item.c | 172 --
.../s7/src/s7_var_payload_status_item.c | 74 -
.../s7/src/s7_var_request_parameter_item.c | 150 --
.../generated-sources/s7/src/szl_data_tree_item.c | 159 --
sandbox/plc4c/generated-sources/s7/src/szl_id.c | 108 -
.../s7/src/szl_module_type_class.c | 71 -
.../plc4c/generated-sources/s7/src/szl_sublist.c | 161 --
.../plc4c/generated-sources/s7/src/tpkt_packet.c | 134 --
.../generated-sources/s7/src/transport_size.c | 1435 ------------
sandbox/plc4c/pom.xml | 333 ---
.../plc4c/spi/include/plc4c/spi/types_private.h | 355 ---
sandbox/plc4c/spi/src/connection.c | 282 ---
sandbox/plc4c/spi/src/data.c | 462 ----
sandbox/plc4c/spi/src/read.c | 127 --
sandbox/plc4c/spi/src/read_buffer.c | 613 -----
sandbox/plc4c/spi/src/system.c | 468 ----
sandbox/plc4c/spi/src/utils/list.c | 219 --
sandbox/plc4c/spi/src/write.c | 134 --
.../plc4c/transports/dummy/src/transport_dummy.c | 34 -
.../plc4c/transports/serial/src/transport_serial.c | 53 -
sandbox/plc4c/transports/tcp/src/transport_tcp.c | 176 --
sandbox/plc4cpp/Makefile | 75 +
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/Makefile | 75 +
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/pom.xml | 15 -
sandbox/test-java-bacnetip-driver/pom.xml | 34 +-
.../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 | 34 +-
.../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 | 112 +-
.../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 -
sandbox/test-streampipes-plc4x-adapters/Dockerfile | 24 -
.../test-streampipes-plc4x-adapters/READMME.adoc | 49 -
.../env/development | 26 -
sandbox/test-streampipes-plc4x-adapters/pom.xml | 282 ---
.../java/streampipes/adapters/Plc4xAdapters.java | 43 -
.../streampipes/adapters/config/ConfigKeys.java | 33 -
.../adapters/config/ConnectWorkerConfig.java | 86 -
.../adapters/source/bacnetip/BacNetIpAdapter.java | 381 ----
.../adapters/source/knxnetip/KnxNetIpAdapter.java | 222 --
.../test-streampipes-plc4x-processors/Dockerfile | 24 -
.../test-streampipes-plc4x-processors/READMME.adoc | 49 -
.../env/development | 24 -
sandbox/test-streampipes-plc4x-processors/pom.xml | 374 ---
.../processors/Plc4xProcessorsInit.java | 55 -
.../java/streampipes/processors/config/Config.java | 88 -
.../streampipes/processors/config/ConfigKeys.java | 35 -
.../ede/BacNetIpEdeDataEnrichmentController.java | 88 -
.../enrich/knxnetip/ets5/Ets5DataEnrichment.java | 110 -
.../ets5/Ets5DataEnrichmentController.java | 93 -
.../ets5/Ets5DataEnrichmentParameters.java | 43 -
.../strings.en | 27 -
.../strings.en | 30 -
sandbox/test-streampipes-plc4x-shared/pom.xml | 32 -
.../shared/source/bacnetip/Constants.java | 25 -
.../shared/source/knxnetip/Constants.java | 28 -
src/main/script/preSiteGeneration.groovy | 32 +-
src/main/script/prerequisiteCheck.groovy | 86 +-
src/site/asciidoc/developers/building.adoc | 5 +-
.../developers/code-gen/language/freemarker.adoc | 35 +-
src/site/asciidoc/developers/preparing/index.adoc | 13 +-
src/site/asciidoc/developers/release/release.adoc | 18 +-
src/site/asciidoc/index.adoc | 14 -
src/site/asciidoc/users/index.adoc | 14 -
.../users/integrations/elastic-logstash.adoc | 20 -
src/site/asciidoc/users/protocols/index.adoc | 139 +-
src/site/asciidoc/users/protocols/opc-ua.adoc | 12 +-
src/site/resources/.asf.yaml | 19 +
.../resources/css/bootstrap-responsive.min.css | 34 +-
src/site/resources/css/site.css | 34 +-
src/site/site.xml | 1 -
tools/README.md | 28 +-
tools/check_sigs.sh | 36 +-
tools/clean-site.sh | 36 +-
tools/common.sh | 36 +-
tools/download_staged_release.sh | 36 +-
tools/logstash/pom.xml | 110 -
tools/pom.xml | 6 -
2628 files changed, 84171 insertions(+), 78176 deletions(-)
diff --cc code-generation/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageOutput.java
index 0000000,0c2a5c1..5e404ef
mode 000000,100644..100644
--- a/code-generation/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageOutput.java
+++ b/code-generation/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageOutput.java
@@@ -1,0 -1,77 +1,79 @@@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ package org.apache.plc4x.language.java;
+
+ import freemarker.template.*;
+ import org.apache.plc4x.plugins.codegenerator.protocol.freemarker.FreemarkerLanguageOutput;
+ import org.apache.plc4x.plugins.codegenerator.protocol.freemarker.FreemarkerLanguageTemplateHelper;
+ import org.apache.plc4x.plugins.codegenerator.types.definitions.TypeDefinition;
+
+ import java.io.*;
+ import java.util.*;
++import org.apache.plc4x.plugins.codegenerator.types.exceptions.GenerationException;
+
+ public class JavaLanguageOutput extends FreemarkerLanguageOutput {
+
+ @Override
+ public String getName() {
+ return "Java";
+ }
+
+ @Override
+ public Set<String> supportedOptions() {
+ return Collections.singleton("package");
+ }
+
+ @Override
+ public List<String> supportedOutputFlavors() {
+ return Arrays.asList("read-write", "read-only", "passive");
+ }
+
+ @Override
+ protected List<Template> getSpecTemplates(Configuration freemarkerConfiguration) throws IOException {
+ return Collections.singletonList(
+ freemarkerConfiguration.getTemplate("templates/java/enum-package-info-template.java.ftlh"));
+ }
+
+ @Override
+ protected List<Template> getComplexTypeTemplates(Configuration freemarkerConfiguration) throws IOException {
+ return Arrays.asList(
+ freemarkerConfiguration.getTemplate("templates/java/pojo-template.java.ftlh"),
+ freemarkerConfiguration.getTemplate("templates/java/io-template.java.ftlh"));
+ }
+
+ @Override
+ protected List<Template> getEnumTypeTemplates(Configuration freemarkerConfiguration) throws IOException {
+ return Collections.singletonList(
+ freemarkerConfiguration.getTemplate("templates/java/enum-template.java.ftlh"));
+ }
+
+ @Override
+ protected List<Template> getDataIoTemplates(Configuration freemarkerConfiguration) throws IOException {
+ return Collections.singletonList(
+ freemarkerConfiguration.getTemplate("templates/java/data-io-template.java.ftlh"));
+ }
+
+ @Override
+ protected FreemarkerLanguageTemplateHelper getHelper(TypeDefinition thisType, String protocolName, String flavorName, Map<String, TypeDefinition> types,
+ Map<String, String> options) {
+ return new JavaLanguageTemplateHelper(thisType, protocolName, flavorName, types, options);
+ }
+
++
+ }
diff --cc plc4j/drivers/pom.xml
index 4440085,425877b..3f07808
--- a/plc4j/drivers/pom.xml
+++ b/plc4j/drivers/pom.xml
@@@ -42,8 -42,9 +42,9 @@@
<module>knxnetip</module>
<module>mock</module>
<module>modbus</module>
+ <module>profinet</module>
<module>s7</module>
- <module>opcua</module>
+ <module>opcua</module>
<module>simulated</module>
</modules>
diff --cc plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
index 450a4b9,e956cdf..f4305aa
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
@@@ -88,22 -75,7 +89,22 @@@ public class S7ProtocolLogic extends Pl
private final Logger logger = LoggerFactory.getLogger(S7ProtocolLogic.class);
private final AtomicInteger tpduGenerator = new AtomicInteger(10);
-
+
+ /*
+ * Take into account that the size of this buffer depends on the final device.
- * S7-300 goes from 20 to 300 and for S7-400 it goes from 300 to 10000.
- * Depending on the configuration of the alarm system, a large number of
- * them should be expected when starting the connection.
++ * S7-300 goes from 20 to 300 and for S7-400 it goes from 300 to 10000.
++ * Depending on the configuration of the alarm system, a large number of
++ * them should be expected when starting the connection.
+ * (Examples of this are PCS7 and Braumat).
+ * Alarm filtering, ack, etc. must be performed by the client application.
- */
++ */
+ private final BlockingQueue eventqueue = new ArrayBlockingQueue<>(1024);
+ private final S7ProtocolEventLogic EventLogic = new S7ProtocolEventLogic(eventqueue);
+ private final S7PlcSubscriptionHandle modeHandle = new S7PlcSubscriptionHandle(EventType.MODE,EventLogic);
+ private final S7PlcSubscriptionHandle sysHandle = new S7PlcSubscriptionHandle(EventType.SYS,EventLogic);
+ private final S7PlcSubscriptionHandle usrHandle = new S7PlcSubscriptionHandle(EventType.USR,EventLogic);
+ private final S7PlcSubscriptionHandle almHandle = new S7PlcSubscriptionHandle(EventType.ALM,EventLogic);
+
private S7DriverContext s7DriverContext;
private RequestTransactionManager tm;
@@@ -320,325 -291,12 +321,325 @@@
return future;
}
+ @Override
+ public CompletableFuture<PlcSubscriptionResponse> subscribe(PlcSubscriptionRequest subscriptionRequest) {
+ CompletableFuture<PlcSubscriptionResponse> future = new CompletableFuture<>();
-
++
+ DefaultPlcSubscriptionRequest request = (DefaultPlcSubscriptionRequest) subscriptionRequest;
-
++
+ List<S7ParameterUserDataItem> parameterItems = new ArrayList<>(request.getNumberOfFields());
+ List<S7PayloadUserDataItem> payloadItems = new ArrayList<>(request.getNumberOfFields());
+
+ for (String fieldName : request.getFieldNames()) {
+ final DefaultPlcSubscriptionField sf = (DefaultPlcSubscriptionField) request.getField(fieldName);
+ final S7SubscriptionField field = (S7SubscriptionField) sf.getPlcField();
+
+ switch(field.getFieldtype()){
+ case EVENT_SUBSCRIPTION:;
+ encodeEventSubcriptionRequest(request, parameterItems, payloadItems);
+ break;
+ case EVENT_UNSUBSCRIPTION:;
+ //encodeEventUnSubcriptionRequest(msg, out);
+ break;
+ case ALARM_ACK:;
+ //encodeAlarmAckRequest(msg, out);
+ break;
+ case ALARM_QUERY:;
+ //encodeAlarmQueryRequest(msg, out);
+ break;
+ case CYCLIC_SUBSCRIPTION:;
+ //encodeCycledSubscriptionRequest(msg, out);
+ break;
+ case CYCLIC_UNSUBSCRIPTION:;
+ //encodeCycledUnSubscriptionRequest(msg, out);
- break;
- default:;
++ break;
++ default:;
+ };
+ //final PlcValue plcValue = request.getPlcValue(fieldName);
+ //parameterItems.add(new S7VarRequestParameterItemAddress(encodeS7Address(field)));
+ //payloadItems.add(serializePlcValue(field, plcValue));
+ }
+ final int tpduId = tpduGenerator.getAndIncrement();
+ // If we've reached the max value for a 16 bit transaction identifier, reset back to 1
+ if(tpduGenerator.get() == 0xFFFF) {
+ tpduGenerator.set(1);
+ }
-
++
+ TPKTPacket tpktPacket = new TPKTPacket(new COTPPacketData(null,
+ new S7MessageUserData(tpduId,
+ new S7ParameterUserData(parameterItems.toArray(new S7ParameterUserDataItem[0])),
+ new S7PayloadUserData(payloadItems.toArray(new S7PayloadUserDataItemCpuFunctionMsgSubscription[0]))),
- true, (short) tpduId));
-
++ true, (short) tpduId));
++
+ // Start a new request-transaction (Is ended in the response-handler)
- RequestTransactionManager.RequestTransaction transaction = tm.startRequest();
++ RequestTransactionManager.RequestTransaction transaction = tm.startRequest();
+ transaction.submit(() -> context.sendRequest(tpktPacket)
+ .onTimeout(new TransactionErrorCallback<>(future, transaction))
+ .onError(new TransactionErrorCallback<>(future, transaction))
+ .expectResponse(TPKTPacket.class, REQUEST_TIMEOUT)
+ .check(p -> p.getPayload() instanceof COTPPacketData)
+ .unwrap(p -> ((COTPPacketData) p.getPayload()))
+ .unwrap(COTPPacket::getPayload)
+ .check(p -> p.getTpduReference() == tpduId)
+ .handle(p -> {
+ try {
+ future.complete(((PlcSubscriptionResponse) decodeEventSubcriptionRequest(p, subscriptionRequest)));
+ } catch (PlcProtocolException e) {
+ logger.warn("Error sending 'write' message: '{}'", e.getMessage(), e);
+ }
+ // Finish the request-transaction.
+ transaction.endRequest();
- }));
++ }));
+ return future;
+ }
-
-
++
++
+ @Override
+ public CompletableFuture<PlcUnsubscriptionResponse> unsubscribe(PlcUnsubscriptionRequest unsubscriptionRequest) {
- CompletableFuture<PlcUnsubscriptionResponse> future = new CompletableFuture<>();
++ CompletableFuture<PlcUnsubscriptionResponse> future = new CompletableFuture<>();
+ DefaultPlcUnsubscriptionRequest request = (DefaultPlcUnsubscriptionRequest) unsubscriptionRequest;
-
++
+ return future;
+ }
+
+ private void encodeEventSubcriptionRequest(DefaultPlcSubscriptionRequest request,
+ List<S7ParameterUserDataItem> parameterItems,
+ List<S7PayloadUserDataItem> payloadItems){
+ byte subsevent = 0;
+ for (String fieldName : request.getFieldNames()) {
+
+ if (request.getField(fieldName) instanceof DefaultPlcSubscriptionField){
+ PlcField event = ((DefaultPlcSubscriptionField) request.getField(fieldName)).getPlcField();
+ if (event instanceof S7SubscriptionField) {
+ subsevent = (byte) (subsevent | ((S7SubscriptionField) event).getEventtype().getValue());
+ }
- }
++ }
+ }
-
++
+ S7ParameterUserDataItemCPUFunctions parameter = new S7ParameterUserDataItemCPUFunctions(
+ (short) 0x11, //Method
+ (byte) 0x04, //FunctionType
+ (byte) 0x04, //FunctionGroup
+ (short) 0x02, //SubFunction
+ (short) 0x00, //SequenceNumber
+ null, //DataUnitReferenceNumber
+ null, //LastDataUnit
+ null //errorCode
+ );
+ parameterItems.clear();
+ parameterItems.add(parameter);
-
-
++
++
+ S7PayloadUserDataItemCpuFunctionMsgSubscription payload = null;
+
+ if (subsevent > 0) {
+ payload = new S7PayloadUserDataItemCpuFunctionMsgSubscription(
+ DataTransportErrorCode.OK,
+ DataTransportSize.OCTET_STRING,
+ subsevent,
+ "HmiRtm ",
+ null,
+ null);
+ } else {
+ //TODO: Check for ALARM_S (S7300) and ALARM_8 (S7400), maybe we need verify the CPU
+ AlarmStateType alarmtype;
+ if (s7DriverContext.getControllerType() == S7ControllerType.S7_400){
+ alarmtype =AlarmStateType.ALARM_INITIATE;
+ } else {
+ alarmtype =AlarmStateType.ALARM_S_INITIATE;
- }
++ }
+ payload = new S7PayloadUserDataItemCpuFunctionMsgSubscription(
+ DataTransportErrorCode.OK,
+ DataTransportSize.OCTET_STRING,
+ subsevent,
+ "HmiRtm ",
+ alarmtype,
- (short) 0x00);
++ (short) 0x00);
+ }
+ payloadItems.clear();
+ payloadItems.add(payload);
-
++
+ }
-
++
+ private PlcSubscriptionResponse decodeEventSubcriptionRequest(S7Message responseMessage,
+ PlcSubscriptionRequest plcSubscriptionRequest)
- throws PlcProtocolException
++ throws PlcProtocolException
+ {
+ Map<String, ResponseItem<PlcSubscriptionHandle>> values = new HashMap<>();
+ short errorClass = 0;
+ short errorCode = 0;
+ if(responseMessage instanceof S7MessageUserData) {
+ S7MessageUserData messageUserData = (S7MessageUserData) responseMessage;
+ S7PayloadUserData payload = (S7PayloadUserData) messageUserData.getPayload();
+ //errorClass = payload.getItems()[0].
+ // errorCode = messageUserData.getParameter().
-
++
+ } else if(responseMessage instanceof S7MessageResponse) {
+ S7MessageResponse messageResponse = (S7MessageResponse) responseMessage;
+ errorClass = messageResponse.getErrorClass();
+ errorCode = messageResponse.getErrorCode();
+ } else {
+ throw new PlcProtocolException("Unsupported message type " + responseMessage.getClass().getName());
+ }
-
++
+ // If the result contains any form of non-null error code, handle this instead.
+ if((errorClass != 0) || (errorCode != 0)) {
+ // This is usually the case if PUT/GET wasn't enabled on the PLC
+ if((errorClass == 129) && (errorCode == 4)) {
+ logger.warn("Got an error response from the PLC. This particular response code usually indicates " +
+ "that PUT/GET is not enabled on the PLC.");
+ for (String fieldName : plcSubscriptionRequest.getFieldNames()) {
+ values.put(fieldName, null);
+ }
+ return new DefaultPlcSubscriptionResponse(plcSubscriptionRequest, values);
+ } else {
+ logger.warn("Got an unknown error response from the PLC. Error Class: {}, Error Code {}. " +
+ "We probably need to implement explicit handling for this, so please file a bug-report " +
+ "on https://issues.apache.org/jira/projects/PLC4X and ideally attach a WireShark dump " +
+ "containing a capture of the communication.",
+ errorClass, errorCode);
+ for (String fieldName : plcSubscriptionRequest.getFieldNames()) {
+ values.put(fieldName, null);
+ }
+ return new DefaultPlcSubscriptionResponse(plcSubscriptionRequest, values);
+ }
+ }
+ // In all other cases all went well.
+ S7PayloadUserData payload = (S7PayloadUserData) responseMessage.getPayload();
-
++
+ S7PayloadUserDataItem[] payloadItems = payload.getItems();
-
++
+ //Only one item for any number of subscription (4)
+ if (payloadItems.length == 0) {
+ throw new PlcProtocolException(
+ "The number of requested items doesn't match the number of returned items");
+ }
-
++
+ boolean responseOk = false;
+ if (payloadItems[0] instanceof S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse) {
+ S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse item =
- (S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse)
++ (S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse)
+ payloadItems[0];
+ if ((item.getReturnCode() == DataTransportErrorCode.OK) &&
+ (item.getTransportSize() == DataTransportSize.OCTET_STRING)) {
+ responseOk = true;
+ }
+ } else if (payloadItems[0] instanceof S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse) {
+ S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse item =
- (S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse)
- payloadItems[0];
++ (S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse)
++ payloadItems[0];
+ if ((item.getReturnCode() == DataTransportErrorCode.OK) &&
+ (item.getTransportSize() == DataTransportSize.OCTET_STRING)) {
+ responseOk = true;
- }
++ }
+ } else if (payloadItems[0] instanceof S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse) {
+ S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse item =
- (S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse)
- payloadItems[0];
++ (S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse)
++ payloadItems[0];
+ if ((item.getReturnCode() == DataTransportErrorCode.OK) &&
+ (item.getTransportSize() == DataTransportSize.OCTET_STRING)) {
+ responseOk = true;
- }
++ }
+ }
-
++
+ if (responseOk) {
+ for (String fieldName : plcSubscriptionRequest.getFieldNames()) {
+ DefaultPlcSubscriptionField dfield = (DefaultPlcSubscriptionField) plcSubscriptionRequest.getField(fieldName);
+ S7SubscriptionField field = (S7SubscriptionField) dfield.getPlcField();
+ switch(field.getEventtype()) {
+ case MODE: values.put(fieldName, new ResponseItem(PlcResponseCode.OK, modeHandle));
+ break;
+ case SYS: values.put(fieldName, new ResponseItem(PlcResponseCode.OK, sysHandle));
+ break;
+ case USR: values.put(fieldName, new ResponseItem(PlcResponseCode.OK, usrHandle));
+ break;
+ case ALM: values.put(fieldName, new ResponseItem(PlcResponseCode.OK, almHandle));
- break;
++ break;
+ }
-
- }
- return new DefaultPlcSubscriptionResponse(plcSubscriptionRequest,values);
- }
-
++
++ }
++ return new DefaultPlcSubscriptionResponse(plcSubscriptionRequest,values);
++ }
++
+ return null;
+ }
-
++
+ private void encodeEventUnSubcriptionRequest(DefaultPlcSubscriptionRequest request,
+ List<S7VarRequestParameterItem> parameterItems,
+ List<S7VarPayloadDataItem> payloadItems){
-
++
+ }
-
++
+ private void encodeAlarmAckRequest(DefaultPlcSubscriptionRequest request,
+ List<S7VarRequestParameterItem> parameterItems,
+ List<S7VarPayloadDataItem> payloadItems){
-
++
+ }
-
++
+ private void encodeAlarmQueryRequest(DefaultPlcSubscriptionRequest request,
+ List<S7VarRequestParameterItem> parameterItems,
+ List<S7VarPayloadDataItem> payloadItems){
-
++
+ }
-
++
+ private void encodeCycledSubscriptionRequest(DefaultPlcSubscriptionRequest request,
+ List<S7VarRequestParameterItem> parameterItems,
+ List<S7VarPayloadDataItem> payloadItems){
-
- }
-
++
++ }
++
+ private void encodeCycledUnSubscriptionRequest(DefaultPlcSubscriptionRequest request,
+ List<S7VarRequestParameterItem> parameterItems,
+ List<S7VarPayloadDataItem> payloadItems){
-
- }
-
++
++ }
++
/**
* This method is only called when there is no Response Handler.
- *
++ *
*/
@Override
protected void decode(ConversationContext<TPKTPacket> context, TPKTPacket msg) throws Exception {
- throw new IllegalStateException("This should not happen!");
+ //System.out.println(msg);
+ S7Message s7msg = msg.getPayload().getPayload();
+ S7Parameter parameter = s7msg.getParameter();
+ if (parameter instanceof S7ParameterModeTransition){
+ eventqueue.add(parameter);
+ } else
+ if (parameter instanceof S7ParameterUserData) {
+ S7ParameterUserData parameterud = (S7ParameterUserData) parameter;
+ S7ParameterUserDataItem[] parameterudis = parameterud.getItems();
+ for (S7ParameterUserDataItem parameterudi:parameterudis){
+ if (parameterudi instanceof S7ParameterUserDataItemCPUFunctions) {
+ S7ParameterUserDataItemCPUFunctions myparameter = (S7ParameterUserDataItemCPUFunctions) parameterudi;
+ //TODO: Check from mspec. We can try using "instanceof"
+ if ((myparameter.getCpuFunctionType() == 0x00) && (myparameter.getCpuSubfunction() == 0x03)) {
+ S7PayloadUserData payload = (S7PayloadUserData) s7msg.getPayload();
+ S7PayloadUserDataItem[] items = payload.getItems();
+ for (S7PayloadUserDataItem item:items){
+ if (item instanceof S7PayloadDiagnosticMessage){
+ eventqueue.add(item);
+ }
+ }
- } else if ((myparameter.getCpuFunctionType() == 0x00) &&
- ((myparameter.getCpuSubfunction() == 0x05) ||
++ } else if ((myparameter.getCpuFunctionType() == 0x00) &&
++ ((myparameter.getCpuSubfunction() == 0x05) ||
+ (myparameter.getCpuSubfunction() == 0x06) ||
- (myparameter.getCpuSubfunction() == 0x0c) ||
++ (myparameter.getCpuSubfunction() == 0x0c) ||
+ (myparameter.getCpuSubfunction() == 0x11) ||
+ (myparameter.getCpuSubfunction() == 0x12) ||
+ (myparameter.getCpuSubfunction() == 0x13) ||
+ (myparameter.getCpuSubfunction() == 0x16))) {
+ S7PayloadUserData payload = (S7PayloadUserData) s7msg.getPayload();
+ S7PayloadUserDataItem[] items = payload.getItems();
+ for (Object item:items){
- eventqueue.add(item);
- }
++ eventqueue.add(item);
++ }
+ } else if ((myparameter.getCpuFunctionType() == 0x00) && (myparameter.getCpuSubfunction() == 0x13)) {
-
++
+ }
+ }
+ }
+ }
}
@Override
@@@ -856,10 -513,20 +857,20 @@@
try {
DataTransportSize transportSize = field.getDataType().getDataTransportSize();
int stringLength = (field instanceof S7StringField) ? ((S7StringField) field).getStringLength() : 254;
- WriteBufferByteBased writeBuffer = (WriteBufferByteBased) DataItemIO.staticSerialize(plcValue, field.getDataType().getDataProtocolId(),
- stringLength);
- if(writeBuffer != null) {
- byte[] data = writeBuffer.getData();
+ ByteBuffer byteBuffer = null;
+ for(int i = 0; i < field.getNumberOfElements(); i++) {
- WriteBufferByteBased writeBuffer = DataItemIO.staticSerialize(plcValue.getIndex(i),
++ WriteBufferByteBased writeBuffer = (WriteBufferByteBased) DataItemIO.staticSerialize(plcValue.getIndex(i),
+ field.getDataType().getDataProtocolId(), stringLength);
+ if(writeBuffer != null) {
+ // Allocate enough space for all items.
+ if(byteBuffer == null) {
+ byteBuffer = ByteBuffer.allocate(writeBuffer.getData().length * field.getNumberOfElements());
+ }
+ byteBuffer.put(writeBuffer.getData());
+ }
+ }
+ if(byteBuffer != null) {
+ byte[] data = byteBuffer.array();
return new S7VarPayloadDataItem(DataTransportErrorCode.OK, transportSize, data);
}
} catch (ParseException e) {
diff --cc plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/utils/StaticHelper.java
index b738c13,cd6ca70..bc0931a
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/utils/StaticHelper.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/utils/StaticHelper.java
@@@ -1,24 -1,23 +1,24 @@@
/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- */
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.plc4x.java.s7.utils;
+import java.nio.charset.Charset;
import org.apache.commons.lang3.NotImplementedException;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.api.value.PlcValue;
diff --cc protocols/s7/src/main/resources/protocols/s7/s7.mspec
index d69b4e9,464cf77..d1ebfa0
--- a/protocols/s7/src/main/resources/protocols/s7/s7.mspec
+++ b/protocols/s7/src/main/resources/protocols/s7/s7.mspec
@@@ -149,15 -149,6 +149,15 @@@
[implicit uint 8 'numItems' 'COUNT(items)']
[array S7ParameterUserDataItem 'items' count 'numItems']
]
+ ['0x01','0x07' S7ParameterModeTransition
+ [reserved uint 16 '0x0010']
+ [implicit uint 8 'itemLength' 'lengthInBytes - 2']
+ [simple uint 8 'method']
+ [simple uint 4 'cpuFunctionType']
+ [simple uint 4 'cpuFunctionGroup']
+ [simple uint 8 'currentMode']
- [simple uint 8 'sequenceNumber']
++ [simple uint 8 'sequenceNumber']
+ ]
]
]
@@@ -250,169 -241,7 +250,169 @@@
[enum DataTransportErrorCode 'returnCode']
]
-[discriminatedType 'S7PayloadUserDataItem' [uint 4 'cpuFunctionType']
+
+////////////////////////////////////////////////////////////////
+// Event 7 Alarms Types
+////////////////////////////////////////////////////////////////
+
+//Under test
+[discriminatedType 'S7DataAlarmMessage' [uint 4 'cpuFunctionType']
+ [const uint 8 'functionId' '0x00']
+ [const uint 8 'numberMessageObj' '0x01']
+ [typeSwitch 'cpuFunctionType'
+ ['0x04' S7MessageObjectRequest
+ [const uint 8 'variableSpec' '0x12']
+ [const uint 8 'length' '0x08']
+ [enum SyntaxIdType 'syntaxId']
+ [reserved uint 8 '0x00']
+ [enum QueryType 'queryType']
+ [reserved uint 8 '0x34']
+ [enum AlarmType 'alarmType']
+ ]
+ ['0x08' S7MessageObjectResponse
+ [enum DataTransportErrorCode 'returnCode']
+ [enum DataTransportSize 'transportSize']
+ [reserved uint 8 '0x00']
- ]
++ ]
+ ]
+]
+
+[type 'AssociatedValueType'
+ [enum DataTransportErrorCode 'returnCode']
+ [enum DataTransportSize 'transportSize']
+ [manual uint 16 'valueLength' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.RightShift3", readBuffer)' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.LeftShift3", writeBuffer, _value.valueLength)' '2']
+ [array uint 8 'data' count 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.EventItemLength", readBuffer, valueLength)']
+]
+
+//TODO: Convert BCD to uint
+[type 'DateAndTime'
+ [manual uint 8 'year' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.BcdToInt", readBuffer)' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.ByteToBcd", writeBuffer, _value.year)' '1']
+ [manual uint 8 'month' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.BcdToInt", readBuffer)' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.ByteToBcd", writeBuffer, _value.month)' '1']
+ [manual uint 8 'day' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.BcdToInt", readBuffer)' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.ByteToBcd", writeBuffer, _value.day)' '1']
+ [manual uint 8 'hour' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.BcdToInt", readBuffer)' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.ByteToBcd", writeBuffer, _value.hour)' '1']
+ [manual uint 8 'minutes' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.BcdToInt", readBuffer)' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.ByteToBcd", writeBuffer, _value.minutes)' '1']
+ [manual uint 8 'seconds' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.BcdToInt", readBuffer)' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.ByteToBcd", writeBuffer, _value.seconds)' '1']
+ [manual uint 12 'msec' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.S7msecToInt", readBuffer)' 'STATIC_CALL("org.apache.plc4x.java.s7.utils.S7EventHelper.IntToS7msec", writeBuffer, _value.msec)' '2']
- [simple uint 4 'dow']
++ [simple uint 4 'dow']
+]
+
+[type 'State'
+ [simple bit 'SIG_8']
- [simple bit 'SIG_7']
++ [simple bit 'SIG_7']
+ [simple bit 'SIG_6']
- [simple bit 'SIG_5']
++ [simple bit 'SIG_5']
+ [simple bit 'SIG_4']
- [simple bit 'SIG_3']
++ [simple bit 'SIG_3']
+ [simple bit 'SIG_2']
- [simple bit 'SIG_1']
++ [simple bit 'SIG_1']
+]
+
+[type 'AlarmMessageObjectPushType'
+ [const uint 8 'variableSpec' '0x12']
- [simple uint 8 'lengthspec']
- [simple SyntaxIdType 'syntaxId']
++ [simple uint 8 'lengthspec']
++ [simple SyntaxIdType 'syntaxId']
+ [simple uint 8 'numberOfValues']
+ [simple uint 32 'eventId']
+ [simple State 'eventState']
+ [simple State 'localState']
+ [simple State 'ackStateGoing']
+ [simple State 'ackStateComing']
+ [array AssociatedValueType 'AssociatedValues' count 'numberOfValues' ]
+]
+
+[type 'AlarmMessageAckObjectPushType'
+ [const uint 8 'variableSpec' '0x12']
- [simple uint 8 'lengthspec']
- [simple SyntaxIdType 'syntaxId']
++ [simple uint 8 'lengthspec']
++ [simple SyntaxIdType 'syntaxId']
+ [simple uint 8 'numberOfValues']
+ [simple uint 32 'eventId']
+ [simple State 'ackStateGoing']
+ [simple State 'ackStateComing']
+]
+
+[type 'AlarmMessagePushType'
+ [simple DateAndTime 'TimeStamp']
+ [simple uint 8 'functionId']
+ [simple uint 8 'numberOfObjects']
- [array AlarmMessageObjectPushType 'messageObjects' count 'numberOfObjects' ]
++ [array AlarmMessageObjectPushType 'messageObjects' count 'numberOfObjects' ]
+]
+
+[type 'AlarmMessageAckPushType'
+ [simple DateAndTime 'TimeStamp']
+ [simple uint 8 'functionId']
+ [simple uint 8 'numberOfObjects']
- [array AlarmMessageAckObjectPushType 'messageObjects' count 'numberOfObjects' ]
++ [array AlarmMessageAckObjectPushType 'messageObjects' count 'numberOfObjects' ]
+]
+
+[type 'AlarmMessageObjectQueryType'
- [simple uint 8 'lengthDataset']
++ [simple uint 8 'lengthDataset']
+ [reserved uint 16 '0x0000']
+ [const uint 8 'variableSpec' '0x12']
+ [simple State 'eventState']
+ [simple State 'ackStateGoing']
+ [simple State 'ackStateComing']
+ [simple DateAndTime 'timeComing']
- [simple AssociatedValueType 'valueComing']
++ [simple AssociatedValueType 'valueComing']
+ [simple DateAndTime 'timeGoing']
- [simple AssociatedValueType 'valueGoing']
++ [simple AssociatedValueType 'valueGoing']
+]
+
+[type 'AlarmMessageQueryType'
+ [simple uint 8 'functionId']
+ [simple uint 8 'numberOfObjects']
+ [enum DataTransportErrorCode 'returnCode']
+ [enum DataTransportSize 'transportSize']
+ [const uint 16 'DataLength' '0xFFFF']
- [array AlarmMessageObjectQueryType 'messageObjects' count 'numberOfObjects' ]
++ [array AlarmMessageObjectQueryType 'messageObjects' count 'numberOfObjects' ]
+]
+
+[type 'AlarmMessageObjectAckType'
+ [const uint 8 'variableSpec' '0x12']
- [const uint 8 'length' '0x08']
- [simple SyntaxIdType 'syntaxId']
++ [const uint 8 'length' '0x08']
++ [simple SyntaxIdType 'syntaxId']
+ [simple uint 8 'numberOfValues']
+ [simple uint 32 'eventId']
+ [simple State 'ackStateGoing']
+ [simple State 'ackStateComing']
+]
+
+[type 'AlarmMessageAckType'
+ [simple uint 8 'functionId']
+ [simple uint 8 'numberOfObjects']
- [array AlarmMessageObjectAckType 'messageObjects' count 'numberOfObjects' ]
++ [array AlarmMessageObjectAckType 'messageObjects' count 'numberOfObjects' ]
+]
+
+[type 'AlarmMessageAckResponseType'
+ [simple uint 8 'functionId']
+ [simple uint 8 'numberOfObjects']
- [array uint 8 'messageObjects' count 'numberOfObjects' ]
++ [array uint 8 'messageObjects' count 'numberOfObjects' ]
+]
+
+////////////////////////////////////////////////////////////////
+// DataItem by Function Type:
+// 0x00 PUSH
+// 0x04 TYPE_REQ
+// 0x08 TYPE_RES
+//
+// DataItem by Sub Function Type:
+// 0x01 CPU_READSZL
- // 0x02 CPU_MSGS
++// 0x02 CPU_MSGS
+// 0x03 CPU_DIAGMSG
+// 0x05 ALARM8_IND
+// 0x06 NOTIFY_IND
+// 0x07 ALARM8LOCK
+// 0x08 ALARM8UNLOCK
+// 0x0b ALARMACK
+// 0x0c ALARMACK_IND
+// 0x0d ALARM8LOCK_IND
+// 0x0e ALARM8UNLOCK_IND
+// 0x11 ALARMSQ_IND
+// 0x12 ALARMS_IND
+// 0x13 ALARMQUERY
+// 0x16 NOTIFY8_IND
+////////////////////////////////////////////////////////////////
+
+[discriminatedType 'S7PayloadUserDataItem' [uint 4 'cpuFunctionType', uint 8 'cpuSubfunction']
[enum DataTransportErrorCode 'returnCode']
[enum DataTransportSize 'transportSize']
[implicit uint 16 'dataLength' 'lengthInBytes - 4']
@@@ -464,60 -255,6 +464,60 @@@
[implicit uint 16 'szlItemCount' 'COUNT(items)']
[array SzlDataTreeItem 'items' count 'szlItemCount']
]
+
+ //Subscription to PUSH messages
+ ['0x04', '0x02' S7PayloadUserDataItemCpuFunctionMsgSubscription
+ [simple uint 8 'Subscription']
+ [reserved uint 8 '0x00']
+ [simple string '64' 'UTF-8' 'magicKey']
+ [optional AlarmStateType 'Alarmtype' 'Subscription >= 128']
+ [optional uint 8 'Reserve' 'Subscription >= 128']
+ ]
- ['0x08', '0x02', '0x00' S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse
++ ['0x08', '0x02', '0x00' S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse
+ ]
- ['0x08', '0x02', '0x02' S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse
++ ['0x08', '0x02', '0x02' S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse
+ [simple uint 8 'result']
+ [simple uint 8 'reserved01']
+ ]
- ['0x08', '0x02', '0x05' S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse
++ ['0x08', '0x02', '0x05' S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse
+ [simple uint 8 'result']
+ [simple uint 8 'reserved01']
+ [simple AlarmType 'alarmType']
+ [simple uint 8 'reserved02']
+ [simple uint 8 'reserved03']
+ ]
+
+ //ALARM_ACK Acknowledgment of alarms
+ ['0x04', '0x0b' S7PayloadUserDataItemCpuFunctionAlarmAck
+ [simple uint 8 'functionId']
+ [implicit uint 8 'numberOfObjects' 'COUNT(messageObjects)']
- [array AlarmMessageObjectAckType 'messageObjects' count 'numberOfObjects' ]
++ [array AlarmMessageObjectAckType 'messageObjects' count 'numberOfObjects' ]
+ ]
+ ['0x08', '0x0b' S7PayloadUserDataItemCpuFunctionAlarmAckResponse
+ [simple uint 8 'functionId']
+ [implicit uint 8 'numberOfObjects' 'COUNT(messageObjects)']
- [array uint 8 'messageObjects' count 'numberOfObjects' ]
++ [array uint 8 'messageObjects' count 'numberOfObjects' ]
+ ]
+
+ //ALARM_QUERY Request for alarms stored in the controller
+ ['0x04', '0x13' S7PayloadUserDataItemCpuFunctionAlarmQuery
+ [const uint 8 'functionId' '0x00']
+ [const uint 8 'numberMessageObj' '0x01']
+ [const uint 8 'variableSpec' '0x12']
+ [const uint 8 'length' '0x08']
+ [enum SyntaxIdType 'syntaxId']
+ [reserved uint 8 '0x00']
+ [enum QueryType 'queryType']
+ [reserved uint 8 '0x34']
+ [enum AlarmType 'alarmType']
+ ]
+ ['0x08', '0x13' S7PayloadUserDataItemCpuFunctionAlarmQueryResponse
+ [const uint 8 'functionId' '0x00']
+ [const uint 8 'numberMessageObj' '0x01']
+ [enum DataTransportErrorCode 'pudicfReturnCode']
+ [enum DataTransportSize 'pudicftransportSize']
+ [reserved uint 8 '0x00']
+ ]
]
]
@@@ -779,67 -516,3 +779,66 @@@
['0xA0' DIAGNOSTIC_BUFFER]
['0xB1' MODULE_DIAGNOSTIC_DATA]
]
+
+[enum uint 8 'CpuSubscribeEvents'
+ ['0x01' CPU]
+ ['0x02' IM]
+ ['0x04' FM]
+ ['0x80' CP]
+]
+
+[enum uint 8 'EventType'
+ ['0x01' MODE]
+ ['0x02' SYS]
+ ['0x04' USR]
+ ['0x80' ALM]
+]
+
+[enum uint 8 'SyntaxIdType'
+ ['0x01' S7ANY]
+ ['0x13' PBC_ID]
+ ['0x15' ALARM_LOCKFREESET]
+ ['0x16' ALARM_INDSET]
+ ['0x19' ALARM_ACKSET]
+ ['0x1A' ALARM_QUERYREQSET]
+ ['0x1C' NOTIFY_INDSET]
+ ['0x82' NCK]
+ ['0x83' NCK_METRIC]
+ ['0x84' NCK_INCH]
+ ['0xA2' DRIVEESANY]
+ ['0xB2' SYM1200]
+ ['0xB0' DBREAD]
+]
+
+[enum uint 8 'AlarmType'
+ ['0x01' SCAN]
+ ['0x02' ALARM_8]
+ ['0x04' ALARM_S]
+]
+
+[enum uint 8 'AlarmStateType'
+ ['0x00' SCAN_ABORT]
+ ['0x01' SCAN_INITIATE]
+ ['0x04' ALARM_ABORT]
+ ['0x05' ALARM_INITIATE]
+ ['0x08' ALARM_S_ABORT]
+ ['0x09' ALARM_S_INITIATE]
+]
+
+[enum uint 8 'QueryType'
+ ['0x01' BYALARMTYPE]
+ ['0x02' ALARM_8]
+ ['0x04' ALARM_S]
+]
+
+[enum uint 8 'ModeTransitionType'
+ ['0x00' STOP]
+ ['0x01' WARM_RESTART]
+ ['0x02' RUN]
+ ['0x03' HOT_RESTART]
+ ['0x04' HOLD]
+ ['0x06' COLD_RESTART]
+ ['0x09' RUN_R]
+ ['0x11' LINK_UP]
+ ['0x12' UPDATE]
+]
-