Feature/writepropertymultiple error handler (#289)

* Added extended BACnet Error PDU handling for WPM

* Added BACnetObjectPropertyReference to bacapp module.

* Added unit testing for BACnetObjectPropertyReference

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
This commit is contained in:
Steve Karg
2022-06-03 15:47:30 -05:00
committed by GitHub
parent f147283293
commit 6a8adcce3d
14 changed files with 642 additions and 88 deletions
+34
View File
@@ -158,6 +158,7 @@ int bacapp_encode_application_data(
apdu, &value->type.Lighting_Command);
break;
case BACNET_APPLICATION_TAG_HOST_N_PORT:
/* BACnetHostNPort */
apdu_len = host_n_port_encode(apdu,
&value->type.Host_Address);
break;
@@ -166,6 +167,16 @@ int bacapp_encode_application_data(
apdu_len = bacapp_encode_device_obj_property_ref(
apdu, &value->type.Device_Object_Property_Reference);
break;
case BACNET_APPLICATION_TAG_DEVICE_OBJECT_REFERENCE:
/* BACnetDeviceObjectReference */
apdu_len = bacapp_encode_device_obj_ref(
apdu, &value->type.Device_Object_Reference);
break;
case BACNET_APPLICATION_TAG_OBJECT_PROPERTY_REFERENCE:
/* BACnetObjectPropertyReference */
apdu_len = bacapp_encode_obj_property_ref(
apdu, &value->type.Object_Property_Reference);
break;
#endif
default:
break;
@@ -289,6 +300,17 @@ int bacapp_decode_data(uint8_t *apdu,
len = bacapp_decode_device_obj_property_ref(
apdu, &value->type.Device_Object_Property_Reference);
break;
case BACNET_APPLICATION_TAG_DEVICE_OBJECT_REFERENCE:
/* BACnetDeviceObjectReference */
len = bacapp_decode_device_obj_ref(
apdu, &value->type.Device_Object_Reference);
break;
case BACNET_APPLICATION_TAG_OBJECT_PROPERTY_REFERENCE:
/* BACnetObjectPropertyReference */
len = bacapp_decode_obj_property_ref(
apdu, len_value_type,
&value->type.Object_Property_Reference);
break;
#endif
default:
break;
@@ -589,6 +611,18 @@ int bacapp_encode_context_data_value(uint8_t *apdu,
apdu, context_tag_number,
&value->type.Device_Object_Property_Reference);
break;
case BACNET_APPLICATION_TAG_DEVICE_OBJECT_REFERENCE:
/* BACnetDeviceObjectReference */
apdu_len = bacapp_encode_context_device_obj_ref(
apdu, context_tag_number,
&value->type.Device_Object_Reference);
break;
case BACNET_APPLICATION_TAG_OBJECT_PROPERTY_REFERENCE:
/* BACnetObjectPropertyReference */
apdu_len = bacapp_encode_context_obj_property_ref(
apdu, context_tag_number,
&value->type.Object_Property_Reference);
break;
#endif
default:
break;