You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by hu...@apache.org on 2021/03/31 08:15:18 UTC

[plc4x] branch develop updated (a507848 -> 003c50b)

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

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


    from a507848  - Fixed the handling of DATE_AND_TIME variants of ADS in Go
     add f42c2f6  Add support for variable strings and enum discriminators.
     add 6479173  Integration test works with existing test protocol.
     add bf60ab7  Cleaned up build-utils integration tests.
     add 9eaf7ac  Compiled the test protocol mspec in C
     add 18355c2  Got enumerator discriminators working for for C
     add 34a3012  Updated C and Go templates
     add 1431989  Updated Enum Discriinator fields for C and Java.
     add 5857e91  Merge branch 'develop' into feature/string_enum_mspec
     add 409d940  Integration test is working in Go, sorting through some failed tests.
     add cfea23f  Minor changes
     add 248ad21  Integration tests working for java,C and Go
     add a83a6f0  Add additional tests to the test.mspec
     add d222598  Commmit before refactoring
     add 1711c17  Refactored the String length expression to a Term.
     add bd4078e  Updated the C branch with the String length expression.
     add 35b8605  Fixed various formatting issues.
     add febb418  Merge branch 'develop' into feature/string_enum_mspec
     add b40f089  Removed the local repository requirements for the build-util modules.
     add 1c311a0  Minor change
     new 003c50b  Merge pull request #230 from apache/feature/string_enum_mspec

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitignore                                         |  11 +
 build-utils/language-base-freemarker/pom.xml       |   6 +
 .../BaseFreemarkerLanguageTemplateHelper.java      |  64 +++-
 build-utils/language-c/pom.xml                     |  35 +-
 .../plc4x/language/c/CLanguageTemplateHelper.java  | 134 ++++----
 .../resources/templates/c/data-io-template-c.ftlh  |  12 +-
 .../resources/templates/c/enum-template-c.ftlh     |   2 +-
 .../resources/templates/c/enum-template-h.ftlh     |   2 +-
 .../resources/templates/c/pojo-template-c.ftlh     | 108 ++++--
 .../resources/templates/c/pojo-template-h.ftlh     |  11 +
 .../resources/integration-test}/CMakeLists.txt     |   8 +-
 .../generated-sources}/CMakeLists.txt              |   4 +-
 .../generated-sources/test}/CMakeLists.txt         |   9 +-
 .../src/test/resources/integration-test/pom.xml    | 378 +++++++++++++++++++++
 .../language-c/src/test/resources/settings.xml     |  59 ++--
 build-utils/language-go/pom.xml                    |  94 ++++-
 .../language/go/GoLanguageTemplateHelper.java      |  45 ++-
 .../resources/templates/go/data-io-template.ftlh   |  10 +-
 .../main/resources/templates/go/enum-template.ftlh |  12 +-
 .../resources/templates/go/model-template.ftlh     | 103 ++++--
 .../language-go/src/test/resources/plc4go}/go.mod  |   5 +-
 .../language-go/src/test/resources/plc4go/pom.xml  | 291 ++++++++++++++++
 .../language-go/src/test/resources/settings.xml    |  59 ++--
 build-utils/language-java/pom.xml                  |  41 ++-
 .../language/java/JavaLanguageTemplateHelper.java  |  35 +-
 .../resources/templates/java/data-io-template.ftlh |  33 +-
 .../resources/templates/java/enum-template.ftlh    |   2 +-
 .../main/resources/templates/java/io-template.ftlh |  75 ++--
 .../resources/templates/java/pojo-template.ftlh    |  40 ++-
 .../src/test/resources/integration-test/pom.xml    | 205 +++++++++++
 .../language-java/src/test/resources/settings.xml  |  59 ++--
 build-utils/pom.xml                                |  23 +-
 .../plugins/codegenerator/language/mspec/MSpec.g4  |  14 +-
 .../definitions/DefaultDataIoTypeDefinition.java   |   7 +
 .../mspec/parser/MessageFormatListener.java        |  12 +-
 .../mspec/parser/MessageFormatParserTest.java      |   3 +
 .../src/test/resources/mspec.example               |  47 +--
 build-utils/protocol-test/pom.xml                  | 176 ++++++++--
 .../src/main/resources/protocols/test/test.mspec   | 340 ++++++++++++++++--
 .../protocol-test/src/site/asciidoc/index.adoc     |   4 +
 go.mod                                             |   5 +
 plc4go/go.sum => go.sum                            |  58 ++--
 .../internal/plc4go/ads/readwrite/model/AdsData.go |  40 +--
 .../ads/readwrite/model/AdsMultiRequestItem.go     |   6 +-
 .../plc4go/ads/readwrite/model/AdsReadResponse.go  |   1 +
 .../ads/readwrite/model/AdsReadWriteRequest.go     |   1 +
 .../ads/readwrite/model/AdsReadWriteResponse.go    |   1 +
 .../ads/readwrite/model/AdsWriteControlRequest.go  |   1 +
 .../plc4go/ads/readwrite/model/AdsWriteRequest.go  |   1 +
 .../plc4go/ads/readwrite/model/AmsPacket.go        |   3 +-
 .../plc4go/ads/readwrite/model/AmsTCPPacket.go     |   3 +-
 .../plc4go/bacnetip/readwrite/model/APDU.go        |  18 +-
 .../readwrite/model/BACnetConfirmedServiceACK.go   |  30 +-
 .../model/BACnetConfirmedServiceRequest.go         |  64 ++--
 ...firmedServiceRequestConfirmedCOVNotification.go |  14 +-
 .../BACnetConfirmedServiceRequestReadProperty.go   |   6 +-
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |  12 +-
 .../BACnetConfirmedServiceRequestWriteProperty.go  |  10 +-
 .../plc4go/bacnetip/readwrite/model/BACnetError.go |  30 +-
 .../readwrite/model/BACnetErrorReadProperty.go     |   6 +-
 .../bacnetip/readwrite/model/BACnetServiceAck.go   |  30 +-
 .../model/BACnetServiceAckReadProperty.go          |  10 +-
 .../plc4go/bacnetip/readwrite/model/BACnetTag.go   |  30 +-
 .../readwrite/model/BACnetTagWithContent.go        |   6 +-
 .../model/BACnetUnconfirmedServiceRequest.go       |  26 +-
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |  10 +-
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |  10 +-
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |   9 +-
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |   6 +-
 .../plc4go/bacnetip/readwrite/model/BVLC.go        |  33 +-
 .../plc4go/bacnetip/readwrite/model/NLM.go         |   6 +-
 .../plc4go/knxnetip/readwrite/model/Apdu.go        |   6 +-
 .../plc4go/knxnetip/readwrite/model/ApduControl.go |  10 +-
 .../plc4go/knxnetip/readwrite/model/ApduData.go    |  34 +-
 .../plc4go/knxnetip/readwrite/model/ApduDataExt.go |  84 ++---
 .../ApduDataExtPropertyDescriptionResponse.go      |   2 +-
 .../readwrite/model/ApduDataMemoryResponse.go      |   1 +
 .../plc4go/knxnetip/readwrite/model/CEMI.go        |  48 +--
 .../readwrite/model/CEMIAdditionalInformation.go   |   6 +-
 .../CEMIAdditionalInformationBusmonitorInfo.go     |   4 +-
 .../CEMIAdditionalInformationRelativeTimestamp.go  |   4 +-
 .../knxnetip/readwrite/model/ComObjectTable.go     |   6 +-
 .../model/ConnectionRequestInformation.go          |   9 +-
 .../readwrite/model/ConnectionResponseDataBlock.go |   9 +-
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      |   3 +-
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |   1 +
 .../model/DeviceConfigurationAckDataBlock.go       |   3 +-
 .../model/DeviceConfigurationRequestDataBlock.go   |   3 +-
 .../readwrite/model/HPAIControlEndpoint.go         |   3 +-
 .../knxnetip/readwrite/model/HPAIDataEndpoint.go   |   3 +-
 .../readwrite/model/HPAIDiscoveryEndpoint.go       |   3 +-
 .../knxnetip/readwrite/model/KnxDatapoint.go       |  20 +-
 .../knxnetip/readwrite/model/KnxGroupAddress.go    |   6 +-
 .../knxnetip/readwrite/model/KnxNetIpMessage.go    |  42 +--
 .../readwrite/model/KnxPropertyDataType.go         |   6 +-
 .../knxnetip/readwrite/model/LDataExtended.go      |   1 +
 .../plc4go/knxnetip/readwrite/model/LDataFrame.go  |  10 +-
 .../plc4go/knxnetip/readwrite/model/ServiceId.go   |  16 +-
 .../readwrite/model/TunnelingRequestDataBlock.go   |   3 +-
 .../readwrite/model/TunnelingResponseDataBlock.go  |   3 +-
 .../modbus/readwrite/model/ModbusConstants.go      |   4 +-
 .../plc4go/modbus/readwrite/model/ModbusPDU.go     |  82 ++---
 .../model/ModbusPDUGetComEventLogResponse.go       |   1 +
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |   1 +
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |   1 +
 .../model/ModbusPDUReadFifoQueueResponse.go        |   4 +-
 .../model/ModbusPDUReadFileRecordRequest.go        |   1 +
 .../model/ModbusPDUReadFileRecordResponse.go       |   1 +
 .../model/ModbusPDUReadFileRecordResponseItem.go   |   1 +
 .../model/ModbusPDUReadHoldingRegistersResponse.go |   1 +
 .../model/ModbusPDUReadInputRegistersResponse.go   |   1 +
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |   1 +
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |   1 +
 .../model/ModbusPDUReportServerIdResponse.go       |   1 +
 .../model/ModbusPDUWriteFileRecordRequest.go       |   1 +
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |   1 +
 .../model/ModbusPDUWriteFileRecordResponse.go      |   1 +
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |   1 +
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |   1 +
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |   1 +
 .../plc4go/modbus/readwrite/model/ModbusTcpADU.go  |   7 +-
 .../plc4go/s7/readwrite/model/COTPPacket.go        |  15 +-
 .../plc4go/s7/readwrite/model/COTPParameter.go     |  15 +-
 .../plc4go/s7/readwrite/model/S7Address.go         |   4 +-
 .../plc4go/s7/readwrite/model/S7Message.go         |  16 +-
 .../plc4go/s7/readwrite/model/S7Parameter.go       |  14 +-
 .../readwrite/model/S7ParameterReadVarRequest.go   |   1 +
 .../s7/readwrite/model/S7ParameterUserData.go      |   1 +
 .../s7/readwrite/model/S7ParameterUserDataItem.go  |   4 +-
 .../model/S7ParameterUserDataItemCPUFunctions.go   |   3 +-
 .../readwrite/model/S7ParameterWriteVarRequest.go  |   1 +
 .../plc4go/s7/readwrite/model/S7Payload.go         |   8 +-
 .../s7/readwrite/model/S7PayloadUserDataItem.go    |   7 +-
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |   5 +-
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |   1 +
 .../readwrite/model/S7VarRequestParameterItem.go   |   4 +-
 .../model/S7VarRequestParameterItemAddress.go      |   3 +-
 .../plc4go/s7/readwrite/model/TPKTPacket.go        |   5 +-
 plc4go/internal/plc4go/spi/utils/ReadBuffer.go     |   2 +-
 pom.xml                                            |  13 +-
 .../resources/protocols/ads/ads-discovery.mspec    |   8 +-
 .../ads/src/main/resources/protocols/ads/ads.mspec |  53 +--
 .../src/main/resources/protocols/can/canopen.mspec | 111 +++---
 .../resources/protocols/knxnetip/knxnetip.mspec    | 168 ++++-----
 protocols/knxnetip/src/main/xslt/knx-types.xsl     | 134 ++++----
 .../main/resources/protocols/modbus/modbus.mspec   |  68 ++--
 .../src/main/resources/protocols/opcua/opcua.mspec |   4 +-
 .../s7/src/main/resources/protocols/s7/s7.mspec    |  66 ++--
 .../resources/protocols/simulated/simulated.mspec  |   8 +-
 sandbox/plc4c/CMakeLists.txt                       |   2 +-
 .../examples/hello-world-modbus/CMakeLists.txt     |   1 +
 .../generated-sources/modbus/include/modbus_pdu.h  |   2 +-
 .../plc4c/generated-sources/modbus/src/data_item.c |  72 ++--
 .../generated-sources/modbus/src/modbus_pdu.c      |  13 +-
 .../generated-sources/s7/include/cotp_packet.h     |   2 +-
 .../generated-sources/s7/include/s7_address.h      |   2 +-
 .../s7/include/s7_parameter_user_data_item.h       |   4 +-
 .../s7/include/s7_payload_user_data_item.h         |   4 +-
 .../plc4c/generated-sources/s7/include/szl_id.h    |   2 +-
 .../plc4c/generated-sources/s7/src/cotp_packet.c   |   8 +-
 .../generated-sources/s7/src/cotp_parameter.c      |   6 +-
 sandbox/plc4c/generated-sources/s7/src/data_item.c |  52 +--
 .../plc4c/generated-sources/s7/src/s7_address.c    |  10 +-
 .../plc4c/generated-sources/s7/src/s7_message.c    |   6 +-
 .../plc4c/generated-sources/s7/src/s7_parameter.c  |   6 +-
 .../s7/src/s7_parameter_user_data_item.c           |  10 +-
 .../plc4c/generated-sources/s7/src/s7_payload.c    |   1 +
 .../s7/src/s7_payload_user_data_item.c             |   3 +-
 .../s7/src/s7_var_request_parameter_item.c         |   6 +-
 sandbox/plc4c/generated-sources/s7/src/szl_id.c    |   2 +-
 .../transports/tcp/include/plc4c/transport_tcp.h   |   6 +
 171 files changed, 3172 insertions(+), 1317 deletions(-)
 copy {sandbox/plc4c => build-utils/language-c/src/test/resources/integration-test}/CMakeLists.txt (94%)
 copy {sandbox/plc4cpp/integrations/edgex-foundry => build-utils/language-c/src/test/resources/integration-test/generated-sources}/CMakeLists.txt (95%)
 copy {sandbox/plc4c/transports/serial => build-utils/language-c/src/test/resources/integration-test/generated-sources/test}/CMakeLists.txt (65%)
 create mode 100644 build-utils/language-c/src/test/resources/integration-test/pom.xml
 copy tools/pom.xml => build-utils/language-c/src/test/resources/settings.xml (52%)
 copy {plc4go => build-utils/language-go/src/test/resources/plc4go}/go.mod (86%)
 create mode 100644 build-utils/language-go/src/test/resources/plc4go/pom.xml
 copy tools/pom.xml => build-utils/language-go/src/test/resources/settings.xml (52%)
 create mode 100644 build-utils/language-java/src/test/resources/integration-test/pom.xml
 copy tools/pom.xml => build-utils/language-java/src/test/resources/settings.xml (52%)
 copy plc4go/go.sum => go.sum (63%)

