added xx-supported init for all known support set to false initially.
This commit is contained in:
+15
-5
@@ -231,6 +231,7 @@ int Device_Encode_Property_APDU(
|
|||||||
{
|
{
|
||||||
int apdu_len = 0; // return value
|
int apdu_len = 0; // return value
|
||||||
BACNET_BIT_STRING bit_string;
|
BACNET_BIT_STRING bit_string;
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
switch (property)
|
switch (property)
|
||||||
{
|
{
|
||||||
@@ -296,11 +297,15 @@ int Device_Encode_Property_APDU(
|
|||||||
break;
|
break;
|
||||||
case PROP_PROTOCOL_SERVICES_SUPPORTED:
|
case PROP_PROTOCOL_SERVICES_SUPPORTED:
|
||||||
bitstring_init(&bit_string);
|
bitstring_init(&bit_string);
|
||||||
// when APDU does automatic reject when service is NULL, then add this
|
for (i = 0; i < MAX_BACNET_SERVICES_SUPPORTED; i++)
|
||||||
//for (i = 0; i < MAX_BACNET_SERVICES_SUPPORTED; i++)
|
{
|
||||||
//{
|
// FIXME: when APDU does automatic reject when service is NULL,
|
||||||
// bitstring_set_bit(&bit_string, i, apdu_service_supported(i));
|
// then add this:
|
||||||
//}
|
// bitstring_set_bit(&bit_string, i, apdu_service_supported(i));
|
||||||
|
// initialize all the services to not-supported
|
||||||
|
bitstring_set_bit(&bit_string, i, false);
|
||||||
|
}
|
||||||
|
// initialize those we support
|
||||||
bitstring_set_bit(&bit_string, SERVICE_SUPPORTED_WHO_IS, true);
|
bitstring_set_bit(&bit_string, SERVICE_SUPPORTED_WHO_IS, true);
|
||||||
bitstring_set_bit(&bit_string, SERVICE_SUPPORTED_I_AM, true);
|
bitstring_set_bit(&bit_string, SERVICE_SUPPORTED_I_AM, true);
|
||||||
bitstring_set_bit(&bit_string, SERVICE_SUPPORTED_READ_PROPERTY, true);
|
bitstring_set_bit(&bit_string, SERVICE_SUPPORTED_READ_PROPERTY, true);
|
||||||
@@ -308,6 +313,11 @@ int Device_Encode_Property_APDU(
|
|||||||
break;
|
break;
|
||||||
case PROP_PROTOCOL_OBJECT_TYPES_SUPPORTED:
|
case PROP_PROTOCOL_OBJECT_TYPES_SUPPORTED:
|
||||||
bitstring_init(&bit_string);
|
bitstring_init(&bit_string);
|
||||||
|
for (i = 0; i < MAX_BACNET_OBJECT_TYPES; i++)
|
||||||
|
{
|
||||||
|
// initialize all the object types to not-supported
|
||||||
|
bitstring_set_bit(&bit_string, i, false);
|
||||||
|
}
|
||||||
bitstring_set_bit(&bit_string, OBJECT_DEVICE, true);
|
bitstring_set_bit(&bit_string, OBJECT_DEVICE, true);
|
||||||
apdu_len = encode_tagged_bitstring(&apdu[0], &bit_string);
|
apdu_len = encode_tagged_bitstring(&apdu[0], &bit_string);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user