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 2020/11/09 12:11:51 UTC
[plc4x] 03/04: - Continued implementing the Go KNX driver
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/plc4go
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit cd5ddc4c6e3bffd1151f1d30c0b09e99d12fca3b
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sun Nov 8 17:14:31 2020 +0100
- Continued implementing the Go KNX driver
---
.../knxnetip/ParserSerializerTestsuite.xml | 42 +-
plc4go/cmd/main/drivers/bacnetip_test.go | 4 +-
plc4go/cmd/main/drivers/knxnetip_test.go | 100 +-
plc4go/cmd/main/drivers/modbus_test.go | 10 +-
plc4go/cmd/main/drivers/s7_test.go | 4 +-
.../cmd/main/drivers/tests/modbus_driver_test.go | 4 +-
.../drivers/tests/modbus_parser_serializer_test.go | 2 +-
plc4go/examples/read/hello_world_plc4go_read.go | 10 +-
plc4go/examples/write/hello_world_plc4go_write.go | 10 +-
plc4go/go.mod | 2 +-
plc4go/internal/plc4go/bacnetip/BacnetIpDriver.go | 2 +-
.../plc4go/bacnetip/readwrite/ParserHelper.go | 6 +-
.../plc4go/bacnetip/readwrite/XmlParserHelper.go | 4 +-
.../plc4go/bacnetip/readwrite/model/APDU.go | 2 +-
.../plc4go/bacnetip/readwrite/model/APDUAbort.go | 2 +-
.../bacnetip/readwrite/model/APDUComplexAck.go | 2 +-
.../readwrite/model/APDUConfirmedRequest.go | 2 +-
.../plc4go/bacnetip/readwrite/model/APDUError.go | 2 +-
.../plc4go/bacnetip/readwrite/model/APDUReject.go | 2 +-
.../bacnetip/readwrite/model/APDUSegmentAck.go | 2 +-
.../bacnetip/readwrite/model/APDUSimpleAck.go | 2 +-
.../readwrite/model/APDUUnconfirmedRequest.go | 2 +-
.../bacnetip/readwrite/model/ApplicationTag.go | 2 +-
.../bacnetip/readwrite/model/BACnetAddress.go | 2 +-
.../readwrite/model/BACnetConfirmedServiceACK.go | 2 +-
.../BACnetConfirmedServiceACKAtomicReadFile.go | 2 +-
.../BACnetConfirmedServiceACKAtomicWriteFile.go | 2 +-
...tConfirmedServiceACKConfirmedPrivateTransfer.go | 2 +-
.../model/BACnetConfirmedServiceACKCreateObject.go | 2 +-
.../BACnetConfirmedServiceACKGetAlarmSummary.go | 2 +-
...ACnetConfirmedServiceACKGetEnrollmentSummary.go | 2 +-
...BACnetConfirmedServiceACKGetEventInformation.go | 2 +-
.../model/BACnetConfirmedServiceACKReadProperty.go | 2 +-
...ACnetConfirmedServiceACKReadPropertyMultiple.go | 2 +-
.../model/BACnetConfirmedServiceACKReadRange.go | 2 +-
...BACnetConfirmedServiceACKRemovedAuthenticate.go | 2 +-
...rmedServiceACKRemovedReadPropertyConditional.go | 2 +-
.../model/BACnetConfirmedServiceACKVTData.go | 2 +-
.../model/BACnetConfirmedServiceACKVTOpen.go | 2 +-
.../model/BACnetConfirmedServiceRequest.go | 2 +-
...ACnetConfirmedServiceRequestAcknowledgeAlarm.go | 2 +-
.../BACnetConfirmedServiceRequestAddListElement.go | 2 +-
.../BACnetConfirmedServiceRequestAtomicReadFile.go | 2 +-
...BACnetConfirmedServiceRequestAtomicWriteFile.go | 2 +-
...firmedServiceRequestConfirmedCOVNotification.go | 2 +-
...rviceRequestConfirmedCOVNotificationMultiple.go | 2 +-
...rmedServiceRequestConfirmedEventNotification.go | 2 +-
...firmedServiceRequestConfirmedPrivateTransfer.go | 2 +-
...tConfirmedServiceRequestConfirmedTextMessage.go | 2 +-
.../BACnetConfirmedServiceRequestCreateObject.go | 2 +-
.../BACnetConfirmedServiceRequestDeleteObject.go | 2 +-
...rmedServiceRequestDeviceCommunicationControl.go | 2 +-
...tConfirmedServiceRequestGetEnrollmentSummary.go | 2 +-
...etConfirmedServiceRequestGetEventInformation.go | 2 +-
...etConfirmedServiceRequestLifeSafetyOperation.go | 2 +-
.../BACnetConfirmedServiceRequestReadProperty.go | 2 +-
...tConfirmedServiceRequestReadPropertyMultiple.go | 2 +-
.../BACnetConfirmedServiceRequestReadRange.go | 2 +-
...netConfirmedServiceRequestReinitializeDevice.go | 2 +-
...CnetConfirmedServiceRequestRemoveListElement.go | 2 +-
...etConfirmedServiceRequestRemovedAuthenticate.go | 2 +-
...ServiceRequestRemovedReadPropertyConditional.go | 2 +-
...CnetConfirmedServiceRequestRemovedRequestKey.go | 2 +-
.../BACnetConfirmedServiceRequestSubscribeCOV.go | 2 +-
...tConfirmedServiceRequestSubscribeCOVProperty.go | 2 +-
...edServiceRequestSubscribeCOVPropertyMultiple.go | 2 +-
.../model/BACnetConfirmedServiceRequestVTClose.go | 2 +-
.../model/BACnetConfirmedServiceRequestVTData.go | 2 +-
.../model/BACnetConfirmedServiceRequestVTOpen.go | 2 +-
.../BACnetConfirmedServiceRequestWriteProperty.go | 2 +-
...ConfirmedServiceRequestWritePropertyMultiple.go | 2 +-
.../plc4go/bacnetip/readwrite/model/BACnetError.go | 2 +-
.../readwrite/model/BACnetErrorAtomicReadFile.go | 2 +-
.../readwrite/model/BACnetErrorAtomicWriteFile.go | 2 +-
.../model/BACnetErrorConfirmedPrivateTransfer.go | 2 +-
.../readwrite/model/BACnetErrorCreateObject.go | 2 +-
.../readwrite/model/BACnetErrorGetAlarmSummary.go | 2 +-
.../model/BACnetErrorGetEnrollmentSummary.go | 2 +-
.../model/BACnetErrorGetEventInformation.go | 2 +-
.../readwrite/model/BACnetErrorReadProperty.go | 2 +-
.../model/BACnetErrorReadPropertyMultiple.go | 2 +-
.../readwrite/model/BACnetErrorReadRange.go | 2 +-
.../model/BACnetErrorRemovedAuthenticate.go | 2 +-
.../BACnetErrorRemovedReadPropertyConditional.go | 2 +-
.../bacnetip/readwrite/model/BACnetErrorVTData.go | 2 +-
.../bacnetip/readwrite/model/BACnetErrorVTOpen.go | 2 +-
.../bacnetip/readwrite/model/BACnetNetworkType.go | 2 +-
.../bacnetip/readwrite/model/BACnetNodeType.go | 2 +-
.../bacnetip/readwrite/model/BACnetNotifyType.go | 2 +-
.../bacnetip/readwrite/model/BACnetObjectType.go | 2 +-
.../bacnetip/readwrite/model/BACnetServiceAck.go | 2 +-
.../model/BACnetServiceAckAtomicReadFile.go | 2 +-
.../model/BACnetServiceAckAtomicWriteFile.go | 2 +-
.../BACnetServiceAckConfirmedPrivateTransfer.go | 2 +-
.../model/BACnetServiceAckCreateObject.go | 2 +-
.../model/BACnetServiceAckGetAlarmSummary.go | 2 +-
.../model/BACnetServiceAckGetEnrollmentSummary.go | 2 +-
.../model/BACnetServiceAckGetEventInformation.go | 2 +-
.../model/BACnetServiceAckReadProperty.go | 2 +-
.../model/BACnetServiceAckReadPropertyMultiple.go | 2 +-
.../readwrite/model/BACnetServiceAckReadRange.go | 2 +-
.../model/BACnetServiceAckRemovedAuthenticate.go | 2 +-
...CnetServiceAckRemovedReadPropertyConditional.go | 2 +-
.../readwrite/model/BACnetServiceAckVTData.go | 2 +-
.../readwrite/model/BACnetServiceAckVTOpen.go | 2 +-
.../plc4go/bacnetip/readwrite/model/BACnetTag.go | 2 +-
.../model/BACnetTagApplicationBitString.go | 2 +-
.../readwrite/model/BACnetTagApplicationBoolean.go | 2 +-
.../model/BACnetTagApplicationCharacterString.go | 2 +-
.../readwrite/model/BACnetTagApplicationDate.go | 2 +-
.../readwrite/model/BACnetTagApplicationDouble.go | 2 +-
.../model/BACnetTagApplicationEnumerated.go | 2 +-
.../readwrite/model/BACnetTagApplicationNull.go | 2 +-
.../model/BACnetTagApplicationObjectIdentifier.go | 2 +-
.../model/BACnetTagApplicationOctetString.go | 2 +-
.../readwrite/model/BACnetTagApplicationReal.go | 2 +-
.../model/BACnetTagApplicationSignedInteger.go | 2 +-
.../readwrite/model/BACnetTagApplicationTime.go | 2 +-
.../model/BACnetTagApplicationUnsignedInteger.go | 2 +-
.../bacnetip/readwrite/model/BACnetTagContext.go | 2 +-
.../readwrite/model/BACnetTagWithContent.go | 2 +-
.../model/BACnetUnconfirmedServiceRequest.go | 2 +-
.../model/BACnetUnconfirmedServiceRequestIAm.go | 2 +-
.../model/BACnetUnconfirmedServiceRequestIHave.go | 2 +-
...UnconfirmedServiceRequestTimeSynchronization.go | 2 +-
...onfirmedServiceRequestUTCTimeSynchronization.go | 2 +-
...rmedServiceRequestUnconfirmedCOVNotification.go | 2 +-
...iceRequestUnconfirmedCOVNotificationMultiple.go | 2 +-
...edServiceRequestUnconfirmedEventNotification.go | 2 +-
...rmedServiceRequestUnconfirmedPrivateTransfer.go | 2 +-
...onfirmedServiceRequestUnconfirmedTextMessage.go | 2 +-
.../model/BACnetUnconfirmedServiceRequestWhoHas.go | 2 +-
.../model/BACnetUnconfirmedServiceRequestWhoIs.go | 2 +-
.../BACnetUnconfirmedServiceRequestWriteGroup.go | 2 +-
.../plc4go/bacnetip/readwrite/model/BVLC.go | 2 +-
.../model/BVLCDeleteForeignDeviceTableEntry.go | 2 +-
.../model/BVLCDistributeBroadcastToNetwork.go | 2 +-
.../bacnetip/readwrite/model/BVLCForwardedNPDU.go | 2 +-
.../readwrite/model/BVLCOriginalBroadcastNPDU.go | 2 +-
.../readwrite/model/BVLCOriginalUnicastNPDU.go | 2 +-
.../model/BVLCReadBroadcastDistributionTable.go | 2 +-
.../model/BVLCReadBroadcastDistributionTableAck.go | 2 +-
.../readwrite/model/BVLCReadForeignDeviceTable.go | 2 +-
.../model/BVLCReadForeignDeviceTableAck.go | 2 +-
.../readwrite/model/BVLCRegisterForeignDevice.go | 2 +-
.../plc4go/bacnetip/readwrite/model/BVLCResult.go | 2 +-
.../bacnetip/readwrite/model/BVLCSecureBVLL.go | 2 +-
.../model/BVLCWideBroadcastDistributionTable.go | 2 +-
.../plc4go/bacnetip/readwrite/model/NLM.go | 2 +-
.../readwrite/model/NLMIAmRouterToNetwork.go | 2 +-
.../readwrite/model/NLMWhoIsRouterToNetwork.go | 2 +-
.../plc4go/bacnetip/readwrite/model/NPDU.go | 2 +-
.../KncNetIpConnection.go} | 69 +-
plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go | 19 +-
plc4go/internal/plc4go/knxnetip/KnxNetIpField.go | 50 +-
.../plc4go/knxnetip/KnxNetIpFieldHandler.go | 14 +-
.../plc4go/knxnetip/KnxNetIpMessageCodec.go | 30 +-
.../KnxNetIpValueHandler.go} | 21 +-
plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go | 72 +
.../plc4go/knxnetip/readwrite/ParserHelper.go | 26 +-
.../plc4go/knxnetip/readwrite/XmlParserHelper.go | 44 +-
.../plc4go/knxnetip/readwrite/model/APCI.go | 114 +
.../APDU.go => knxnetip/readwrite/model/CEMI.go} | 200 +-
.../readwrite/model/CEMIAdditionalInformation.go} | 134 +-
.../CEMIAdditionalInformationBusmonitorInfo.go | 322 ++
.../CEMIAdditionalInformationRelativeTimestamp.go | 181 +
.../knxnetip/readwrite/model/CEMIBusmonInd.go | 237 +
.../plc4go/knxnetip/readwrite/model/CEMIDataCon.go | 237 +
.../knxnetip/readwrite/model/CEMIDataFrame.go | 613 +++
.../plc4go/knxnetip/readwrite/model/CEMIDataInd.go | 237 +
.../plc4go/knxnetip/readwrite/model/CEMIDataReq.go | 237 +
.../plc4go/knxnetip/readwrite/model/CEMIFrame.go | 382 ++
.../readwrite/model/CEMIFrameAck.go} | 68 +-
.../knxnetip/readwrite/model/CEMIFrameData.go | 486 ++
.../knxnetip/readwrite/model/CEMIFrameDataExt.go | 514 +++
.../readwrite/model/CEMIFramePollingData.go} | 68 +-
.../readwrite/model/CEMIFramePollingDataExt.go} | 68 +-
.../knxnetip/readwrite/model/CEMIMPropReadCon.go | 300 ++
.../knxnetip/readwrite/model/CEMIMPropReadReq.go | 272 ++
.../readwrite/model/CEMIPollDataCon.go} | 56 +-
.../readwrite/model/CEMIPollDataReq.go} | 56 +-
.../readwrite/model/CEMIPriority.go} | 41 +-
.../readwrite/model/CEMIRawCon.go} | 56 +-
.../readwrite/model/CEMIRawInd.go} | 56 +-
.../readwrite/model/CEMIRawReq.go} | 56 +-
.../knxnetip/readwrite/model/ConnectionRequest.go | 213 +
.../model/ConnectionRequestInformation.go | 218 +
...onnectionRequestInformationDeviceManagement.go} | 56 +-
...ConnectionRequestInformationTunnelConnection.go | 186 +
.../knxnetip/readwrite/model/ConnectionResponse.go | 262 ++
.../readwrite/model/ConnectionResponseDataBlock.go | 218 +
...ConnectionResponseDataBlockDeviceManagement.go} | 56 +-
.../ConnectionResponseDataBlockTunnelConnection.go | 159 +
.../readwrite/model/ConnectionStateRequest.go | 213 +
.../readwrite/model/ConnectionStateResponse.go | 188 +
.../knxnetip/readwrite/model/DIBDeviceInfo.go | 391 ++
.../knxnetip/readwrite/model/DIBSuppSvcFamilies.go | 199 +
.../knxnetip/readwrite/model/DescriptionRequest.go | 159 +
.../readwrite/model/DescriptionResponse.go | 186 +
.../readwrite/model/DeviceConfigurationAck.go | 159 +
.../model/DeviceConfigurationAckDataBlock.go | 205 +
.../readwrite/model/DeviceConfigurationRequest.go | 186 +
.../model/DeviceConfigurationRequestDataBlock.go | 205 +
.../knxnetip/readwrite/model/DeviceStatus.go | 163 +
.../knxnetip/readwrite/model/DisconnectRequest.go | 213 +
.../knxnetip/readwrite/model/DisconnectResponse.go | 188 +
.../readwrite/model/HPAIControlEndpoint.go | 204 +
.../knxnetip/readwrite/model/HPAIDataEndpoint.go | 204 +
.../readwrite/model/HPAIDiscoveryEndpoint.go | 204 +
.../readwrite/model/HostProtocolCode.go} | 35 +-
.../plc4go/knxnetip/readwrite/model/IPAddress.go | 155 +
.../plc4go/knxnetip/readwrite/model/KnxAddress.go | 189 +
.../knxnetip/readwrite/model/KnxDatapoint.go | 4821 ++++++++++++++++++++
.../knxnetip/readwrite/model/KnxDatapointType.go | 4377 ++++++++++++++++++
.../readwrite/model/KnxGroupAddress.go} | 101 +-
.../readwrite/model/KnxGroupAddress2Level.go | 188 +
.../readwrite/model/KnxGroupAddress3Level.go | 216 +
.../readwrite/model/KnxGroupAddressFreeLevel.go} | 88 +-
.../readwrite/model/KnxLayer.go} | 40 +-
.../readwrite/model/KnxNetIpCore.go} | 88 +-
.../readwrite/model/KnxNetIpDeviceManagement.go} | 92 +-
.../knxnetip/readwrite/model/KnxNetIpMessage.go | 452 ++
.../readwrite/model/KnxNetIpTunneling.go} | 88 +-
.../readwrite/model/KnxNetObjectServer.go} | 88 +-
.../model/KnxNetRemoteConfigurationAndDiagnosis.go | 160 +
.../readwrite/model/KnxNetRemoteLogging.go} | 88 +-
.../plc4go/knxnetip/readwrite/model/MACAddress.go | 155 +
.../model/ProjectInstallationIdentifier.go | 163 +
.../readwrite/model/RelativeTimestamp.go} | 74 +-
.../readwrite/model/RoutingIndication.go} | 56 +-
.../knxnetip/readwrite/model/SearchRequest.go | 159 +
.../knxnetip/readwrite/model/SearchResponse.go | 213 +
.../readwrite/model/ServiceId.go} | 137 +-
.../plc4go/knxnetip/readwrite/model/Status.go | 102 +
.../readwrite/model/TPCI.go} | 47 +-
.../knxnetip/readwrite/model/TunnelingRequest.go | 186 +
.../readwrite/model/TunnelingRequestDataBlock.go | 205 +
.../knxnetip/readwrite/model/TunnelingResponse.go | 159 +
.../readwrite/model/TunnelingResponseDataBlock.go | 205 +
.../knxnetip/readwrite/model/UnknownMessage.go | 178 +
plc4go/internal/plc4go/modbus/ModbusConnection.go | 14 +-
plc4go/internal/plc4go/modbus/ModbusDriver.go | 10 +-
plc4go/internal/plc4go/modbus/ModbusField.go | 2 +-
.../internal/plc4go/modbus/ModbusFieldHandler.go | 6 +-
.../internal/plc4go/modbus/ModbusMessageCodec.go | 8 +-
plc4go/internal/plc4go/modbus/ModbusReader.go | 12 +-
.../internal/plc4go/modbus/ModbusValueHandler.go | 2 +-
plc4go/internal/plc4go/modbus/ModbusWriter.go | 10 +-
.../plc4go/modbus/readwrite/ParserHelper.go | 6 +-
.../plc4go/modbus/readwrite/XmlParserHelper.go | 4 +-
.../plc4go/modbus/readwrite/model/DataItem.go | 6 +-
.../modbus/readwrite/model/ModbusConstants.go | 2 +-
.../modbus/readwrite/model/ModbusDataTypeSizes.go | 2 +-
.../modbus/readwrite/model/ModbusErrorCode.go | 2 +-
.../plc4go/modbus/readwrite/model/ModbusPDU.go | 2 +-
.../readwrite/model/ModbusPDUDiagnosticRequest.go | 2 +-
.../readwrite/model/ModbusPDUDiagnosticResponse.go | 2 +-
.../modbus/readwrite/model/ModbusPDUError.go | 2 +-
.../model/ModbusPDUGetComEventCounterRequest.go | 2 +-
.../model/ModbusPDUGetComEventCounterResponse.go | 2 +-
.../model/ModbusPDUGetComEventLogRequest.go | 2 +-
.../model/ModbusPDUGetComEventLogResponse.go | 2 +-
.../ModbusPDUMaskWriteHoldingRegisterRequest.go | 2 +-
.../ModbusPDUMaskWriteHoldingRegisterResponse.go | 2 +-
.../readwrite/model/ModbusPDUReadCoilsRequest.go | 2 +-
.../readwrite/model/ModbusPDUReadCoilsResponse.go | 2 +-
.../ModbusPDUReadDeviceIdentificationRequest.go | 2 +-
.../ModbusPDUReadDeviceIdentificationResponse.go | 2 +-
.../model/ModbusPDUReadDiscreteInputsRequest.go | 2 +-
.../model/ModbusPDUReadDiscreteInputsResponse.go | 2 +-
.../model/ModbusPDUReadExceptionStatusRequest.go | 2 +-
.../model/ModbusPDUReadExceptionStatusResponse.go | 2 +-
.../model/ModbusPDUReadFifoQueueRequest.go | 2 +-
.../model/ModbusPDUReadFifoQueueResponse.go | 2 +-
.../model/ModbusPDUReadFileRecordRequest.go | 2 +-
.../model/ModbusPDUReadFileRecordRequestItem.go | 2 +-
.../model/ModbusPDUReadFileRecordResponse.go | 2 +-
.../model/ModbusPDUReadFileRecordResponseItem.go | 2 +-
.../model/ModbusPDUReadHoldingRegistersRequest.go | 2 +-
.../model/ModbusPDUReadHoldingRegistersResponse.go | 2 +-
.../model/ModbusPDUReadInputRegistersRequest.go | 2 +-
.../model/ModbusPDUReadInputRegistersResponse.go | 2 +-
...sPDUReadWriteMultipleHoldingRegistersRequest.go | 2 +-
...PDUReadWriteMultipleHoldingRegistersResponse.go | 2 +-
.../model/ModbusPDUReportServerIdRequest.go | 2 +-
.../model/ModbusPDUReportServerIdResponse.go | 2 +-
.../model/ModbusPDUWriteFileRecordRequest.go | 2 +-
.../model/ModbusPDUWriteFileRecordRequestItem.go | 2 +-
.../model/ModbusPDUWriteFileRecordResponse.go | 2 +-
.../model/ModbusPDUWriteFileRecordResponseItem.go | 2 +-
.../model/ModbusPDUWriteMultipleCoilsRequest.go | 2 +-
.../model/ModbusPDUWriteMultipleCoilsResponse.go | 2 +-
...odbusPDUWriteMultipleHoldingRegistersRequest.go | 2 +-
...dbusPDUWriteMultipleHoldingRegistersResponse.go | 2 +-
.../model/ModbusPDUWriteSingleCoilRequest.go | 2 +-
.../model/ModbusPDUWriteSingleCoilResponse.go | 2 +-
.../model/ModbusPDUWriteSingleRegisterRequest.go | 2 +-
.../model/ModbusPDUWriteSingleRegisterResponse.go | 2 +-
.../modbus/readwrite/model/ModbusSerialADU.go | 2 +-
.../plc4go/modbus/readwrite/model/ModbusTcpADU.go | 2 +-
.../internal/plc4go/model/DefaultPlcReadRequest.go | 4 +-
.../plc4go/model/DefaultPlcReadResponse.go | 4 +-
...Request.go => DefaultPlcSubscriptionRequest.go} | 48 +-
.../plc4go/model/DefaultPlcWriteRequest.go | 8 +-
.../plc4go/model/DefaultPlcWriteResponse.go | 2 +-
plc4go/internal/plc4go/model/RequestInterceptor.go | 2 +-
.../plc4go/model/values/IEC61131ValueHandler.go | 4 +-
plc4go/internal/plc4go/model/values/PlcList.go | 2 +-
plc4go/internal/plc4go/model/values/PlcStruct.go | 2 +-
.../plc4go/model/values/PlcValueAdapter.go | 2 +-
plc4go/internal/plc4go/s7/S7Driver.go | 2 +-
.../internal/plc4go/s7/readwrite/ParserHelper.go | 6 +-
.../plc4go/s7/readwrite/XmlParserHelper.go | 4 +-
.../plc4go/s7/readwrite/model/COTPPacket.go | 2 +-
.../readwrite/model/COTPPacketConnectionRequest.go | 2 +-
.../model/COTPPacketConnectionResponse.go | 2 +-
.../plc4go/s7/readwrite/model/COTPPacketData.go | 2 +-
.../readwrite/model/COTPPacketDisconnectRequest.go | 2 +-
.../model/COTPPacketDisconnectResponse.go | 2 +-
.../s7/readwrite/model/COTPPacketTpduError.go | 2 +-
.../plc4go/s7/readwrite/model/COTPParameter.go | 2 +-
.../s7/readwrite/model/COTPParameterCalledTsap.go | 2 +-
.../s7/readwrite/model/COTPParameterCallingTsap.go | 2 +-
.../s7/readwrite/model/COTPParameterChecksum.go | 2 +-
...COTPParameterDisconnectAdditionalInformation.go | 2 +-
.../s7/readwrite/model/COTPParameterTpduSize.go | 2 +-
.../plc4go/s7/readwrite/model/COTPProtocolClass.go | 2 +-
.../plc4go/s7/readwrite/model/COTPTpduSize.go | 2 +-
.../internal/plc4go/s7/readwrite/model/DataItem.go | 6 +-
.../s7/readwrite/model/DataTransportErrorCode.go | 2 +-
.../plc4go/s7/readwrite/model/DataTransportSize.go | 2 +-
.../plc4go/s7/readwrite/model/DeviceGroup.go | 2 +-
.../plc4go/s7/readwrite/model/MemoryArea.go | 2 +-
.../plc4go/s7/readwrite/model/S7Address.go | 2 +-
.../plc4go/s7/readwrite/model/S7AddressAny.go | 2 +-
.../plc4go/s7/readwrite/model/S7Message.go | 2 +-
.../plc4go/s7/readwrite/model/S7MessageRequest.go | 2 +-
.../plc4go/s7/readwrite/model/S7MessageResponse.go | 2 +-
.../s7/readwrite/model/S7MessageResponseData.go | 2 +-
.../plc4go/s7/readwrite/model/S7MessageUserData.go | 2 +-
.../plc4go/s7/readwrite/model/S7Parameter.go | 2 +-
.../readwrite/model/S7ParameterReadVarRequest.go | 2 +-
.../readwrite/model/S7ParameterReadVarResponse.go | 2 +-
.../model/S7ParameterSetupCommunication.go | 2 +-
.../s7/readwrite/model/S7ParameterUserData.go | 2 +-
.../s7/readwrite/model/S7ParameterUserDataItem.go | 2 +-
.../model/S7ParameterUserDataItemCPUFunctions.go | 2 +-
.../readwrite/model/S7ParameterWriteVarRequest.go | 2 +-
.../readwrite/model/S7ParameterWriteVarResponse.go | 2 +-
.../plc4go/s7/readwrite/model/S7Payload.go | 2 +-
.../s7/readwrite/model/S7PayloadReadVarResponse.go | 2 +-
.../plc4go/s7/readwrite/model/S7PayloadUserData.go | 2 +-
.../s7/readwrite/model/S7PayloadUserDataItem.go | 2 +-
...PayloadUserDataItemCpuFunctionReadSzlRequest.go | 2 +-
...ayloadUserDataItemCpuFunctionReadSzlResponse.go | 2 +-
.../s7/readwrite/model/S7PayloadWriteVarRequest.go | 2 +-
.../readwrite/model/S7PayloadWriteVarResponse.go | 2 +-
.../plc4go/s7/readwrite/model/S7StaticHelper.go | 4 +-
.../s7/readwrite/model/S7VarPayloadDataItem.go | 2 +-
.../s7/readwrite/model/S7VarPayloadStatusItem.go | 2 +-
.../readwrite/model/S7VarRequestParameterItem.go | 2 +-
.../model/S7VarRequestParameterItemAddress.go | 2 +-
.../plc4go/s7/readwrite/model/SzlDataTreeItem.go | 2 +-
plc4go/internal/plc4go/s7/readwrite/model/SzlId.go | 2 +-
.../s7/readwrite/model/SzlModuleTypeClass.go | 2 +-
.../plc4go/s7/readwrite/model/SzlSublist.go | 2 +-
.../plc4go/s7/readwrite/model/TPKTPacket.go | 2 +-
.../plc4go/s7/readwrite/model/TransportSize.go | 2 +-
plc4go/internal/plc4go/spi/Message.go | 2 +-
plc4go/internal/plc4go/spi/PlcFieldHandler.go | 2 +-
plc4go/internal/plc4go/spi/PlcReader.go | 2 +-
.../spi/{PlcFieldHandler.go => PlcSubscriber.go} | 9 +-
plc4go/internal/plc4go/spi/PlcValueHandler.go | 4 +-
plc4go/internal/plc4go/spi/PlcWriter.go | 2 +-
.../plc4go/spi/TransportInstanceExposer.go | 2 +-
.../interceptors/SingleItemRequestInterceptor.go | 6 +-
.../internal/plc4go/testutils/DriverTestRunner.go | 14 +-
.../plc4go/testutils/ParserSerializerTestRunner.go | 4 +-
.../internal/plc4go/transports/tcp/TcpTransport.go | 19 +-
.../plc4go/transports/test/TestTransport.go | 2 +-
.../{tcp/TcpTransport.go => udp/UdpTransport.go} | 81 +-
plc4go/pkg/plc4go/connection.go | 2 +-
plc4go/pkg/plc4go/driver.go | 2 +-
plc4go/pkg/plc4go/driverManager.go | 2 +-
plc4go/pkg/plc4go/model/plc_read_response.go | 2 +-
plc4go/pkg/plc4go/model/plc_write_request.go | 2 +-
plc4go/pom.xml | 2 +-
387 files changed, 22716 insertions(+), 1583 deletions(-)
diff --git a/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
index 939c1b9..90217fe 100644
--- a/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
@@ -40,7 +40,7 @@
Differences from normal:
Repeat: True
Last two reserved bits are true
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<TunnelingRequest className="org.apache.plc4x.java.knxnetip.readwrite.TunnelingRequest">
<tunnelingRequestDataBlock className="org.apache.plc4x.java.knxnetip.readwrite.TunnelingRequestDataBlock">
@@ -80,7 +80,7 @@
Raw CEMI Frame: bab8b838bb
Control Field: ba
First of the last two reserved bits is true
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<TunnelingRequest className="org.apache.plc4x.java.knxnetip.readwrite.TunnelingRequest">
<tunnelingRequestDataBlock className="org.apache.plc4x.java.knxnetip.readwrite.TunnelingRequestDataBlock">
@@ -117,7 +117,7 @@
<testcase>
<name>Search Request</name>
<raw>06100201000e0801c0a82a46ef8e</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<SearchRequest className="org.apache.plc4x.java.knxnetip.readwrite.SearchRequest">
<hpaiIDiscoveryEndpoint className="org.apache.plc4x.java.knxnetip.readwrite.HPAIDiscoveryEndpoint">
@@ -134,7 +134,7 @@
<testcase>
<name>Search Response</name>
<raw>06100202004c0801c0a82a0b0e5736010200ffff000000082d409852e000170c000ab327553647697261204b4e582f49502d5363686e6974747374656c6c6500000000000802020103010401</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<SearchResponse className="org.apache.plc4x.java.knxnetip.readwrite.SearchResponse">
<hpaiControlEndpoint className="org.apache.plc4x.java.knxnetip.readwrite.HPAIControlEndpoint">
@@ -150,7 +150,7 @@
<deviceStatus className="org.apache.plc4x.java.knxnetip.readwrite.DeviceStatus">
<programMode>false</programMode>
</deviceStatus>
- <knxAddress className="org.apache.plc4x.java.knxnetip.readwrite.KNXAddress">
+ <knxAddress className="org.apache.plc4x.java.knxnetip.readwrite.KnxAddress">
<mainGroup>15</mainGroup>
<middleGroup>15</middleGroup>
<subGroup>255</subGroup>
@@ -189,7 +189,7 @@
<testcase>
<name>Description Request</name>
<raw>06100203000e0801000000000000</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<DescriptionRequest className="org.apache.plc4x.java.knxnetip.readwrite.DescriptionRequest">
<hpaiControlEndpoint className="org.apache.plc4x.java.knxnetip.readwrite.HPAIControlEndpoint">
@@ -206,7 +206,7 @@
<testcase>
<name>Description Response</name>
<raw>06100204004436010200ffff000000082d409852e000170c000ab327553647697261204b4e582f49502d5363686e6974747374656c6c6500000000000802020103010401</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<DescriptionResponse className="org.apache.plc4x.java.knxnetip.readwrite.DescriptionResponse">
<dibDeviceInfo className="org.apache.plc4x.java.knxnetip.readwrite.DIBDeviceInfo">
@@ -215,7 +215,7 @@
<deviceStatus className="org.apache.plc4x.java.knxnetip.readwrite.DeviceStatus">
<programMode>false</programMode>
</deviceStatus>
- <knxAddress className="org.apache.plc4x.java.knxnetip.readwrite.KNXAddress">
+ <knxAddress className="org.apache.plc4x.java.knxnetip.readwrite.KnxAddress">
<mainGroup>15</mainGroup>
<middleGroup>15</middleGroup>
<subGroup>255</subGroup>
@@ -254,7 +254,7 @@
<testcase>
<name>Connect Request</name>
<raw>06100205001a0801c0a82a46f4310801c0a82a46f43204040200</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<ConnectionRequest className="org.apache.plc4x.java.knxnetip.readwrite.ConnectionRequest">
<hpaiDiscoveryEndpoint className="org.apache.plc4x.java.knxnetip.readwrite.HPAIDiscoveryEndpoint">
@@ -281,7 +281,7 @@
<testcase>
<name>Connect Response</name>
<raw>06100206001466000801c0a82a0b0e5704041101</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<ConnectionResponse className="org.apache.plc4x.java.knxnetip.readwrite.ConnectionResponse">
<communicationChannelId>102</communicationChannelId>
@@ -294,7 +294,7 @@
<ipPort>3671</ipPort>
</hpaiDataEndpoint>
<connectionResponseDataBlock className="org.apache.plc4x.java.knxnetip.readwrite.ConnectionResponseDataBlockTunnelConnection">
- <knxAddress className="org.apache.plc4x.java.knxnetip.readwrite.KNXAddress">
+ <knxAddress className="org.apache.plc4x.java.knxnetip.readwrite.KnxAddress">
<mainGroup>1</mainGroup>
<middleGroup>1</middleGroup>
<subGroup>1</subGroup>
@@ -307,7 +307,7 @@
<testcase>
<name>Connection State Request</name>
<raw>06100207001066000801c0a82a46f431</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<ConnectionStateRequest className="org.apache.plc4x.java.knxnetip.readwrite.ConnectionStateRequest">
<communicationChannelId>102</communicationChannelId>
@@ -325,7 +325,7 @@
<testcase>
<name>Connection State Response</name>
<raw>0610020800086600</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<ConnectionStateResponse className="org.apache.plc4x.java.knxnetip.readwrite.ConnectionStateResponse">
<communicationChannelId>102</communicationChannelId>
@@ -337,7 +337,7 @@
<testcase>
<name>Device Configuration Request</name>
<raw>06100310001104670000fc000001531001</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<DeviceConfigurationRequest className="org.apache.plc4x.java.knxnetip.readwrite.DeviceConfigurationRequest">
<deviceConfigurationRequestDataBlock className="org.apache.plc4x.java.knxnetip.readwrite.DeviceConfigurationRequestDataBlock">
@@ -358,7 +358,7 @@
<testcase>
<name>Device Configuration Ack</name>
<raw>06100311000a04670000</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<DeviceConfigurationAck className="org.apache.plc4x.java.knxnetip.readwrite.DeviceConfigurationAck">
<deviceConfigurationAckDataBlock className="org.apache.plc4x.java.knxnetip.readwrite.DeviceConfigurationAckDataBlock">
@@ -373,7 +373,7 @@
<testcase>
<name>Disconnect Request</name>
<raw>06100209001067000801c0a82a46f431</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<DisconnectRequest className="org.apache.plc4x.java.knxnetip.readwrite.DisconnectRequest">
<communicationChannelId>103</communicationChannelId>
@@ -391,7 +391,7 @@
<testcase>
<name>Disconnect Response</name>
<raw>0610020a00086600</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<DisconnectResponse className="org.apache.plc4x.java.knxnetip.readwrite.DisconnectResponse">
<communicationChannelId>102</communicationChannelId>
@@ -407,7 +407,7 @@
Raw CEMI Frame: bc360a1e0ce100810d
Control Field: bc
-->
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<TunnelingRequest className="org.apache.plc4x.java.knxnetip.readwrite.TunnelingRequest">
<tunnelingRequestDataBlock className="org.apache.plc4x.java.knxnetip.readwrite.TunnelingRequestDataBlock">
@@ -436,7 +436,7 @@
<priority>LOW</priority>
<acknowledgeRequested>false</acknowledgeRequested>
<errorFlag>false</errorFlag>
- <sourceAddress className="org.apache.plc4x.java.knxnetip.readwrite.KNXAddress">
+ <sourceAddress className="org.apache.plc4x.java.knxnetip.readwrite.KnxAddress">
<mainGroup>3</mainGroup>
<middleGroup>6</middleGroup>
<subGroup>10</subGroup>
@@ -460,7 +460,7 @@
<testcase>
<name>Tunneling Response</name>
<raw>06100421000a046b0000</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<TunnelingResponse className="org.apache.plc4x.java.knxnetip.readwrite.TunnelingResponse">
<tunnelingResponseDataBlock className="org.apache.plc4x.java.knxnetip.readwrite.TunnelingResponseDataBlock">
@@ -475,7 +475,7 @@
<testcase>
<name>Default</name>
<raw>0610020500180801c0a82a46c4090801c0a82a46c40a0203</raw>
- <root-type>KNXNetIPMessage</root-type>
+ <root-type>KnxNetIpMessage</root-type>
<xml>
<ConnectionRequest className="org.apache.plc4x.java.knxnetip.readwrite.ConnectionRequest">
<hpaiDiscoveryEndpoint className="org.apache.plc4x.java.knxnetip.readwrite.HPAIDiscoveryEndpoint">
diff --git a/plc4go/cmd/main/drivers/bacnetip_test.go b/plc4go/cmd/main/drivers/bacnetip_test.go
index b7b9441..028c65b 100644
--- a/plc4go/cmd/main/drivers/bacnetip_test.go
+++ b/plc4go/cmd/main/drivers/bacnetip_test.go
@@ -20,8 +20,8 @@ package drivers
import (
"encoding/hex"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/bacnetip/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/bacnetip/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"testing"
)
diff --git a/plc4go/cmd/main/drivers/knxnetip_test.go b/plc4go/cmd/main/drivers/knxnetip_test.go
index 15549cf..1a2667a 100644
--- a/plc4go/cmd/main/drivers/knxnetip_test.go
+++ b/plc4go/cmd/main/drivers/knxnetip_test.go
@@ -19,20 +19,24 @@
package drivers
import (
- "encoding/hex"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/knxnetip/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
- "testing"
+ "encoding/hex"
+ "fmt"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/knxnetip"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/knxnetip/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/transports/udp"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go"
+ "testing"
)
-func TestKnxNetIp(t *testing.T) {
+func KnxNetIp(t *testing.T) {
t.Skip()
request, err := hex.DecodeString("000a00000006010300000004")
if err != nil {
t.Errorf("Error decoding test input")
}
rb := utils.NewReadBuffer(request)
- adu, err := model.KNXNetIPMessageParse(rb)
+ adu, err := model.KnxNetIpMessageParse(rb)
if err != nil {
t.Errorf("Error parsing: %s", err)
}
@@ -41,3 +45,87 @@ func TestKnxNetIp(t *testing.T) {
}
}
+
+func TestKnxNetIpPlc4goDriver(t *testing.T) {
+ driverManager := plc4go.NewPlcDriverManager()
+ driverManager.RegisterDriver(knxnetip.NewKnxNetIpDriver())
+ driverManager.RegisterTransport(udp.NewUdpTransport())
+
+ // Get a connection to a remote PLC
+ crc := driverManager.GetConnection("knxnet-ip://192.168.42.11")
+
+ // Wait for the driver to connect (or not)
+ connectionResult := <-crc
+ if connectionResult.Err != nil {
+ t.Errorf("error connecting to PLC: %s", connectionResult.Err.Error())
+ t.Fail()
+ return
+ }
+ connection := connectionResult.Connection
+
+ // Try to ping the remote device
+ pingResultChannel := connection.Ping()
+ pingResult := <-pingResultChannel
+ if pingResult.Err != nil {
+ t.Errorf("couldn't ping device: %s", pingResult.Err.Error())
+ t.Fail()
+ return
+ }
+
+ // Make sure the connection is closed at the end
+ defer connection.Close()
+
+ // Prepare a read-request
+ rrb := connection.ReadRequestBuilder()
+ rrb.AddItem("field1", "holding-register:1:REAL")
+ rrb.AddItem("field2", "holding-register:3:REAL")
+ readRequest, err := rrb.Build()
+ if err != nil {
+ t.Errorf("error preparing read-request: %s", connectionResult.Err.Error())
+ t.Fail()
+ return
+ }
+
+ // Execute a read-request
+ rrc := readRequest.Execute()
+
+ // Wait for the response to finish
+ rrr := <-rrc
+ if rrr.Err != nil {
+ t.Errorf("error executing read-request: %s", rrr.Err.Error())
+ t.Fail()
+ return
+ }
+
+ // Do something with the response
+ value1 := rrr.Response.GetValue("field1")
+ value2 := rrr.Response.GetValue("field2")
+ fmt.Printf("\n\nResult field1: %f\n", value1.GetFloat32())
+ fmt.Printf("\n\nResult field1: %f\n", value2.GetFloat32())
+
+ // Prepare a write-request
+ wrb := connection.WriteRequestBuilder()
+ wrb.AddItem("field1", "holding-register:1:REAL", 1.2345)
+ wrb.AddItem("field2", "holding-register:3:REAL", 2.3456)
+ writeRequest, err := rrb.Build()
+ if err != nil {
+ t.Errorf("error preparing read-request: %s", connectionResult.Err.Error())
+ t.Fail()
+ return
+ }
+
+ // Execute a write-request
+ wrc := writeRequest.Execute()
+
+ // Wait for the response to finish
+ wrr := <-wrc
+ if wrr.Err != nil {
+ t.Errorf("error executing read-request: %s", rrr.Err.Error())
+ t.Fail()
+ return
+ }
+
+ fmt.Printf("\n\nResult field1: %d\n", wrr.Response.GetResponseCode("field1"))
+ fmt.Printf("\n\nResult field2: %d\n", wrr.Response.GetResponseCode("field2"))
+}
+
diff --git a/plc4go/cmd/main/drivers/modbus_test.go b/plc4go/cmd/main/drivers/modbus_test.go
index fa3a75a..9f8c649 100644
--- a/plc4go/cmd/main/drivers/modbus_test.go
+++ b/plc4go/cmd/main/drivers/modbus_test.go
@@ -24,11 +24,11 @@ import (
"fmt"
"net"
"os"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/modbus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/modbus/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/transports/tcp"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
- "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/modbus"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/modbus/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/transports/tcp"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go"
"strings"
"testing"
)
diff --git a/plc4go/cmd/main/drivers/s7_test.go b/plc4go/cmd/main/drivers/s7_test.go
index 8856f9e..96969c3 100644
--- a/plc4go/cmd/main/drivers/s7_test.go
+++ b/plc4go/cmd/main/drivers/s7_test.go
@@ -20,8 +20,8 @@ package drivers
import (
"encoding/hex"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/s7/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/s7/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"testing"
)
diff --git a/plc4go/cmd/main/drivers/tests/modbus_driver_test.go b/plc4go/cmd/main/drivers/tests/modbus_driver_test.go
index 0cc07db..5675045 100644
--- a/plc4go/cmd/main/drivers/tests/modbus_driver_test.go
+++ b/plc4go/cmd/main/drivers/tests/modbus_driver_test.go
@@ -19,8 +19,8 @@
package tests
import (
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/modbus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/testutils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/modbus"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/testutils"
"testing"
)
diff --git a/plc4go/cmd/main/drivers/tests/modbus_parser_serializer_test.go b/plc4go/cmd/main/drivers/tests/modbus_parser_serializer_test.go
index 7594366..a549cbf 100644
--- a/plc4go/cmd/main/drivers/tests/modbus_parser_serializer_test.go
+++ b/plc4go/cmd/main/drivers/tests/modbus_parser_serializer_test.go
@@ -19,7 +19,7 @@
package tests
import (
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/testutils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/testutils"
"testing"
)
diff --git a/plc4go/examples/read/hello_world_plc4go_read.go b/plc4go/examples/read/hello_world_plc4go_read.go
index c371359..5963a53 100644
--- a/plc4go/examples/read/hello_world_plc4go_read.go
+++ b/plc4go/examples/read/hello_world_plc4go_read.go
@@ -21,7 +21,7 @@ package read
import (
"encoding/json"
"fmt"
- "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go"
)
func main() int {
@@ -31,7 +31,7 @@ func main() int {
// Wait for the driver to connect (or not)
connectionResult := <-crc
if connectionResult.Err != nil {
- _ = fmt.Errorf("error connecting to PLC: %s", connectionResult.Err.Error())
+ fmt.Printf("error connecting to PLC: %s", connectionResult.Err.Error())
return 1
}
connection := connectionResult.Connection
@@ -44,7 +44,7 @@ func main() int {
rrb.AddItem("field", "holding-register:1:REAL[2]")
readRequest, err := rrb.Build()
if err != nil {
- _ = fmt.Errorf("error preparing read-request: %s", connectionResult.Err.Error())
+ fmt.Printf("error preparing read-request: %s", connectionResult.Err.Error())
return 2
}
@@ -54,14 +54,14 @@ func main() int {
// Wait for the response to finish
rrr := <-rrc
if rrr.Err != nil {
- _ = fmt.Errorf("error executing read-request: %s", rrr.Err.Error())
+ fmt.Printf("error executing read-request: %s", rrr.Err.Error())
return 3
}
// Do something with the response
readResponseJson, err := json.Marshal(rrr.Response)
if err != nil {
- _ = fmt.Errorf("error serializing read-response: %s", err.Error())
+ fmt.Printf("error serializing read-response: %s", err.Error())
return 4
}
fmt.Printf("Result: %s\n", string(readResponseJson))
diff --git a/plc4go/examples/write/hello_world_plc4go_write.go b/plc4go/examples/write/hello_world_plc4go_write.go
index a570054..80b4a06 100644
--- a/plc4go/examples/write/hello_world_plc4go_write.go
+++ b/plc4go/examples/write/hello_world_plc4go_write.go
@@ -21,7 +21,7 @@ package write
import (
"encoding/json"
"fmt"
- "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go"
)
func main() int {
@@ -31,7 +31,7 @@ func main() int {
// Wait for the driver to connect (or not)
connectionResult := <-crc
if connectionResult.Err != nil {
- _ = fmt.Errorf("error connecting to PLC: %s", connectionResult.Err.Error())
+ fmt.Printf("error connecting to PLC: %s", connectionResult.Err.Error())
return 1
}
connection := connectionResult.Connection
@@ -45,7 +45,7 @@ func main() int {
wrb.AddItem("input-field", "%I0.0:USINT", 42)
writeRequest, err := wrb.Build()
if err != nil {
- _ = fmt.Errorf("error preparing read-request: %s", connectionResult.Err.Error())
+ fmt.Printf("error preparing read-request: %s", connectionResult.Err.Error())
return 2
}
@@ -55,14 +55,14 @@ func main() int {
// Wait for the response to finish
wrr := <-wrc
if wrr.Err != nil {
- _ = fmt.Errorf("error executing write-request: %s", wrr.Err.Error())
+ fmt.Printf("error executing write-request: %s", wrr.Err.Error())
return 3
}
// Do something with the response
writeResponseJson, err := json.Marshal(wrr.Response)
if err != nil {
- _ = fmt.Errorf("error serializing write-response: %s", err.Error())
+ fmt.Printf("error serializing write-response: %s", err.Error())
return 4
}
fmt.Printf("Result: %s\n", string(writeResponseJson))
diff --git a/plc4go/go.mod b/plc4go/go.mod
index 99673e6..f14f276 100644
--- a/plc4go/go.mod
+++ b/plc4go/go.mod
@@ -16,7 +16,7 @@
// specific language governing permissions and limitations
// under the License.
//
-module plc4x.apache.org/plc4go-modbus-driver/v0
+module plc4x.apache.org/plc4go/v0
go 1.15
diff --git a/plc4go/internal/plc4go/bacnetip/BacnetIpDriver.go b/plc4go/internal/plc4go/bacnetip/BacnetIpDriver.go
index 9a76fe1..c5ff371 100644
--- a/plc4go/internal/plc4go/bacnetip/BacnetIpDriver.go
+++ b/plc4go/internal/plc4go/bacnetip/BacnetIpDriver.go
@@ -18,7 +18,7 @@
//
package bacnetip
-import "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go"
+import "plc4x.apache.org/plc4go/v0/pkg/plc4go"
func NewBacnetIpDriver() plc4go.PlcDriver {
return nil
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/ParserHelper.go b/plc4go/internal/plc4go/bacnetip/readwrite/ParserHelper.go
index 0eab689..09818c3 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/ParserHelper.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/ParserHelper.go
@@ -20,9 +20,9 @@ package model
import (
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/bacnetip/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/bacnetip/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
type BacnetipParserHelper struct {
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/XmlParserHelper.go b/plc4go/internal/plc4go/bacnetip/readwrite/XmlParserHelper.go
index 56e2355..0333d1a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/XmlParserHelper.go
@@ -21,8 +21,8 @@ package model
import (
"encoding/xml"
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/bacnetip/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/bacnetip/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi"
)
type BacnetipXmlParserHelper struct {
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go
index 61e5b71..e2fac96 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
index 8b80b4c..63499cb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
@@ -23,7 +23,7 @@ import (
"errors"
"io"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
index 74a7988..c334e12 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
@@ -23,7 +23,7 @@ import (
"errors"
"io"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
index 9a5693d..e49084b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
@@ -23,7 +23,7 @@ import (
"errors"
"io"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
index 1ba83a3..2937281 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
@@ -23,7 +23,7 @@ import (
"errors"
"io"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
index 30285bf..f8821e7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
@@ -23,7 +23,7 @@ import (
"errors"
"io"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
index 72e737c..83e00ee 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
@@ -23,7 +23,7 @@ import (
"errors"
"io"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
index 9cbd3ad..8788a31 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
@@ -23,7 +23,7 @@ import (
"errors"
"io"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
index 1ece34b..f00baf8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
@@ -23,7 +23,7 @@ import (
"errors"
"io"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/ApplicationTag.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/ApplicationTag.go
index 89adbe5..9766c1c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/ApplicationTag.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/ApplicationTag.go
@@ -19,7 +19,7 @@
package model
import (
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
type ApplicationTag int8
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
index 50620a7..5baa0ff 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go
index 6de7127..2c72e86 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACK.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
index 35fb1e6..63e8b94 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicReadFile.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
index 439c8ef..c36240a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKAtomicWriteFile.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
index b6ac7b8..55a3169 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKConfirmedPrivateTransfer.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
index 88c2b4c..29d7362 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKCreateObject.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
index 31d3716..a136026 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetAlarmSummary.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
index 7f0225b..f7b61f3 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEnrollmentSummary.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
index 3b384f2..4766f15 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
index c8752de..c815c3b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadProperty.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
index 356ad40..3aa6d86 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadPropertyMultiple.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
index 841441b..afa5dc2 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKReadRange.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
index cfdc031..74e8327 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedAuthenticate.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
index eb26de7..837e08f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKRemovedReadPropertyConditional.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
index c5a6b22..b0894b1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTData.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
index dbc1b99..c512f64 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKVTOpen.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go
index f793c18..1eeefee 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequest.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
index 2b75e28..405bf8f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAddListElement.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAddListElement.go
index 5eb16e0..2cb69a0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAddListElement.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAddListElement.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go
index 8524e61..36cae7e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFile.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go
index ac72bdf..9c7b685 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicWriteFile.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
index a5ed7a1..2de3cef 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go
index 765bad7..5967c09 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedEventNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedEventNotification.go
index a68e2c3..95b5e3b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedEventNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedEventNotification.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go
index d187582..09716dd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedPrivateTransfer.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessage.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessage.go
index 2421f49..24cfb5a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessage.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessage.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestCreateObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestCreateObject.go
index b5fe1e4..c67a760 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestCreateObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestCreateObject.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go
index d76c4c3..3657e53 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeleteObject.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeviceCommunicationControl.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeviceCommunicationControl.go
index 1bef2fd..d3e7730 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeviceCommunicationControl.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestDeviceCommunicationControl.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go
index 9d4d862..98fc99f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEnrollmentSummary.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEventInformation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEventInformation.go
index bae4f91..b1c324d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEventInformation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestGetEventInformation.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestLifeSafetyOperation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestLifeSafetyOperation.go
index 9f8951e..cffb4d8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestLifeSafetyOperation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestLifeSafetyOperation.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
index be052ce..4704e60 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadPropertyMultiple.go
index 80beb00..2d96b7d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadPropertyMultiple.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRange.go
index 3cbdafb..378391d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRange.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReinitializeDevice.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReinitializeDevice.go
index a4084ea..73f7994 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReinitializeDevice.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReinitializeDevice.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemoveListElement.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemoveListElement.go
index d46fb14..9673554 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemoveListElement.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemoveListElement.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedAuthenticate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedAuthenticate.go
index b43f954..db1d878 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedAuthenticate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedAuthenticate.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go
index 44a5252..125465a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedReadPropertyConditional.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedRequestKey.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedRequestKey.go
index 4b18545..a072cb6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedRequestKey.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestRemovedRequestKey.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
index dfeee76..4bf19d6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go
index 72fabcb..3172f89 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVProperty.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go
index 7bf37ca..44d0fdc 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTClose.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTClose.go
index 0dc2381..f591758 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTClose.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTClose.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go
index e83bfad..8780e32 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTData.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go
index ccea387..dc362da 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestVTOpen.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
index d646a77..e9a0de7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWritePropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWritePropertyMultiple.go
index cf17455..b6a5727 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWritePropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWritePropertyMultiple.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go
index 1e4e402..b6c4af7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetError.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go
index 31951dc..1870b4d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicReadFile.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go
index f69722f..84e70a9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorAtomicWriteFile.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go
index 387748b..7a4a946 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorConfirmedPrivateTransfer.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go
index 5de6d40..44d5a79 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go
index ad543ff..6f4651c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetAlarmSummary.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go
index 5ba52fe..07772fc 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEnrollmentSummary.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEventInformation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEventInformation.go
index 9dd031a..095f3b2 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEventInformation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorGetEventInformation.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
index e559970..39d6aa6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go
index f2d5ff0..9defcdf 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadPropertyMultiple.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go
index 4c63c75..ab99f44 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go
index a983e32..13b0cbb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedAuthenticate.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedReadPropertyConditional.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedReadPropertyConditional.go
index 05c7314..ec6285c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedReadPropertyConditional.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorRemovedReadPropertyConditional.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go
index bff625d..9621635 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTData.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go
index 06a9315..58b6a5a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorVTOpen.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkType.go
index 34cb0c8..6ef07fb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkType.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkType.go
@@ -19,7 +19,7 @@
package model
import (
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
type BACnetNetworkType uint8
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNodeType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNodeType.go
index 5c03427..cf3ebbb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNodeType.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNodeType.go
@@ -19,7 +19,7 @@
package model
import (
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
type BACnetNodeType uint8
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotifyType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotifyType.go
index 5107a3b..5cbc228 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotifyType.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotifyType.go
@@ -19,7 +19,7 @@
package model
import (
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
type BACnetNotifyType uint8
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetObjectType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetObjectType.go
index d2f7afa..69dbbc8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetObjectType.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetObjectType.go
@@ -19,7 +19,7 @@
package model
import (
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
type BACnetObjectType uint16
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go
index 9765ffb..c4e6e1f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAck.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go
index 43a97d5..eb572d5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFile.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go
index 5ef4d69..1c731ad 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckAtomicWriteFile.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go
index f6e8af9..73fcc59 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckConfirmedPrivateTransfer.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go
index 7da6e23..d29fe14 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckCreateObject.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go
index 9f21196..6f4c089 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetAlarmSummary.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEnrollmentSummary.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEnrollmentSummary.go
index 9c54c33..923c9f6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEnrollmentSummary.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEnrollmentSummary.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go
index bb3b825..cd72d4f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckGetEventInformation.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
index a18410f..bdedfb8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadPropertyMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadPropertyMultiple.go
index d549d93..7a4551f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadPropertyMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadPropertyMultiple.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go
index 231497a..3871c9d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadRange.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go
index 4ed30c5..6c8b40d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedAuthenticate.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedReadPropertyConditional.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedReadPropertyConditional.go
index bba9792..a5819b1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedReadPropertyConditional.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckRemovedReadPropertyConditional.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go
index 6ed0540..a292f3f 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTData.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go
index c52464c..8a5b87c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckVTOpen.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTag.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTag.go
index 68eb0c6..bff70e5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTag.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTag.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
index ea34b90..984c9b6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBoolean.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBoolean.go
index 2e655bb..472ebc8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBoolean.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBoolean.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationCharacterString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationCharacterString.go
index 8c42bff..3a117dd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationCharacterString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationCharacterString.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDate.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDate.go
index 4708c1f..629358b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDate.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDate.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDouble.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDouble.go
index cfcbfdf..f03c848 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDouble.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDouble.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
index 522b992..e077ba8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationNull.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationNull.go
index 96f075c..d5db62b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationNull.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationNull.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationObjectIdentifier.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationObjectIdentifier.go
index b29ee41..3345abc 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationObjectIdentifier.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationObjectIdentifier.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationOctetString.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationOctetString.go
index 23fb917..a50d6e6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationOctetString.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationOctetString.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationReal.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationReal.go
index 8fc78ae..c7023d5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationReal.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationReal.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
index 2069e11..a4027f8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationTime.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationTime.go
index ab8d9f8..ec490bd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationTime.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationTime.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
index 43813d8..a3cffb6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
index 9dc9ea0..090949c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
index 0ba4780..164f33e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go
index 7f43e41..14117c8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequest.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
index 7eafb51..f4e2463 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIHave.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIHave.go
index c5b7ea9..a75d0cd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIHave.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIHave.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestTimeSynchronization.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestTimeSynchronization.go
index 8181cd4..0094f86 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestTimeSynchronization.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestTimeSynchronization.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go
index a3f7f70..1bedadf 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUTCTimeSynchronization.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go
index b8ba695..d735d68 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotification.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go
index 35ca967..7fc68dd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go
index c2ff952..4c845b9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedEventNotification.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
index 4f1beb0..cd6a795 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go
index 6d1a4d6..0be5e34 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedTextMessage.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
index bf78fba..67992ee 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
index 87cddb9..e19ca71 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
@@ -23,7 +23,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go
index 88e568b..cc96754 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWriteGroup.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go
index 687619b..e63b0b5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLC.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"strconv"
"reflect"
"strings"
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go
index d57c261..4d1efef 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDeleteForeignDeviceTableEntry.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go
index abcfd1d..d76495b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCDistributeBroadcastToNetwork.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
index fc9af06..0343002 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
index f904db0..ba47760 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
index b61ab75..55c58e7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go
index 7a3291e..b84e7d0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTable.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTableAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTableAck.go
index 80f80d1..195b2a5 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTableAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadBroadcastDistributionTableAck.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go
index 05c97a7..2415723 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTable.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go
index 7c6e1c3..5ff6848 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCReadForeignDeviceTableAck.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go
index 5f4b431..a0a1c74 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCRegisterForeignDevice.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
index 19cace1..32cb52a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
index b56db63..6b2a16c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCWideBroadcastDistributionTable.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCWideBroadcastDistributionTable.go
index ce7099f..bf0263b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCWideBroadcastDistributionTable.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCWideBroadcastDistributionTable.go
@@ -21,7 +21,7 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
index 8946810..111ae12 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
index 343c43e..1289b56 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
index 9c14739..217e24d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
@@ -22,7 +22,7 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
index 55cacb6..7f194f8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
@@ -23,7 +23,7 @@ import (
"errors"
"io"
log "github.com/sirupsen/logrus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
diff --git a/plc4go/internal/plc4go/modbus/ModbusConnection.go b/plc4go/internal/plc4go/knxnetip/KncNetIpConnection.go
similarity index 58%
copy from plc4go/internal/plc4go/modbus/ModbusConnection.go
copy to plc4go/internal/plc4go/knxnetip/KncNetIpConnection.go
index 1f4ed78..78609d7 100644
--- a/plc4go/internal/plc4go/modbus/ModbusConnection.go
+++ b/plc4go/internal/plc4go/knxnetip/KncNetIpConnection.go
@@ -16,17 +16,15 @@
// specific language governing permissions and limitations
// under the License.
//
-package modbus
+package knxnetip
import (
- "errors"
- driverModel "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/modbus/readwrite/model"
- internalModel "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi/interceptors"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/transports"
- "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go"
- apiModel "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go/model"
+ internalModel "plc4x.apache.org/plc4go/v0/internal/plc4go/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi/interceptors"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/transports"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go"
+ apiModel "plc4x.apache.org/plc4go/v0/pkg/plc4go/model"
)
type ConnectionMetadata struct {
@@ -34,7 +32,7 @@ type ConnectionMetadata struct {
}
func (m ConnectionMetadata) CanRead() bool {
- return true
+ return false
}
func (m ConnectionMetadata) CanWrite() bool {
@@ -42,11 +40,10 @@ func (m ConnectionMetadata) CanWrite() bool {
}
func (m ConnectionMetadata) CanSubscribe() bool {
- return false
+ return true
}
-type ModbusConnection struct {
- unitIdentifier uint8
+type KnxNetIpConnection struct {
messageCodec spi.MessageCodec
options map[string][]string
fieldHandler spi.PlcFieldHandler
@@ -55,9 +52,8 @@ type ModbusConnection struct {
plc4go.PlcConnection
}
-func NewModbusConnection(unitIdentifier uint8, messageCodec spi.MessageCodec, options map[string][]string, fieldHandler spi.PlcFieldHandler) ModbusConnection {
- return ModbusConnection{
- unitIdentifier: unitIdentifier,
+func NewKnxNetIpConnection(messageCodec spi.MessageCodec, options map[string][]string, fieldHandler spi.PlcFieldHandler) KnxNetIpConnection {
+ return KnxNetIpConnection{
messageCodec: messageCodec,
options: options,
fieldHandler: fieldHandler,
@@ -66,7 +62,7 @@ func NewModbusConnection(unitIdentifier uint8, messageCodec spi.MessageCodec, op
}
}
-func (m ModbusConnection) Connect() <-chan plc4go.PlcConnectionConnectResult {
+func (m KnxNetIpConnection) Connect() <-chan plc4go.PlcConnectionConnectResult {
ch := make(chan plc4go.PlcConnectionConnectResult)
go func() {
err := m.messageCodec.Connect()
@@ -75,7 +71,7 @@ func (m ModbusConnection) Connect() <-chan plc4go.PlcConnectionConnectResult {
return ch
}
-func (m ModbusConnection) Close() <-chan plc4go.PlcConnectionCloseResult {
+func (m KnxNetIpConnection) Close() <-chan plc4go.PlcConnectionCloseResult {
// TODO: Implement ...
ch := make(chan plc4go.PlcConnectionCloseResult)
go func() {
@@ -84,15 +80,15 @@ func (m ModbusConnection) Close() <-chan plc4go.PlcConnectionCloseResult {
return ch
}
-func (m ModbusConnection) IsConnected() bool {
+func (m KnxNetIpConnection) IsConnected() bool {
panic("implement me")
}
-func (m ModbusConnection) Ping() <-chan plc4go.PlcConnectionPingResult {
+func (m KnxNetIpConnection) Ping() <-chan plc4go.PlcConnectionPingResult {
result := make(chan plc4go.PlcConnectionPingResult)
- diagnosticRequestPdu := driverModel.NewModbusPDUDiagnosticRequest(0, 0x42)
+// diagnosticRequestPdu := driverModel.NewModbusPDUDiagnosticRequest(0, 0x42)
go func() {
- pingRequest := driverModel.NewModbusTcpADU(1, m.unitIdentifier, diagnosticRequestPdu)
+/* pingRequest := driverModel.NewModbusTcpADU(1, diagnosticRequestPdu)
err := m.messageCodec.Send(pingRequest)
if err != nil {
result <- plc4go.NewPlcConnectionPingResult(err)
@@ -117,45 +113,46 @@ func (m ModbusConnection) Ping() <-chan plc4go.PlcConnectionPingResult {
return
}
// If we got a valid response (even if it will probably contain an error, we know the remote is available)
- result <- plc4go.NewPlcConnectionPingResult(nil)
+ result <- plc4go.NewPlcConnectionPingResult(nil)*/
}()
return result
}
-func (m ModbusConnection) GetMetadata() apiModel.PlcConnectionMetadata {
+func (m KnxNetIpConnection) GetMetadata() apiModel.PlcConnectionMetadata {
return ConnectionMetadata{}
}
-func (m ModbusConnection) ReadRequestBuilder() apiModel.PlcReadRequestBuilder {
- return internalModel.NewDefaultPlcReadRequestBuilderWithInterceptor(m.fieldHandler,
- NewModbusReader(m.unitIdentifier, m.messageCodec), m.requestInterceptor)
+func (m KnxNetIpConnection) ReadRequestBuilder() apiModel.PlcReadRequestBuilder {
+ panic("this connection doesn't support reading")
}
-func (m ModbusConnection) WriteRequestBuilder() apiModel.PlcWriteRequestBuilder {
+func (m KnxNetIpConnection) WriteRequestBuilder() apiModel.PlcWriteRequestBuilder {
return internalModel.NewDefaultPlcWriteRequestBuilder(
- m.fieldHandler, m.valueHandler, NewModbusWriter(m.unitIdentifier, m.messageCodec))
+ m.fieldHandler, m.valueHandler, NewKnxNetIpWriter(m.messageCodec))
}
-func (m ModbusConnection) SubscriptionRequestBuilder() apiModel.PlcSubscriptionRequestBuilder {
- panic("implement me")
+func (m KnxNetIpConnection) SubscriptionRequestBuilder() apiModel.PlcSubscriptionRequestBuilder {
+ return nil/*internalModel.NewDefaultPlcSubscriptionRequestBuilder(
+ m.fieldHandler, m.valueHandler, NewKnxNetIpSubscriber(m.unitIdentifier, m.messageCodec))*/
}
-func (m ModbusConnection) UnsubscriptionRequestBuilder() apiModel.PlcUnsubscriptionRequestBuilder {
- panic("implement me")
+func (m KnxNetIpConnection) UnsubscriptionRequestBuilder() apiModel.PlcUnsubscriptionRequestBuilder {
+ return nil/*internalModel.NewDefaultPlcUnsubscriptionRequestBuilder(
+ m.fieldHandler, m.valueHandler, NewKnxNetIpSubscriber(m.unitIdentifier, m.messageCodec))*/
}
-func (m ModbusConnection) GetTransportInstance() transports.TransportInstance {
+func (m KnxNetIpConnection) GetTransportInstance() transports.TransportInstance {
if mc, ok := m.messageCodec.(spi.TransportInstanceExposer); ok {
return mc.GetTransportInstance()
}
return nil
}
-func (m ModbusConnection) GetPlcFieldHandler() spi.PlcFieldHandler {
+func (m KnxNetIpConnection) GetPlcFieldHandler() spi.PlcFieldHandler {
return m.fieldHandler
}
-func (m ModbusConnection) GetPlcValueHandler() spi.PlcValueHandler {
+func (m KnxNetIpConnection) GetPlcValueHandler() spi.PlcValueHandler {
return m.valueHandler
}
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go
index 8e0746f..7600ff9 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go
@@ -19,15 +19,12 @@
package knxnetip
import (
- "encoding/json"
"errors"
- "fmt"
"net/url"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/modbus"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/modbus/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/transports"
- "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/modbus"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/transports"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go"
)
type KnxNetIpDriver struct {
@@ -80,14 +77,14 @@ func (m KnxNetIpDriver) GetConnection(transportUrl url.URL, transports map[strin
defaultChanel := make(chan interface{})
go func() {
for {
- msg := <-defaultChanel
- adu := model.CastModbusTcpADU(msg)
+ _ = <-defaultChanel
+/* adu := model.CastModbusTcpADU(msg)
serialized, err := json.Marshal(adu)
if err != nil {
- fmt.Errorf("got error serializing adu: %s\n", err.Error())
+ fmt.Printf("got error serializing adu: %s\n", err.Error())
} else {
fmt.Printf("got message in the default handler %s\n", serialized)
- }
+ }*/
}
}()
codec := modbus.NewModbusMessageCodec(transportInstance, nil)
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
index 02fbee5..fee5a54 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
@@ -18,24 +18,33 @@
//
package knxnetip
-import "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/knxnetip/readwrite/model"
+import (
+ "errors"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/knxnetip/readwrite/model"
+ model2 "plc4x.apache.org/plc4go/v0/pkg/plc4go/model"
+)
+
+type KnxNetIpField interface {
+ model2.PlcField
+}
type KnxNetIpGroupAddress3LevelPlcField struct {
- FieldType model.KnxDatapointType
+ FieldType *model.KnxDatapointType
// 5 Bits: Values 0-31
MainGroup string
// 3 Bits: values 0-7
MiddleGroup string
// 8 Bits
SubGroup string
+ KnxNetIpField
}
-func NewKnxNetIpGroupAddress3LevelPlcField(FieldType model.KnxDatapointType, MainGroup string, MiddleGroup string, SubGroup string) KnxNetIpGroupAddress3LevelPlcField {
+func NewKnxNetIpGroupAddress3LevelPlcField(fieldType *model.KnxDatapointType, mainGroup string, middleGroup string, subGroup string) KnxNetIpGroupAddress3LevelPlcField {
return KnxNetIpGroupAddress3LevelPlcField{
- FieldType: FieldType,
- MainGroup: MainGroup,
- MiddleGroup: MiddleGroup,
- SubGroup: SubGroup,
+ FieldType: fieldType,
+ MainGroup: mainGroup,
+ MiddleGroup: middleGroup,
+ SubGroup: subGroup,
}
}
@@ -48,18 +57,19 @@ func (k KnxNetIpGroupAddress3LevelPlcField) GetQuantity() uint16 {
}
type KnxNetIpGroupAddress2LevelPlcField struct {
- FieldType model.KnxDatapointType
+ FieldType *model.KnxDatapointType
// 5 Bits: Values 0-31
MainGroup string
// 11 Bits
SubGroup string
+ KnxNetIpField
}
-func NewKnxNetIpGroupAddress2LevelPlcField(FieldType model.KnxDatapointType, MainGroup string, SubGroup string) KnxNetIpGroupAddress2LevelPlcField {
+func NewKnxNetIpGroupAddress2LevelPlcField(fieldType *model.KnxDatapointType, mainGroup string, subGroup string) KnxNetIpGroupAddress2LevelPlcField {
return KnxNetIpGroupAddress2LevelPlcField{
- FieldType: FieldType,
- MainGroup: MainGroup,
- SubGroup: SubGroup,
+ FieldType: fieldType,
+ MainGroup: mainGroup,
+ SubGroup: subGroup,
}
}
@@ -72,15 +82,16 @@ func (k KnxNetIpGroupAddress2LevelPlcField) GetQuantity() uint16 {
}
type KnxNetIpGroupAddress1LevelPlcField struct {
- FieldType model.KnxDatapointType
+ FieldType *model.KnxDatapointType
// 16 Bits
MainGroup string
+ KnxNetIpField
}
-func NewKnxNetIpGroupAddress1LevelPlcField(FieldType model.KnxDatapointType, MainGroup string) KnxNetIpGroupAddress1LevelPlcField {
+func NewKnxNetIpGroupAddress1LevelPlcField(fieldType *model.KnxDatapointType, mainGroup string) KnxNetIpGroupAddress1LevelPlcField {
return KnxNetIpGroupAddress1LevelPlcField{
- FieldType: FieldType,
- MainGroup: MainGroup,
+ FieldType: fieldType,
+ MainGroup: mainGroup,
}
}
@@ -91,3 +102,10 @@ func (k KnxNetIpGroupAddress1LevelPlcField) GetTypeName() string {
func (k KnxNetIpGroupAddress1LevelPlcField) GetQuantity() uint16 {
return 1
}
+
+func CastToKnxNetIpFieldFromPlcField(plcField model2.PlcField) (KnxNetIpField, error) {
+ if knxNetIpField, ok := plcField.(KnxNetIpField); ok {
+ return knxNetIpField, nil
+ }
+ return nil, errors.New("couldn't cast to KnxNetIpField")
+}
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
index a0a8277..21fd7c6 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
@@ -20,10 +20,10 @@ package knxnetip
import (
"errors"
- model2 "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/knxnetip/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
- "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go/model"
+ model2 "plc4x.apache.org/plc4go/v0/internal/plc4go/knxnetip/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go/model"
"regexp"
)
@@ -63,21 +63,21 @@ func (m FieldHandler) ParseQuery(query string) (model.PlcField, error) {
if ok {
fieldType = model2.KnxDatapointTypeValueOf(fieldTypeName)
}
- return NewKnxNetIpGroupAddress3LevelPlcField(fieldType, match["mainGroup"], match["middleGroup"], match["subGroup"]), nil
+ return NewKnxNetIpGroupAddress3LevelPlcField(&fieldType, match["mainGroup"], match["middleGroup"], match["subGroup"]), nil
} else if match := utils.GetSubgropMatches(m.knxNetIpGroupAddress2Level, query); match != nil {
fieldTypeName, ok := match["datatype"]
var fieldType model2.KnxDatapointType
if ok {
fieldType = model2.KnxDatapointTypeValueOf(fieldTypeName)
}
- return NewKnxNetIpGroupAddress2LevelPlcField(fieldType, match["mainGroup"], match["subGroup"]), nil
+ return NewKnxNetIpGroupAddress2LevelPlcField(&fieldType, match["mainGroup"], match["subGroup"]), nil
} else if match := utils.GetSubgropMatches(m.knxNetIpGroupAddress1Level, query); match != nil {
fieldTypeName, ok := match["datatype"]
var fieldType model2.KnxDatapointType
if ok {
fieldType = model2.KnxDatapointTypeValueOf(fieldTypeName)
}
- return NewKnxNetIpGroupAddress1LevelPlcField(fieldType, match["mainGroup"]), nil
+ return NewKnxNetIpGroupAddress1LevelPlcField(&fieldType, match["mainGroup"]), nil
}
return nil, errors.New("Invalid address format for address '" + query + "'")
}
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpMessageCodec.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpMessageCodec.go
index 76782de..c6d46f2 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpMessageCodec.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpMessageCodec.go
@@ -21,9 +21,9 @@ package knxnetip
import (
"errors"
"fmt"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/knxnetip/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/transports"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/knxnetip/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/transports"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"time"
)
@@ -51,7 +51,11 @@ func NewKnxNetIpMessageCodec(transportInstance transports.TransportInstance, def
}
func (m *KnxNetIpMessageCodec) Connect() error {
- return m.transportInstance.Connect()
+ // "connect" to the remote UDP server
+ err := m.transportInstance.Connect()
+
+
+ return err
}
func (m *KnxNetIpMessageCodec) Disconnect() error {
@@ -60,10 +64,10 @@ func (m *KnxNetIpMessageCodec) Disconnect() error {
func (m *KnxNetIpMessageCodec) Send(message interface{}) error {
// Cast the message to the correct type of struct
- knxMessage := model.CastKNXNetIPMessage(message)
+ knxMessage := model.CastKnxNetIpMessage(message)
// Serialize the request
wb := utils.NewWriteBuffer()
- err := model.KNXNetIPMessageSerialize(*wb)
+ err := knxMessage.Serialize(*wb)
if err != nil {
return errors.New("error serializing request " + err.Error())
}
@@ -76,7 +80,7 @@ func (m *KnxNetIpMessageCodec) Send(message interface{}) error {
return nil
}
-func (m *ModbusMessageCodec) Receive() (interface{}, error) {
+func (m *KnxNetIpMessageCodec) Receive() (interface{}, error) {
// We need at least 6 bytes in order to know how big the packet is in total
if num, err := m.transportInstance.GetNumReadableBytes(); (err == nil) && (num >= 6) {
data, err := m.transportInstance.PeekReadableBytes(6)
@@ -93,7 +97,7 @@ func (m *ModbusMessageCodec) Receive() (interface{}, error) {
return nil, nil
}
rb := utils.NewReadBuffer(data)
- adu, err := model.ModbusTcpADUParse(rb, true)
+ adu, err := model.KnxNetIpMessageParse(rb)
if err != nil {
// TODO: Possibly clean up ...
return nil, nil
@@ -104,9 +108,9 @@ func (m *ModbusMessageCodec) Receive() (interface{}, error) {
return nil, nil
}
-func (m *ModbusMessageCodec) Expect(check func(interface{}) bool) chan interface{} {
+func (m *KnxNetIpMessageCodec) Expect(check func(interface{}) bool) chan interface{} {
responseChanel := make(chan interface{})
- expectation := ModbusExpectation{
+ expectation := KnxNetIpExpectation{
timestamp: time.Now(),
check: check,
responseChannel: responseChanel,
@@ -115,14 +119,14 @@ func (m *ModbusMessageCodec) Expect(check func(interface{}) bool) chan interface
return responseChanel
}
-func work(codec *ModbusMessageCodec) {
+func work(codec *KnxNetIpMessageCodec) {
// Start an endless loop
// TODO: Provide some means to terminate this ...
for {
if len(codec.expectations) > 0 {
message, err := codec.Receive()
if err != nil {
- fmt.Errorf("got an error reading from transport %s", err.Error())
+ fmt.Printf("got an error reading from transport %s", err.Error())
} else if message != nil {
messageHandled := false
// Go through all expectations
@@ -153,6 +157,6 @@ func work(codec *ModbusMessageCodec) {
}
}
-func (m ModbusMessageCodec) GetTransportInstance() transports.TransportInstance {
+func (m KnxNetIpMessageCodec) GetTransportInstance() transports.TransportInstance {
return m.transportInstance
}
diff --git a/plc4go/internal/plc4go/modbus/ModbusValueHandler.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpValueHandler.go
similarity index 64%
copy from plc4go/internal/plc4go/modbus/ModbusValueHandler.go
copy to plc4go/internal/plc4go/knxnetip/KnxNetIpValueHandler.go
index 1890279..7d56f21 100644
--- a/plc4go/internal/plc4go/modbus/ModbusValueHandler.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpValueHandler.go
@@ -16,16 +16,25 @@
// specific language governing permissions and limitations
// under the License.
//
-package modbus
+package knxnetip
import (
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/model/values"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go/model"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go/values"
)
-type ValueHandler struct {
- values.IEC61131ValueHandler
+type KnxNetIpValueHandler struct {
+ spi.PlcValueHandler
}
-func NewValueHandler() ValueHandler {
- return ValueHandler{}
+func NewValueHandler() KnxNetIpValueHandler {
+ return KnxNetIpValueHandler{}
}
+
+func (m KnxNetIpValueHandler) NewPlcValue(field model.PlcField, value interface{}) (values.PlcValue, error) {
+ return nil, nil
+}
+
+
+
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go
new file mode 100644
index 0000000..e1be588
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go
@@ -0,0 +1,72 @@
+//
+// 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 knxnetip
+
+import (
+ "errors"
+ knxnetipModel "plc4x.apache.org/plc4go/v0/internal/plc4go/knxnetip/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/pkg/plc4go/model"
+)
+
+type KnxNetIpWriter struct {
+ messageCodec spi.MessageCodec
+ spi.PlcWriter
+}
+
+func NewKnxNetIpWriter(messageCodec spi.MessageCodec) KnxNetIpWriter {
+ return KnxNetIpWriter{
+ messageCodec: messageCodec,
+ }
+}
+
+func (m KnxNetIpWriter) Write(writeRequest model.PlcWriteRequest) <-chan model.PlcWriteRequestResult {
+ result := make(chan model.PlcWriteRequestResult)
+ // If we are requesting only one field, use a
+ if len(writeRequest.GetFieldNames()) == 1 {
+ fieldName := writeRequest.GetFieldNames()[0]
+
+ // Get the KnxNetIp field instance from the request
+ field := writeRequest.GetField(fieldName)
+ knxNetIpField, err := CastToKnxNetIpFieldFromPlcField(field)
+ if err != nil {
+ result <- model.PlcWriteRequestResult{
+ Request: writeRequest,
+ Response: nil,
+ Err: errors.New("invalid field item type"),
+ }
+ return result
+ }
+
+ // Get the value from the request and serialize it to a byte array
+ value := writeRequest.GetValue(fieldName)
+ io := utils.NewWriteBuffer()
+ if err := knxnetipModel.KnxDatapointSerialize(io, value, knxNetIpField.GetTypeName()); err != nil {
+ result <- model.PlcWriteRequestResult{
+ Request: writeRequest,
+ Response: nil,
+ Err: errors.New("error serializing value: " + err.Error()),
+ }
+ return result
+ }
+ //data := utils.Uint8ToInt8(io.GetBytes())
+ }
+ return result
+}
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/ParserHelper.go b/plc4go/internal/plc4go/knxnetip/readwrite/ParserHelper.go
index 901822b..cb81291 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/ParserHelper.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/ParserHelper.go
@@ -20,9 +20,9 @@ package model
import (
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/knxnetip/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/knxnetip/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
type KnxnetipParserHelper struct {
@@ -36,16 +36,12 @@ func (m KnxnetipParserHelper) Parse(typeName string, arguments []string, io *uti
return model.HPAIControlEndpointParse(io)
case "TunnelingResponseDataBlock":
return model.TunnelingResponseDataBlockParse(io)
+ case "KnxAddress":
+ return model.KnxAddressParse(io)
case "ConnectionResponseDataBlock":
return model.ConnectionResponseDataBlockParse(io)
case "TunnelingRequestDataBlock":
return model.TunnelingRequestDataBlockParse(io)
- case "KNXGroupAddress":
- numLevels, err := utils.StrToUint8(arguments[0])
- if err != nil {
- return nil, err
- }
- return model.KNXGroupAddressParse(io, numLevels)
case "DIBDeviceInfo":
return model.DIBDeviceInfoParse(io)
case "DeviceConfigurationRequestDataBlock":
@@ -60,14 +56,10 @@ func (m KnxnetipParserHelper) Parse(typeName string, arguments []string, io *uti
return model.HPAIDiscoveryEndpointParse(io)
case "ProjectInstallationIdentifier":
return model.ProjectInstallationIdentifierParse(io)
- case "KNXAddress":
- return model.KNXAddressParse(io)
case "CEMIDataFrame":
return model.CEMIDataFrameParse(io)
case "ServiceId":
return model.ServiceIdParse(io)
- case "KNXNetIPMessage":
- return model.KNXNetIPMessageParse(io)
case "HPAIDataEndpoint":
return model.HPAIDataEndpointParse(io)
case "RelativeTimestamp":
@@ -78,8 +70,16 @@ func (m KnxnetipParserHelper) Parse(typeName string, arguments []string, io *uti
return nil, err
}
return model.CEMIParse(io, size)
+ case "KnxGroupAddress":
+ numLevels, err := utils.StrToUint8(arguments[0])
+ if err != nil {
+ return nil, err
+ }
+ return model.KnxGroupAddressParse(io, numLevels)
case "MACAddress":
return model.MACAddressParse(io)
+ case "KnxNetIpMessage":
+ return model.KnxNetIpMessageParse(io)
case "CEMIFrame":
return model.CEMIFrameParse(io)
case "DeviceStatus":
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/XmlParserHelper.go b/plc4go/internal/plc4go/knxnetip/readwrite/XmlParserHelper.go
index 3e15800..c01894f 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/XmlParserHelper.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/XmlParserHelper.go
@@ -21,8 +21,8 @@ package model
import (
"encoding/xml"
"errors"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/knxnetip/readwrite/model"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/knxnetip/readwrite/model"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/spi"
)
type KnxnetipXmlParserHelper struct {
@@ -51,22 +51,22 @@ func (m KnxnetipXmlParserHelper) Parse(typeName string, xmlString string) (spi.M
return nil, errors.New("error unmarshalling xml: " + err.Error())
}
return obj, nil
- case "ConnectionResponseDataBlock":
- var obj *model.ConnectionResponseDataBlock
+ case "KnxAddress":
+ var obj *model.KnxAddress
err := xml.Unmarshal([]byte(xmlString), &obj)
if err != nil {
return nil, errors.New("error unmarshalling xml: " + err.Error())
}
return obj, nil
- case "TunnelingRequestDataBlock":
- var obj *model.TunnelingRequestDataBlock
+ case "ConnectionResponseDataBlock":
+ var obj *model.ConnectionResponseDataBlock
err := xml.Unmarshal([]byte(xmlString), &obj)
if err != nil {
return nil, errors.New("error unmarshalling xml: " + err.Error())
}
return obj, nil
- case "KNXGroupAddress":
- var obj *model.KNXGroupAddress
+ case "TunnelingRequestDataBlock":
+ var obj *model.TunnelingRequestDataBlock
err := xml.Unmarshal([]byte(xmlString), &obj)
if err != nil {
return nil, errors.New("error unmarshalling xml: " + err.Error())
@@ -121,13 +121,6 @@ func (m KnxnetipXmlParserHelper) Parse(typeName string, xmlString string) (spi.M
return nil, errors.New("error unmarshalling xml: " + err.Error())
}
return obj, nil
- case "KNXAddress":
- var obj *model.KNXAddress
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.New("error unmarshalling xml: " + err.Error())
- }
- return obj, nil
case "CEMIDataFrame":
var obj *model.CEMIDataFrame
err := xml.Unmarshal([]byte(xmlString), &obj)
@@ -142,13 +135,6 @@ func (m KnxnetipXmlParserHelper) Parse(typeName string, xmlString string) (spi.M
return nil, errors.New("error unmarshalling xml: " + err.Error())
}
return obj, nil
- case "KNXNetIPMessage":
- var obj *model.KNXNetIPMessage
- err := xml.Unmarshal([]byte(xmlString), &obj)
- if err != nil {
- return nil, errors.New("error unmarshalling xml: " + err.Error())
- }
- return obj, nil
case "HPAIDataEndpoint":
var obj *model.HPAIDataEndpoint
err := xml.Unmarshal([]byte(xmlString), &obj)
@@ -170,6 +156,13 @@ func (m KnxnetipXmlParserHelper) Parse(typeName string, xmlString string) (spi.M
return nil, errors.New("error unmarshalling xml: " + err.Error())
}
return obj, nil
+ case "KnxGroupAddress":
+ var obj *model.KnxGroupAddress
+ err := xml.Unmarshal([]byte(xmlString), &obj)
+ if err != nil {
+ return nil, errors.New("error unmarshalling xml: " + err.Error())
+ }
+ return obj, nil
case "MACAddress":
var obj *model.MACAddress
err := xml.Unmarshal([]byte(xmlString), &obj)
@@ -177,6 +170,13 @@ func (m KnxnetipXmlParserHelper) Parse(typeName string, xmlString string) (spi.M
return nil, errors.New("error unmarshalling xml: " + err.Error())
}
return obj, nil
+ case "KnxNetIpMessage":
+ var obj *model.KnxNetIpMessage
+ err := xml.Unmarshal([]byte(xmlString), &obj)
+ if err != nil {
+ return nil, errors.New("error unmarshalling xml: " + err.Error())
+ }
+ return obj, nil
case "CEMIFrame":
var obj *model.CEMIFrame
err := xml.Unmarshal([]byte(xmlString), &obj)
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/APCI.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/APCI.go
new file mode 100644
index 0000000..e55b7b4
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/APCI.go
@@ -0,0 +1,114 @@
+//
+// 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 model
+
+import (
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+type APCI uint8
+
+type IAPCI interface {
+ Serialize(io utils.WriteBuffer) error
+}
+
+const(
+ APCI_GROUP_VALUE_READ_PDU APCI = 0x0
+ APCI_GROUP_VALUE_RESPONSE_PDU APCI = 0x1
+ APCI_GROUP_VALUE_WRITE_PDU APCI = 0x2
+ APCI_INDIVIDUAL_ADDRESS_WRITE_PDU APCI = 0x3
+ APCI_INDIVIDUAL_ADDRESS_READ_PDU APCI = 0x4
+ APCI_INDIVIDUAL_ADDRESS_RESPONSE_PDU APCI = 0x5
+ APCI_ADC_READ_PDU APCI = 0x6
+ APCI_ADC_RESPONSE_PDU APCI = 0x7
+ APCI_MEMORY_READ_PDU APCI = 0x8
+ APCI_MEMORY_RESPONSE_PDU APCI = 0x9
+ APCI_MEMORY_WRITE_PDU APCI = 0xA
+ APCI_USER_MESSAGE_PDU APCI = 0xB
+ APCI_DEVICE_DESCRIPTOR_READ_PDU APCI = 0xC
+ APCI_DEVICE_DESCRIPTOR_RESPONSE_PDU APCI = 0xD
+ APCI_RESTART_PDU APCI = 0xE
+ APCI_OTHER_PDU APCI = 0xF
+)
+
+func APCIValueOf(value uint8) APCI {
+ switch value {
+ case 0x0:
+ return APCI_GROUP_VALUE_READ_PDU
+ case 0x1:
+ return APCI_GROUP_VALUE_RESPONSE_PDU
+ case 0x2:
+ return APCI_GROUP_VALUE_WRITE_PDU
+ case 0x3:
+ return APCI_INDIVIDUAL_ADDRESS_WRITE_PDU
+ case 0x4:
+ return APCI_INDIVIDUAL_ADDRESS_READ_PDU
+ case 0x5:
+ return APCI_INDIVIDUAL_ADDRESS_RESPONSE_PDU
+ case 0x6:
+ return APCI_ADC_READ_PDU
+ case 0x7:
+ return APCI_ADC_RESPONSE_PDU
+ case 0x8:
+ return APCI_MEMORY_READ_PDU
+ case 0x9:
+ return APCI_MEMORY_RESPONSE_PDU
+ case 0xA:
+ return APCI_MEMORY_WRITE_PDU
+ case 0xB:
+ return APCI_USER_MESSAGE_PDU
+ case 0xC:
+ return APCI_DEVICE_DESCRIPTOR_READ_PDU
+ case 0xD:
+ return APCI_DEVICE_DESCRIPTOR_RESPONSE_PDU
+ case 0xE:
+ return APCI_RESTART_PDU
+ case 0xF:
+ return APCI_OTHER_PDU
+ }
+ return 0
+}
+
+func CastAPCI(structType interface{}) APCI {
+ castFunc := func(typ interface{}) APCI {
+ if sAPCI, ok := typ.(APCI); ok {
+ return sAPCI
+ }
+ return 0
+ }
+ return castFunc(structType)
+}
+
+func (m APCI) LengthInBits() uint16 {
+ return 4
+}
+
+func (m APCI) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func APCIParse(io *utils.ReadBuffer) (APCI, error) {
+ // TODO: Implement ...
+ return 0, nil
+}
+
+func (e APCI) Serialize(io utils.WriteBuffer) error {
+ // TODO: Implement ...
+ return nil
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMI.go
similarity index 52%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMI.go
index 61e5b71..826b930 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/APDU.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMI.go
@@ -22,59 +22,59 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
// The data-structure of this message
-type APDU struct {
- Child IAPDUChild
- IAPDU
- IAPDUParent
+type CEMI struct {
+ Child ICEMIChild
+ ICEMI
+ ICEMIParent
}
// The corresponding interface
-type IAPDU interface {
- ApduType() uint8
+type ICEMI interface {
+ MessageCode() uint8
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
xml.Marshaler
}
-type IAPDUParent interface {
- SerializeParent(io utils.WriteBuffer, child IAPDU, serializeChildFunction func() error) error
+type ICEMIParent interface {
+ SerializeParent(io utils.WriteBuffer, child ICEMI, serializeChildFunction func() error) error
}
-type IAPDUChild interface {
+type ICEMIChild interface {
Serialize(io utils.WriteBuffer) error
- InitializeParent(parent *APDU)
- IAPDU
+ InitializeParent(parent *CEMI)
+ ICEMI
}
-func NewAPDU() *APDU {
- return &APDU{}
+func NewCEMI() *CEMI {
+ return &CEMI{}
}
-func CastAPDU(structType interface{}) APDU {
- castFunc := func(typ interface{}) APDU {
- if casted, ok := typ.(APDU); ok {
+func CastCEMI(structType interface{}) CEMI {
+ castFunc := func(typ interface{}) CEMI {
+ if casted, ok := typ.(CEMI); ok {
return casted
}
- if casted, ok := typ.(*APDU); ok {
+ if casted, ok := typ.(*CEMI); ok {
return *casted
}
- return APDU{}
+ return CEMI{}
}
return castFunc(structType)
}
-func (m *APDU) LengthInBits() uint16 {
+func (m *CEMI) LengthInBits() uint16 {
lengthInBits := uint16(0)
- // Discriminator Field (apduType)
- lengthInBits += 4
+ // Discriminator Field (messageCode)
+ lengthInBits += 8
// Length of sub-type elements will be added by sub-type...
lengthInBits += m.Child.LengthInBits()
@@ -82,38 +82,44 @@ func (m *APDU) LengthInBits() uint16 {
return lengthInBits
}
-func (m *APDU) LengthInBytes() uint16 {
+func (m *CEMI) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func APDUParse(io *utils.ReadBuffer, apduLength uint16) (*APDU, error) {
+func CEMIParse(io *utils.ReadBuffer, size uint8) (*CEMI, error) {
- // Discriminator Field (apduType) (Used as input to a switch field)
- apduType, _apduTypeErr := io.ReadUint8(4)
- if _apduTypeErr != nil {
- return nil, errors.New("Error parsing 'apduType' field " + _apduTypeErr.Error())
+ // Discriminator Field (messageCode) (Used as input to a switch field)
+ messageCode, _messageCodeErr := io.ReadUint8(8)
+ if _messageCodeErr != nil {
+ return nil, errors.New("Error parsing 'messageCode' field " + _messageCodeErr.Error())
}
// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
- var _parent *APDU
+ var _parent *CEMI
var typeSwitchError error
switch {
- case apduType == 0x0:
- _parent, typeSwitchError = APDUConfirmedRequestParse(io, apduLength)
- case apduType == 0x1:
- _parent, typeSwitchError = APDUUnconfirmedRequestParse(io, apduLength)
- case apduType == 0x2:
- _parent, typeSwitchError = APDUSimpleAckParse(io)
- case apduType == 0x3:
- _parent, typeSwitchError = APDUComplexAckParse(io)
- case apduType == 0x4:
- _parent, typeSwitchError = APDUSegmentAckParse(io)
- case apduType == 0x5:
- _parent, typeSwitchError = APDUErrorParse(io)
- case apduType == 0x6:
- _parent, typeSwitchError = APDURejectParse(io)
- case apduType == 0x7:
- _parent, typeSwitchError = APDUAbortParse(io)
+ case messageCode == 0x11:
+ _parent, typeSwitchError = CEMIDataReqParse(io)
+ case messageCode == 0x2E:
+ _parent, typeSwitchError = CEMIDataConParse(io)
+ case messageCode == 0x29:
+ _parent, typeSwitchError = CEMIDataIndParse(io)
+ case messageCode == 0x10:
+ _parent, typeSwitchError = CEMIRawReqParse(io)
+ case messageCode == 0x2F:
+ _parent, typeSwitchError = CEMIRawConParse(io)
+ case messageCode == 0x2D:
+ _parent, typeSwitchError = CEMIRawIndParse(io)
+ case messageCode == 0x13:
+ _parent, typeSwitchError = CEMIPollDataReqParse(io)
+ case messageCode == 0x25:
+ _parent, typeSwitchError = CEMIPollDataConParse(io)
+ case messageCode == 0x2B:
+ _parent, typeSwitchError = CEMIBusmonIndParse(io)
+ case messageCode == 0xFC:
+ _parent, typeSwitchError = CEMIMPropReadReqParse(io)
+ case messageCode == 0xFB:
+ _parent, typeSwitchError = CEMIMPropReadConParse(io)
}
if typeSwitchError != nil {
return nil, errors.New("Error parsing sub-type for type-switch. " + typeSwitchError.Error())
@@ -124,17 +130,17 @@ func APDUParse(io *utils.ReadBuffer, apduLength uint16) (*APDU, error) {
return _parent, nil
}
-func (m *APDU) Serialize(io utils.WriteBuffer) error {
+func (m *CEMI) Serialize(io utils.WriteBuffer) error {
return m.Child.Serialize(io)
}
-func (m *APDU) SerializeParent(io utils.WriteBuffer, child IAPDU, serializeChildFunction func() error) error {
+func (m *CEMI) SerializeParent(io utils.WriteBuffer, child ICEMI, serializeChildFunction func() error) error {
- // Discriminator Field (apduType) (Used as input to a switch field)
- apduType := uint8(child.ApduType())
- _apduTypeErr := io.WriteUint8(4, (apduType))
- if _apduTypeErr != nil {
- return errors.New("Error serializing 'apduType' field " + _apduTypeErr.Error())
+ // Discriminator Field (messageCode) (Used as input to a switch field)
+ messageCode := uint8(child.MessageCode())
+ _messageCodeErr := io.WriteUint8(8, (messageCode))
+ if _messageCodeErr != nil {
+ return errors.New("Error serializing 'messageCode' field " + _messageCodeErr.Error())
}
// Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
@@ -146,7 +152,7 @@ func (m *APDU) SerializeParent(io utils.WriteBuffer, child IAPDU, serializeChild
return nil
}
-func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMI) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
for {
@@ -163,10 +169,10 @@ func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
switch tok.Name.Local {
default:
switch start.Attr[0].Value {
- case "org.apache.plc4x.java.bacnetip.readwrite.APDUConfirmedRequest":
- var dt *APDUConfirmedRequest
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIDataReq":
+ var dt *CEMIDataReq
if m.Child != nil {
- dt = m.Child.(*APDUConfirmedRequest)
+ dt = m.Child.(*CEMIDataReq)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -175,10 +181,10 @@ func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
dt.Parent = m
m.Child = dt
}
- case "org.apache.plc4x.java.bacnetip.readwrite.APDUUnconfirmedRequest":
- var dt *APDUUnconfirmedRequest
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIDataCon":
+ var dt *CEMIDataCon
if m.Child != nil {
- dt = m.Child.(*APDUUnconfirmedRequest)
+ dt = m.Child.(*CEMIDataCon)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -187,10 +193,10 @@ func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
dt.Parent = m
m.Child = dt
}
- case "org.apache.plc4x.java.bacnetip.readwrite.APDUSimpleAck":
- var dt *APDUSimpleAck
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIDataInd":
+ var dt *CEMIDataInd
if m.Child != nil {
- dt = m.Child.(*APDUSimpleAck)
+ dt = m.Child.(*CEMIDataInd)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -199,10 +205,10 @@ func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
dt.Parent = m
m.Child = dt
}
- case "org.apache.plc4x.java.bacnetip.readwrite.APDUComplexAck":
- var dt *APDUComplexAck
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIRawReq":
+ var dt *CEMIRawReq
if m.Child != nil {
- dt = m.Child.(*APDUComplexAck)
+ dt = m.Child.(*CEMIRawReq)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -211,10 +217,10 @@ func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
dt.Parent = m
m.Child = dt
}
- case "org.apache.plc4x.java.bacnetip.readwrite.APDUSegmentAck":
- var dt *APDUSegmentAck
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIRawCon":
+ var dt *CEMIRawCon
if m.Child != nil {
- dt = m.Child.(*APDUSegmentAck)
+ dt = m.Child.(*CEMIRawCon)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -223,10 +229,10 @@ func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
dt.Parent = m
m.Child = dt
}
- case "org.apache.plc4x.java.bacnetip.readwrite.APDUError":
- var dt *APDUError
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIRawInd":
+ var dt *CEMIRawInd
if m.Child != nil {
- dt = m.Child.(*APDUError)
+ dt = m.Child.(*CEMIRawInd)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -235,10 +241,10 @@ func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
dt.Parent = m
m.Child = dt
}
- case "org.apache.plc4x.java.bacnetip.readwrite.APDUReject":
- var dt *APDUReject
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIPollDataReq":
+ var dt *CEMIPollDataReq
if m.Child != nil {
- dt = m.Child.(*APDUReject)
+ dt = m.Child.(*CEMIPollDataReq)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -247,10 +253,46 @@ func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
dt.Parent = m
m.Child = dt
}
- case "org.apache.plc4x.java.bacnetip.readwrite.APDUAbort":
- var dt *APDUAbort
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIPollDataCon":
+ var dt *CEMIPollDataCon
if m.Child != nil {
- dt = m.Child.(*APDUAbort)
+ dt = m.Child.(*CEMIPollDataCon)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIBusmonInd":
+ var dt *CEMIBusmonInd
+ if m.Child != nil {
+ dt = m.Child.(*CEMIBusmonInd)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIMPropReadReq":
+ var dt *CEMIMPropReadReq
+ if m.Child != nil {
+ dt = m.Child.(*CEMIMPropReadReq)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIMPropReadCon":
+ var dt *CEMIMPropReadCon
+ if m.Child != nil {
+ dt = m.Child.(*CEMIMPropReadCon)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -265,9 +307,9 @@ func (m *APDU) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
}
}
-func (m *APDU) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMI) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
className := reflect.TypeOf(m.Child).String()
- className = "org.apache.plc4x.java.bacnetip.readwrite." + className[strings.LastIndex(className, ".") + 1:]
+ className = "org.apache.plc4x.java.knxnetip.readwrite." + className[strings.LastIndex(className, ".") + 1:]
if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
{Name: xml.Name{Local: "className"}, Value: className},
}}); err != nil {
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformation.go
similarity index 51%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformation.go
index 8946810..d8cc9e3 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformation.go
@@ -22,134 +22,107 @@ import (
"encoding/xml"
"errors"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
"reflect"
"strings"
)
// The data-structure of this message
-type NLM struct {
- VendorId *uint16
- Child INLMChild
- INLM
- INLMParent
+type CEMIAdditionalInformation struct {
+ Child ICEMIAdditionalInformationChild
+ ICEMIAdditionalInformation
+ ICEMIAdditionalInformationParent
}
// The corresponding interface
-type INLM interface {
- MessageType() uint8
+type ICEMIAdditionalInformation interface {
+ AdditionalInformationType() uint8
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
xml.Marshaler
}
-type INLMParent interface {
- SerializeParent(io utils.WriteBuffer, child INLM, serializeChildFunction func() error) error
+type ICEMIAdditionalInformationParent interface {
+ SerializeParent(io utils.WriteBuffer, child ICEMIAdditionalInformation, serializeChildFunction func() error) error
}
-type INLMChild interface {
+type ICEMIAdditionalInformationChild interface {
Serialize(io utils.WriteBuffer) error
- InitializeParent(parent *NLM, vendorId *uint16)
- INLM
+ InitializeParent(parent *CEMIAdditionalInformation)
+ ICEMIAdditionalInformation
}
-func NewNLM(vendorId *uint16) *NLM {
- return &NLM{VendorId: vendorId}
+func NewCEMIAdditionalInformation() *CEMIAdditionalInformation {
+ return &CEMIAdditionalInformation{}
}
-func CastNLM(structType interface{}) NLM {
- castFunc := func(typ interface{}) NLM {
- if casted, ok := typ.(NLM); ok {
+func CastCEMIAdditionalInformation(structType interface{}) CEMIAdditionalInformation {
+ castFunc := func(typ interface{}) CEMIAdditionalInformation {
+ if casted, ok := typ.(CEMIAdditionalInformation); ok {
return casted
}
- if casted, ok := typ.(*NLM); ok {
+ if casted, ok := typ.(*CEMIAdditionalInformation); ok {
return *casted
}
- return NLM{}
+ return CEMIAdditionalInformation{}
}
return castFunc(structType)
}
-func (m *NLM) LengthInBits() uint16 {
+func (m *CEMIAdditionalInformation) LengthInBits() uint16 {
lengthInBits := uint16(0)
- // Discriminator Field (messageType)
+ // Discriminator Field (additionalInformationType)
lengthInBits += 8
- // Optional Field (vendorId)
- if m.VendorId != nil {
- lengthInBits += 16
- }
-
// Length of sub-type elements will be added by sub-type...
lengthInBits += m.Child.LengthInBits()
return lengthInBits
}
-func (m *NLM) LengthInBytes() uint16 {
+func (m *CEMIAdditionalInformation) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func NLMParse(io *utils.ReadBuffer, apduLength uint16) (*NLM, error) {
-
- // Discriminator Field (messageType) (Used as input to a switch field)
- messageType, _messageTypeErr := io.ReadUint8(8)
- if _messageTypeErr != nil {
- return nil, errors.New("Error parsing 'messageType' field " + _messageTypeErr.Error())
- }
-
- // Optional Field (vendorId) (Can be skipped, if a given expression evaluates to false)
- var vendorId *uint16 = nil
- if bool(bool(bool((messageType) >= ((128))))) && bool(bool(bool((messageType) <= ((255))))) {
- _val, _err := io.ReadUint16(16)
- if _err != nil {
- return nil, errors.New("Error parsing 'vendorId' field " + _err.Error())
- }
+func CEMIAdditionalInformationParse(io *utils.ReadBuffer) (*CEMIAdditionalInformation, error) {
- vendorId = &_val
+ // Discriminator Field (additionalInformationType) (Used as input to a switch field)
+ additionalInformationType, _additionalInformationTypeErr := io.ReadUint8(8)
+ if _additionalInformationTypeErr != nil {
+ return nil, errors.New("Error parsing 'additionalInformationType' field " + _additionalInformationTypeErr.Error())
}
// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
- var _parent *NLM
+ var _parent *CEMIAdditionalInformation
var typeSwitchError error
switch {
- case messageType == 0x0:
- _parent, typeSwitchError = NLMWhoIsRouterToNetworkParse(io, apduLength, messageType)
- case messageType == 0x1:
- _parent, typeSwitchError = NLMIAmRouterToNetworkParse(io, apduLength, messageType)
+ case additionalInformationType == 0x03:
+ _parent, typeSwitchError = CEMIAdditionalInformationBusmonitorInfoParse(io)
+ case additionalInformationType == 0x04:
+ _parent, typeSwitchError = CEMIAdditionalInformationRelativeTimestampParse(io)
}
if typeSwitchError != nil {
return nil, errors.New("Error parsing sub-type for type-switch. " + typeSwitchError.Error())
}
// Finish initializing
- _parent.Child.InitializeParent(_parent, vendorId)
+ _parent.Child.InitializeParent(_parent)
return _parent, nil
}
-func (m *NLM) Serialize(io utils.WriteBuffer) error {
+func (m *CEMIAdditionalInformation) Serialize(io utils.WriteBuffer) error {
return m.Child.Serialize(io)
}
-func (m *NLM) SerializeParent(io utils.WriteBuffer, child INLM, serializeChildFunction func() error) error {
+func (m *CEMIAdditionalInformation) SerializeParent(io utils.WriteBuffer, child ICEMIAdditionalInformation, serializeChildFunction func() error) error {
- // Discriminator Field (messageType) (Used as input to a switch field)
- messageType := uint8(child.MessageType())
- _messageTypeErr := io.WriteUint8(8, (messageType))
- if _messageTypeErr != nil {
- return errors.New("Error serializing 'messageType' field " + _messageTypeErr.Error())
- }
-
- // Optional Field (vendorId) (Can be skipped, if the value is null)
- var vendorId *uint16 = nil
- if m.VendorId != nil {
- vendorId = m.VendorId
- _vendorIdErr := io.WriteUint16(16, *(vendorId))
- if _vendorIdErr != nil {
- return errors.New("Error serializing 'vendorId' field " + _vendorIdErr.Error())
- }
+ // Discriminator Field (additionalInformationType) (Used as input to a switch field)
+ additionalInformationType := uint8(child.AdditionalInformationType())
+ _additionalInformationTypeErr := io.WriteUint8(8, (additionalInformationType))
+ if _additionalInformationTypeErr != nil {
+ return errors.New("Error serializing 'additionalInformationType' field " + _additionalInformationTypeErr.Error())
}
// Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
@@ -161,7 +134,7 @@ func (m *NLM) SerializeParent(io utils.WriteBuffer, child INLM, serializeChildFu
return nil
}
-func (m *NLM) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMIAdditionalInformation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
for {
@@ -176,18 +149,12 @@ func (m *NLM) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
case xml.StartElement:
tok := token.(xml.StartElement)
switch tok.Name.Local {
- case "vendorId":
- var data *uint16
- if err := d.DecodeElement(data, &tok); err != nil {
- return err
- }
- m.VendorId = data
default:
switch start.Attr[0].Value {
- case "org.apache.plc4x.java.bacnetip.readwrite.NLMWhoIsRouterToNetwork":
- var dt *NLMWhoIsRouterToNetwork
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIAdditionalInformationBusmonitorInfo":
+ var dt *CEMIAdditionalInformationBusmonitorInfo
if m.Child != nil {
- dt = m.Child.(*NLMWhoIsRouterToNetwork)
+ dt = m.Child.(*CEMIAdditionalInformationBusmonitorInfo)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -196,10 +163,10 @@ func (m *NLM) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
dt.Parent = m
m.Child = dt
}
- case "org.apache.plc4x.java.bacnetip.readwrite.NLMIAmRouterToNetwork":
- var dt *NLMIAmRouterToNetwork
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIAdditionalInformationRelativeTimestamp":
+ var dt *CEMIAdditionalInformationRelativeTimestamp
if m.Child != nil {
- dt = m.Child.(*NLMIAmRouterToNetwork)
+ dt = m.Child.(*CEMIAdditionalInformationRelativeTimestamp)
}
if err := d.DecodeElement(&dt, &tok); err != nil {
return err
@@ -214,17 +181,14 @@ func (m *NLM) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
}
}
-func (m *NLM) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMIAdditionalInformation) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
className := reflect.TypeOf(m.Child).String()
- className = "org.apache.plc4x.java.bacnetip.readwrite." + className[strings.LastIndex(className, ".") + 1:]
+ className = "org.apache.plc4x.java.knxnetip.readwrite." + className[strings.LastIndex(className, ".") + 1:]
if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
{Name: xml.Name{Local: "className"}, Value: className},
}}); err != nil {
return err
}
- if err := e.EncodeElement(m.VendorId, xml.StartElement{Name: xml.Name{Local: "vendorId"}}); err != nil {
- return err
- }
marshaller, ok := m.Child.(xml.Marshaler)
if !ok {
return errors.New("child is not castable to Marshaler")
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go
new file mode 100644
index 0000000..c0db1b3
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go
@@ -0,0 +1,322 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+ "strconv"
+)
+
+// Constant values.
+const CEMIAdditionalInformationBusmonitorInfo_LEN uint8 = 1
+
+// The data-structure of this message
+type CEMIAdditionalInformationBusmonitorInfo struct {
+ FrameErrorFlag bool
+ BitErrorFlag bool
+ ParityErrorFlag bool
+ UnknownFlag bool
+ LostFlag bool
+ SequenceNumber uint8
+ Parent *CEMIAdditionalInformation
+ ICEMIAdditionalInformationBusmonitorInfo
+}
+
+// The corresponding interface
+type ICEMIAdditionalInformationBusmonitorInfo interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIAdditionalInformationBusmonitorInfo) AdditionalInformationType() uint8 {
+ return 0x03
+}
+
+
+func (m *CEMIAdditionalInformationBusmonitorInfo) InitializeParent(parent *CEMIAdditionalInformation) {
+}
+
+func NewCEMIAdditionalInformationBusmonitorInfo(frameErrorFlag bool, bitErrorFlag bool, parityErrorFlag bool, unknownFlag bool, lostFlag bool, sequenceNumber uint8, ) *CEMIAdditionalInformation {
+ child := &CEMIAdditionalInformationBusmonitorInfo{
+ FrameErrorFlag: frameErrorFlag,
+ BitErrorFlag: bitErrorFlag,
+ ParityErrorFlag: parityErrorFlag,
+ UnknownFlag: unknownFlag,
+ LostFlag: lostFlag,
+ SequenceNumber: sequenceNumber,
+ Parent: NewCEMIAdditionalInformation(),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIAdditionalInformationBusmonitorInfo(structType interface{}) CEMIAdditionalInformationBusmonitorInfo {
+ castFunc := func(typ interface{}) CEMIAdditionalInformationBusmonitorInfo {
+ if casted, ok := typ.(CEMIAdditionalInformationBusmonitorInfo); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIAdditionalInformationBusmonitorInfo); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMIAdditionalInformation); ok {
+ return CastCEMIAdditionalInformationBusmonitorInfo(casted.Child)
+ }
+ if casted, ok := typ.(*CEMIAdditionalInformation); ok {
+ return CastCEMIAdditionalInformationBusmonitorInfo(casted.Child)
+ }
+ return CEMIAdditionalInformationBusmonitorInfo{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIAdditionalInformationBusmonitorInfo) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Const Field (len)
+ lengthInBits += 8
+
+ // Simple field (frameErrorFlag)
+ lengthInBits += 1
+
+ // Simple field (bitErrorFlag)
+ lengthInBits += 1
+
+ // Simple field (parityErrorFlag)
+ lengthInBits += 1
+
+ // Simple field (unknownFlag)
+ lengthInBits += 1
+
+ // Simple field (lostFlag)
+ lengthInBits += 1
+
+ // Simple field (sequenceNumber)
+ lengthInBits += 3
+
+ return lengthInBits
+}
+
+func (m *CEMIAdditionalInformationBusmonitorInfo) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIAdditionalInformationBusmonitorInfoParse(io *utils.ReadBuffer) (*CEMIAdditionalInformation, error) {
+
+ // Const Field (len)
+ len, _lenErr := io.ReadUint8(8)
+ if _lenErr != nil {
+ return nil, errors.New("Error parsing 'len' field " + _lenErr.Error())
+ }
+ if len != CEMIAdditionalInformationBusmonitorInfo_LEN {
+ return nil, errors.New("Expected constant value " + strconv.Itoa(int(CEMIAdditionalInformationBusmonitorInfo_LEN)) + " but got " + strconv.Itoa(int(len)))
+ }
+
+ // Simple Field (frameErrorFlag)
+ frameErrorFlag, _frameErrorFlagErr := io.ReadBit()
+ if _frameErrorFlagErr != nil {
+ return nil, errors.New("Error parsing 'frameErrorFlag' field " + _frameErrorFlagErr.Error())
+ }
+
+ // Simple Field (bitErrorFlag)
+ bitErrorFlag, _bitErrorFlagErr := io.ReadBit()
+ if _bitErrorFlagErr != nil {
+ return nil, errors.New("Error parsing 'bitErrorFlag' field " + _bitErrorFlagErr.Error())
+ }
+
+ // Simple Field (parityErrorFlag)
+ parityErrorFlag, _parityErrorFlagErr := io.ReadBit()
+ if _parityErrorFlagErr != nil {
+ return nil, errors.New("Error parsing 'parityErrorFlag' field " + _parityErrorFlagErr.Error())
+ }
+
+ // Simple Field (unknownFlag)
+ unknownFlag, _unknownFlagErr := io.ReadBit()
+ if _unknownFlagErr != nil {
+ return nil, errors.New("Error parsing 'unknownFlag' field " + _unknownFlagErr.Error())
+ }
+
+ // Simple Field (lostFlag)
+ lostFlag, _lostFlagErr := io.ReadBit()
+ if _lostFlagErr != nil {
+ return nil, errors.New("Error parsing 'lostFlag' field " + _lostFlagErr.Error())
+ }
+
+ // Simple Field (sequenceNumber)
+ sequenceNumber, _sequenceNumberErr := io.ReadUint8(3)
+ if _sequenceNumberErr != nil {
+ return nil, errors.New("Error parsing 'sequenceNumber' field " + _sequenceNumberErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIAdditionalInformationBusmonitorInfo{
+ FrameErrorFlag: frameErrorFlag,
+ BitErrorFlag: bitErrorFlag,
+ ParityErrorFlag: parityErrorFlag,
+ UnknownFlag: unknownFlag,
+ LostFlag: lostFlag,
+ SequenceNumber: sequenceNumber,
+ Parent: &CEMIAdditionalInformation{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIAdditionalInformationBusmonitorInfo) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Const Field (len)
+ _lenErr := io.WriteUint8(8, 1)
+ if _lenErr != nil {
+ return errors.New("Error serializing 'len' field " + _lenErr.Error())
+ }
+
+ // Simple Field (frameErrorFlag)
+ frameErrorFlag := bool(m.FrameErrorFlag)
+ _frameErrorFlagErr := io.WriteBit((frameErrorFlag))
+ if _frameErrorFlagErr != nil {
+ return errors.New("Error serializing 'frameErrorFlag' field " + _frameErrorFlagErr.Error())
+ }
+
+ // Simple Field (bitErrorFlag)
+ bitErrorFlag := bool(m.BitErrorFlag)
+ _bitErrorFlagErr := io.WriteBit((bitErrorFlag))
+ if _bitErrorFlagErr != nil {
+ return errors.New("Error serializing 'bitErrorFlag' field " + _bitErrorFlagErr.Error())
+ }
+
+ // Simple Field (parityErrorFlag)
+ parityErrorFlag := bool(m.ParityErrorFlag)
+ _parityErrorFlagErr := io.WriteBit((parityErrorFlag))
+ if _parityErrorFlagErr != nil {
+ return errors.New("Error serializing 'parityErrorFlag' field " + _parityErrorFlagErr.Error())
+ }
+
+ // Simple Field (unknownFlag)
+ unknownFlag := bool(m.UnknownFlag)
+ _unknownFlagErr := io.WriteBit((unknownFlag))
+ if _unknownFlagErr != nil {
+ return errors.New("Error serializing 'unknownFlag' field " + _unknownFlagErr.Error())
+ }
+
+ // Simple Field (lostFlag)
+ lostFlag := bool(m.LostFlag)
+ _lostFlagErr := io.WriteBit((lostFlag))
+ if _lostFlagErr != nil {
+ return errors.New("Error serializing 'lostFlag' field " + _lostFlagErr.Error())
+ }
+
+ // Simple Field (sequenceNumber)
+ sequenceNumber := uint8(m.SequenceNumber)
+ _sequenceNumberErr := io.WriteUint8(3, (sequenceNumber))
+ if _sequenceNumberErr != nil {
+ return errors.New("Error serializing 'sequenceNumber' field " + _sequenceNumberErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIAdditionalInformationBusmonitorInfo) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "frameErrorFlag":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.FrameErrorFlag = data
+ case "bitErrorFlag":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.BitErrorFlag = data
+ case "parityErrorFlag":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.ParityErrorFlag = data
+ case "unknownFlag":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.UnknownFlag = data
+ case "lostFlag":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.LostFlag = data
+ case "sequenceNumber":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.SequenceNumber = data
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIAdditionalInformationBusmonitorInfo) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.FrameErrorFlag, xml.StartElement{Name: xml.Name{Local: "frameErrorFlag"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.BitErrorFlag, xml.StartElement{Name: xml.Name{Local: "bitErrorFlag"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.ParityErrorFlag, xml.StartElement{Name: xml.Name{Local: "parityErrorFlag"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.UnknownFlag, xml.StartElement{Name: xml.Name{Local: "unknownFlag"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.LostFlag, xml.StartElement{Name: xml.Name{Local: "lostFlag"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.SequenceNumber, xml.StartElement{Name: xml.Name{Local: "sequenceNumber"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go
new file mode 100644
index 0000000..b04dfbd
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go
@@ -0,0 +1,181 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+ "strconv"
+)
+
+// Constant values.
+const CEMIAdditionalInformationRelativeTimestamp_LEN uint8 = 2
+
+// The data-structure of this message
+type CEMIAdditionalInformationRelativeTimestamp struct {
+ RelativeTimestamp *RelativeTimestamp
+ Parent *CEMIAdditionalInformation
+ ICEMIAdditionalInformationRelativeTimestamp
+}
+
+// The corresponding interface
+type ICEMIAdditionalInformationRelativeTimestamp interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIAdditionalInformationRelativeTimestamp) AdditionalInformationType() uint8 {
+ return 0x04
+}
+
+
+func (m *CEMIAdditionalInformationRelativeTimestamp) InitializeParent(parent *CEMIAdditionalInformation) {
+}
+
+func NewCEMIAdditionalInformationRelativeTimestamp(relativeTimestamp *RelativeTimestamp, ) *CEMIAdditionalInformation {
+ child := &CEMIAdditionalInformationRelativeTimestamp{
+ RelativeTimestamp: relativeTimestamp,
+ Parent: NewCEMIAdditionalInformation(),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIAdditionalInformationRelativeTimestamp(structType interface{}) CEMIAdditionalInformationRelativeTimestamp {
+ castFunc := func(typ interface{}) CEMIAdditionalInformationRelativeTimestamp {
+ if casted, ok := typ.(CEMIAdditionalInformationRelativeTimestamp); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIAdditionalInformationRelativeTimestamp); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMIAdditionalInformation); ok {
+ return CastCEMIAdditionalInformationRelativeTimestamp(casted.Child)
+ }
+ if casted, ok := typ.(*CEMIAdditionalInformation); ok {
+ return CastCEMIAdditionalInformationRelativeTimestamp(casted.Child)
+ }
+ return CEMIAdditionalInformationRelativeTimestamp{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIAdditionalInformationRelativeTimestamp) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Const Field (len)
+ lengthInBits += 8
+
+ // Simple field (relativeTimestamp)
+ lengthInBits += m.RelativeTimestamp.LengthInBits()
+
+ return lengthInBits
+}
+
+func (m *CEMIAdditionalInformationRelativeTimestamp) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIAdditionalInformationRelativeTimestampParse(io *utils.ReadBuffer) (*CEMIAdditionalInformation, error) {
+
+ // Const Field (len)
+ len, _lenErr := io.ReadUint8(8)
+ if _lenErr != nil {
+ return nil, errors.New("Error parsing 'len' field " + _lenErr.Error())
+ }
+ if len != CEMIAdditionalInformationRelativeTimestamp_LEN {
+ return nil, errors.New("Expected constant value " + strconv.Itoa(int(CEMIAdditionalInformationRelativeTimestamp_LEN)) + " but got " + strconv.Itoa(int(len)))
+ }
+
+ // Simple Field (relativeTimestamp)
+ relativeTimestamp, _relativeTimestampErr := RelativeTimestampParse(io)
+ if _relativeTimestampErr != nil {
+ return nil, errors.New("Error parsing 'relativeTimestamp' field " + _relativeTimestampErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIAdditionalInformationRelativeTimestamp{
+ RelativeTimestamp: relativeTimestamp,
+ Parent: &CEMIAdditionalInformation{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIAdditionalInformationRelativeTimestamp) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Const Field (len)
+ _lenErr := io.WriteUint8(8, 2)
+ if _lenErr != nil {
+ return errors.New("Error serializing 'len' field " + _lenErr.Error())
+ }
+
+ // Simple Field (relativeTimestamp)
+ _relativeTimestampErr := m.RelativeTimestamp.Serialize(io)
+ if _relativeTimestampErr != nil {
+ return errors.New("Error serializing 'relativeTimestamp' field " + _relativeTimestampErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIAdditionalInformationRelativeTimestamp) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "relativeTimestamp":
+ var data *RelativeTimestamp
+ if err := d.DecodeElement(data, &tok); err != nil {
+ return err
+ }
+ m.RelativeTimestamp = data
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIAdditionalInformationRelativeTimestamp) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.RelativeTimestamp, xml.StartElement{Name: xml.Name{Local: "relativeTimestamp"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIBusmonInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIBusmonInd.go
new file mode 100644
index 0000000..6247b4f
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIBusmonInd.go
@@ -0,0 +1,237 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type CEMIBusmonInd struct {
+ AdditionalInformationLength uint8
+ AdditionalInformation []*CEMIAdditionalInformation
+ CemiFrame *CEMIFrame
+ Parent *CEMI
+ ICEMIBusmonInd
+}
+
+// The corresponding interface
+type ICEMIBusmonInd interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIBusmonInd) MessageCode() uint8 {
+ return 0x2B
+}
+
+
+func (m *CEMIBusmonInd) InitializeParent(parent *CEMI) {
+}
+
+func NewCEMIBusmonInd(additionalInformationLength uint8, additionalInformation []*CEMIAdditionalInformation, cemiFrame *CEMIFrame, ) *CEMI {
+ child := &CEMIBusmonInd{
+ AdditionalInformationLength: additionalInformationLength,
+ AdditionalInformation: additionalInformation,
+ CemiFrame: cemiFrame,
+ Parent: NewCEMI(),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIBusmonInd(structType interface{}) CEMIBusmonInd {
+ castFunc := func(typ interface{}) CEMIBusmonInd {
+ if casted, ok := typ.(CEMIBusmonInd); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIBusmonInd); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIBusmonInd(casted.Child)
+ }
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIBusmonInd(casted.Child)
+ }
+ return CEMIBusmonInd{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIBusmonInd) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (additionalInformationLength)
+ lengthInBits += 8
+
+ // Array field
+ if len(m.AdditionalInformation) > 0 {
+ for _, element := range m.AdditionalInformation {
+ lengthInBits += element.LengthInBits()
+ }
+ }
+
+ // Simple field (cemiFrame)
+ lengthInBits += m.CemiFrame.LengthInBits()
+
+ return lengthInBits
+}
+
+func (m *CEMIBusmonInd) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIBusmonIndParse(io *utils.ReadBuffer) (*CEMI, error) {
+
+ // Simple Field (additionalInformationLength)
+ additionalInformationLength, _additionalInformationLengthErr := io.ReadUint8(8)
+ if _additionalInformationLengthErr != nil {
+ return nil, errors.New("Error parsing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
+ }
+
+ // Array field (additionalInformation)
+ // Length array
+ additionalInformation := make([]*CEMIAdditionalInformation, 0)
+ _additionalInformationLength := additionalInformationLength
+ _additionalInformationEndPos := io.GetPos() + uint16(_additionalInformationLength)
+ for ;io.GetPos() < _additionalInformationEndPos; {
+ _item, _err := CEMIAdditionalInformationParse(io)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'additionalInformation' field " + _err.Error())
+ }
+ additionalInformation = append(additionalInformation, _item)
+ }
+
+ // Simple Field (cemiFrame)
+ cemiFrame, _cemiFrameErr := CEMIFrameParse(io)
+ if _cemiFrameErr != nil {
+ return nil, errors.New("Error parsing 'cemiFrame' field " + _cemiFrameErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIBusmonInd{
+ AdditionalInformationLength: additionalInformationLength,
+ AdditionalInformation: additionalInformation,
+ CemiFrame: cemiFrame,
+ Parent: &CEMI{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIBusmonInd) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Simple Field (additionalInformationLength)
+ additionalInformationLength := uint8(m.AdditionalInformationLength)
+ _additionalInformationLengthErr := io.WriteUint8(8, (additionalInformationLength))
+ if _additionalInformationLengthErr != nil {
+ return errors.New("Error serializing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
+ }
+
+ // Array Field (additionalInformation)
+ if m.AdditionalInformation != nil {
+ for _, _element := range m.AdditionalInformation {
+ _elementErr := _element.Serialize(io)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'additionalInformation' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ // Simple Field (cemiFrame)
+ _cemiFrameErr := m.CemiFrame.Serialize(io)
+ if _cemiFrameErr != nil {
+ return errors.New("Error serializing 'cemiFrame' field " + _cemiFrameErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIBusmonInd) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "additionalInformationLength":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.AdditionalInformationLength = data
+ case "additionalInformation":
+ var _values []*CEMIAdditionalInformation
+ var dt *CEMIAdditionalInformation
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ _values = append(_values, dt)
+ m.AdditionalInformation = _values
+ case "cemiFrame":
+ var dt *CEMIFrame
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ m.CemiFrame = dt
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIBusmonInd) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.AdditionalInformationLength, xml.StartElement{Name: xml.Name{Local: "additionalInformationLength"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.AdditionalInformation, xml.StartElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.CemiFrame, xml.StartElement{Name: xml.Name{Local: "cemiFrame"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataCon.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataCon.go
new file mode 100644
index 0000000..2a9357c
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataCon.go
@@ -0,0 +1,237 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type CEMIDataCon struct {
+ AdditionalInformationLength uint8
+ AdditionalInformation []*CEMIAdditionalInformation
+ CemiDataFrame *CEMIDataFrame
+ Parent *CEMI
+ ICEMIDataCon
+}
+
+// The corresponding interface
+type ICEMIDataCon interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIDataCon) MessageCode() uint8 {
+ return 0x2E
+}
+
+
+func (m *CEMIDataCon) InitializeParent(parent *CEMI) {
+}
+
+func NewCEMIDataCon(additionalInformationLength uint8, additionalInformation []*CEMIAdditionalInformation, cemiDataFrame *CEMIDataFrame, ) *CEMI {
+ child := &CEMIDataCon{
+ AdditionalInformationLength: additionalInformationLength,
+ AdditionalInformation: additionalInformation,
+ CemiDataFrame: cemiDataFrame,
+ Parent: NewCEMI(),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIDataCon(structType interface{}) CEMIDataCon {
+ castFunc := func(typ interface{}) CEMIDataCon {
+ if casted, ok := typ.(CEMIDataCon); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIDataCon); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIDataCon(casted.Child)
+ }
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIDataCon(casted.Child)
+ }
+ return CEMIDataCon{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIDataCon) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (additionalInformationLength)
+ lengthInBits += 8
+
+ // Array field
+ if len(m.AdditionalInformation) > 0 {
+ for _, element := range m.AdditionalInformation {
+ lengthInBits += element.LengthInBits()
+ }
+ }
+
+ // Simple field (cemiDataFrame)
+ lengthInBits += m.CemiDataFrame.LengthInBits()
+
+ return lengthInBits
+}
+
+func (m *CEMIDataCon) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIDataConParse(io *utils.ReadBuffer) (*CEMI, error) {
+
+ // Simple Field (additionalInformationLength)
+ additionalInformationLength, _additionalInformationLengthErr := io.ReadUint8(8)
+ if _additionalInformationLengthErr != nil {
+ return nil, errors.New("Error parsing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
+ }
+
+ // Array field (additionalInformation)
+ // Length array
+ additionalInformation := make([]*CEMIAdditionalInformation, 0)
+ _additionalInformationLength := additionalInformationLength
+ _additionalInformationEndPos := io.GetPos() + uint16(_additionalInformationLength)
+ for ;io.GetPos() < _additionalInformationEndPos; {
+ _item, _err := CEMIAdditionalInformationParse(io)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'additionalInformation' field " + _err.Error())
+ }
+ additionalInformation = append(additionalInformation, _item)
+ }
+
+ // Simple Field (cemiDataFrame)
+ cemiDataFrame, _cemiDataFrameErr := CEMIDataFrameParse(io)
+ if _cemiDataFrameErr != nil {
+ return nil, errors.New("Error parsing 'cemiDataFrame' field " + _cemiDataFrameErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIDataCon{
+ AdditionalInformationLength: additionalInformationLength,
+ AdditionalInformation: additionalInformation,
+ CemiDataFrame: cemiDataFrame,
+ Parent: &CEMI{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIDataCon) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Simple Field (additionalInformationLength)
+ additionalInformationLength := uint8(m.AdditionalInformationLength)
+ _additionalInformationLengthErr := io.WriteUint8(8, (additionalInformationLength))
+ if _additionalInformationLengthErr != nil {
+ return errors.New("Error serializing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
+ }
+
+ // Array Field (additionalInformation)
+ if m.AdditionalInformation != nil {
+ for _, _element := range m.AdditionalInformation {
+ _elementErr := _element.Serialize(io)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'additionalInformation' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ // Simple Field (cemiDataFrame)
+ _cemiDataFrameErr := m.CemiDataFrame.Serialize(io)
+ if _cemiDataFrameErr != nil {
+ return errors.New("Error serializing 'cemiDataFrame' field " + _cemiDataFrameErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIDataCon) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "additionalInformationLength":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.AdditionalInformationLength = data
+ case "additionalInformation":
+ var _values []*CEMIAdditionalInformation
+ var dt *CEMIAdditionalInformation
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ _values = append(_values, dt)
+ m.AdditionalInformation = _values
+ case "cemiDataFrame":
+ var data *CEMIDataFrame
+ if err := d.DecodeElement(data, &tok); err != nil {
+ return err
+ }
+ m.CemiDataFrame = data
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIDataCon) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.AdditionalInformationLength, xml.StartElement{Name: xml.Name{Local: "additionalInformationLength"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.AdditionalInformation, xml.StartElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.CemiDataFrame, xml.StartElement{Name: xml.Name{Local: "cemiDataFrame"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataFrame.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataFrame.go
new file mode 100644
index 0000000..f41217a
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataFrame.go
@@ -0,0 +1,613 @@
+//
+// 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 model
+
+import (
+ "encoding/base64"
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type CEMIDataFrame struct {
+ StandardFrame bool
+ Polling bool
+ NotRepeated bool
+ NotAckFrame bool
+ Priority CEMIPriority
+ AcknowledgeRequested bool
+ ErrorFlag bool
+ GroupDestinationAddress bool
+ HopCount uint8
+ ExtendedFrameFormat uint8
+ SourceAddress *KnxAddress
+ DestinationAddress []int8
+ DataLength uint8
+ Tcpi TPCI
+ Counter uint8
+ Apci APCI
+ DataFirstByte int8
+ Data []int8
+ ICEMIDataFrame
+}
+
+// The corresponding interface
+type ICEMIDataFrame interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+func NewCEMIDataFrame(standardFrame bool, polling bool, notRepeated bool, notAckFrame bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool, groupDestinationAddress bool, hopCount uint8, extendedFrameFormat uint8, sourceAddress *KnxAddress, destinationAddress []int8, dataLength uint8, tcpi TPCI, counter uint8, apci APCI, dataFirstByte int8, data []int8) *CEMIDataFrame {
+ return &CEMIDataFrame{StandardFrame: standardFrame, Polling: polling, NotRepeated: notRepeated, NotAckFrame: notAckFrame, Priority: priority, AcknowledgeRequested: acknowledgeRequested, ErrorFlag: errorFlag, GroupDestinationAddress: groupDestinationAddress, HopCount: hopCount, ExtendedFrameFormat: extendedFrameFormat, SourceAddress: sourceAddress, DestinationAddress: destinationAddress, DataLength: dataLength, Tcpi: tcpi, Counter: counter, Apci: apci, DataFirstByte: dataFirstByte, Da [...]
+}
+
+func CastCEMIDataFrame(structType interface{}) CEMIDataFrame {
+ castFunc := func(typ interface{}) CEMIDataFrame {
+ if casted, ok := typ.(CEMIDataFrame); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIDataFrame); ok {
+ return *casted
+ }
+ return CEMIDataFrame{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIDataFrame) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (standardFrame)
+ lengthInBits += 1
+
+ // Simple field (polling)
+ lengthInBits += 1
+
+ // Simple field (notRepeated)
+ lengthInBits += 1
+
+ // Simple field (notAckFrame)
+ lengthInBits += 1
+
+ // Enum Field (priority)
+ lengthInBits += 2
+
+ // Simple field (acknowledgeRequested)
+ lengthInBits += 1
+
+ // Simple field (errorFlag)
+ lengthInBits += 1
+
+ // Simple field (groupDestinationAddress)
+ lengthInBits += 1
+
+ // Simple field (hopCount)
+ lengthInBits += 3
+
+ // Simple field (extendedFrameFormat)
+ lengthInBits += 4
+
+ // Simple field (sourceAddress)
+ lengthInBits += m.SourceAddress.LengthInBits()
+
+ // Array field
+ if len(m.DestinationAddress) > 0 {
+ lengthInBits += 8 * uint16(len(m.DestinationAddress))
+ }
+
+ // Simple field (dataLength)
+ lengthInBits += 8
+
+ // Enum Field (tcpi)
+ lengthInBits += 2
+
+ // Simple field (counter)
+ lengthInBits += 4
+
+ // Enum Field (apci)
+ lengthInBits += 4
+
+ // Simple field (dataFirstByte)
+ lengthInBits += 6
+
+ // Array field
+ if len(m.Data) > 0 {
+ lengthInBits += 8 * uint16(len(m.Data))
+ }
+
+ return lengthInBits
+}
+
+func (m *CEMIDataFrame) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIDataFrameParse(io *utils.ReadBuffer) (*CEMIDataFrame, error) {
+
+ // Simple Field (standardFrame)
+ standardFrame, _standardFrameErr := io.ReadBit()
+ if _standardFrameErr != nil {
+ return nil, errors.New("Error parsing 'standardFrame' field " + _standardFrameErr.Error())
+ }
+
+ // Simple Field (polling)
+ polling, _pollingErr := io.ReadBit()
+ if _pollingErr != nil {
+ return nil, errors.New("Error parsing 'polling' field " + _pollingErr.Error())
+ }
+
+ // Simple Field (notRepeated)
+ notRepeated, _notRepeatedErr := io.ReadBit()
+ if _notRepeatedErr != nil {
+ return nil, errors.New("Error parsing 'notRepeated' field " + _notRepeatedErr.Error())
+ }
+
+ // Simple Field (notAckFrame)
+ notAckFrame, _notAckFrameErr := io.ReadBit()
+ if _notAckFrameErr != nil {
+ return nil, errors.New("Error parsing 'notAckFrame' field " + _notAckFrameErr.Error())
+ }
+
+ // Enum field (priority)
+ priority, _priorityErr := CEMIPriorityParse(io)
+ if _priorityErr != nil {
+ return nil, errors.New("Error parsing 'priority' field " + _priorityErr.Error())
+ }
+
+ // Simple Field (acknowledgeRequested)
+ acknowledgeRequested, _acknowledgeRequestedErr := io.ReadBit()
+ if _acknowledgeRequestedErr != nil {
+ return nil, errors.New("Error parsing 'acknowledgeRequested' field " + _acknowledgeRequestedErr.Error())
+ }
+
+ // Simple Field (errorFlag)
+ errorFlag, _errorFlagErr := io.ReadBit()
+ if _errorFlagErr != nil {
+ return nil, errors.New("Error parsing 'errorFlag' field " + _errorFlagErr.Error())
+ }
+
+ // Simple Field (groupDestinationAddress)
+ groupDestinationAddress, _groupDestinationAddressErr := io.ReadBit()
+ if _groupDestinationAddressErr != nil {
+ return nil, errors.New("Error parsing 'groupDestinationAddress' field " + _groupDestinationAddressErr.Error())
+ }
+
+ // Simple Field (hopCount)
+ hopCount, _hopCountErr := io.ReadUint8(3)
+ if _hopCountErr != nil {
+ return nil, errors.New("Error parsing 'hopCount' field " + _hopCountErr.Error())
+ }
+
+ // Simple Field (extendedFrameFormat)
+ extendedFrameFormat, _extendedFrameFormatErr := io.ReadUint8(4)
+ if _extendedFrameFormatErr != nil {
+ return nil, errors.New("Error parsing 'extendedFrameFormat' field " + _extendedFrameFormatErr.Error())
+ }
+
+ // Simple Field (sourceAddress)
+ sourceAddress, _sourceAddressErr := KnxAddressParse(io)
+ if _sourceAddressErr != nil {
+ return nil, errors.New("Error parsing 'sourceAddress' field " + _sourceAddressErr.Error())
+ }
+
+ // Array field (destinationAddress)
+ // Count array
+ destinationAddress := make([]int8, uint16(2))
+ for curItem := uint16(0); curItem < uint16(uint16(2)); curItem++ {
+ _item, _err := io.ReadInt8(8)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'destinationAddress' field " + _err.Error())
+ }
+ destinationAddress[curItem] = _item
+ }
+
+ // Simple Field (dataLength)
+ dataLength, _dataLengthErr := io.ReadUint8(8)
+ if _dataLengthErr != nil {
+ return nil, errors.New("Error parsing 'dataLength' field " + _dataLengthErr.Error())
+ }
+
+ // Enum field (tcpi)
+ tcpi, _tcpiErr := TPCIParse(io)
+ if _tcpiErr != nil {
+ return nil, errors.New("Error parsing 'tcpi' field " + _tcpiErr.Error())
+ }
+
+ // Simple Field (counter)
+ counter, _counterErr := io.ReadUint8(4)
+ if _counterErr != nil {
+ return nil, errors.New("Error parsing 'counter' field " + _counterErr.Error())
+ }
+
+ // Enum field (apci)
+ apci, _apciErr := APCIParse(io)
+ if _apciErr != nil {
+ return nil, errors.New("Error parsing 'apci' field " + _apciErr.Error())
+ }
+
+ // Simple Field (dataFirstByte)
+ dataFirstByte, _dataFirstByteErr := io.ReadInt8(6)
+ if _dataFirstByteErr != nil {
+ return nil, errors.New("Error parsing 'dataFirstByte' field " + _dataFirstByteErr.Error())
+ }
+
+ // Array field (data)
+ // Count array
+ data := make([]int8, uint16(dataLength) - uint16(uint16(1)))
+ for curItem := uint16(0); curItem < uint16(uint16(dataLength) - uint16(uint16(1))); curItem++ {
+ _item, _err := io.ReadInt8(8)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'data' field " + _err.Error())
+ }
+ data[curItem] = _item
+ }
+
+ // Create the instance
+ return NewCEMIDataFrame(standardFrame, polling, notRepeated, notAckFrame, priority, acknowledgeRequested, errorFlag, groupDestinationAddress, hopCount, extendedFrameFormat, sourceAddress, destinationAddress, dataLength, tcpi, counter, apci, dataFirstByte, data), nil
+}
+
+func (m *CEMIDataFrame) Serialize(io utils.WriteBuffer) error {
+
+ // Simple Field (standardFrame)
+ standardFrame := bool(m.StandardFrame)
+ _standardFrameErr := io.WriteBit((standardFrame))
+ if _standardFrameErr != nil {
+ return errors.New("Error serializing 'standardFrame' field " + _standardFrameErr.Error())
+ }
+
+ // Simple Field (polling)
+ polling := bool(m.Polling)
+ _pollingErr := io.WriteBit((polling))
+ if _pollingErr != nil {
+ return errors.New("Error serializing 'polling' field " + _pollingErr.Error())
+ }
+
+ // Simple Field (notRepeated)
+ notRepeated := bool(m.NotRepeated)
+ _notRepeatedErr := io.WriteBit((notRepeated))
+ if _notRepeatedErr != nil {
+ return errors.New("Error serializing 'notRepeated' field " + _notRepeatedErr.Error())
+ }
+
+ // Simple Field (notAckFrame)
+ notAckFrame := bool(m.NotAckFrame)
+ _notAckFrameErr := io.WriteBit((notAckFrame))
+ if _notAckFrameErr != nil {
+ return errors.New("Error serializing 'notAckFrame' field " + _notAckFrameErr.Error())
+ }
+
+ // Enum field (priority)
+ priority := CastCEMIPriority(m.Priority)
+ _priorityErr := priority.Serialize(io)
+ if _priorityErr != nil {
+ return errors.New("Error serializing 'priority' field " + _priorityErr.Error())
+ }
+
+ // Simple Field (acknowledgeRequested)
+ acknowledgeRequested := bool(m.AcknowledgeRequested)
+ _acknowledgeRequestedErr := io.WriteBit((acknowledgeRequested))
+ if _acknowledgeRequestedErr != nil {
+ return errors.New("Error serializing 'acknowledgeRequested' field " + _acknowledgeRequestedErr.Error())
+ }
+
+ // Simple Field (errorFlag)
+ errorFlag := bool(m.ErrorFlag)
+ _errorFlagErr := io.WriteBit((errorFlag))
+ if _errorFlagErr != nil {
+ return errors.New("Error serializing 'errorFlag' field " + _errorFlagErr.Error())
+ }
+
+ // Simple Field (groupDestinationAddress)
+ groupDestinationAddress := bool(m.GroupDestinationAddress)
+ _groupDestinationAddressErr := io.WriteBit((groupDestinationAddress))
+ if _groupDestinationAddressErr != nil {
+ return errors.New("Error serializing 'groupDestinationAddress' field " + _groupDestinationAddressErr.Error())
+ }
+
+ // Simple Field (hopCount)
+ hopCount := uint8(m.HopCount)
+ _hopCountErr := io.WriteUint8(3, (hopCount))
+ if _hopCountErr != nil {
+ return errors.New("Error serializing 'hopCount' field " + _hopCountErr.Error())
+ }
+
+ // Simple Field (extendedFrameFormat)
+ extendedFrameFormat := uint8(m.ExtendedFrameFormat)
+ _extendedFrameFormatErr := io.WriteUint8(4, (extendedFrameFormat))
+ if _extendedFrameFormatErr != nil {
+ return errors.New("Error serializing 'extendedFrameFormat' field " + _extendedFrameFormatErr.Error())
+ }
+
+ // Simple Field (sourceAddress)
+ _sourceAddressErr := m.SourceAddress.Serialize(io)
+ if _sourceAddressErr != nil {
+ return errors.New("Error serializing 'sourceAddress' field " + _sourceAddressErr.Error())
+ }
+
+ // Array Field (destinationAddress)
+ if m.DestinationAddress != nil {
+ for _, _element := range m.DestinationAddress {
+ _elementErr := io.WriteInt8(8, _element)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'destinationAddress' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ // Simple Field (dataLength)
+ dataLength := uint8(m.DataLength)
+ _dataLengthErr := io.WriteUint8(8, (dataLength))
+ if _dataLengthErr != nil {
+ return errors.New("Error serializing 'dataLength' field " + _dataLengthErr.Error())
+ }
+
+ // Enum field (tcpi)
+ tcpi := CastTPCI(m.Tcpi)
+ _tcpiErr := tcpi.Serialize(io)
+ if _tcpiErr != nil {
+ return errors.New("Error serializing 'tcpi' field " + _tcpiErr.Error())
+ }
+
+ // Simple Field (counter)
+ counter := uint8(m.Counter)
+ _counterErr := io.WriteUint8(4, (counter))
+ if _counterErr != nil {
+ return errors.New("Error serializing 'counter' field " + _counterErr.Error())
+ }
+
+ // Enum field (apci)
+ apci := CastAPCI(m.Apci)
+ _apciErr := apci.Serialize(io)
+ if _apciErr != nil {
+ return errors.New("Error serializing 'apci' field " + _apciErr.Error())
+ }
+
+ // Simple Field (dataFirstByte)
+ dataFirstByte := int8(m.DataFirstByte)
+ _dataFirstByteErr := io.WriteInt8(6, (dataFirstByte))
+ if _dataFirstByteErr != nil {
+ return errors.New("Error serializing 'dataFirstByte' field " + _dataFirstByteErr.Error())
+ }
+
+ // Array Field (data)
+ if m.Data != nil {
+ for _, _element := range m.Data {
+ _elementErr := io.WriteInt8(8, _element)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'data' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ return nil
+}
+
+func (m *CEMIDataFrame) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ for {
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "standardFrame":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.StandardFrame = data
+ case "polling":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Polling = data
+ case "notRepeated":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.NotRepeated = data
+ case "notAckFrame":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.NotAckFrame = data
+ case "priority":
+ var data CEMIPriority
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Priority = data
+ case "acknowledgeRequested":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.AcknowledgeRequested = data
+ case "errorFlag":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.ErrorFlag = data
+ case "groupDestinationAddress":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.GroupDestinationAddress = data
+ case "hopCount":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.HopCount = data
+ case "extendedFrameFormat":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.ExtendedFrameFormat = data
+ case "sourceAddress":
+ var data *KnxAddress
+ if err := d.DecodeElement(data, &tok); err != nil {
+ return err
+ }
+ m.SourceAddress = data
+ case "destinationAddress":
+ var _encoded string
+ if err := d.DecodeElement(&_encoded, &tok); err != nil {
+ return err
+ }
+ _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+ _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+ if err != nil {
+ return err
+ }
+ m.DestinationAddress = utils.ByteToInt8(_decoded[0:_len])
+ case "dataLength":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.DataLength = data
+ case "tcpi":
+ var data TPCI
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Tcpi = data
+ case "counter":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Counter = data
+ case "apci":
+ var data APCI
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Apci = data
+ case "dataFirstByte":
+ var data int8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.DataFirstByte = data
+ case "data":
+ var _encoded string
+ if err := d.DecodeElement(&_encoded, &tok); err != nil {
+ return err
+ }
+ _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+ _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+ if err != nil {
+ return err
+ }
+ m.Data = utils.ByteToInt8(_decoded[0:_len])
+ }
+ }
+ }
+}
+
+func (m *CEMIDataFrame) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ className := "org.apache.plc4x.java.knxnetip.readwrite.CEMIDataFrame"
+ if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
+ {Name: xml.Name{Local: "className"}, Value: className},
+ }}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.StandardFrame, xml.StartElement{Name: xml.Name{Local: "standardFrame"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Polling, xml.StartElement{Name: xml.Name{Local: "polling"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.NotRepeated, xml.StartElement{Name: xml.Name{Local: "notRepeated"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.NotAckFrame, xml.StartElement{Name: xml.Name{Local: "notAckFrame"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Priority, xml.StartElement{Name: xml.Name{Local: "priority"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.AcknowledgeRequested, xml.StartElement{Name: xml.Name{Local: "acknowledgeRequested"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.ErrorFlag, xml.StartElement{Name: xml.Name{Local: "errorFlag"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.GroupDestinationAddress, xml.StartElement{Name: xml.Name{Local: "groupDestinationAddress"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.HopCount, xml.StartElement{Name: xml.Name{Local: "hopCount"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.ExtendedFrameFormat, xml.StartElement{Name: xml.Name{Local: "extendedFrameFormat"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.SourceAddress, xml.StartElement{Name: xml.Name{Local: "sourceAddress"}}); err != nil {
+ return err
+ }
+ _encodedDestinationAddress := make([]byte, base64.StdEncoding.EncodedLen(len(m.DestinationAddress)))
+ base64.StdEncoding.Encode(_encodedDestinationAddress, utils.Int8ToByte(m.DestinationAddress))
+ if err := e.EncodeElement(_encodedDestinationAddress, xml.StartElement{Name: xml.Name{Local: "destinationAddress"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.DataLength, xml.StartElement{Name: xml.Name{Local: "dataLength"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Tcpi, xml.StartElement{Name: xml.Name{Local: "tcpi"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Counter, xml.StartElement{Name: xml.Name{Local: "counter"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Apci, xml.StartElement{Name: xml.Name{Local: "apci"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.DataFirstByte, xml.StartElement{Name: xml.Name{Local: "dataFirstByte"}}); err != nil {
+ return err
+ }
+ _encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
+ base64.StdEncoding.Encode(_encodedData, utils.Int8ToByte(m.Data))
+ if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataInd.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataInd.go
new file mode 100644
index 0000000..98be1dd
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataInd.go
@@ -0,0 +1,237 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type CEMIDataInd struct {
+ AdditionalInformationLength uint8
+ AdditionalInformation []*CEMIAdditionalInformation
+ CemiDataFrame *CEMIDataFrame
+ Parent *CEMI
+ ICEMIDataInd
+}
+
+// The corresponding interface
+type ICEMIDataInd interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIDataInd) MessageCode() uint8 {
+ return 0x29
+}
+
+
+func (m *CEMIDataInd) InitializeParent(parent *CEMI) {
+}
+
+func NewCEMIDataInd(additionalInformationLength uint8, additionalInformation []*CEMIAdditionalInformation, cemiDataFrame *CEMIDataFrame, ) *CEMI {
+ child := &CEMIDataInd{
+ AdditionalInformationLength: additionalInformationLength,
+ AdditionalInformation: additionalInformation,
+ CemiDataFrame: cemiDataFrame,
+ Parent: NewCEMI(),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIDataInd(structType interface{}) CEMIDataInd {
+ castFunc := func(typ interface{}) CEMIDataInd {
+ if casted, ok := typ.(CEMIDataInd); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIDataInd); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIDataInd(casted.Child)
+ }
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIDataInd(casted.Child)
+ }
+ return CEMIDataInd{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIDataInd) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (additionalInformationLength)
+ lengthInBits += 8
+
+ // Array field
+ if len(m.AdditionalInformation) > 0 {
+ for _, element := range m.AdditionalInformation {
+ lengthInBits += element.LengthInBits()
+ }
+ }
+
+ // Simple field (cemiDataFrame)
+ lengthInBits += m.CemiDataFrame.LengthInBits()
+
+ return lengthInBits
+}
+
+func (m *CEMIDataInd) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIDataIndParse(io *utils.ReadBuffer) (*CEMI, error) {
+
+ // Simple Field (additionalInformationLength)
+ additionalInformationLength, _additionalInformationLengthErr := io.ReadUint8(8)
+ if _additionalInformationLengthErr != nil {
+ return nil, errors.New("Error parsing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
+ }
+
+ // Array field (additionalInformation)
+ // Length array
+ additionalInformation := make([]*CEMIAdditionalInformation, 0)
+ _additionalInformationLength := additionalInformationLength
+ _additionalInformationEndPos := io.GetPos() + uint16(_additionalInformationLength)
+ for ;io.GetPos() < _additionalInformationEndPos; {
+ _item, _err := CEMIAdditionalInformationParse(io)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'additionalInformation' field " + _err.Error())
+ }
+ additionalInformation = append(additionalInformation, _item)
+ }
+
+ // Simple Field (cemiDataFrame)
+ cemiDataFrame, _cemiDataFrameErr := CEMIDataFrameParse(io)
+ if _cemiDataFrameErr != nil {
+ return nil, errors.New("Error parsing 'cemiDataFrame' field " + _cemiDataFrameErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIDataInd{
+ AdditionalInformationLength: additionalInformationLength,
+ AdditionalInformation: additionalInformation,
+ CemiDataFrame: cemiDataFrame,
+ Parent: &CEMI{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIDataInd) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Simple Field (additionalInformationLength)
+ additionalInformationLength := uint8(m.AdditionalInformationLength)
+ _additionalInformationLengthErr := io.WriteUint8(8, (additionalInformationLength))
+ if _additionalInformationLengthErr != nil {
+ return errors.New("Error serializing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
+ }
+
+ // Array Field (additionalInformation)
+ if m.AdditionalInformation != nil {
+ for _, _element := range m.AdditionalInformation {
+ _elementErr := _element.Serialize(io)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'additionalInformation' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ // Simple Field (cemiDataFrame)
+ _cemiDataFrameErr := m.CemiDataFrame.Serialize(io)
+ if _cemiDataFrameErr != nil {
+ return errors.New("Error serializing 'cemiDataFrame' field " + _cemiDataFrameErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIDataInd) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "additionalInformationLength":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.AdditionalInformationLength = data
+ case "additionalInformation":
+ var _values []*CEMIAdditionalInformation
+ var dt *CEMIAdditionalInformation
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ _values = append(_values, dt)
+ m.AdditionalInformation = _values
+ case "cemiDataFrame":
+ var data *CEMIDataFrame
+ if err := d.DecodeElement(data, &tok); err != nil {
+ return err
+ }
+ m.CemiDataFrame = data
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIDataInd) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.AdditionalInformationLength, xml.StartElement{Name: xml.Name{Local: "additionalInformationLength"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.AdditionalInformation, xml.StartElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.CemiDataFrame, xml.StartElement{Name: xml.Name{Local: "cemiDataFrame"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataReq.go
new file mode 100644
index 0000000..1f7b410
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataReq.go
@@ -0,0 +1,237 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type CEMIDataReq struct {
+ AdditionalInformationLength uint8
+ AdditionalInformation []*CEMIAdditionalInformation
+ CemiDataFrame *CEMIDataFrame
+ Parent *CEMI
+ ICEMIDataReq
+}
+
+// The corresponding interface
+type ICEMIDataReq interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIDataReq) MessageCode() uint8 {
+ return 0x11
+}
+
+
+func (m *CEMIDataReq) InitializeParent(parent *CEMI) {
+}
+
+func NewCEMIDataReq(additionalInformationLength uint8, additionalInformation []*CEMIAdditionalInformation, cemiDataFrame *CEMIDataFrame, ) *CEMI {
+ child := &CEMIDataReq{
+ AdditionalInformationLength: additionalInformationLength,
+ AdditionalInformation: additionalInformation,
+ CemiDataFrame: cemiDataFrame,
+ Parent: NewCEMI(),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIDataReq(structType interface{}) CEMIDataReq {
+ castFunc := func(typ interface{}) CEMIDataReq {
+ if casted, ok := typ.(CEMIDataReq); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIDataReq); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIDataReq(casted.Child)
+ }
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIDataReq(casted.Child)
+ }
+ return CEMIDataReq{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIDataReq) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (additionalInformationLength)
+ lengthInBits += 8
+
+ // Array field
+ if len(m.AdditionalInformation) > 0 {
+ for _, element := range m.AdditionalInformation {
+ lengthInBits += element.LengthInBits()
+ }
+ }
+
+ // Simple field (cemiDataFrame)
+ lengthInBits += m.CemiDataFrame.LengthInBits()
+
+ return lengthInBits
+}
+
+func (m *CEMIDataReq) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIDataReqParse(io *utils.ReadBuffer) (*CEMI, error) {
+
+ // Simple Field (additionalInformationLength)
+ additionalInformationLength, _additionalInformationLengthErr := io.ReadUint8(8)
+ if _additionalInformationLengthErr != nil {
+ return nil, errors.New("Error parsing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
+ }
+
+ // Array field (additionalInformation)
+ // Length array
+ additionalInformation := make([]*CEMIAdditionalInformation, 0)
+ _additionalInformationLength := additionalInformationLength
+ _additionalInformationEndPos := io.GetPos() + uint16(_additionalInformationLength)
+ for ;io.GetPos() < _additionalInformationEndPos; {
+ _item, _err := CEMIAdditionalInformationParse(io)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'additionalInformation' field " + _err.Error())
+ }
+ additionalInformation = append(additionalInformation, _item)
+ }
+
+ // Simple Field (cemiDataFrame)
+ cemiDataFrame, _cemiDataFrameErr := CEMIDataFrameParse(io)
+ if _cemiDataFrameErr != nil {
+ return nil, errors.New("Error parsing 'cemiDataFrame' field " + _cemiDataFrameErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIDataReq{
+ AdditionalInformationLength: additionalInformationLength,
+ AdditionalInformation: additionalInformation,
+ CemiDataFrame: cemiDataFrame,
+ Parent: &CEMI{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIDataReq) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Simple Field (additionalInformationLength)
+ additionalInformationLength := uint8(m.AdditionalInformationLength)
+ _additionalInformationLengthErr := io.WriteUint8(8, (additionalInformationLength))
+ if _additionalInformationLengthErr != nil {
+ return errors.New("Error serializing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
+ }
+
+ // Array Field (additionalInformation)
+ if m.AdditionalInformation != nil {
+ for _, _element := range m.AdditionalInformation {
+ _elementErr := _element.Serialize(io)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'additionalInformation' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ // Simple Field (cemiDataFrame)
+ _cemiDataFrameErr := m.CemiDataFrame.Serialize(io)
+ if _cemiDataFrameErr != nil {
+ return errors.New("Error serializing 'cemiDataFrame' field " + _cemiDataFrameErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIDataReq) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "additionalInformationLength":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.AdditionalInformationLength = data
+ case "additionalInformation":
+ var _values []*CEMIAdditionalInformation
+ var dt *CEMIAdditionalInformation
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ _values = append(_values, dt)
+ m.AdditionalInformation = _values
+ case "cemiDataFrame":
+ var data *CEMIDataFrame
+ if err := d.DecodeElement(data, &tok); err != nil {
+ return err
+ }
+ m.CemiDataFrame = data
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIDataReq) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.AdditionalInformationLength, xml.StartElement{Name: xml.Name{Local: "additionalInformationLength"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.AdditionalInformation, xml.StartElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeToken(xml.EndElement{Name: xml.Name{Local: "additionalInformation"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.CemiDataFrame, xml.StartElement{Name: xml.Name{Local: "cemiDataFrame"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrame.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrame.go
new file mode 100644
index 0000000..3372154
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrame.go
@@ -0,0 +1,382 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+ "reflect"
+ "strings"
+)
+
+// The data-structure of this message
+type CEMIFrame struct {
+ Repeated bool
+ Priority CEMIPriority
+ AcknowledgeRequested bool
+ ErrorFlag bool
+ Child ICEMIFrameChild
+ ICEMIFrame
+ ICEMIFrameParent
+}
+
+// The corresponding interface
+type ICEMIFrame interface {
+ NotAckFrame() bool
+ Polling() bool
+ StandardFrame() bool
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+type ICEMIFrameParent interface {
+ SerializeParent(io utils.WriteBuffer, child ICEMIFrame, serializeChildFunction func() error) error
+}
+
+type ICEMIFrameChild interface {
+ Serialize(io utils.WriteBuffer) error
+ InitializeParent(parent *CEMIFrame, repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool)
+ ICEMIFrame
+}
+
+func NewCEMIFrame(repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) *CEMIFrame {
+ return &CEMIFrame{Repeated: repeated, Priority: priority, AcknowledgeRequested: acknowledgeRequested, ErrorFlag: errorFlag}
+}
+
+func CastCEMIFrame(structType interface{}) CEMIFrame {
+ castFunc := func(typ interface{}) CEMIFrame {
+ if casted, ok := typ.(CEMIFrame); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIFrame); ok {
+ return *casted
+ }
+ return CEMIFrame{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIFrame) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Discriminator Field (standardFrame)
+ lengthInBits += 1
+
+ // Discriminator Field (polling)
+ lengthInBits += 1
+
+ // Simple field (repeated)
+ lengthInBits += 1
+
+ // Discriminator Field (notAckFrame)
+ lengthInBits += 1
+
+ // Enum Field (priority)
+ lengthInBits += 2
+
+ // Simple field (acknowledgeRequested)
+ lengthInBits += 1
+
+ // Simple field (errorFlag)
+ lengthInBits += 1
+
+ // Length of sub-type elements will be added by sub-type...
+ lengthInBits += m.Child.LengthInBits()
+
+ return lengthInBits
+}
+
+func (m *CEMIFrame) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIFrameParse(io *utils.ReadBuffer) (*CEMIFrame, error) {
+
+ // Discriminator Field (standardFrame) (Used as input to a switch field)
+ standardFrame, _standardFrameErr := io.ReadBit()
+ if _standardFrameErr != nil {
+ return nil, errors.New("Error parsing 'standardFrame' field " + _standardFrameErr.Error())
+ }
+
+ // Discriminator Field (polling) (Used as input to a switch field)
+ polling, _pollingErr := io.ReadBit()
+ if _pollingErr != nil {
+ return nil, errors.New("Error parsing 'polling' field " + _pollingErr.Error())
+ }
+
+ // Simple Field (repeated)
+ repeated, _repeatedErr := io.ReadBit()
+ if _repeatedErr != nil {
+ return nil, errors.New("Error parsing 'repeated' field " + _repeatedErr.Error())
+ }
+
+ // Discriminator Field (notAckFrame) (Used as input to a switch field)
+ notAckFrame, _notAckFrameErr := io.ReadBit()
+ if _notAckFrameErr != nil {
+ return nil, errors.New("Error parsing 'notAckFrame' field " + _notAckFrameErr.Error())
+ }
+
+ // Enum field (priority)
+ priority, _priorityErr := CEMIPriorityParse(io)
+ if _priorityErr != nil {
+ return nil, errors.New("Error parsing 'priority' field " + _priorityErr.Error())
+ }
+
+ // Simple Field (acknowledgeRequested)
+ acknowledgeRequested, _acknowledgeRequestedErr := io.ReadBit()
+ if _acknowledgeRequestedErr != nil {
+ return nil, errors.New("Error parsing 'acknowledgeRequested' field " + _acknowledgeRequestedErr.Error())
+ }
+
+ // Simple Field (errorFlag)
+ errorFlag, _errorFlagErr := io.ReadBit()
+ if _errorFlagErr != nil {
+ return nil, errors.New("Error parsing 'errorFlag' field " + _errorFlagErr.Error())
+ }
+
+ // Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
+ var _parent *CEMIFrame
+ var typeSwitchError error
+ switch {
+ case notAckFrame == false:
+ _parent, typeSwitchError = CEMIFrameAckParse(io)
+ case notAckFrame == true && standardFrame == true && polling == false:
+ _parent, typeSwitchError = CEMIFrameDataParse(io)
+ case notAckFrame == true && standardFrame == true && polling == true:
+ _parent, typeSwitchError = CEMIFramePollingDataParse(io)
+ case notAckFrame == true && standardFrame == false && polling == false:
+ _parent, typeSwitchError = CEMIFrameDataExtParse(io)
+ case notAckFrame == true && standardFrame == false && polling == true:
+ _parent, typeSwitchError = CEMIFramePollingDataExtParse(io)
+ }
+ if typeSwitchError != nil {
+ return nil, errors.New("Error parsing sub-type for type-switch. " + typeSwitchError.Error())
+ }
+
+ // Finish initializing
+ _parent.Child.InitializeParent(_parent, repeated, priority, acknowledgeRequested, errorFlag)
+ return _parent, nil
+}
+
+func (m *CEMIFrame) Serialize(io utils.WriteBuffer) error {
+ return m.Child.Serialize(io)
+}
+
+func (m *CEMIFrame) SerializeParent(io utils.WriteBuffer, child ICEMIFrame, serializeChildFunction func() error) error {
+
+ // Discriminator Field (standardFrame) (Used as input to a switch field)
+ standardFrame := bool(child.StandardFrame())
+ _standardFrameErr := io.WriteBit((standardFrame))
+ if _standardFrameErr != nil {
+ return errors.New("Error serializing 'standardFrame' field " + _standardFrameErr.Error())
+ }
+
+ // Discriminator Field (polling) (Used as input to a switch field)
+ polling := bool(child.Polling())
+ _pollingErr := io.WriteBit((polling))
+ if _pollingErr != nil {
+ return errors.New("Error serializing 'polling' field " + _pollingErr.Error())
+ }
+
+ // Simple Field (repeated)
+ repeated := bool(m.Repeated)
+ _repeatedErr := io.WriteBit((repeated))
+ if _repeatedErr != nil {
+ return errors.New("Error serializing 'repeated' field " + _repeatedErr.Error())
+ }
+
+ // Discriminator Field (notAckFrame) (Used as input to a switch field)
+ notAckFrame := bool(child.NotAckFrame())
+ _notAckFrameErr := io.WriteBit((notAckFrame))
+ if _notAckFrameErr != nil {
+ return errors.New("Error serializing 'notAckFrame' field " + _notAckFrameErr.Error())
+ }
+
+ // Enum field (priority)
+ priority := CastCEMIPriority(m.Priority)
+ _priorityErr := priority.Serialize(io)
+ if _priorityErr != nil {
+ return errors.New("Error serializing 'priority' field " + _priorityErr.Error())
+ }
+
+ // Simple Field (acknowledgeRequested)
+ acknowledgeRequested := bool(m.AcknowledgeRequested)
+ _acknowledgeRequestedErr := io.WriteBit((acknowledgeRequested))
+ if _acknowledgeRequestedErr != nil {
+ return errors.New("Error serializing 'acknowledgeRequested' field " + _acknowledgeRequestedErr.Error())
+ }
+
+ // Simple Field (errorFlag)
+ errorFlag := bool(m.ErrorFlag)
+ _errorFlagErr := io.WriteBit((errorFlag))
+ if _errorFlagErr != nil {
+ return errors.New("Error serializing 'errorFlag' field " + _errorFlagErr.Error())
+ }
+
+ // Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
+ _typeSwitchErr := serializeChildFunction()
+ if _typeSwitchErr != nil {
+ return errors.New("Error serializing sub-type field " + _typeSwitchErr.Error())
+ }
+
+ return nil
+}
+
+func (m *CEMIFrame) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ for {
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "repeated":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Repeated = data
+ case "priority":
+ var data CEMIPriority
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Priority = data
+ case "acknowledgeRequested":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.AcknowledgeRequested = data
+ case "errorFlag":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.ErrorFlag = data
+ default:
+ switch start.Attr[0].Value {
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIFrameAck":
+ var dt *CEMIFrameAck
+ if m.Child != nil {
+ dt = m.Child.(*CEMIFrameAck)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIFrameData":
+ var dt *CEMIFrameData
+ if m.Child != nil {
+ dt = m.Child.(*CEMIFrameData)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIFramePollingData":
+ var dt *CEMIFramePollingData
+ if m.Child != nil {
+ dt = m.Child.(*CEMIFramePollingData)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIFrameDataExt":
+ var dt *CEMIFrameDataExt
+ if m.Child != nil {
+ dt = m.Child.(*CEMIFrameDataExt)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ case "org.apache.plc4x.java.knxnetip.readwrite.CEMIFramePollingDataExt":
+ var dt *CEMIFramePollingDataExt
+ if m.Child != nil {
+ dt = m.Child.(*CEMIFramePollingDataExt)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ }
+ }
+ }
+ }
+}
+
+func (m *CEMIFrame) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ className := reflect.TypeOf(m.Child).String()
+ className = "org.apache.plc4x.java.knxnetip.readwrite." + className[strings.LastIndex(className, ".") + 1:]
+ if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
+ {Name: xml.Name{Local: "className"}, Value: className},
+ }}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Repeated, xml.StartElement{Name: xml.Name{Local: "repeated"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Priority, xml.StartElement{Name: xml.Name{Local: "priority"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.AcknowledgeRequested, xml.StartElement{Name: xml.Name{Local: "acknowledgeRequested"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.ErrorFlag, xml.StartElement{Name: xml.Name{Local: "errorFlag"}}); err != nil {
+ return err
+ }
+ marshaller, ok := m.Child.(xml.Marshaler)
+ if !ok {
+ return errors.New("child is not castable to Marshaler")
+ }
+ marshaller.MarshalXML(e, start)
+ if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameAck.go
similarity index 55%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameAck.go
index b56db63..cc5a0dd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameAck.go
@@ -21,17 +21,17 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
-type BVLCSecureBVLL struct {
- Parent *BVLC
- IBVLCSecureBVLL
+type CEMIFrameAck struct {
+ Parent *CEMIFrame
+ ICEMIFrameAck
}
// The corresponding interface
-type IBVLCSecureBVLL interface {
+type ICEMIFrameAck interface {
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
@@ -41,62 +41,74 @@ type IBVLCSecureBVLL interface {
///////////////////////////////////////////////////////////
// Accessors for discriminator values.
///////////////////////////////////////////////////////////
-func (m *BVLCSecureBVLL) BvlcFunction() uint8 {
- return 0x0C
+func (m *CEMIFrameAck) NotAckFrame() bool {
+ return false
+}
+
+func (m *CEMIFrameAck) StandardFrame() bool {
+ return false
+}
+
+func (m *CEMIFrameAck) Polling() bool {
+ return false
}
-func (m *BVLCSecureBVLL) InitializeParent(parent *BVLC) {
+func (m *CEMIFrameAck) InitializeParent(parent *CEMIFrame, repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) {
+ m.Parent.Repeated = repeated
+ m.Parent.Priority = priority
+ m.Parent.AcknowledgeRequested = acknowledgeRequested
+ m.Parent.ErrorFlag = errorFlag
}
-func NewBVLCSecureBVLL() *BVLC {
- child := &BVLCSecureBVLL{
- Parent: NewBVLC(),
+func NewCEMIFrameAck(repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) *CEMIFrame {
+ child := &CEMIFrameAck{
+ Parent: NewCEMIFrame(repeated, priority, acknowledgeRequested, errorFlag),
}
child.Parent.Child = child
return child.Parent
}
-func CastBVLCSecureBVLL(structType interface{}) BVLCSecureBVLL {
- castFunc := func(typ interface{}) BVLCSecureBVLL {
- if casted, ok := typ.(BVLCSecureBVLL); ok {
+func CastCEMIFrameAck(structType interface{}) CEMIFrameAck {
+ castFunc := func(typ interface{}) CEMIFrameAck {
+ if casted, ok := typ.(CEMIFrameAck); ok {
return casted
}
- if casted, ok := typ.(*BVLCSecureBVLL); ok {
+ if casted, ok := typ.(*CEMIFrameAck); ok {
return *casted
}
- if casted, ok := typ.(BVLC); ok {
- return CastBVLCSecureBVLL(casted.Child)
+ if casted, ok := typ.(CEMIFrame); ok {
+ return CastCEMIFrameAck(casted.Child)
}
- if casted, ok := typ.(*BVLC); ok {
- return CastBVLCSecureBVLL(casted.Child)
+ if casted, ok := typ.(*CEMIFrame); ok {
+ return CastCEMIFrameAck(casted.Child)
}
- return BVLCSecureBVLL{}
+ return CEMIFrameAck{}
}
return castFunc(structType)
}
-func (m *BVLCSecureBVLL) LengthInBits() uint16 {
+func (m *CEMIFrameAck) LengthInBits() uint16 {
lengthInBits := uint16(0)
return lengthInBits
}
-func (m *BVLCSecureBVLL) LengthInBytes() uint16 {
+func (m *CEMIFrameAck) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func BVLCSecureBVLLParse(io *utils.ReadBuffer) (*BVLC, error) {
+func CEMIFrameAckParse(io *utils.ReadBuffer) (*CEMIFrame, error) {
// Create a partially initialized instance
- _child := &BVLCSecureBVLL{
- Parent: &BVLC{},
+ _child := &CEMIFrameAck{
+ Parent: &CEMIFrame{},
}
_child.Parent.Child = _child
return _child.Parent, nil
}
-func (m *BVLCSecureBVLL) Serialize(io utils.WriteBuffer) error {
+func (m *CEMIFrameAck) Serialize(io utils.WriteBuffer) error {
ser := func() error {
return nil
@@ -104,7 +116,7 @@ func (m *BVLCSecureBVLL) Serialize(io utils.WriteBuffer) error {
return m.Parent.SerializeParent(io, m, ser)
}
-func (m *BVLCSecureBVLL) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMIFrameAck) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
token = start
@@ -125,7 +137,7 @@ func (m *BVLCSecureBVLL) UnmarshalXML(d *xml.Decoder, start xml.StartElement) er
}
}
-func (m *BVLCSecureBVLL) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMIFrameAck) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
return nil
}
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameData.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameData.go
new file mode 100644
index 0000000..fbae36b
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameData.go
@@ -0,0 +1,486 @@
+//
+// 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 model
+
+import (
+ "encoding/base64"
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type CEMIFrameData struct {
+ SourceAddress *KnxAddress
+ DestinationAddress []int8
+ GroupAddress bool
+ HopCount uint8
+ DataLength uint8
+ Tcpi TPCI
+ Counter uint8
+ Apci APCI
+ DataFirstByte int8
+ Data []int8
+ Crc uint8
+ Parent *CEMIFrame
+ ICEMIFrameData
+}
+
+// The corresponding interface
+type ICEMIFrameData interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIFrameData) NotAckFrame() bool {
+ return true
+}
+
+func (m *CEMIFrameData) StandardFrame() bool {
+ return true
+}
+
+func (m *CEMIFrameData) Polling() bool {
+ return false
+}
+
+
+func (m *CEMIFrameData) InitializeParent(parent *CEMIFrame, repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) {
+ m.Parent.Repeated = repeated
+ m.Parent.Priority = priority
+ m.Parent.AcknowledgeRequested = acknowledgeRequested
+ m.Parent.ErrorFlag = errorFlag
+}
+
+func NewCEMIFrameData(sourceAddress *KnxAddress, destinationAddress []int8, groupAddress bool, hopCount uint8, dataLength uint8, tcpi TPCI, counter uint8, apci APCI, dataFirstByte int8, data []int8, crc uint8, repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) *CEMIFrame {
+ child := &CEMIFrameData{
+ SourceAddress: sourceAddress,
+ DestinationAddress: destinationAddress,
+ GroupAddress: groupAddress,
+ HopCount: hopCount,
+ DataLength: dataLength,
+ Tcpi: tcpi,
+ Counter: counter,
+ Apci: apci,
+ DataFirstByte: dataFirstByte,
+ Data: data,
+ Crc: crc,
+ Parent: NewCEMIFrame(repeated, priority, acknowledgeRequested, errorFlag),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIFrameData(structType interface{}) CEMIFrameData {
+ castFunc := func(typ interface{}) CEMIFrameData {
+ if casted, ok := typ.(CEMIFrameData); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIFrameData); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMIFrame); ok {
+ return CastCEMIFrameData(casted.Child)
+ }
+ if casted, ok := typ.(*CEMIFrame); ok {
+ return CastCEMIFrameData(casted.Child)
+ }
+ return CEMIFrameData{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIFrameData) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (sourceAddress)
+ lengthInBits += m.SourceAddress.LengthInBits()
+
+ // Array field
+ if len(m.DestinationAddress) > 0 {
+ lengthInBits += 8 * uint16(len(m.DestinationAddress))
+ }
+
+ // Simple field (groupAddress)
+ lengthInBits += 1
+
+ // Simple field (hopCount)
+ lengthInBits += 3
+
+ // Simple field (dataLength)
+ lengthInBits += 4
+
+ // Enum Field (tcpi)
+ lengthInBits += 2
+
+ // Simple field (counter)
+ lengthInBits += 4
+
+ // Enum Field (apci)
+ lengthInBits += 4
+
+ // Simple field (dataFirstByte)
+ lengthInBits += 6
+
+ // Array field
+ if len(m.Data) > 0 {
+ lengthInBits += 8 * uint16(len(m.Data))
+ }
+
+ // Simple field (crc)
+ lengthInBits += 8
+
+ return lengthInBits
+}
+
+func (m *CEMIFrameData) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIFrameDataParse(io *utils.ReadBuffer) (*CEMIFrame, error) {
+
+ // Simple Field (sourceAddress)
+ sourceAddress, _sourceAddressErr := KnxAddressParse(io)
+ if _sourceAddressErr != nil {
+ return nil, errors.New("Error parsing 'sourceAddress' field " + _sourceAddressErr.Error())
+ }
+
+ // Array field (destinationAddress)
+ // Count array
+ destinationAddress := make([]int8, uint16(2))
+ for curItem := uint16(0); curItem < uint16(uint16(2)); curItem++ {
+ _item, _err := io.ReadInt8(8)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'destinationAddress' field " + _err.Error())
+ }
+ destinationAddress[curItem] = _item
+ }
+
+ // Simple Field (groupAddress)
+ groupAddress, _groupAddressErr := io.ReadBit()
+ if _groupAddressErr != nil {
+ return nil, errors.New("Error parsing 'groupAddress' field " + _groupAddressErr.Error())
+ }
+
+ // Simple Field (hopCount)
+ hopCount, _hopCountErr := io.ReadUint8(3)
+ if _hopCountErr != nil {
+ return nil, errors.New("Error parsing 'hopCount' field " + _hopCountErr.Error())
+ }
+
+ // Simple Field (dataLength)
+ dataLength, _dataLengthErr := io.ReadUint8(4)
+ if _dataLengthErr != nil {
+ return nil, errors.New("Error parsing 'dataLength' field " + _dataLengthErr.Error())
+ }
+
+ // Enum field (tcpi)
+ tcpi, _tcpiErr := TPCIParse(io)
+ if _tcpiErr != nil {
+ return nil, errors.New("Error parsing 'tcpi' field " + _tcpiErr.Error())
+ }
+
+ // Simple Field (counter)
+ counter, _counterErr := io.ReadUint8(4)
+ if _counterErr != nil {
+ return nil, errors.New("Error parsing 'counter' field " + _counterErr.Error())
+ }
+
+ // Enum field (apci)
+ apci, _apciErr := APCIParse(io)
+ if _apciErr != nil {
+ return nil, errors.New("Error parsing 'apci' field " + _apciErr.Error())
+ }
+
+ // Simple Field (dataFirstByte)
+ dataFirstByte, _dataFirstByteErr := io.ReadInt8(6)
+ if _dataFirstByteErr != nil {
+ return nil, errors.New("Error parsing 'dataFirstByte' field " + _dataFirstByteErr.Error())
+ }
+
+ // Array field (data)
+ // Count array
+ data := make([]int8, uint16(dataLength) - uint16(uint16(1)))
+ for curItem := uint16(0); curItem < uint16(uint16(dataLength) - uint16(uint16(1))); curItem++ {
+ _item, _err := io.ReadInt8(8)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'data' field " + _err.Error())
+ }
+ data[curItem] = _item
+ }
+
+ // Simple Field (crc)
+ crc, _crcErr := io.ReadUint8(8)
+ if _crcErr != nil {
+ return nil, errors.New("Error parsing 'crc' field " + _crcErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIFrameData{
+ SourceAddress: sourceAddress,
+ DestinationAddress: destinationAddress,
+ GroupAddress: groupAddress,
+ HopCount: hopCount,
+ DataLength: dataLength,
+ Tcpi: tcpi,
+ Counter: counter,
+ Apci: apci,
+ DataFirstByte: dataFirstByte,
+ Data: data,
+ Crc: crc,
+ Parent: &CEMIFrame{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIFrameData) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Simple Field (sourceAddress)
+ _sourceAddressErr := m.SourceAddress.Serialize(io)
+ if _sourceAddressErr != nil {
+ return errors.New("Error serializing 'sourceAddress' field " + _sourceAddressErr.Error())
+ }
+
+ // Array Field (destinationAddress)
+ if m.DestinationAddress != nil {
+ for _, _element := range m.DestinationAddress {
+ _elementErr := io.WriteInt8(8, _element)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'destinationAddress' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ // Simple Field (groupAddress)
+ groupAddress := bool(m.GroupAddress)
+ _groupAddressErr := io.WriteBit((groupAddress))
+ if _groupAddressErr != nil {
+ return errors.New("Error serializing 'groupAddress' field " + _groupAddressErr.Error())
+ }
+
+ // Simple Field (hopCount)
+ hopCount := uint8(m.HopCount)
+ _hopCountErr := io.WriteUint8(3, (hopCount))
+ if _hopCountErr != nil {
+ return errors.New("Error serializing 'hopCount' field " + _hopCountErr.Error())
+ }
+
+ // Simple Field (dataLength)
+ dataLength := uint8(m.DataLength)
+ _dataLengthErr := io.WriteUint8(4, (dataLength))
+ if _dataLengthErr != nil {
+ return errors.New("Error serializing 'dataLength' field " + _dataLengthErr.Error())
+ }
+
+ // Enum field (tcpi)
+ tcpi := CastTPCI(m.Tcpi)
+ _tcpiErr := tcpi.Serialize(io)
+ if _tcpiErr != nil {
+ return errors.New("Error serializing 'tcpi' field " + _tcpiErr.Error())
+ }
+
+ // Simple Field (counter)
+ counter := uint8(m.Counter)
+ _counterErr := io.WriteUint8(4, (counter))
+ if _counterErr != nil {
+ return errors.New("Error serializing 'counter' field " + _counterErr.Error())
+ }
+
+ // Enum field (apci)
+ apci := CastAPCI(m.Apci)
+ _apciErr := apci.Serialize(io)
+ if _apciErr != nil {
+ return errors.New("Error serializing 'apci' field " + _apciErr.Error())
+ }
+
+ // Simple Field (dataFirstByte)
+ dataFirstByte := int8(m.DataFirstByte)
+ _dataFirstByteErr := io.WriteInt8(6, (dataFirstByte))
+ if _dataFirstByteErr != nil {
+ return errors.New("Error serializing 'dataFirstByte' field " + _dataFirstByteErr.Error())
+ }
+
+ // Array Field (data)
+ if m.Data != nil {
+ for _, _element := range m.Data {
+ _elementErr := io.WriteInt8(8, _element)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'data' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ // Simple Field (crc)
+ crc := uint8(m.Crc)
+ _crcErr := io.WriteUint8(8, (crc))
+ if _crcErr != nil {
+ return errors.New("Error serializing 'crc' field " + _crcErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIFrameData) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "sourceAddress":
+ var data *KnxAddress
+ if err := d.DecodeElement(data, &tok); err != nil {
+ return err
+ }
+ m.SourceAddress = data
+ case "destinationAddress":
+ var _encoded string
+ if err := d.DecodeElement(&_encoded, &tok); err != nil {
+ return err
+ }
+ _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+ _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+ if err != nil {
+ return err
+ }
+ m.DestinationAddress = utils.ByteToInt8(_decoded[0:_len])
+ case "groupAddress":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.GroupAddress = data
+ case "hopCount":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.HopCount = data
+ case "dataLength":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.DataLength = data
+ case "tcpi":
+ var data TPCI
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Tcpi = data
+ case "counter":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Counter = data
+ case "apci":
+ var data APCI
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Apci = data
+ case "dataFirstByte":
+ var data int8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.DataFirstByte = data
+ case "data":
+ var _encoded string
+ if err := d.DecodeElement(&_encoded, &tok); err != nil {
+ return err
+ }
+ _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+ _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+ if err != nil {
+ return err
+ }
+ m.Data = utils.ByteToInt8(_decoded[0:_len])
+ case "crc":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Crc = data
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIFrameData) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.SourceAddress, xml.StartElement{Name: xml.Name{Local: "sourceAddress"}}); err != nil {
+ return err
+ }
+ _encodedDestinationAddress := make([]byte, base64.StdEncoding.EncodedLen(len(m.DestinationAddress)))
+ base64.StdEncoding.Encode(_encodedDestinationAddress, utils.Int8ToByte(m.DestinationAddress))
+ if err := e.EncodeElement(_encodedDestinationAddress, xml.StartElement{Name: xml.Name{Local: "destinationAddress"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.GroupAddress, xml.StartElement{Name: xml.Name{Local: "groupAddress"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.HopCount, xml.StartElement{Name: xml.Name{Local: "hopCount"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.DataLength, xml.StartElement{Name: xml.Name{Local: "dataLength"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Tcpi, xml.StartElement{Name: xml.Name{Local: "tcpi"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Counter, xml.StartElement{Name: xml.Name{Local: "counter"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Apci, xml.StartElement{Name: xml.Name{Local: "apci"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.DataFirstByte, xml.StartElement{Name: xml.Name{Local: "dataFirstByte"}}); err != nil {
+ return err
+ }
+ _encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
+ base64.StdEncoding.Encode(_encodedData, utils.Int8ToByte(m.Data))
+ if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Crc, xml.StartElement{Name: xml.Name{Local: "crc"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameDataExt.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameDataExt.go
new file mode 100644
index 0000000..1c4ea64
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameDataExt.go
@@ -0,0 +1,514 @@
+//
+// 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 model
+
+import (
+ "encoding/base64"
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type CEMIFrameDataExt struct {
+ GroupAddress bool
+ HopCount uint8
+ ExtendedFrameFormat uint8
+ SourceAddress *KnxAddress
+ DestinationAddress []int8
+ DataLength uint8
+ Tcpi TPCI
+ Counter uint8
+ Apci APCI
+ DataFirstByte int8
+ Data []int8
+ Crc uint8
+ Parent *CEMIFrame
+ ICEMIFrameDataExt
+}
+
+// The corresponding interface
+type ICEMIFrameDataExt interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIFrameDataExt) NotAckFrame() bool {
+ return true
+}
+
+func (m *CEMIFrameDataExt) StandardFrame() bool {
+ return false
+}
+
+func (m *CEMIFrameDataExt) Polling() bool {
+ return false
+}
+
+
+func (m *CEMIFrameDataExt) InitializeParent(parent *CEMIFrame, repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) {
+ m.Parent.Repeated = repeated
+ m.Parent.Priority = priority
+ m.Parent.AcknowledgeRequested = acknowledgeRequested
+ m.Parent.ErrorFlag = errorFlag
+}
+
+func NewCEMIFrameDataExt(groupAddress bool, hopCount uint8, extendedFrameFormat uint8, sourceAddress *KnxAddress, destinationAddress []int8, dataLength uint8, tcpi TPCI, counter uint8, apci APCI, dataFirstByte int8, data []int8, crc uint8, repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) *CEMIFrame {
+ child := &CEMIFrameDataExt{
+ GroupAddress: groupAddress,
+ HopCount: hopCount,
+ ExtendedFrameFormat: extendedFrameFormat,
+ SourceAddress: sourceAddress,
+ DestinationAddress: destinationAddress,
+ DataLength: dataLength,
+ Tcpi: tcpi,
+ Counter: counter,
+ Apci: apci,
+ DataFirstByte: dataFirstByte,
+ Data: data,
+ Crc: crc,
+ Parent: NewCEMIFrame(repeated, priority, acknowledgeRequested, errorFlag),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIFrameDataExt(structType interface{}) CEMIFrameDataExt {
+ castFunc := func(typ interface{}) CEMIFrameDataExt {
+ if casted, ok := typ.(CEMIFrameDataExt); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIFrameDataExt); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMIFrame); ok {
+ return CastCEMIFrameDataExt(casted.Child)
+ }
+ if casted, ok := typ.(*CEMIFrame); ok {
+ return CastCEMIFrameDataExt(casted.Child)
+ }
+ return CEMIFrameDataExt{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIFrameDataExt) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (groupAddress)
+ lengthInBits += 1
+
+ // Simple field (hopCount)
+ lengthInBits += 3
+
+ // Simple field (extendedFrameFormat)
+ lengthInBits += 4
+
+ // Simple field (sourceAddress)
+ lengthInBits += m.SourceAddress.LengthInBits()
+
+ // Array field
+ if len(m.DestinationAddress) > 0 {
+ lengthInBits += 8 * uint16(len(m.DestinationAddress))
+ }
+
+ // Simple field (dataLength)
+ lengthInBits += 8
+
+ // Enum Field (tcpi)
+ lengthInBits += 2
+
+ // Simple field (counter)
+ lengthInBits += 4
+
+ // Enum Field (apci)
+ lengthInBits += 4
+
+ // Simple field (dataFirstByte)
+ lengthInBits += 6
+
+ // Array field
+ if len(m.Data) > 0 {
+ lengthInBits += 8 * uint16(len(m.Data))
+ }
+
+ // Simple field (crc)
+ lengthInBits += 8
+
+ return lengthInBits
+}
+
+func (m *CEMIFrameDataExt) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIFrameDataExtParse(io *utils.ReadBuffer) (*CEMIFrame, error) {
+
+ // Simple Field (groupAddress)
+ groupAddress, _groupAddressErr := io.ReadBit()
+ if _groupAddressErr != nil {
+ return nil, errors.New("Error parsing 'groupAddress' field " + _groupAddressErr.Error())
+ }
+
+ // Simple Field (hopCount)
+ hopCount, _hopCountErr := io.ReadUint8(3)
+ if _hopCountErr != nil {
+ return nil, errors.New("Error parsing 'hopCount' field " + _hopCountErr.Error())
+ }
+
+ // Simple Field (extendedFrameFormat)
+ extendedFrameFormat, _extendedFrameFormatErr := io.ReadUint8(4)
+ if _extendedFrameFormatErr != nil {
+ return nil, errors.New("Error parsing 'extendedFrameFormat' field " + _extendedFrameFormatErr.Error())
+ }
+
+ // Simple Field (sourceAddress)
+ sourceAddress, _sourceAddressErr := KnxAddressParse(io)
+ if _sourceAddressErr != nil {
+ return nil, errors.New("Error parsing 'sourceAddress' field " + _sourceAddressErr.Error())
+ }
+
+ // Array field (destinationAddress)
+ // Count array
+ destinationAddress := make([]int8, uint16(2))
+ for curItem := uint16(0); curItem < uint16(uint16(2)); curItem++ {
+ _item, _err := io.ReadInt8(8)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'destinationAddress' field " + _err.Error())
+ }
+ destinationAddress[curItem] = _item
+ }
+
+ // Simple Field (dataLength)
+ dataLength, _dataLengthErr := io.ReadUint8(8)
+ if _dataLengthErr != nil {
+ return nil, errors.New("Error parsing 'dataLength' field " + _dataLengthErr.Error())
+ }
+
+ // Enum field (tcpi)
+ tcpi, _tcpiErr := TPCIParse(io)
+ if _tcpiErr != nil {
+ return nil, errors.New("Error parsing 'tcpi' field " + _tcpiErr.Error())
+ }
+
+ // Simple Field (counter)
+ counter, _counterErr := io.ReadUint8(4)
+ if _counterErr != nil {
+ return nil, errors.New("Error parsing 'counter' field " + _counterErr.Error())
+ }
+
+ // Enum field (apci)
+ apci, _apciErr := APCIParse(io)
+ if _apciErr != nil {
+ return nil, errors.New("Error parsing 'apci' field " + _apciErr.Error())
+ }
+
+ // Simple Field (dataFirstByte)
+ dataFirstByte, _dataFirstByteErr := io.ReadInt8(6)
+ if _dataFirstByteErr != nil {
+ return nil, errors.New("Error parsing 'dataFirstByte' field " + _dataFirstByteErr.Error())
+ }
+
+ // Array field (data)
+ // Count array
+ data := make([]int8, uint16(dataLength) - uint16(uint16(1)))
+ for curItem := uint16(0); curItem < uint16(uint16(dataLength) - uint16(uint16(1))); curItem++ {
+ _item, _err := io.ReadInt8(8)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'data' field " + _err.Error())
+ }
+ data[curItem] = _item
+ }
+
+ // Simple Field (crc)
+ crc, _crcErr := io.ReadUint8(8)
+ if _crcErr != nil {
+ return nil, errors.New("Error parsing 'crc' field " + _crcErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIFrameDataExt{
+ GroupAddress: groupAddress,
+ HopCount: hopCount,
+ ExtendedFrameFormat: extendedFrameFormat,
+ SourceAddress: sourceAddress,
+ DestinationAddress: destinationAddress,
+ DataLength: dataLength,
+ Tcpi: tcpi,
+ Counter: counter,
+ Apci: apci,
+ DataFirstByte: dataFirstByte,
+ Data: data,
+ Crc: crc,
+ Parent: &CEMIFrame{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIFrameDataExt) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Simple Field (groupAddress)
+ groupAddress := bool(m.GroupAddress)
+ _groupAddressErr := io.WriteBit((groupAddress))
+ if _groupAddressErr != nil {
+ return errors.New("Error serializing 'groupAddress' field " + _groupAddressErr.Error())
+ }
+
+ // Simple Field (hopCount)
+ hopCount := uint8(m.HopCount)
+ _hopCountErr := io.WriteUint8(3, (hopCount))
+ if _hopCountErr != nil {
+ return errors.New("Error serializing 'hopCount' field " + _hopCountErr.Error())
+ }
+
+ // Simple Field (extendedFrameFormat)
+ extendedFrameFormat := uint8(m.ExtendedFrameFormat)
+ _extendedFrameFormatErr := io.WriteUint8(4, (extendedFrameFormat))
+ if _extendedFrameFormatErr != nil {
+ return errors.New("Error serializing 'extendedFrameFormat' field " + _extendedFrameFormatErr.Error())
+ }
+
+ // Simple Field (sourceAddress)
+ _sourceAddressErr := m.SourceAddress.Serialize(io)
+ if _sourceAddressErr != nil {
+ return errors.New("Error serializing 'sourceAddress' field " + _sourceAddressErr.Error())
+ }
+
+ // Array Field (destinationAddress)
+ if m.DestinationAddress != nil {
+ for _, _element := range m.DestinationAddress {
+ _elementErr := io.WriteInt8(8, _element)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'destinationAddress' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ // Simple Field (dataLength)
+ dataLength := uint8(m.DataLength)
+ _dataLengthErr := io.WriteUint8(8, (dataLength))
+ if _dataLengthErr != nil {
+ return errors.New("Error serializing 'dataLength' field " + _dataLengthErr.Error())
+ }
+
+ // Enum field (tcpi)
+ tcpi := CastTPCI(m.Tcpi)
+ _tcpiErr := tcpi.Serialize(io)
+ if _tcpiErr != nil {
+ return errors.New("Error serializing 'tcpi' field " + _tcpiErr.Error())
+ }
+
+ // Simple Field (counter)
+ counter := uint8(m.Counter)
+ _counterErr := io.WriteUint8(4, (counter))
+ if _counterErr != nil {
+ return errors.New("Error serializing 'counter' field " + _counterErr.Error())
+ }
+
+ // Enum field (apci)
+ apci := CastAPCI(m.Apci)
+ _apciErr := apci.Serialize(io)
+ if _apciErr != nil {
+ return errors.New("Error serializing 'apci' field " + _apciErr.Error())
+ }
+
+ // Simple Field (dataFirstByte)
+ dataFirstByte := int8(m.DataFirstByte)
+ _dataFirstByteErr := io.WriteInt8(6, (dataFirstByte))
+ if _dataFirstByteErr != nil {
+ return errors.New("Error serializing 'dataFirstByte' field " + _dataFirstByteErr.Error())
+ }
+
+ // Array Field (data)
+ if m.Data != nil {
+ for _, _element := range m.Data {
+ _elementErr := io.WriteInt8(8, _element)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'data' field " + _elementErr.Error())
+ }
+ }
+ }
+
+ // Simple Field (crc)
+ crc := uint8(m.Crc)
+ _crcErr := io.WriteUint8(8, (crc))
+ if _crcErr != nil {
+ return errors.New("Error serializing 'crc' field " + _crcErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIFrameDataExt) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "groupAddress":
+ var data bool
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.GroupAddress = data
+ case "hopCount":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.HopCount = data
+ case "extendedFrameFormat":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.ExtendedFrameFormat = data
+ case "sourceAddress":
+ var data *KnxAddress
+ if err := d.DecodeElement(data, &tok); err != nil {
+ return err
+ }
+ m.SourceAddress = data
+ case "destinationAddress":
+ var _encoded string
+ if err := d.DecodeElement(&_encoded, &tok); err != nil {
+ return err
+ }
+ _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+ _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+ if err != nil {
+ return err
+ }
+ m.DestinationAddress = utils.ByteToInt8(_decoded[0:_len])
+ case "dataLength":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.DataLength = data
+ case "tcpi":
+ var data TPCI
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Tcpi = data
+ case "counter":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Counter = data
+ case "apci":
+ var data APCI
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Apci = data
+ case "dataFirstByte":
+ var data int8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.DataFirstByte = data
+ case "data":
+ var _encoded string
+ if err := d.DecodeElement(&_encoded, &tok); err != nil {
+ return err
+ }
+ _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+ _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+ if err != nil {
+ return err
+ }
+ m.Data = utils.ByteToInt8(_decoded[0:_len])
+ case "crc":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Crc = data
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIFrameDataExt) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.GroupAddress, xml.StartElement{Name: xml.Name{Local: "groupAddress"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.HopCount, xml.StartElement{Name: xml.Name{Local: "hopCount"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.ExtendedFrameFormat, xml.StartElement{Name: xml.Name{Local: "extendedFrameFormat"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.SourceAddress, xml.StartElement{Name: xml.Name{Local: "sourceAddress"}}); err != nil {
+ return err
+ }
+ _encodedDestinationAddress := make([]byte, base64.StdEncoding.EncodedLen(len(m.DestinationAddress)))
+ base64.StdEncoding.Encode(_encodedDestinationAddress, utils.Int8ToByte(m.DestinationAddress))
+ if err := e.EncodeElement(_encodedDestinationAddress, xml.StartElement{Name: xml.Name{Local: "destinationAddress"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.DataLength, xml.StartElement{Name: xml.Name{Local: "dataLength"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Tcpi, xml.StartElement{Name: xml.Name{Local: "tcpi"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Counter, xml.StartElement{Name: xml.Name{Local: "counter"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Apci, xml.StartElement{Name: xml.Name{Local: "apci"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.DataFirstByte, xml.StartElement{Name: xml.Name{Local: "dataFirstByte"}}); err != nil {
+ return err
+ }
+ _encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
+ base64.StdEncoding.Encode(_encodedData, utils.Int8ToByte(m.Data))
+ if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Crc, xml.StartElement{Name: xml.Name{Local: "crc"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingData.go
similarity index 54%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingData.go
index 4c63c75..8468590 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadRange.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingData.go
@@ -21,17 +21,17 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
-type BACnetErrorReadRange struct {
- Parent *BACnetError
- IBACnetErrorReadRange
+type CEMIFramePollingData struct {
+ Parent *CEMIFrame
+ ICEMIFramePollingData
}
// The corresponding interface
-type IBACnetErrorReadRange interface {
+type ICEMIFramePollingData interface {
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
@@ -41,62 +41,74 @@ type IBACnetErrorReadRange interface {
///////////////////////////////////////////////////////////
// Accessors for discriminator values.
///////////////////////////////////////////////////////////
-func (m *BACnetErrorReadRange) ServiceChoice() uint8 {
- return 0x1A
+func (m *CEMIFramePollingData) NotAckFrame() bool {
+ return true
+}
+
+func (m *CEMIFramePollingData) StandardFrame() bool {
+ return true
+}
+
+func (m *CEMIFramePollingData) Polling() bool {
+ return true
}
-func (m *BACnetErrorReadRange) InitializeParent(parent *BACnetError) {
+func (m *CEMIFramePollingData) InitializeParent(parent *CEMIFrame, repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) {
+ m.Parent.Repeated = repeated
+ m.Parent.Priority = priority
+ m.Parent.AcknowledgeRequested = acknowledgeRequested
+ m.Parent.ErrorFlag = errorFlag
}
-func NewBACnetErrorReadRange() *BACnetError {
- child := &BACnetErrorReadRange{
- Parent: NewBACnetError(),
+func NewCEMIFramePollingData(repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) *CEMIFrame {
+ child := &CEMIFramePollingData{
+ Parent: NewCEMIFrame(repeated, priority, acknowledgeRequested, errorFlag),
}
child.Parent.Child = child
return child.Parent
}
-func CastBACnetErrorReadRange(structType interface{}) BACnetErrorReadRange {
- castFunc := func(typ interface{}) BACnetErrorReadRange {
- if casted, ok := typ.(BACnetErrorReadRange); ok {
+func CastCEMIFramePollingData(structType interface{}) CEMIFramePollingData {
+ castFunc := func(typ interface{}) CEMIFramePollingData {
+ if casted, ok := typ.(CEMIFramePollingData); ok {
return casted
}
- if casted, ok := typ.(*BACnetErrorReadRange); ok {
+ if casted, ok := typ.(*CEMIFramePollingData); ok {
return *casted
}
- if casted, ok := typ.(BACnetError); ok {
- return CastBACnetErrorReadRange(casted.Child)
+ if casted, ok := typ.(CEMIFrame); ok {
+ return CastCEMIFramePollingData(casted.Child)
}
- if casted, ok := typ.(*BACnetError); ok {
- return CastBACnetErrorReadRange(casted.Child)
+ if casted, ok := typ.(*CEMIFrame); ok {
+ return CastCEMIFramePollingData(casted.Child)
}
- return BACnetErrorReadRange{}
+ return CEMIFramePollingData{}
}
return castFunc(structType)
}
-func (m *BACnetErrorReadRange) LengthInBits() uint16 {
+func (m *CEMIFramePollingData) LengthInBits() uint16 {
lengthInBits := uint16(0)
return lengthInBits
}
-func (m *BACnetErrorReadRange) LengthInBytes() uint16 {
+func (m *CEMIFramePollingData) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func BACnetErrorReadRangeParse(io *utils.ReadBuffer) (*BACnetError, error) {
+func CEMIFramePollingDataParse(io *utils.ReadBuffer) (*CEMIFrame, error) {
// Create a partially initialized instance
- _child := &BACnetErrorReadRange{
- Parent: &BACnetError{},
+ _child := &CEMIFramePollingData{
+ Parent: &CEMIFrame{},
}
_child.Parent.Child = _child
return _child.Parent, nil
}
-func (m *BACnetErrorReadRange) Serialize(io utils.WriteBuffer) error {
+func (m *CEMIFramePollingData) Serialize(io utils.WriteBuffer) error {
ser := func() error {
return nil
@@ -104,7 +116,7 @@ func (m *BACnetErrorReadRange) Serialize(io utils.WriteBuffer) error {
return m.Parent.SerializeParent(io, m, ser)
}
-func (m *BACnetErrorReadRange) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMIFramePollingData) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
token = start
@@ -125,7 +137,7 @@ func (m *BACnetErrorReadRange) UnmarshalXML(d *xml.Decoder, start xml.StartEleme
}
}
-func (m *BACnetErrorReadRange) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMIFramePollingData) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
return nil
}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingDataExt.go
similarity index 53%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingDataExt.go
index 5de6d40..05a509c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorCreateObject.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingDataExt.go
@@ -21,17 +21,17 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
-type BACnetErrorCreateObject struct {
- Parent *BACnetError
- IBACnetErrorCreateObject
+type CEMIFramePollingDataExt struct {
+ Parent *CEMIFrame
+ ICEMIFramePollingDataExt
}
// The corresponding interface
-type IBACnetErrorCreateObject interface {
+type ICEMIFramePollingDataExt interface {
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
@@ -41,62 +41,74 @@ type IBACnetErrorCreateObject interface {
///////////////////////////////////////////////////////////
// Accessors for discriminator values.
///////////////////////////////////////////////////////////
-func (m *BACnetErrorCreateObject) ServiceChoice() uint8 {
- return 0x0A
+func (m *CEMIFramePollingDataExt) NotAckFrame() bool {
+ return true
+}
+
+func (m *CEMIFramePollingDataExt) StandardFrame() bool {
+ return false
+}
+
+func (m *CEMIFramePollingDataExt) Polling() bool {
+ return true
}
-func (m *BACnetErrorCreateObject) InitializeParent(parent *BACnetError) {
+func (m *CEMIFramePollingDataExt) InitializeParent(parent *CEMIFrame, repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) {
+ m.Parent.Repeated = repeated
+ m.Parent.Priority = priority
+ m.Parent.AcknowledgeRequested = acknowledgeRequested
+ m.Parent.ErrorFlag = errorFlag
}
-func NewBACnetErrorCreateObject() *BACnetError {
- child := &BACnetErrorCreateObject{
- Parent: NewBACnetError(),
+func NewCEMIFramePollingDataExt(repeated bool, priority CEMIPriority, acknowledgeRequested bool, errorFlag bool) *CEMIFrame {
+ child := &CEMIFramePollingDataExt{
+ Parent: NewCEMIFrame(repeated, priority, acknowledgeRequested, errorFlag),
}
child.Parent.Child = child
return child.Parent
}
-func CastBACnetErrorCreateObject(structType interface{}) BACnetErrorCreateObject {
- castFunc := func(typ interface{}) BACnetErrorCreateObject {
- if casted, ok := typ.(BACnetErrorCreateObject); ok {
+func CastCEMIFramePollingDataExt(structType interface{}) CEMIFramePollingDataExt {
+ castFunc := func(typ interface{}) CEMIFramePollingDataExt {
+ if casted, ok := typ.(CEMIFramePollingDataExt); ok {
return casted
}
- if casted, ok := typ.(*BACnetErrorCreateObject); ok {
+ if casted, ok := typ.(*CEMIFramePollingDataExt); ok {
return *casted
}
- if casted, ok := typ.(BACnetError); ok {
- return CastBACnetErrorCreateObject(casted.Child)
+ if casted, ok := typ.(CEMIFrame); ok {
+ return CastCEMIFramePollingDataExt(casted.Child)
}
- if casted, ok := typ.(*BACnetError); ok {
- return CastBACnetErrorCreateObject(casted.Child)
+ if casted, ok := typ.(*CEMIFrame); ok {
+ return CastCEMIFramePollingDataExt(casted.Child)
}
- return BACnetErrorCreateObject{}
+ return CEMIFramePollingDataExt{}
}
return castFunc(structType)
}
-func (m *BACnetErrorCreateObject) LengthInBits() uint16 {
+func (m *CEMIFramePollingDataExt) LengthInBits() uint16 {
lengthInBits := uint16(0)
return lengthInBits
}
-func (m *BACnetErrorCreateObject) LengthInBytes() uint16 {
+func (m *CEMIFramePollingDataExt) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func BACnetErrorCreateObjectParse(io *utils.ReadBuffer) (*BACnetError, error) {
+func CEMIFramePollingDataExtParse(io *utils.ReadBuffer) (*CEMIFrame, error) {
// Create a partially initialized instance
- _child := &BACnetErrorCreateObject{
- Parent: &BACnetError{},
+ _child := &CEMIFramePollingDataExt{
+ Parent: &CEMIFrame{},
}
_child.Parent.Child = _child
return _child.Parent, nil
}
-func (m *BACnetErrorCreateObject) Serialize(io utils.WriteBuffer) error {
+func (m *CEMIFramePollingDataExt) Serialize(io utils.WriteBuffer) error {
ser := func() error {
return nil
@@ -104,7 +116,7 @@ func (m *BACnetErrorCreateObject) Serialize(io utils.WriteBuffer) error {
return m.Parent.SerializeParent(io, m, ser)
}
-func (m *BACnetErrorCreateObject) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMIFramePollingDataExt) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
token = start
@@ -125,7 +137,7 @@ func (m *BACnetErrorCreateObject) UnmarshalXML(d *xml.Decoder, start xml.StartEl
}
}
-func (m *BACnetErrorCreateObject) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMIFramePollingDataExt) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
return nil
}
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadCon.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadCon.go
new file mode 100644
index 0000000..6f117ac
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadCon.go
@@ -0,0 +1,300 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type CEMIMPropReadCon struct {
+ InterfaceObjectType uint16
+ ObjectInstance uint8
+ PropertyId uint8
+ NumberOfElements uint8
+ StartIndex uint16
+ Unknown uint16
+ Parent *CEMI
+ ICEMIMPropReadCon
+}
+
+// The corresponding interface
+type ICEMIMPropReadCon interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIMPropReadCon) MessageCode() uint8 {
+ return 0xFB
+}
+
+
+func (m *CEMIMPropReadCon) InitializeParent(parent *CEMI) {
+}
+
+func NewCEMIMPropReadCon(interfaceObjectType uint16, objectInstance uint8, propertyId uint8, numberOfElements uint8, startIndex uint16, unknown uint16, ) *CEMI {
+ child := &CEMIMPropReadCon{
+ InterfaceObjectType: interfaceObjectType,
+ ObjectInstance: objectInstance,
+ PropertyId: propertyId,
+ NumberOfElements: numberOfElements,
+ StartIndex: startIndex,
+ Unknown: unknown,
+ Parent: NewCEMI(),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIMPropReadCon(structType interface{}) CEMIMPropReadCon {
+ castFunc := func(typ interface{}) CEMIMPropReadCon {
+ if casted, ok := typ.(CEMIMPropReadCon); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIMPropReadCon); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIMPropReadCon(casted.Child)
+ }
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIMPropReadCon(casted.Child)
+ }
+ return CEMIMPropReadCon{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIMPropReadCon) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (interfaceObjectType)
+ lengthInBits += 16
+
+ // Simple field (objectInstance)
+ lengthInBits += 8
+
+ // Simple field (propertyId)
+ lengthInBits += 8
+
+ // Simple field (numberOfElements)
+ lengthInBits += 4
+
+ // Simple field (startIndex)
+ lengthInBits += 12
+
+ // Simple field (unknown)
+ lengthInBits += 16
+
+ return lengthInBits
+}
+
+func (m *CEMIMPropReadCon) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIMPropReadConParse(io *utils.ReadBuffer) (*CEMI, error) {
+
+ // Simple Field (interfaceObjectType)
+ interfaceObjectType, _interfaceObjectTypeErr := io.ReadUint16(16)
+ if _interfaceObjectTypeErr != nil {
+ return nil, errors.New("Error parsing 'interfaceObjectType' field " + _interfaceObjectTypeErr.Error())
+ }
+
+ // Simple Field (objectInstance)
+ objectInstance, _objectInstanceErr := io.ReadUint8(8)
+ if _objectInstanceErr != nil {
+ return nil, errors.New("Error parsing 'objectInstance' field " + _objectInstanceErr.Error())
+ }
+
+ // Simple Field (propertyId)
+ propertyId, _propertyIdErr := io.ReadUint8(8)
+ if _propertyIdErr != nil {
+ return nil, errors.New("Error parsing 'propertyId' field " + _propertyIdErr.Error())
+ }
+
+ // Simple Field (numberOfElements)
+ numberOfElements, _numberOfElementsErr := io.ReadUint8(4)
+ if _numberOfElementsErr != nil {
+ return nil, errors.New("Error parsing 'numberOfElements' field " + _numberOfElementsErr.Error())
+ }
+
+ // Simple Field (startIndex)
+ startIndex, _startIndexErr := io.ReadUint16(12)
+ if _startIndexErr != nil {
+ return nil, errors.New("Error parsing 'startIndex' field " + _startIndexErr.Error())
+ }
+
+ // Simple Field (unknown)
+ unknown, _unknownErr := io.ReadUint16(16)
+ if _unknownErr != nil {
+ return nil, errors.New("Error parsing 'unknown' field " + _unknownErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIMPropReadCon{
+ InterfaceObjectType: interfaceObjectType,
+ ObjectInstance: objectInstance,
+ PropertyId: propertyId,
+ NumberOfElements: numberOfElements,
+ StartIndex: startIndex,
+ Unknown: unknown,
+ Parent: &CEMI{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIMPropReadCon) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Simple Field (interfaceObjectType)
+ interfaceObjectType := uint16(m.InterfaceObjectType)
+ _interfaceObjectTypeErr := io.WriteUint16(16, (interfaceObjectType))
+ if _interfaceObjectTypeErr != nil {
+ return errors.New("Error serializing 'interfaceObjectType' field " + _interfaceObjectTypeErr.Error())
+ }
+
+ // Simple Field (objectInstance)
+ objectInstance := uint8(m.ObjectInstance)
+ _objectInstanceErr := io.WriteUint8(8, (objectInstance))
+ if _objectInstanceErr != nil {
+ return errors.New("Error serializing 'objectInstance' field " + _objectInstanceErr.Error())
+ }
+
+ // Simple Field (propertyId)
+ propertyId := uint8(m.PropertyId)
+ _propertyIdErr := io.WriteUint8(8, (propertyId))
+ if _propertyIdErr != nil {
+ return errors.New("Error serializing 'propertyId' field " + _propertyIdErr.Error())
+ }
+
+ // Simple Field (numberOfElements)
+ numberOfElements := uint8(m.NumberOfElements)
+ _numberOfElementsErr := io.WriteUint8(4, (numberOfElements))
+ if _numberOfElementsErr != nil {
+ return errors.New("Error serializing 'numberOfElements' field " + _numberOfElementsErr.Error())
+ }
+
+ // Simple Field (startIndex)
+ startIndex := uint16(m.StartIndex)
+ _startIndexErr := io.WriteUint16(12, (startIndex))
+ if _startIndexErr != nil {
+ return errors.New("Error serializing 'startIndex' field " + _startIndexErr.Error())
+ }
+
+ // Simple Field (unknown)
+ unknown := uint16(m.Unknown)
+ _unknownErr := io.WriteUint16(16, (unknown))
+ if _unknownErr != nil {
+ return errors.New("Error serializing 'unknown' field " + _unknownErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIMPropReadCon) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "interfaceObjectType":
+ var data uint16
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.InterfaceObjectType = data
+ case "objectInstance":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.ObjectInstance = data
+ case "propertyId":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.PropertyId = data
+ case "numberOfElements":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.NumberOfElements = data
+ case "startIndex":
+ var data uint16
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.StartIndex = data
+ case "unknown":
+ var data uint16
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.Unknown = data
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIMPropReadCon) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.InterfaceObjectType, xml.StartElement{Name: xml.Name{Local: "interfaceObjectType"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.ObjectInstance, xml.StartElement{Name: xml.Name{Local: "objectInstance"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.PropertyId, xml.StartElement{Name: xml.Name{Local: "propertyId"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.NumberOfElements, xml.StartElement{Name: xml.Name{Local: "numberOfElements"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.StartIndex, xml.StartElement{Name: xml.Name{Local: "startIndex"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.Unknown, xml.StartElement{Name: xml.Name{Local: "unknown"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadReq.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadReq.go
new file mode 100644
index 0000000..c88f506
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadReq.go
@@ -0,0 +1,272 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type CEMIMPropReadReq struct {
+ InterfaceObjectType uint16
+ ObjectInstance uint8
+ PropertyId uint8
+ NumberOfElements uint8
+ StartIndex uint16
+ Parent *CEMI
+ ICEMIMPropReadReq
+}
+
+// The corresponding interface
+type ICEMIMPropReadReq interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *CEMIMPropReadReq) MessageCode() uint8 {
+ return 0xFC
+}
+
+
+func (m *CEMIMPropReadReq) InitializeParent(parent *CEMI) {
+}
+
+func NewCEMIMPropReadReq(interfaceObjectType uint16, objectInstance uint8, propertyId uint8, numberOfElements uint8, startIndex uint16, ) *CEMI {
+ child := &CEMIMPropReadReq{
+ InterfaceObjectType: interfaceObjectType,
+ ObjectInstance: objectInstance,
+ PropertyId: propertyId,
+ NumberOfElements: numberOfElements,
+ StartIndex: startIndex,
+ Parent: NewCEMI(),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastCEMIMPropReadReq(structType interface{}) CEMIMPropReadReq {
+ castFunc := func(typ interface{}) CEMIMPropReadReq {
+ if casted, ok := typ.(CEMIMPropReadReq); ok {
+ return casted
+ }
+ if casted, ok := typ.(*CEMIMPropReadReq); ok {
+ return *casted
+ }
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIMPropReadReq(casted.Child)
+ }
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIMPropReadReq(casted.Child)
+ }
+ return CEMIMPropReadReq{}
+ }
+ return castFunc(structType)
+}
+
+func (m *CEMIMPropReadReq) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (interfaceObjectType)
+ lengthInBits += 16
+
+ // Simple field (objectInstance)
+ lengthInBits += 8
+
+ // Simple field (propertyId)
+ lengthInBits += 8
+
+ // Simple field (numberOfElements)
+ lengthInBits += 4
+
+ // Simple field (startIndex)
+ lengthInBits += 12
+
+ return lengthInBits
+}
+
+func (m *CEMIMPropReadReq) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func CEMIMPropReadReqParse(io *utils.ReadBuffer) (*CEMI, error) {
+
+ // Simple Field (interfaceObjectType)
+ interfaceObjectType, _interfaceObjectTypeErr := io.ReadUint16(16)
+ if _interfaceObjectTypeErr != nil {
+ return nil, errors.New("Error parsing 'interfaceObjectType' field " + _interfaceObjectTypeErr.Error())
+ }
+
+ // Simple Field (objectInstance)
+ objectInstance, _objectInstanceErr := io.ReadUint8(8)
+ if _objectInstanceErr != nil {
+ return nil, errors.New("Error parsing 'objectInstance' field " + _objectInstanceErr.Error())
+ }
+
+ // Simple Field (propertyId)
+ propertyId, _propertyIdErr := io.ReadUint8(8)
+ if _propertyIdErr != nil {
+ return nil, errors.New("Error parsing 'propertyId' field " + _propertyIdErr.Error())
+ }
+
+ // Simple Field (numberOfElements)
+ numberOfElements, _numberOfElementsErr := io.ReadUint8(4)
+ if _numberOfElementsErr != nil {
+ return nil, errors.New("Error parsing 'numberOfElements' field " + _numberOfElementsErr.Error())
+ }
+
+ // Simple Field (startIndex)
+ startIndex, _startIndexErr := io.ReadUint16(12)
+ if _startIndexErr != nil {
+ return nil, errors.New("Error parsing 'startIndex' field " + _startIndexErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &CEMIMPropReadReq{
+ InterfaceObjectType: interfaceObjectType,
+ ObjectInstance: objectInstance,
+ PropertyId: propertyId,
+ NumberOfElements: numberOfElements,
+ StartIndex: startIndex,
+ Parent: &CEMI{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *CEMIMPropReadReq) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Simple Field (interfaceObjectType)
+ interfaceObjectType := uint16(m.InterfaceObjectType)
+ _interfaceObjectTypeErr := io.WriteUint16(16, (interfaceObjectType))
+ if _interfaceObjectTypeErr != nil {
+ return errors.New("Error serializing 'interfaceObjectType' field " + _interfaceObjectTypeErr.Error())
+ }
+
+ // Simple Field (objectInstance)
+ objectInstance := uint8(m.ObjectInstance)
+ _objectInstanceErr := io.WriteUint8(8, (objectInstance))
+ if _objectInstanceErr != nil {
+ return errors.New("Error serializing 'objectInstance' field " + _objectInstanceErr.Error())
+ }
+
+ // Simple Field (propertyId)
+ propertyId := uint8(m.PropertyId)
+ _propertyIdErr := io.WriteUint8(8, (propertyId))
+ if _propertyIdErr != nil {
+ return errors.New("Error serializing 'propertyId' field " + _propertyIdErr.Error())
+ }
+
+ // Simple Field (numberOfElements)
+ numberOfElements := uint8(m.NumberOfElements)
+ _numberOfElementsErr := io.WriteUint8(4, (numberOfElements))
+ if _numberOfElementsErr != nil {
+ return errors.New("Error serializing 'numberOfElements' field " + _numberOfElementsErr.Error())
+ }
+
+ // Simple Field (startIndex)
+ startIndex := uint16(m.StartIndex)
+ _startIndexErr := io.WriteUint16(12, (startIndex))
+ if _startIndexErr != nil {
+ return errors.New("Error serializing 'startIndex' field " + _startIndexErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *CEMIMPropReadReq) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "interfaceObjectType":
+ var data uint16
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.InterfaceObjectType = data
+ case "objectInstance":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.ObjectInstance = data
+ case "propertyId":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.PropertyId = data
+ case "numberOfElements":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.NumberOfElements = data
+ case "startIndex":
+ var data uint16
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.StartIndex = data
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *CEMIMPropReadReq) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.InterfaceObjectType, xml.StartElement{Name: xml.Name{Local: "interfaceObjectType"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.ObjectInstance, xml.StartElement{Name: xml.Name{Local: "objectInstance"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.PropertyId, xml.StartElement{Name: xml.Name{Local: "propertyId"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.NumberOfElements, xml.StartElement{Name: xml.Name{Local: "numberOfElements"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.StartIndex, xml.StartElement{Name: xml.Name{Local: "startIndex"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPollDataCon.go
similarity index 62%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPollDataCon.go
index b56db63..937bb42 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPollDataCon.go
@@ -21,17 +21,17 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
-type BVLCSecureBVLL struct {
- Parent *BVLC
- IBVLCSecureBVLL
+type CEMIPollDataCon struct {
+ Parent *CEMI
+ ICEMIPollDataCon
}
// The corresponding interface
-type IBVLCSecureBVLL interface {
+type ICEMIPollDataCon interface {
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
@@ -41,62 +41,62 @@ type IBVLCSecureBVLL interface {
///////////////////////////////////////////////////////////
// Accessors for discriminator values.
///////////////////////////////////////////////////////////
-func (m *BVLCSecureBVLL) BvlcFunction() uint8 {
- return 0x0C
+func (m *CEMIPollDataCon) MessageCode() uint8 {
+ return 0x25
}
-func (m *BVLCSecureBVLL) InitializeParent(parent *BVLC) {
+func (m *CEMIPollDataCon) InitializeParent(parent *CEMI) {
}
-func NewBVLCSecureBVLL() *BVLC {
- child := &BVLCSecureBVLL{
- Parent: NewBVLC(),
+func NewCEMIPollDataCon() *CEMI {
+ child := &CEMIPollDataCon{
+ Parent: NewCEMI(),
}
child.Parent.Child = child
return child.Parent
}
-func CastBVLCSecureBVLL(structType interface{}) BVLCSecureBVLL {
- castFunc := func(typ interface{}) BVLCSecureBVLL {
- if casted, ok := typ.(BVLCSecureBVLL); ok {
+func CastCEMIPollDataCon(structType interface{}) CEMIPollDataCon {
+ castFunc := func(typ interface{}) CEMIPollDataCon {
+ if casted, ok := typ.(CEMIPollDataCon); ok {
return casted
}
- if casted, ok := typ.(*BVLCSecureBVLL); ok {
+ if casted, ok := typ.(*CEMIPollDataCon); ok {
return *casted
}
- if casted, ok := typ.(BVLC); ok {
- return CastBVLCSecureBVLL(casted.Child)
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIPollDataCon(casted.Child)
}
- if casted, ok := typ.(*BVLC); ok {
- return CastBVLCSecureBVLL(casted.Child)
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIPollDataCon(casted.Child)
}
- return BVLCSecureBVLL{}
+ return CEMIPollDataCon{}
}
return castFunc(structType)
}
-func (m *BVLCSecureBVLL) LengthInBits() uint16 {
+func (m *CEMIPollDataCon) LengthInBits() uint16 {
lengthInBits := uint16(0)
return lengthInBits
}
-func (m *BVLCSecureBVLL) LengthInBytes() uint16 {
+func (m *CEMIPollDataCon) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func BVLCSecureBVLLParse(io *utils.ReadBuffer) (*BVLC, error) {
+func CEMIPollDataConParse(io *utils.ReadBuffer) (*CEMI, error) {
// Create a partially initialized instance
- _child := &BVLCSecureBVLL{
- Parent: &BVLC{},
+ _child := &CEMIPollDataCon{
+ Parent: &CEMI{},
}
_child.Parent.Child = _child
return _child.Parent, nil
}
-func (m *BVLCSecureBVLL) Serialize(io utils.WriteBuffer) error {
+func (m *CEMIPollDataCon) Serialize(io utils.WriteBuffer) error {
ser := func() error {
return nil
@@ -104,7 +104,7 @@ func (m *BVLCSecureBVLL) Serialize(io utils.WriteBuffer) error {
return m.Parent.SerializeParent(io, m, ser)
}
-func (m *BVLCSecureBVLL) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMIPollDataCon) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
token = start
@@ -125,7 +125,7 @@ func (m *BVLCSecureBVLL) UnmarshalXML(d *xml.Decoder, start xml.StartElement) er
}
}
-func (m *BVLCSecureBVLL) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMIPollDataCon) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
return nil
}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPollDataReq.go
similarity index 62%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPollDataReq.go
index b56db63..82c00e8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCSecureBVLL.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPollDataReq.go
@@ -21,17 +21,17 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
-type BVLCSecureBVLL struct {
- Parent *BVLC
- IBVLCSecureBVLL
+type CEMIPollDataReq struct {
+ Parent *CEMI
+ ICEMIPollDataReq
}
// The corresponding interface
-type IBVLCSecureBVLL interface {
+type ICEMIPollDataReq interface {
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
@@ -41,62 +41,62 @@ type IBVLCSecureBVLL interface {
///////////////////////////////////////////////////////////
// Accessors for discriminator values.
///////////////////////////////////////////////////////////
-func (m *BVLCSecureBVLL) BvlcFunction() uint8 {
- return 0x0C
+func (m *CEMIPollDataReq) MessageCode() uint8 {
+ return 0x13
}
-func (m *BVLCSecureBVLL) InitializeParent(parent *BVLC) {
+func (m *CEMIPollDataReq) InitializeParent(parent *CEMI) {
}
-func NewBVLCSecureBVLL() *BVLC {
- child := &BVLCSecureBVLL{
- Parent: NewBVLC(),
+func NewCEMIPollDataReq() *CEMI {
+ child := &CEMIPollDataReq{
+ Parent: NewCEMI(),
}
child.Parent.Child = child
return child.Parent
}
-func CastBVLCSecureBVLL(structType interface{}) BVLCSecureBVLL {
- castFunc := func(typ interface{}) BVLCSecureBVLL {
- if casted, ok := typ.(BVLCSecureBVLL); ok {
+func CastCEMIPollDataReq(structType interface{}) CEMIPollDataReq {
+ castFunc := func(typ interface{}) CEMIPollDataReq {
+ if casted, ok := typ.(CEMIPollDataReq); ok {
return casted
}
- if casted, ok := typ.(*BVLCSecureBVLL); ok {
+ if casted, ok := typ.(*CEMIPollDataReq); ok {
return *casted
}
- if casted, ok := typ.(BVLC); ok {
- return CastBVLCSecureBVLL(casted.Child)
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIPollDataReq(casted.Child)
}
- if casted, ok := typ.(*BVLC); ok {
- return CastBVLCSecureBVLL(casted.Child)
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIPollDataReq(casted.Child)
}
- return BVLCSecureBVLL{}
+ return CEMIPollDataReq{}
}
return castFunc(structType)
}
-func (m *BVLCSecureBVLL) LengthInBits() uint16 {
+func (m *CEMIPollDataReq) LengthInBits() uint16 {
lengthInBits := uint16(0)
return lengthInBits
}
-func (m *BVLCSecureBVLL) LengthInBytes() uint16 {
+func (m *CEMIPollDataReq) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func BVLCSecureBVLLParse(io *utils.ReadBuffer) (*BVLC, error) {
+func CEMIPollDataReqParse(io *utils.ReadBuffer) (*CEMI, error) {
// Create a partially initialized instance
- _child := &BVLCSecureBVLL{
- Parent: &BVLC{},
+ _child := &CEMIPollDataReq{
+ Parent: &CEMI{},
}
_child.Parent.Child = _child
return _child.Parent, nil
}
-func (m *BVLCSecureBVLL) Serialize(io utils.WriteBuffer) error {
+func (m *CEMIPollDataReq) Serialize(io utils.WriteBuffer) error {
ser := func() error {
return nil
@@ -104,7 +104,7 @@ func (m *BVLCSecureBVLL) Serialize(io utils.WriteBuffer) error {
return m.Parent.SerializeParent(io, m, ser)
}
-func (m *BVLCSecureBVLL) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMIPollDataReq) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
token = start
@@ -125,7 +125,7 @@ func (m *BVLCSecureBVLL) UnmarshalXML(d *xml.Decoder, start xml.StartElement) er
}
}
-func (m *BVLCSecureBVLL) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMIPollDataReq) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
return nil
}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotifyType.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPriority.go
similarity index 54%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotifyType.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPriority.go
index 5107a3b..7f8ebc4 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNotifyType.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIPriority.go
@@ -19,57 +19,60 @@
package model
import (
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
-type BACnetNotifyType uint8
+type CEMIPriority uint8
-type IBACnetNotifyType interface {
+type ICEMIPriority interface {
Serialize(io utils.WriteBuffer) error
}
const(
- BACnetNotifyType_ALARM BACnetNotifyType = 0x0
- BACnetNotifyType_EVENT BACnetNotifyType = 0x1
- BACnetNotifyType_ACK_NOTIFICATION BACnetNotifyType = 0x2
+ CEMIPriority_SYSTEM CEMIPriority = 0x0
+ CEMIPriority_NORMAL CEMIPriority = 0x1
+ CEMIPriority_URGENT CEMIPriority = 0x2
+ CEMIPriority_LOW CEMIPriority = 0x3
)
-func BACnetNotifyTypeValueOf(value uint8) BACnetNotifyType {
+func CEMIPriorityValueOf(value uint8) CEMIPriority {
switch value {
case 0x0:
- return BACnetNotifyType_ALARM
+ return CEMIPriority_SYSTEM
case 0x1:
- return BACnetNotifyType_EVENT
+ return CEMIPriority_NORMAL
case 0x2:
- return BACnetNotifyType_ACK_NOTIFICATION
+ return CEMIPriority_URGENT
+ case 0x3:
+ return CEMIPriority_LOW
}
return 0
}
-func CastBACnetNotifyType(structType interface{}) BACnetNotifyType {
- castFunc := func(typ interface{}) BACnetNotifyType {
- if sBACnetNotifyType, ok := typ.(BACnetNotifyType); ok {
- return sBACnetNotifyType
+func CastCEMIPriority(structType interface{}) CEMIPriority {
+ castFunc := func(typ interface{}) CEMIPriority {
+ if sCEMIPriority, ok := typ.(CEMIPriority); ok {
+ return sCEMIPriority
}
return 0
}
return castFunc(structType)
}
-func (m BACnetNotifyType) LengthInBits() uint16 {
- return 4
+func (m CEMIPriority) LengthInBits() uint16 {
+ return 2
}
-func (m BACnetNotifyType) LengthInBytes() uint16 {
+func (m CEMIPriority) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func BACnetNotifyTypeParse(io *utils.ReadBuffer) (BACnetNotifyType, error) {
+func CEMIPriorityParse(io *utils.ReadBuffer) (CEMIPriority, error) {
// TODO: Implement ...
return 0, nil
}
-func (e BACnetNotifyType) Serialize(io utils.WriteBuffer) error {
+func (e CEMIPriority) Serialize(io utils.WriteBuffer) error {
// TODO: Implement ...
return nil
}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawCon.go
similarity index 65%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawCon.go
index 19cace1..e9d6ba0 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawCon.go
@@ -21,17 +21,17 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
-type BVLCResult struct {
- Parent *BVLC
- IBVLCResult
+type CEMIRawCon struct {
+ Parent *CEMI
+ ICEMIRawCon
}
// The corresponding interface
-type IBVLCResult interface {
+type ICEMIRawCon interface {
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
@@ -41,62 +41,62 @@ type IBVLCResult interface {
///////////////////////////////////////////////////////////
// Accessors for discriminator values.
///////////////////////////////////////////////////////////
-func (m *BVLCResult) BvlcFunction() uint8 {
- return 0x00
+func (m *CEMIRawCon) MessageCode() uint8 {
+ return 0x2F
}
-func (m *BVLCResult) InitializeParent(parent *BVLC) {
+func (m *CEMIRawCon) InitializeParent(parent *CEMI) {
}
-func NewBVLCResult() *BVLC {
- child := &BVLCResult{
- Parent: NewBVLC(),
+func NewCEMIRawCon() *CEMI {
+ child := &CEMIRawCon{
+ Parent: NewCEMI(),
}
child.Parent.Child = child
return child.Parent
}
-func CastBVLCResult(structType interface{}) BVLCResult {
- castFunc := func(typ interface{}) BVLCResult {
- if casted, ok := typ.(BVLCResult); ok {
+func CastCEMIRawCon(structType interface{}) CEMIRawCon {
+ castFunc := func(typ interface{}) CEMIRawCon {
+ if casted, ok := typ.(CEMIRawCon); ok {
return casted
}
- if casted, ok := typ.(*BVLCResult); ok {
+ if casted, ok := typ.(*CEMIRawCon); ok {
return *casted
}
- if casted, ok := typ.(BVLC); ok {
- return CastBVLCResult(casted.Child)
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIRawCon(casted.Child)
}
- if casted, ok := typ.(*BVLC); ok {
- return CastBVLCResult(casted.Child)
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIRawCon(casted.Child)
}
- return BVLCResult{}
+ return CEMIRawCon{}
}
return castFunc(structType)
}
-func (m *BVLCResult) LengthInBits() uint16 {
+func (m *CEMIRawCon) LengthInBits() uint16 {
lengthInBits := uint16(0)
return lengthInBits
}
-func (m *BVLCResult) LengthInBytes() uint16 {
+func (m *CEMIRawCon) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func BVLCResultParse(io *utils.ReadBuffer) (*BVLC, error) {
+func CEMIRawConParse(io *utils.ReadBuffer) (*CEMI, error) {
// Create a partially initialized instance
- _child := &BVLCResult{
- Parent: &BVLC{},
+ _child := &CEMIRawCon{
+ Parent: &CEMI{},
}
_child.Parent.Child = _child
return _child.Parent, nil
}
-func (m *BVLCResult) Serialize(io utils.WriteBuffer) error {
+func (m *CEMIRawCon) Serialize(io utils.WriteBuffer) error {
ser := func() error {
return nil
@@ -104,7 +104,7 @@ func (m *BVLCResult) Serialize(io utils.WriteBuffer) error {
return m.Parent.SerializeParent(io, m, ser)
}
-func (m *BVLCResult) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMIRawCon) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
token = start
@@ -125,7 +125,7 @@ func (m *BVLCResult) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
}
}
-func (m *BVLCResult) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMIRawCon) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
return nil
}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawInd.go
similarity index 65%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawInd.go
index 19cace1..830aebe 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawInd.go
@@ -21,17 +21,17 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
-type BVLCResult struct {
- Parent *BVLC
- IBVLCResult
+type CEMIRawInd struct {
+ Parent *CEMI
+ ICEMIRawInd
}
// The corresponding interface
-type IBVLCResult interface {
+type ICEMIRawInd interface {
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
@@ -41,62 +41,62 @@ type IBVLCResult interface {
///////////////////////////////////////////////////////////
// Accessors for discriminator values.
///////////////////////////////////////////////////////////
-func (m *BVLCResult) BvlcFunction() uint8 {
- return 0x00
+func (m *CEMIRawInd) MessageCode() uint8 {
+ return 0x2D
}
-func (m *BVLCResult) InitializeParent(parent *BVLC) {
+func (m *CEMIRawInd) InitializeParent(parent *CEMI) {
}
-func NewBVLCResult() *BVLC {
- child := &BVLCResult{
- Parent: NewBVLC(),
+func NewCEMIRawInd() *CEMI {
+ child := &CEMIRawInd{
+ Parent: NewCEMI(),
}
child.Parent.Child = child
return child.Parent
}
-func CastBVLCResult(structType interface{}) BVLCResult {
- castFunc := func(typ interface{}) BVLCResult {
- if casted, ok := typ.(BVLCResult); ok {
+func CastCEMIRawInd(structType interface{}) CEMIRawInd {
+ castFunc := func(typ interface{}) CEMIRawInd {
+ if casted, ok := typ.(CEMIRawInd); ok {
return casted
}
- if casted, ok := typ.(*BVLCResult); ok {
+ if casted, ok := typ.(*CEMIRawInd); ok {
return *casted
}
- if casted, ok := typ.(BVLC); ok {
- return CastBVLCResult(casted.Child)
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIRawInd(casted.Child)
}
- if casted, ok := typ.(*BVLC); ok {
- return CastBVLCResult(casted.Child)
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIRawInd(casted.Child)
}
- return BVLCResult{}
+ return CEMIRawInd{}
}
return castFunc(structType)
}
-func (m *BVLCResult) LengthInBits() uint16 {
+func (m *CEMIRawInd) LengthInBits() uint16 {
lengthInBits := uint16(0)
return lengthInBits
}
-func (m *BVLCResult) LengthInBytes() uint16 {
+func (m *CEMIRawInd) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func BVLCResultParse(io *utils.ReadBuffer) (*BVLC, error) {
+func CEMIRawIndParse(io *utils.ReadBuffer) (*CEMI, error) {
// Create a partially initialized instance
- _child := &BVLCResult{
- Parent: &BVLC{},
+ _child := &CEMIRawInd{
+ Parent: &CEMI{},
}
_child.Parent.Child = _child
return _child.Parent, nil
}
-func (m *BVLCResult) Serialize(io utils.WriteBuffer) error {
+func (m *CEMIRawInd) Serialize(io utils.WriteBuffer) error {
ser := func() error {
return nil
@@ -104,7 +104,7 @@ func (m *BVLCResult) Serialize(io utils.WriteBuffer) error {
return m.Parent.SerializeParent(io, m, ser)
}
-func (m *BVLCResult) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMIRawInd) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
token = start
@@ -125,7 +125,7 @@ func (m *BVLCResult) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
}
}
-func (m *BVLCResult) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMIRawInd) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
return nil
}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawReq.go
similarity index 66%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawReq.go
index 19cace1..5a6d1c4 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCResult.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIRawReq.go
@@ -21,17 +21,17 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
-type BVLCResult struct {
- Parent *BVLC
- IBVLCResult
+type CEMIRawReq struct {
+ Parent *CEMI
+ ICEMIRawReq
}
// The corresponding interface
-type IBVLCResult interface {
+type ICEMIRawReq interface {
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
@@ -41,62 +41,62 @@ type IBVLCResult interface {
///////////////////////////////////////////////////////////
// Accessors for discriminator values.
///////////////////////////////////////////////////////////
-func (m *BVLCResult) BvlcFunction() uint8 {
- return 0x00
+func (m *CEMIRawReq) MessageCode() uint8 {
+ return 0x10
}
-func (m *BVLCResult) InitializeParent(parent *BVLC) {
+func (m *CEMIRawReq) InitializeParent(parent *CEMI) {
}
-func NewBVLCResult() *BVLC {
- child := &BVLCResult{
- Parent: NewBVLC(),
+func NewCEMIRawReq() *CEMI {
+ child := &CEMIRawReq{
+ Parent: NewCEMI(),
}
child.Parent.Child = child
return child.Parent
}
-func CastBVLCResult(structType interface{}) BVLCResult {
- castFunc := func(typ interface{}) BVLCResult {
- if casted, ok := typ.(BVLCResult); ok {
+func CastCEMIRawReq(structType interface{}) CEMIRawReq {
+ castFunc := func(typ interface{}) CEMIRawReq {
+ if casted, ok := typ.(CEMIRawReq); ok {
return casted
}
- if casted, ok := typ.(*BVLCResult); ok {
+ if casted, ok := typ.(*CEMIRawReq); ok {
return *casted
}
- if casted, ok := typ.(BVLC); ok {
- return CastBVLCResult(casted.Child)
+ if casted, ok := typ.(CEMI); ok {
+ return CastCEMIRawReq(casted.Child)
}
- if casted, ok := typ.(*BVLC); ok {
- return CastBVLCResult(casted.Child)
+ if casted, ok := typ.(*CEMI); ok {
+ return CastCEMIRawReq(casted.Child)
}
- return BVLCResult{}
+ return CEMIRawReq{}
}
return castFunc(structType)
}
-func (m *BVLCResult) LengthInBits() uint16 {
+func (m *CEMIRawReq) LengthInBits() uint16 {
lengthInBits := uint16(0)
return lengthInBits
}
-func (m *BVLCResult) LengthInBytes() uint16 {
+func (m *CEMIRawReq) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func BVLCResultParse(io *utils.ReadBuffer) (*BVLC, error) {
+func CEMIRawReqParse(io *utils.ReadBuffer) (*CEMI, error) {
// Create a partially initialized instance
- _child := &BVLCResult{
- Parent: &BVLC{},
+ _child := &CEMIRawReq{
+ Parent: &CEMI{},
}
_child.Parent.Child = _child
return _child.Parent, nil
}
-func (m *BVLCResult) Serialize(io utils.WriteBuffer) error {
+func (m *CEMIRawReq) Serialize(io utils.WriteBuffer) error {
ser := func() error {
return nil
@@ -104,7 +104,7 @@ func (m *BVLCResult) Serialize(io utils.WriteBuffer) error {
return m.Parent.SerializeParent(io, m, ser)
}
-func (m *BVLCResult) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+func (m *CEMIRawReq) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var token xml.Token
var err error
token = start
@@ -125,7 +125,7 @@ func (m *BVLCResult) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
}
}
-func (m *BVLCResult) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+func (m *CEMIRawReq) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
return nil
}
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go
new file mode 100644
index 0000000..1edc720
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go
@@ -0,0 +1,213 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+)
+
+// The data-structure of this message
+type ConnectionRequest struct {
+ HpaiDiscoveryEndpoint *HPAIDiscoveryEndpoint
+ HpaiDataEndpoint *HPAIDataEndpoint
+ ConnectionRequestInformation *ConnectionRequestInformation
+ Parent *KnxNetIpMessage
+ IConnectionRequest
+}
+
+// The corresponding interface
+type IConnectionRequest interface {
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+///////////////////////////////////////////////////////////
+// Accessors for discriminator values.
+///////////////////////////////////////////////////////////
+func (m *ConnectionRequest) MsgType() uint16 {
+ return 0x0205
+}
+
+
+func (m *ConnectionRequest) InitializeParent(parent *KnxNetIpMessage) {
+}
+
+func NewConnectionRequest(hpaiDiscoveryEndpoint *HPAIDiscoveryEndpoint, hpaiDataEndpoint *HPAIDataEndpoint, connectionRequestInformation *ConnectionRequestInformation, ) *KnxNetIpMessage {
+ child := &ConnectionRequest{
+ HpaiDiscoveryEndpoint: hpaiDiscoveryEndpoint,
+ HpaiDataEndpoint: hpaiDataEndpoint,
+ ConnectionRequestInformation: connectionRequestInformation,
+ Parent: NewKnxNetIpMessage(),
+ }
+ child.Parent.Child = child
+ return child.Parent
+}
+
+func CastConnectionRequest(structType interface{}) ConnectionRequest {
+ castFunc := func(typ interface{}) ConnectionRequest {
+ if casted, ok := typ.(ConnectionRequest); ok {
+ return casted
+ }
+ if casted, ok := typ.(*ConnectionRequest); ok {
+ return *casted
+ }
+ if casted, ok := typ.(KnxNetIpMessage); ok {
+ return CastConnectionRequest(casted.Child)
+ }
+ if casted, ok := typ.(*KnxNetIpMessage); ok {
+ return CastConnectionRequest(casted.Child)
+ }
+ return ConnectionRequest{}
+ }
+ return castFunc(structType)
+}
+
+func (m *ConnectionRequest) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Simple field (hpaiDiscoveryEndpoint)
+ lengthInBits += m.HpaiDiscoveryEndpoint.LengthInBits()
+
+ // Simple field (hpaiDataEndpoint)
+ lengthInBits += m.HpaiDataEndpoint.LengthInBits()
+
+ // Simple field (connectionRequestInformation)
+ lengthInBits += m.ConnectionRequestInformation.LengthInBits()
+
+ return lengthInBits
+}
+
+func (m *ConnectionRequest) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func ConnectionRequestParse(io *utils.ReadBuffer) (*KnxNetIpMessage, error) {
+
+ // Simple Field (hpaiDiscoveryEndpoint)
+ hpaiDiscoveryEndpoint, _hpaiDiscoveryEndpointErr := HPAIDiscoveryEndpointParse(io)
+ if _hpaiDiscoveryEndpointErr != nil {
+ return nil, errors.New("Error parsing 'hpaiDiscoveryEndpoint' field " + _hpaiDiscoveryEndpointErr.Error())
+ }
+
+ // Simple Field (hpaiDataEndpoint)
+ hpaiDataEndpoint, _hpaiDataEndpointErr := HPAIDataEndpointParse(io)
+ if _hpaiDataEndpointErr != nil {
+ return nil, errors.New("Error parsing 'hpaiDataEndpoint' field " + _hpaiDataEndpointErr.Error())
+ }
+
+ // Simple Field (connectionRequestInformation)
+ connectionRequestInformation, _connectionRequestInformationErr := ConnectionRequestInformationParse(io)
+ if _connectionRequestInformationErr != nil {
+ return nil, errors.New("Error parsing 'connectionRequestInformation' field " + _connectionRequestInformationErr.Error())
+ }
+
+ // Create a partially initialized instance
+ _child := &ConnectionRequest{
+ HpaiDiscoveryEndpoint: hpaiDiscoveryEndpoint,
+ HpaiDataEndpoint: hpaiDataEndpoint,
+ ConnectionRequestInformation: connectionRequestInformation,
+ Parent: &KnxNetIpMessage{},
+ }
+ _child.Parent.Child = _child
+ return _child.Parent, nil
+}
+
+func (m *ConnectionRequest) Serialize(io utils.WriteBuffer) error {
+ ser := func() error {
+
+ // Simple Field (hpaiDiscoveryEndpoint)
+ _hpaiDiscoveryEndpointErr := m.HpaiDiscoveryEndpoint.Serialize(io)
+ if _hpaiDiscoveryEndpointErr != nil {
+ return errors.New("Error serializing 'hpaiDiscoveryEndpoint' field " + _hpaiDiscoveryEndpointErr.Error())
+ }
+
+ // Simple Field (hpaiDataEndpoint)
+ _hpaiDataEndpointErr := m.HpaiDataEndpoint.Serialize(io)
+ if _hpaiDataEndpointErr != nil {
+ return errors.New("Error serializing 'hpaiDataEndpoint' field " + _hpaiDataEndpointErr.Error())
+ }
+
+ // Simple Field (connectionRequestInformation)
+ _connectionRequestInformationErr := m.ConnectionRequestInformation.Serialize(io)
+ if _connectionRequestInformationErr != nil {
+ return errors.New("Error serializing 'connectionRequestInformation' field " + _connectionRequestInformationErr.Error())
+ }
+
+ return nil
+ }
+ return m.Parent.SerializeParent(io, m, ser)
+}
+
+func (m *ConnectionRequest) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ token = start
+ for {
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ case "hpaiDiscoveryEndpoint":
+ var data *HPAIDiscoveryEndpoint
+ if err := d.DecodeElement(data, &tok); err != nil {
+ return err
+ }
+ m.HpaiDiscoveryEndpoint = data
+ case "hpaiDataEndpoint":
+ var data *HPAIDataEndpoint
+ if err := d.DecodeElement(data, &tok); err != nil {
+ return err
+ }
+ m.HpaiDataEndpoint = data
+ case "connectionRequestInformation":
+ var dt *ConnectionRequestInformation
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ m.ConnectionRequestInformation = dt
+ }
+ }
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ }
+}
+
+func (m *ConnectionRequest) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.HpaiDiscoveryEndpoint, xml.StartElement{Name: xml.Name{Local: "hpaiDiscoveryEndpoint"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.HpaiDataEndpoint, xml.StartElement{Name: xml.Name{Local: "hpaiDataEndpoint"}}); err != nil {
+ return err
+ }
+ if err := e.EncodeElement(m.ConnectionRequestInformation, xml.StartElement{Name: xml.Name{Local: "connectionRequestInformation"}}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformation.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformation.go
new file mode 100644
index 0000000..596507c
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformation.go
@@ -0,0 +1,218 @@
+//
+// 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 model
+
+import (
+ "encoding/xml"
+ "errors"
+ "io"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
+ "reflect"
+ "strings"
+)
+
+// The data-structure of this message
+type ConnectionRequestInformation struct {
+ Child IConnectionRequestInformationChild
+ IConnectionRequestInformation
+ IConnectionRequestInformationParent
+}
+
+// The corresponding interface
+type IConnectionRequestInformation interface {
+ ConnectionType() uint8
+ LengthInBytes() uint16
+ LengthInBits() uint16
+ Serialize(io utils.WriteBuffer) error
+ xml.Marshaler
+}
+
+type IConnectionRequestInformationParent interface {
+ SerializeParent(io utils.WriteBuffer, child IConnectionRequestInformation, serializeChildFunction func() error) error
+}
+
+type IConnectionRequestInformationChild interface {
+ Serialize(io utils.WriteBuffer) error
+ InitializeParent(parent *ConnectionRequestInformation)
+ IConnectionRequestInformation
+}
+
+func NewConnectionRequestInformation() *ConnectionRequestInformation {
+ return &ConnectionRequestInformation{}
+}
+
+func CastConnectionRequestInformation(structType interface{}) ConnectionRequestInformation {
+ castFunc := func(typ interface{}) ConnectionRequestInformation {
+ if casted, ok := typ.(ConnectionRequestInformation); ok {
+ return casted
+ }
+ if casted, ok := typ.(*ConnectionRequestInformation); ok {
+ return *casted
+ }
+ return ConnectionRequestInformation{}
+ }
+ return castFunc(structType)
+}
+
+func (m *ConnectionRequestInformation) LengthInBits() uint16 {
+ lengthInBits := uint16(0)
+
+ // Implicit Field (structureLength)
+ lengthInBits += 8
+
+ // Discriminator Field (connectionType)
+ lengthInBits += 8
+
+ // Length of sub-type elements will be added by sub-type...
+ lengthInBits += m.Child.LengthInBits()
+
+ return lengthInBits
+}
+
+func (m *ConnectionRequestInformation) LengthInBytes() uint16 {
+ return m.LengthInBits() / 8
+}
+
+func ConnectionRequestInformationParse(io *utils.ReadBuffer) (*ConnectionRequestInformation, error) {
+
+ // Implicit Field (structureLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ _, _structureLengthErr := io.ReadUint8(8)
+ if _structureLengthErr != nil {
+ return nil, errors.New("Error parsing 'structureLength' field " + _structureLengthErr.Error())
+ }
+
+ // Discriminator Field (connectionType) (Used as input to a switch field)
+ connectionType, _connectionTypeErr := io.ReadUint8(8)
+ if _connectionTypeErr != nil {
+ return nil, errors.New("Error parsing 'connectionType' field " + _connectionTypeErr.Error())
+ }
+
+ // Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
+ var _parent *ConnectionRequestInformation
+ var typeSwitchError error
+ switch {
+ case connectionType == 0x03:
+ _parent, typeSwitchError = ConnectionRequestInformationDeviceManagementParse(io)
+ case connectionType == 0x04:
+ _parent, typeSwitchError = ConnectionRequestInformationTunnelConnectionParse(io)
+ }
+ if typeSwitchError != nil {
+ return nil, errors.New("Error parsing sub-type for type-switch. " + typeSwitchError.Error())
+ }
+
+ // Finish initializing
+ _parent.Child.InitializeParent(_parent)
+ return _parent, nil
+}
+
+func (m *ConnectionRequestInformation) Serialize(io utils.WriteBuffer) error {
+ return m.Child.Serialize(io)
+}
+
+func (m *ConnectionRequestInformation) SerializeParent(io utils.WriteBuffer, child IConnectionRequestInformation, serializeChildFunction func() error) error {
+
+ // Implicit Field (structureLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
+ structureLength := uint8(uint8(m.LengthInBytes()))
+ _structureLengthErr := io.WriteUint8(8, (structureLength))
+ if _structureLengthErr != nil {
+ return errors.New("Error serializing 'structureLength' field " + _structureLengthErr.Error())
+ }
+
+ // Discriminator Field (connectionType) (Used as input to a switch field)
+ connectionType := uint8(child.ConnectionType())
+ _connectionTypeErr := io.WriteUint8(8, (connectionType))
+ if _connectionTypeErr != nil {
+ return errors.New("Error serializing 'connectionType' field " + _connectionTypeErr.Error())
+ }
+
+ // Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
+ _typeSwitchErr := serializeChildFunction()
+ if _typeSwitchErr != nil {
+ return errors.New("Error serializing sub-type field " + _typeSwitchErr.Error())
+ }
+
+ return nil
+}
+
+func (m *ConnectionRequestInformation) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
+ var token xml.Token
+ var err error
+ for {
+ token, err = d.Token()
+ if err != nil {
+ if err == io.EOF {
+ return nil
+ }
+ return err
+ }
+ switch token.(type) {
+ case xml.StartElement:
+ tok := token.(xml.StartElement)
+ switch tok.Name.Local {
+ default:
+ switch start.Attr[0].Value {
+ case "org.apache.plc4x.java.knxnetip.readwrite.ConnectionRequestInformationDeviceManagement":
+ var dt *ConnectionRequestInformationDeviceManagement
+ if m.Child != nil {
+ dt = m.Child.(*ConnectionRequestInformationDeviceManagement)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ case "org.apache.plc4x.java.knxnetip.readwrite.ConnectionRequestInformationTunnelConnection":
+ var dt *ConnectionRequestInformationTunnelConnection
+ if m.Child != nil {
+ dt = m.Child.(*ConnectionRequestInformationTunnelConnection)
+ }
+ if err := d.DecodeElement(&dt, &tok); err != nil {
+ return err
+ }
+ if m.Child == nil {
+ dt.Parent = m
+ m.Child = dt
+ }
+ }
+ }
+ }
+ }
+}
+
+func (m *ConnectionRequestInformation) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ className := reflect.TypeOf(m.Child).String()
+ className = "org.apache.plc4x.java.knxnetip.readwrite." + className[strings.LastIndex(className, ".") + 1:]
+ if err := e.EncodeToken(xml.StartElement{Name: start.Name, Attr: []xml.Attr{
+ {Name: xml.Name{Local: "className"}, Value: className},
+ }}); err != nil {
+ return err
+ }
+ marshaller, ok := m.Child.(xml.Marshaler)
+ if !ok {
+ return errors.New("child is not castable to Marshaler")
+ }
+ marshaller.MarshalXML(e, start)
+ if err := e.EncodeToken(xml.EndElement{Name: start.Name}); err != nil {
+ return err
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationDeviceManagement.go
similarity index 54%
copy from plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
copy to plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationDeviceManagement.go
index 3b384f2..443cf4b 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceACKGetEventInformation.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationDeviceManagement.go
@@ -21,17 +21,17 @@ package model
import (
"encoding/xml"
"io"
- "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go/v0/internal/plc4go/utils"
)
// The data-structure of this message
-type BACnetConfirmedServiceACKGetEventInformation struct {
- Parent *BACnetConfirmedServiceACK
- IBACnetConfirmedServiceACKGetEventInformation
+type ConnectionRequestInformationDeviceManagement struct {
+ Parent *ConnectionRequestInformation
+ IConnectionRequestInformationDeviceManagement
}
// The corresponding interface
-type IBACnetConfirmedServiceACKGetEventInformation interface {
+type IConnectionRequestInformationDeviceManagement interface {
LengthInBytes() uint16
LengthInBits() uint16
Serialize(io utils.WriteBuffer) error
@@ -41,62 +41,62 @@ type IBACnetConfirmedServiceACKGetEventInformation interface {
///////////////////////////////////////////////////////////
// Accessors for discriminator values.
///////////////////////////////////////////////////////////
-func (m *BACnetConfirmedServiceACKGetEventInformation) ServiceChoice() uint8 {
- return 0x1D
+func (m *ConnectionRequestInformationDeviceManagement) ConnectionType() uint8 {
+ return 0x03
}
-func (m *BACnetConfirmedServiceACKGetEventInformation) InitializeParent(parent *BACnetConfirmedServiceACK) {
+func (m *ConnectionRequestInformationDeviceManagement) InitializeParent(parent *ConnectionRequestInformation) {
}
-func NewBACnetConfirmedServiceACKGetEventInformation() *BACnetConfirmedServiceACK {
- child := &BACnetConfirmedServiceACKGetEventInformation{
- Parent: NewBACnetConfirmedServiceACK(),
+func NewConnectionRequestInformationDeviceManagement() *ConnectionRequestInformation {
+ child := &ConnectionRequestInformationDeviceManagement{
+ Parent: NewConnectionRequestInformation(),
}
child.Parent.Child = child
return child.Parent
}
-func CastBACnetConfirmedServiceACKGetEventInformation(structType interface{}) BACnetConfirmedServiceACKGetEventInformation {
- castFunc := func(typ interface{}) BACnetConfirmedServiceACKGetEventInformation {
- if casted, ok := typ.(BACnetConfirmedServiceACKGetEventInformation); ok {
+func CastConnectionRequestInformationDeviceManagement(structType interface{}) ConnectionRequestInformationDeviceManagement {
+ castFunc := func(typ interface{}) ConnectionRequestInformationDeviceManagement {
+ if casted, ok := typ.(ConnectionRequestInformationDeviceManagement); ok {
return casted
}
- if casted, ok := typ.(*BACnetConfirmedServiceACKGetEventInformation); ok {
+ if casted, ok := typ.(*ConnectionRequestInformationDeviceManagement); ok {
return *casted
}
- if casted, ok := typ.(BACnetConfirmedServiceACK); ok {
- return CastBACnetConfirmedServiceACKGetEventInformation(casted.Child)
+ if casted, ok := typ.(ConnectionRequestInformation); ok {
+ return CastConnectionRequestInformationDeviceManagement(casted.Child)
}
- if casted, ok := typ.(*BACnetConfirmedServiceACK); ok {
- return CastBACnetConfirmedServiceACKGetEventInformation(casted.Child)
+ if casted, ok := typ.(*ConnectionRequestInformation); ok {
+ return CastConnectionRequestInformationDeviceManagement(casted.Child)
}
- return BACnetConfirmedServiceACKGetEventInformation{}
+ return ConnectionRequestInformationDeviceManagement{}
}
... 21244 lines suppressed ...