Added CharacterString Value object example and unit tests, and added to demo/server example application.
Added Multi-state Value object example and unit tests, and added to demo/server example application. Fixed Analog Input object, Analog Output object, Analog Value object, Device object, Multi-state Input object, Multi-state Output object examples to return correct error codes for WriteProperty service (per BACnet 135.1-2009-9.22.2.6). Fixed top level ReadProperty and WriteProperty handlers in Device object to return correct error codes (per BACnet 135.1-2009-9.22.2.5)
This commit is contained in:
@@ -648,7 +648,25 @@ BACNET_APPLICATION_TAG bacapp_context_tag_type(
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case PROP_ACTIVE_COV_SUBSCRIPTIONS:
|
||||
/* BACnetCOVSubscription */
|
||||
switch (tag_number) {
|
||||
case 0: /* BACnetRecipientProcess */
|
||||
case 1: /* BACnetObjectPropertyReference */
|
||||
break;
|
||||
case 2: /* issueConfirmedNotifications */
|
||||
tag = BACNET_APPLICATION_TAG_BOOLEAN;
|
||||
break;
|
||||
case 3: /* timeRemaining */
|
||||
tag = BACNET_APPLICATION_TAG_UNSIGNED_INT;
|
||||
break;
|
||||
case 4: /* covIncrement */
|
||||
tag = BACNET_APPLICATION_TAG_REAL;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -717,7 +735,7 @@ int bacapp_decode_context_data(
|
||||
}
|
||||
}
|
||||
else if ( tag_len == 1 ) /* and is a Closing tag */
|
||||
apdu_len = 0; /* Don't advance over that closing tag. */
|
||||
apdu_len = 0; /* Don't advance over that closing tag. */
|
||||
}
|
||||
|
||||
return apdu_len;
|
||||
|
||||
@@ -187,9 +187,9 @@ INDTEXT_DATA bacnet_object_type_names[] = {
|
||||
,
|
||||
{OBJECT_LOOP, "Loop"}
|
||||
,
|
||||
{OBJECT_MULTI_STATE_INPUT, "Multi-State Input"}
|
||||
{OBJECT_MULTI_STATE_INPUT, "Multi-state Input"}
|
||||
,
|
||||
{OBJECT_MULTI_STATE_OUTPUT, "Multi-State Output"}
|
||||
{OBJECT_MULTI_STATE_OUTPUT, "Multi-state Output"}
|
||||
,
|
||||
{OBJECT_NOTIFICATION_CLASS, "Notification Class"}
|
||||
,
|
||||
@@ -199,9 +199,9 @@ INDTEXT_DATA bacnet_object_type_names[] = {
|
||||
,
|
||||
{OBJECT_AVERAGING, "Averaging"}
|
||||
,
|
||||
{OBJECT_MULTI_STATE_VALUE, "Multi-State Value"}
|
||||
{OBJECT_MULTI_STATE_VALUE, "Multi-state Value"}
|
||||
,
|
||||
{OBJECT_TRENDLOG, "Trendlog"}
|
||||
{OBJECT_TRENDLOG, "TrendLog"}
|
||||
,
|
||||
{OBJECT_LIFE_SAFETY_POINT, "Life Safety Point"}
|
||||
,
|
||||
@@ -239,23 +239,23 @@ INDTEXT_DATA bacnet_object_type_names[] = {
|
||||
,
|
||||
{OBJECT_NETWORK_SECURITY, "Network Security"}
|
||||
,
|
||||
{OBJECT_BITSTRING_VALUE, "Bitstring Value"}
|
||||
{OBJECT_BITSTRING_VALUE, "BitString Value"}
|
||||
,
|
||||
{OBJECT_CHARACTERSTRING_VALUE, "Characterstring Value"}
|
||||
{OBJECT_CHARACTERSTRING_VALUE, "CharacterString Value"}
|
||||
,
|
||||
{OBJECT_DATE_PATTERN_VALUE, "Date Pattern Value"}
|
||||
,
|
||||
{OBJECT_DATE_VALUE, "Date Value"}
|
||||
,
|
||||
{OBJECT_DATETIME_PATTERN_VALUE, "Datetime Pattern Value"}
|
||||
{OBJECT_DATETIME_PATTERN_VALUE, "DateTime Pattern Value"}
|
||||
,
|
||||
{OBJECT_DATETIME_VALUE, "Datetime Value"}
|
||||
{OBJECT_DATETIME_VALUE, "DateTime Value"}
|
||||
,
|
||||
{OBJECT_INTEGER_VALUE, "Integer Value"}
|
||||
,
|
||||
{OBJECT_LARGE_ANALOG_VALUE, "Large Analog Value"}
|
||||
,
|
||||
{OBJECT_OCTETSTRING_VALUE, "Octetstring Value"}
|
||||
{OBJECT_OCTETSTRING_VALUE, "OctetString Value"}
|
||||
,
|
||||
{OBJECT_POSITIVE_INTEGER_VALUE, "Positive Integer Value"}
|
||||
,
|
||||
|
||||
Reference in New Issue
Block a user