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/01/04 14:22:09 UTC

[plc4x] branch develop updated: feat(bacnet): fix merge messup

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 3b0aa11  feat(bacnet): fix merge messup
3b0aa11 is described below

commit 3b0aa1112111d59e7be6467fc86ed5d0810503bc
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Tue Jan 4 15:21:58 2022 +0100

    feat(bacnet): fix merge messup
---
 .../resources/protocols/bacnetip/bacnetip.mspec    | 29 +++++++++++++++++++---
 1 file changed, 25 insertions(+), 4 deletions(-)

diff --git a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
index a645259..dc58510 100644
--- a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
+++ b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnetip.mspec
@@ -223,10 +223,10 @@
             [simple   BACnetContextTagObjectIdentifier('0', 'BACnetDataType.BACNET_OBJECT_IDENTIFIER')     objectIdentifier                                                                    ]
             [simple   BACnetContextTagPropertyIdentifier('1', 'BACnetDataType.BACNET_PROPERTY_IDENTIFIER') propertyIdentifier                                                                  ]
             // TODO: check if this is the right identifier type and size
-            [optional uint 32                                                                              arrayIndex 'propertyIdentifier.value == BACnetPropertyIdentifier.VALUE_SOURCE_ARRAY']
-            // TODO: possible revert again
+            [optional uint 32 arrayIndex 'propertyIdentifier.value == BACnetPropertyIdentifier.VALUE_SOURCE_ARRAY']
+             // TODO: possible revert again
             [simple   BACnetPropertyValue('propertyIdentifier.value')                                      propertyValue                                                                       ]
-            [optional BACnetTag                                                                            priority                  'curPos < (len - 1)'                                      ]
+            [optional BACnetTag priority                  'curPos < (len - 1)'            ]
         ]
         ['0x10' BACnetConfirmedServiceRequestWritePropertyMultiple
         ]
@@ -423,6 +423,27 @@
     ]
 ]
 
+[discriminatedType BACnetPropertyValue(BACnetPropertyIdentifier identifier)
+    // TODO: this is a tag but there is currently no way to validate (e.h. validate expression)
+    [const    uint 8    openingTag                0x3E                          ]
+    [typeSwitch identifier
+        ['OBJECT_TYPE'       BACnetPropertyValueObjectType
+            [simple BACnetApplicationTagObjectIdentifier identifier]
+        ]
+        ['PRIORITY_ARRAY'       BACnetPropertyValuePriorityValue
+            [array byte values count '16']
+        ]
+        ['PRESENT_VALUE'        BACnetPropertyValuePresentValue
+            [simple BACnetTag value]
+        ]
+        ['RELINQUISH_DEFAULT'   BACnetPropertyValueRelinquishDefault
+            [simple BACnetApplicationTagReal value]
+        ]
+    ]
+    // TODO: this is a tag but there is currently no way to validate (e.h. validate expression)
+    [const    uint 8    closingTag                0x3F                          ]
+]
+
 [discriminatedType BACnetError
     [discriminator uint 8 serviceChoice]
     [typeSwitch serviceChoice
@@ -507,7 +528,7 @@
     [typeSwitch tagClass, tagNumber
         ['APPLICATION_TAGS','0x0' BACnetApplicationTagNull
         ]
-        ['APPLICATION_TAGS','0x1' BACnetTagApplicationBoolean(uint 32 actualLength)
+        ['APPLICATION_TAGS','0x1' BACnetApplicationTagBoolean(uint 32 actualLength)
             [virtual bit value   'actualLength == 1'    ]
             [virtual bit isTrue  'value'                ]
             [virtual bit isFalse '!value'               ]