From d43146c7e3272c6da1a4875903048b8f99639565 Mon Sep 17 00:00:00 2001 From: skarg Date: Sun, 8 Jul 2012 15:27:15 +0000 Subject: [PATCH] fixed bug: Writing of property NotifyType in AnalogValue - ID: 3541355 --- bacnet-stack/demo/object/ai.c | 18 ++++++++++++------ bacnet-stack/demo/object/av.c | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/bacnet-stack/demo/object/ai.c b/bacnet-stack/demo/object/ai.c index c28ea980..cf56f273 100644 --- a/bacnet-stack/demo/object/ai.c +++ b/bacnet-stack/demo/object/ai.c @@ -630,12 +630,18 @@ bool Analog_Input_Write_Property( &wp_data->error_class, &wp_data->error_code); if (status) { - if (value.type.Bit_String.bits_used > NOTIFY_EVENT) { - CurrentAI->Event_Enable = value.type.Enumerated; - } else { - wp_data->error_class = ERROR_CLASS_PROPERTY; - wp_data->error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; - status = false; + switch ((BACNET_NOTIFY_TYPE)value.type.Enumerated) { + case NOTIFY_EVENT: + CurrentAI->Notify_Type = 1; + break; + case NOTIFY_ALARM: + CurrentAI->Notify_Type = 0; + break; + default: + wp_data->error_class = ERROR_CLASS_PROPERTY; + wp_data->error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; + status = false; + break; } } break; diff --git a/bacnet-stack/demo/object/av.c b/bacnet-stack/demo/object/av.c index 836406f4..302f179c 100644 --- a/bacnet-stack/demo/object/av.c +++ b/bacnet-stack/demo/object/av.c @@ -728,12 +728,18 @@ bool Analog_Value_Write_Property( &wp_data->error_class, &wp_data->error_code); if (status) { - if (value.type.Bit_String.bits_used > NOTIFY_EVENT) { - CurrentAV->Event_Enable = value.type.Enumerated; - } else { - wp_data->error_class = ERROR_CLASS_PROPERTY; - wp_data->error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; - status = false; + switch ((BACNET_NOTIFY_TYPE)value.type.Enumerated) { + case NOTIFY_EVENT: + CurrentAV->Notify_Type = 1; + break; + case NOTIFY_ALARM: + CurrentAV->Notify_Type = 0; + break; + default: + wp_data->error_class = ERROR_CLASS_PROPERTY; + wp_data->error_code = ERROR_CODE_VALUE_OUT_OF_RANGE; + status = false; + break; } } break;