You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2022/05/10 15:24:14 UTC
[plc4x] branch develop updated: feat(bacnet): implemented BACnetConfirmedServiceRequestAcknowledgeAlarm
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new 6a899a1347 feat(bacnet): implemented BACnetConfirmedServiceRequestAcknowledgeAlarm
6a899a1347 is described below
commit 6a899a134795eb8f117fac0d0d78be9c4ef322d6
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Tue May 10 17:24:06 2022 +0200
feat(bacnet): implemented BACnetConfirmedServiceRequestAcknowledgeAlarm
---
...ACnetConfirmedServiceRequestAcknowledgeAlarm.go | 239 ++++++++++++++++++++-
.../resources/protocols/bacnetip/bacnetip.mspec | 9 +-
2 files changed, 243 insertions(+), 5 deletions(-)
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
index 08e211c725..d2aa18e1e7 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAcknowledgeAlarm.go
@@ -21,6 +21,7 @@ package model
import (
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+ "github.com/pkg/errors"
)
// Code generated by code-generation. DO NOT EDIT.
@@ -28,6 +29,12 @@ import (
// BACnetConfirmedServiceRequestAcknowledgeAlarm is the data-structure of this message
type BACnetConfirmedServiceRequestAcknowledgeAlarm struct {
*BACnetConfirmedServiceRequest
+ AcknowledgingProcessIdentifier *BACnetContextTagUnsignedInteger
+ EventObjectIdentifier *BACnetContextTagObjectIdentifier
+ EventStateAcknowledged *BACnetContextTagEventState
+ Timestamp *BACnetTimeStamp
+ AcknowledgmentSource *BACnetContextTagCharacterString
+ TimeOfAcknowledgment *BACnetTimeStamp
// Arguments.
ServiceRequestLength uint16
@@ -36,6 +43,18 @@ type BACnetConfirmedServiceRequestAcknowledgeAlarm struct {
// IBACnetConfirmedServiceRequestAcknowledgeAlarm is the corresponding interface of BACnetConfirmedServiceRequestAcknowledgeAlarm
type IBACnetConfirmedServiceRequestAcknowledgeAlarm interface {
IBACnetConfirmedServiceRequest
+ // GetAcknowledgingProcessIdentifier returns AcknowledgingProcessIdentifier (property field)
+ GetAcknowledgingProcessIdentifier() *BACnetContextTagUnsignedInteger
+ // GetEventObjectIdentifier returns EventObjectIdentifier (property field)
+ GetEventObjectIdentifier() *BACnetContextTagObjectIdentifier
+ // GetEventStateAcknowledged returns EventStateAcknowledged (property field)
+ GetEventStateAcknowledged() *BACnetContextTagEventState
+ // GetTimestamp returns Timestamp (property field)
+ GetTimestamp() *BACnetTimeStamp
+ // GetAcknowledgmentSource returns AcknowledgmentSource (property field)
+ GetAcknowledgmentSource() *BACnetContextTagCharacterString
+ // GetTimeOfAcknowledgment returns TimeOfAcknowledgment (property field)
+ GetTimeOfAcknowledgment() *BACnetTimeStamp
// GetLengthInBytes returns the length in bytes
GetLengthInBytes() uint16
// GetLengthInBits returns the length in bits
@@ -65,10 +84,50 @@ func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetParent() *BACnetConfi
return m.BACnetConfirmedServiceRequest
}
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for property fields.
+///////////////////////
+
+func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetAcknowledgingProcessIdentifier() *BACnetContextTagUnsignedInteger {
+ return m.AcknowledgingProcessIdentifier
+}
+
+func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetEventObjectIdentifier() *BACnetContextTagObjectIdentifier {
+ return m.EventObjectIdentifier
+}
+
+func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetEventStateAcknowledged() *BACnetContextTagEventState {
+ return m.EventStateAcknowledged
+}
+
+func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetTimestamp() *BACnetTimeStamp {
+ return m.Timestamp
+}
+
+func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetAcknowledgmentSource() *BACnetContextTagCharacterString {
+ return m.AcknowledgmentSource
+}
+
+func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetTimeOfAcknowledgment() *BACnetTimeStamp {
+ return m.TimeOfAcknowledgment
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
// NewBACnetConfirmedServiceRequestAcknowledgeAlarm factory function for BACnetConfirmedServiceRequestAcknowledgeAlarm
-func NewBACnetConfirmedServiceRequestAcknowledgeAlarm(serviceRequestLength uint16) *BACnetConfirmedServiceRequestAcknowledgeAlarm {
+func NewBACnetConfirmedServiceRequestAcknowledgeAlarm(acknowledgingProcessIdentifier *BACnetContextTagUnsignedInteger, eventObjectIdentifier *BACnetContextTagObjectIdentifier, eventStateAcknowledged *BACnetContextTagEventState, timestamp *BACnetTimeStamp, acknowledgmentSource *BACnetContextTagCharacterString, timeOfAcknowledgment *BACnetTimeStamp, serviceRequestLength uint16) *BACnetConfirmedServiceRequestAcknowledgeAlarm {
_result := &BACnetConfirmedServiceRequestAcknowledgeAlarm{
- BACnetConfirmedServiceRequest: NewBACnetConfirmedServiceRequest(serviceRequestLength),
+ AcknowledgingProcessIdentifier: acknowledgingProcessIdentifier,
+ EventObjectIdentifier: eventObjectIdentifier,
+ EventStateAcknowledged: eventStateAcknowledged,
+ Timestamp: timestamp,
+ AcknowledgmentSource: acknowledgmentSource,
+ TimeOfAcknowledgment: timeOfAcknowledgment,
+ BACnetConfirmedServiceRequest: NewBACnetConfirmedServiceRequest(serviceRequestLength),
}
_result.Child = _result
return _result
@@ -101,6 +160,24 @@ func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetLengthInBits() uint16
func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) GetLengthInBitsConditional(lastItem bool) uint16 {
lengthInBits := uint16(m.GetParentLengthInBits())
+ // Simple field (acknowledgingProcessIdentifier)
+ lengthInBits += m.AcknowledgingProcessIdentifier.GetLengthInBits()
+
+ // Simple field (eventObjectIdentifier)
+ lengthInBits += m.EventObjectIdentifier.GetLengthInBits()
+
+ // Simple field (eventStateAcknowledged)
+ lengthInBits += m.EventStateAcknowledged.GetLengthInBits()
+
+ // Simple field (timestamp)
+ lengthInBits += m.Timestamp.GetLengthInBits()
+
+ // Simple field (acknowledgmentSource)
+ lengthInBits += m.AcknowledgmentSource.GetLengthInBits()
+
+ // Simple field (timeOfAcknowledgment)
+ lengthInBits += m.TimeOfAcknowledgment.GetLengthInBits()
+
return lengthInBits
}
@@ -115,13 +192,97 @@ func BACnetConfirmedServiceRequestAcknowledgeAlarmParse(readBuffer utils.ReadBuf
currentPos := readBuffer.GetPos()
_ = currentPos
+ // Simple Field (acknowledgingProcessIdentifier)
+ if pullErr := readBuffer.PullContext("acknowledgingProcessIdentifier"); pullErr != nil {
+ return nil, pullErr
+ }
+ _acknowledgingProcessIdentifier, _acknowledgingProcessIdentifierErr := BACnetContextTagParse(readBuffer, uint8(uint8(0)), BACnetDataType(BACnetDataType_UNSIGNED_INTEGER))
+ if _acknowledgingProcessIdentifierErr != nil {
+ return nil, errors.Wrap(_acknowledgingProcessIdentifierErr, "Error parsing 'acknowledgingProcessIdentifier' field")
+ }
+ acknowledgingProcessIdentifier := CastBACnetContextTagUnsignedInteger(_acknowledgingProcessIdentifier)
+ if closeErr := readBuffer.CloseContext("acknowledgingProcessIdentifier"); closeErr != nil {
+ return nil, closeErr
+ }
+
+ // Simple Field (eventObjectIdentifier)
+ if pullErr := readBuffer.PullContext("eventObjectIdentifier"); pullErr != nil {
+ return nil, pullErr
+ }
+ _eventObjectIdentifier, _eventObjectIdentifierErr := BACnetContextTagParse(readBuffer, uint8(uint8(1)), BACnetDataType(BACnetDataType_BACNET_OBJECT_IDENTIFIER))
+ if _eventObjectIdentifierErr != nil {
+ return nil, errors.Wrap(_eventObjectIdentifierErr, "Error parsing 'eventObjectIdentifier' field")
+ }
+ eventObjectIdentifier := CastBACnetContextTagObjectIdentifier(_eventObjectIdentifier)
+ if closeErr := readBuffer.CloseContext("eventObjectIdentifier"); closeErr != nil {
+ return nil, closeErr
+ }
+
+ // Simple Field (eventStateAcknowledged)
+ if pullErr := readBuffer.PullContext("eventStateAcknowledged"); pullErr != nil {
+ return nil, pullErr
+ }
+ _eventStateAcknowledged, _eventStateAcknowledgedErr := BACnetContextTagParse(readBuffer, uint8(uint8(2)), BACnetDataType(BACnetDataType_EVENT_STATE))
+ if _eventStateAcknowledgedErr != nil {
+ return nil, errors.Wrap(_eventStateAcknowledgedErr, "Error parsing 'eventStateAcknowledged' field")
+ }
+ eventStateAcknowledged := CastBACnetContextTagEventState(_eventStateAcknowledged)
+ if closeErr := readBuffer.CloseContext("eventStateAcknowledged"); closeErr != nil {
+ return nil, closeErr
+ }
+
+ // Simple Field (timestamp)
+ if pullErr := readBuffer.PullContext("timestamp"); pullErr != nil {
+ return nil, pullErr
+ }
+ _timestamp, _timestampErr := BACnetTimeStampParse(readBuffer, uint8(uint8(3)))
+ if _timestampErr != nil {
+ return nil, errors.Wrap(_timestampErr, "Error parsing 'timestamp' field")
+ }
+ timestamp := CastBACnetTimeStamp(_timestamp)
+ if closeErr := readBuffer.CloseContext("timestamp"); closeErr != nil {
+ return nil, closeErr
+ }
+
+ // Simple Field (acknowledgmentSource)
+ if pullErr := readBuffer.PullContext("acknowledgmentSource"); pullErr != nil {
+ return nil, pullErr
+ }
+ _acknowledgmentSource, _acknowledgmentSourceErr := BACnetContextTagParse(readBuffer, uint8(uint8(4)), BACnetDataType(BACnetDataType_CHARACTER_STRING))
+ if _acknowledgmentSourceErr != nil {
+ return nil, errors.Wrap(_acknowledgmentSourceErr, "Error parsing 'acknowledgmentSource' field")
+ }
+ acknowledgmentSource := CastBACnetContextTagCharacterString(_acknowledgmentSource)
+ if closeErr := readBuffer.CloseContext("acknowledgmentSource"); closeErr != nil {
+ return nil, closeErr
+ }
+
+ // Simple Field (timeOfAcknowledgment)
+ if pullErr := readBuffer.PullContext("timeOfAcknowledgment"); pullErr != nil {
+ return nil, pullErr
+ }
+ _timeOfAcknowledgment, _timeOfAcknowledgmentErr := BACnetTimeStampParse(readBuffer, uint8(uint8(5)))
+ if _timeOfAcknowledgmentErr != nil {
+ return nil, errors.Wrap(_timeOfAcknowledgmentErr, "Error parsing 'timeOfAcknowledgment' field")
+ }
+ timeOfAcknowledgment := CastBACnetTimeStamp(_timeOfAcknowledgment)
+ if closeErr := readBuffer.CloseContext("timeOfAcknowledgment"); closeErr != nil {
+ return nil, closeErr
+ }
+
if closeErr := readBuffer.CloseContext("BACnetConfirmedServiceRequestAcknowledgeAlarm"); closeErr != nil {
return nil, closeErr
}
// Create a partially initialized instance
_child := &BACnetConfirmedServiceRequestAcknowledgeAlarm{
- BACnetConfirmedServiceRequest: &BACnetConfirmedServiceRequest{},
+ AcknowledgingProcessIdentifier: CastBACnetContextTagUnsignedInteger(acknowledgingProcessIdentifier),
+ EventObjectIdentifier: CastBACnetContextTagObjectIdentifier(eventObjectIdentifier),
+ EventStateAcknowledged: CastBACnetContextTagEventState(eventStateAcknowledged),
+ Timestamp: CastBACnetTimeStamp(timestamp),
+ AcknowledgmentSource: CastBACnetContextTagCharacterString(acknowledgmentSource),
+ TimeOfAcknowledgment: CastBACnetTimeStamp(timeOfAcknowledgment),
+ BACnetConfirmedServiceRequest: &BACnetConfirmedServiceRequest{},
}
_child.BACnetConfirmedServiceRequest.Child = _child
return _child, nil
@@ -133,6 +294,78 @@ func (m *BACnetConfirmedServiceRequestAcknowledgeAlarm) Serialize(writeBuffer ut
return pushErr
}
+ // Simple Field (acknowledgingProcessIdentifier)
+ if pushErr := writeBuffer.PushContext("acknowledgingProcessIdentifier"); pushErr != nil {
+ return pushErr
+ }
+ _acknowledgingProcessIdentifierErr := m.AcknowledgingProcessIdentifier.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("acknowledgingProcessIdentifier"); popErr != nil {
+ return popErr
+ }
+ if _acknowledgingProcessIdentifierErr != nil {
+ return errors.Wrap(_acknowledgingProcessIdentifierErr, "Error serializing 'acknowledgingProcessIdentifier' field")
+ }
+
+ // Simple Field (eventObjectIdentifier)
+ if pushErr := writeBuffer.PushContext("eventObjectIdentifier"); pushErr != nil {
+ return pushErr
+ }
+ _eventObjectIdentifierErr := m.EventObjectIdentifier.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("eventObjectIdentifier"); popErr != nil {
+ return popErr
+ }
+ if _eventObjectIdentifierErr != nil {
+ return errors.Wrap(_eventObjectIdentifierErr, "Error serializing 'eventObjectIdentifier' field")
+ }
+
+ // Simple Field (eventStateAcknowledged)
+ if pushErr := writeBuffer.PushContext("eventStateAcknowledged"); pushErr != nil {
+ return pushErr
+ }
+ _eventStateAcknowledgedErr := m.EventStateAcknowledged.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("eventStateAcknowledged"); popErr != nil {
+ return popErr
+ }
+ if _eventStateAcknowledgedErr != nil {
+ return errors.Wrap(_eventStateAcknowledgedErr, "Error serializing 'eventStateAcknowledged' field")
+ }
+
+ // Simple Field (timestamp)
+ if pushErr := writeBuffer.PushContext("timestamp"); pushErr != nil {
+ return pushErr
+ }
+ _timestampErr := m.Timestamp.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("timestamp"); popErr != nil {
+ return popErr
+ }
+ if _timestampErr != nil {
+ return errors.Wrap(_timestampErr, "Error serializing 'timestamp' field")
+ }
+
+ // Simple Field (acknowledgmentSource)
+ if pushErr := writeBuffer.PushContext("acknowledgmentSource"); pushErr != nil {
+ return pushErr
+ }
+ _acknowledgmentSourceErr := m.AcknowledgmentSource.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("acknowledgmentSource"); popErr != nil {
+ return popErr
+ }
+ if _acknowledgmentSourceErr != nil {
+ return errors.Wrap(_acknowledgmentSourceErr, "Error serializing 'acknowledgmentSource' field")
+ }
+
+ // Simple Field (timeOfAcknowledgment)
+ if pushErr := writeBuffer.PushContext("timeOfAcknowledgment"); pushErr != nil {
+ return pushErr
+ }
+ _timeOfAcknowledgmentErr := m.TimeOfAcknowledgment.Serialize(writeBuffer)
+ if popErr := writeBuffer.PopContext("timeOfAcknowledgment"); popErr != nil {
+ return popErr
+ }
+ if _timeOfAcknowledgmentErr != nil {
+ return errors.Wrap(_timeOfAcknowledgmentErr, "Error serializing 'timeOfAcknowledgment' field")
+ }
+
if popErr := writeBuffer.PopContext("BACnetConfirmedServiceRequestAcknowledgeAlarm"); popErr != nil {
return popErr
}
diff --git a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
index 11f0456ed6..81aad98d99 100644
--- a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
+++ b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
@@ -307,11 +307,16 @@
// Alarm and Event Services
['ACKNOWLEDGE_ALARM' BACnetConfirmedServiceRequestAcknowledgeAlarm
- // TODO: implement me
+ [simple BACnetContextTagUnsignedInteger('0', 'BACnetDataType.UNSIGNED_INTEGER') acknowledgingProcessIdentifier ]
+ [simple BACnetContextTagObjectIdentifier('1', 'BACnetDataType.BACNET_OBJECT_IDENTIFIER') eventObjectIdentifier ]
+ [simple BACnetContextTagEventState('2', 'BACnetDataType.EVENT_STATE') eventStateAcknowledged ]
+ [simple BACnetTimeStamp('3') timestamp ]
+ [simple BACnetContextTagCharacterString('4', 'BACnetDataType.CHARACTER_STRING') acknowledgmentSource ]
+ [simple BACnetTimeStamp('5') timeOfAcknowledgment ]
]
['CONFIRMED_COV_NOTIFICATION' BACnetConfirmedServiceRequestConfirmedCOVNotification
[simple BACnetContextTagUnsignedInteger('0', 'BACnetDataType.UNSIGNED_INTEGER') subscriberProcessIdentifier ]
- [simple BACnetContextTagObjectIdentifier('1', 'BACnetDataType.BACNET_OBJECT_IDENTIFIER') initiatingDeviceIdentifier ]
+ [simple BACnetContextTagObjectIdentifier('1', 'BACnetDataType.BACNET_OBJECT_IDENTIFIER') initiatingDeviceIdentifier ]
[simple BACnetContextTagObjectIdentifier('2', 'BACnetDataType.BACNET_OBJECT_IDENTIFIER') monitoredObjectIdentifier ]
[simple BACnetContextTagUnsignedInteger('3', 'BACnetDataType.UNSIGNED_INTEGER') lifetimeInSeconds ]
[simple BACnetPropertyValues('4', 'monitoredObjectIdentifier.objectType') listOfValues ]