[plc4x] 01/01: Merge pull request #230 from apache/feature/string_enum_mspec

Posted by hu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hutcheb pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 003c50ba4f7eb31c1402e2c55b86c8895bb6f713
Merge: a507848 1c311a0
Author: hutcheb <be...@gmail.com>
AuthorDate: Wed Mar 31 04:15:11 2021 -0400

    Merge pull request #230 from apache/feature/string_enum_mspec
    
    Feature/string enum mspec

 .gitignore                                         |  11 +
 build-utils/language-base-freemarker/pom.xml       |   6 +
 .../BaseFreemarkerLanguageTemplateHelper.java      |  64 +++-
 build-utils/language-c/pom.xml                     |  35 +-
 .../plc4x/language/c/CLanguageTemplateHelper.java  | 134 ++++----
 .../resources/templates/c/data-io-template-c.ftlh  |  12 +-
 .../resources/templates/c/enum-template-c.ftlh     |   2 +-
 .../resources/templates/c/enum-template-h.ftlh     |   2 +-
 .../resources/templates/c/pojo-template-c.ftlh     | 108 ++++--
 .../resources/templates/c/pojo-template-h.ftlh     |  11 +
 .../resources/integration-test}/CMakeLists.txt     |   8 +-
 .../generated-sources}/CMakeLists.txt              |  23 +-
 .../generated-sources/test}/CMakeLists.txt         |  29 +-
 .../src/test/resources/integration-test/pom.xml    | 378 +++++++++++++++++++++
 .../language-c/src/test/resources/settings.xml     |  51 +++
 build-utils/language-go/pom.xml                    |  94 ++++-
 .../language/go/GoLanguageTemplateHelper.java      |  45 ++-
 .../resources/templates/go/data-io-template.ftlh   |  10 +-
 .../main/resources/templates/go/enum-template.ftlh |  12 +-
 .../resources/templates/go/model-template.ftlh     | 103 ++++--
 .../language-go/src/test/resources/plc4go/go.mod   |  11 +-
 .../language-go/src/test/resources/plc4go/pom.xml  | 291 ++++++++++++++++
 .../language-go/src/test/resources/settings.xml    |  51 +++
 build-utils/language-java/pom.xml                  |  41 ++-
 .../language/java/JavaLanguageTemplateHelper.java  |  35 +-
 .../resources/templates/java/data-io-template.ftlh |  33 +-
 .../resources/templates/java/enum-template.ftlh    |   2 +-
 .../main/resources/templates/java/io-template.ftlh |  75 ++--
 .../resources/templates/java/pojo-template.ftlh    |  40 ++-
 .../src/test/resources/integration-test/pom.xml    | 205 +++++++++++
 .../language-java/src/test/resources/settings.xml  |  51 +++
 build-utils/pom.xml                                |  23 +-
 .../plugins/codegenerator/language/mspec/MSpec.g4  |  14 +-
 .../definitions/DefaultDataIoTypeDefinition.java   |   7 +
 .../mspec/parser/MessageFormatListener.java        |  12 +-
 .../mspec/parser/MessageFormatParserTest.java      |   3 +
 .../src/test/resources/mspec.example               |  47 +--
 build-utils/protocol-test/pom.xml                  | 176 ++++++++--
 .../src/main/resources/protocols/test/test.mspec   | 340 ++++++++++++++++--
 .../protocol-test/src/site/asciidoc/index.adoc     |   4 +
 go.mod                                             |   5 +
 go.sum                                             |  79 +++++
 .../internal/plc4go/ads/readwrite/model/AdsData.go |  40 +--
 .../ads/readwrite/model/AdsMultiRequestItem.go     |   6 +-
 .../plc4go/ads/readwrite/model/AdsReadResponse.go  |   1 +
 .../ads/readwrite/model/AdsReadWriteRequest.go     |   1 +
 .../ads/readwrite/model/AdsReadWriteResponse.go    |   1 +
 .../ads/readwrite/model/AdsWriteControlRequest.go  |   1 +
 .../plc4go/ads/readwrite/model/AdsWriteRequest.go  |   1 +
 .../plc4go/ads/readwrite/model/AmsPacket.go        |   3 +-
 .../plc4go/ads/readwrite/model/AmsTCPPacket.go     |   3 +-
 .../plc4go/bacnetip/readwrite/model/APDU.go        |  18 +-
 .../readwrite/model/BACnetConfirmedServiceACK.go   |  30 +-
 .../model/BACnetConfirmedServiceRequest.go         |  64 ++--
 ...firmedServiceRequestConfirmedCOVNotification.go |  14 +-
 .../BACnetConfirmedServiceRequestReadProperty.go   |   6 +-
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |  12 +-
 .../BACnetConfirmedServiceRequestWriteProperty.go  |  10 +-
 .../plc4go/bacnetip/readwrite/model/BACnetError.go |  30 +-
 .../readwrite/model/BACnetErrorReadProperty.go     |   6 +-
 .../bacnetip/readwrite/model/BACnetServiceAck.go   |  30 +-
 .../model/BACnetServiceAckReadProperty.go          |  10 +-
 .../plc4go/bacnetip/readwrite/model/BACnetTag.go   |  30 +-
 .../readwrite/model/BACnetTagWithContent.go        |   6 +-
 .../model/BACnetUnconfirmedServiceRequest.go       |  26 +-
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |  10 +-
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |  10 +-
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |   9 +-
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |   6 +-
 .../plc4go/bacnetip/readwrite/model/BVLC.go        |  33 +-
 .../plc4go/bacnetip/readwrite/model/NLM.go         |   6 +-
 .../plc4go/knxnetip/readwrite/model/Apdu.go        |   6 +-
 .../plc4go/knxnetip/readwrite/model/ApduControl.go |  10 +-
 .../plc4go/knxnetip/readwrite/model/ApduData.go    |  34 +-
 .../plc4go/knxnetip/readwrite/model/ApduDataExt.go |  84 ++---
 .../ApduDataExtPropertyDescriptionResponse.go      |   2 +-
 .../readwrite/model/ApduDataMemoryResponse.go      |   1 +
 .../plc4go/knxnetip/readwrite/model/CEMI.go        |  48 +--
 .../readwrite/model/CEMIAdditionalInformation.go   |   6 +-
 .../CEMIAdditionalInformationBusmonitorInfo.go     |   4 +-
 .../CEMIAdditionalInformationRelativeTimestamp.go  |   4 +-
 .../knxnetip/readwrite/model/ComObjectTable.go     |   6 +-
 .../model/ConnectionRequestInformation.go          |   9 +-
 .../readwrite/model/ConnectionResponseDataBlock.go |   9 +-
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      |   3 +-
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |   1 +
 .../model/DeviceConfigurationAckDataBlock.go       |   3 +-
 .../model/DeviceConfigurationRequestDataBlock.go   |   3 +-
 .../readwrite/model/HPAIControlEndpoint.go         |   3 +-
 .../knxnetip/readwrite/model/HPAIDataEndpoint.go   |   3 +-
 .../readwrite/model/HPAIDiscoveryEndpoint.go       |   3 +-
 .../knxnetip/readwrite/model/KnxDatapoint.go       |  20 +-
 .../knxnetip/readwrite/model/KnxGroupAddress.go    |   6 +-
 .../knxnetip/readwrite/model/KnxNetIpMessage.go    |  42 +--
 .../readwrite/model/KnxPropertyDataType.go         |   6 +-
 .../knxnetip/readwrite/model/LDataExtended.go      |   1 +
 .../plc4go/knxnetip/readwrite/model/LDataFrame.go  |  10 +-
 .../plc4go/knxnetip/readwrite/model/ServiceId.go   |  16 +-
 .../readwrite/model/TunnelingRequestDataBlock.go   |   3 +-
 .../readwrite/model/TunnelingResponseDataBlock.go  |   3 +-
 .../modbus/readwrite/model/ModbusConstants.go      |   4 +-
 .../plc4go/modbus/readwrite/model/ModbusPDU.go     |  82 ++---
 .../model/ModbusPDUGetComEventLogResponse.go       |   1 +
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |   1 +
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |   1 +
 .../model/ModbusPDUReadFifoQueueResponse.go        |   4 +-
 .../model/ModbusPDUReadFileRecordRequest.go        |   1 +
 .../model/ModbusPDUReadFileRecordResponse.go       |   1 +
 .../model/ModbusPDUReadFileRecordResponseItem.go   |   1 +
 .../model/ModbusPDUReadHoldingRegistersResponse.go |   1 +
 .../model/ModbusPDUReadInputRegistersResponse.go   |   1 +
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |   1 +
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |   1 +
 .../model/ModbusPDUReportServerIdResponse.go       |   1 +
 .../model/ModbusPDUWriteFileRecordRequest.go       |   1 +
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |   1 +
 .../model/ModbusPDUWriteFileRecordResponse.go      |   1 +
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |   1 +
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |   1 +
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |   1 +
 .../plc4go/modbus/readwrite/model/ModbusTcpADU.go  |   7 +-
 .../plc4go/s7/readwrite/model/COTPPacket.go        |  15 +-
 .../plc4go/s7/readwrite/model/COTPParameter.go     |  15 +-
 .../plc4go/s7/readwrite/model/S7Address.go         |   4 +-
 .../plc4go/s7/readwrite/model/S7Message.go         |  16 +-
 .../plc4go/s7/readwrite/model/S7Parameter.go       |  14 +-
 .../readwrite/model/S7ParameterReadVarRequest.go   |   1 +
 .../s7/readwrite/model/S7ParameterUserData.go      |   1 +
 .../s7/readwrite/model/S7ParameterUserDataItem.go  |   4 +-
 .../model/S7ParameterUserDataItemCPUFunctions.go   |   3 +-
 .../readwrite/model/S7ParameterWriteVarRequest.go  |   1 +
 .../plc4go/s7/readwrite/model/S7Payload.go         |   8 +-
 .../s7/readwrite/model/S7PayloadUserDataItem.go    |   7 +-
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |   5 +-
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |   1 +
 .../readwrite/model/S7VarRequestParameterItem.go   |   4 +-
 .../model/S7VarRequestParameterItemAddress.go      |   3 +-
 .../plc4go/s7/readwrite/model/TPKTPacket.go        |   5 +-
 plc4go/internal/plc4go/spi/utils/ReadBuffer.go     |   2 +-
 pom.xml                                            |  13 +-
 .../resources/protocols/ads/ads-discovery.mspec    |   8 +-
 .../ads/src/main/resources/protocols/ads/ads.mspec |  53 +--
 .../src/main/resources/protocols/can/canopen.mspec | 111 +++---
 .../resources/protocols/knxnetip/knxnetip.mspec    | 168 ++++-----
 protocols/knxnetip/src/main/xslt/knx-types.xsl     | 134 ++++----
 .../main/resources/protocols/modbus/modbus.mspec   |  68 ++--
 .../src/main/resources/protocols/opcua/opcua.mspec |   4 +-
 .../s7/src/main/resources/protocols/s7/s7.mspec    |  66 ++--
 .../resources/protocols/simulated/simulated.mspec  |   8 +-
 sandbox/plc4c/CMakeLists.txt                       |   2 +-
 .../examples/hello-world-modbus/CMakeLists.txt     |   1 +
 .../generated-sources/modbus/include/modbus_pdu.h  |   2 +-
 .../plc4c/generated-sources/modbus/src/data_item.c |  72 ++--
 .../generated-sources/modbus/src/modbus_pdu.c      |  13 +-
 .../generated-sources/s7/include/cotp_packet.h     |   2 +-
 .../generated-sources/s7/include/s7_address.h      |   2 +-
 .../s7/include/s7_parameter_user_data_item.h       |   4 +-
 .../s7/include/s7_payload_user_data_item.h         |   4 +-
 .../plc4c/generated-sources/s7/include/szl_id.h    |   2 +-
 .../plc4c/generated-sources/s7/src/cotp_packet.c   |   8 +-
 .../generated-sources/s7/src/cotp_parameter.c      |   6 +-
 sandbox/plc4c/generated-sources/s7/src/data_item.c |  52 +--
 .../plc4c/generated-sources/s7/src/s7_address.c    |  10 +-
 .../plc4c/generated-sources/s7/src/s7_message.c    |   6 +-
 .../plc4c/generated-sources/s7/src/s7_parameter.c  |   6 +-
 .../s7/src/s7_parameter_user_data_item.c           |  10 +-
 .../plc4c/generated-sources/s7/src/s7_payload.c    |   1 +
 .../s7/src/s7_payload_user_data_item.c             |   3 +-
 .../s7/src/s7_var_request_parameter_item.c         |   6 +-
 sandbox/plc4c/generated-sources/s7/src/szl_id.c    |   2 +-
 .../transports/tcp/include/plc4c/transport_tcp.h   |   6 +
 171 files changed, 3305 insertions(+), 1226 deletions(-)

diff --cc build-utils/language-java/src/main/resources/templates/java/data-io-template.ftlh
index 3fe784c,9cd0307..bde0f7e
--- a/build-utils/language-java/src/main/resources/templates/java/data-io-template.ftlh
+++ b/build-utils/language-java/src/main/resources/templates/java/data-io-template.ftlh
@@@ -196,17 -197,12 +197,17 @@@ public class ${type.name}IO 
  
                          <#if helper.isEnumField(field)>
              // Enum field (${field.name})
-             ${helper.getNonPrimitiveLanguageTypeNameForField(field)} ${field.name} = ${helper.getNonPrimitiveLanguageTypeNameForField(field)}.enumForValue(${helper.getReadBufferReadMethodCall(helper.getEnumBaseTypeReference(field.type))});
+             ${helper.getNonPrimitiveLanguageTypeNameForField(field)} ${field.name} = ${helper.getNonPrimitiveLanguageTypeNameForField(field)}.enumForValue(${helper.getReadBufferReadMethodCall(helper.getEnumBaseTypeReference(field.type), "", field)});
                          <#else>
              // Simple Field (${field.name})
-             ${helper.getNonPrimitiveLanguageTypeNameForField(field)} ${field.name} = <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)}<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<#sep>, </#se [...]
+             ${helper.getNonPrimitiveLanguageTypeNameForField(field)} ${field.name} = <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type, "", field)}<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<# [...]
                          </#if>
 -                        <#if case.name == "Struct" || ((case.name == "DATE_AND_TIME") && ((field.name == "year") || (field.name == "month") || (field.name == "day") || (field.name == "hour") || (field.name == "minutes") || (field.name == "seconds"))) || ((case.name == "DATE") && ((field.name == "year") || (field.name == "month") || (field.name == "day"))) || ((case.name == "TIME_OF_DAY") && ((field.name == "hour") || (field.name == "minutes") || (field.name == "seconds"))) || field.name [...]
 +                        <#if case.name == "Struct" ||
 +                            ((case.name == "DATE_AND_TIME") && ((field.name == "year") || (field.name == "month") || (field.name == "day") || (field.name == "hour") || (field.name == "minutes") || (field.name == "seconds"))) ||
 +                            ((case.name == "DATE_AND_TIME") && (field.name == "secondsSinceEpoch")) ||
 +                            ((case.name == "DATE") && ((field.name == "year") || (field.name == "month") || (field.name == "day"))) ||
 +                            ((case.name == "TIME_OF_DAY") && ((field.name == "hour") || (field.name == "minutes") || (field.name == "seconds"))) ||
 +                            field.name == "value">
                              <#assign valueDefined=true>
                          </#if>
                      <#break>