Changed some plumbing for printing values to handle the case of a Present-Value enumerated property from a proprietary object type.

This commit is contained in:
skarg
2010-09-02 13:16:27 +00:00
parent f9153ffb8a
commit 50a8a3f2fb
6 changed files with 79 additions and 26 deletions
+7 -1
View File
@@ -49,6 +49,7 @@
void rp_ack_print_data(
BACNET_READ_PROPERTY_DATA * data)
{
BACNET_OBJECT_PROPERTY_VALUE object_value; /* for bacapp printing */
BACNET_APPLICATION_DATA_VALUE value; /* for decode value data */
int len = 0;
uint8_t *application_data;
@@ -72,7 +73,12 @@ void rp_ack_print_data(
#endif
print_brace = true;
}
bacapp_print_value(stdout, &value, data->object_property);
object_value.object_type = data->object_type;
object_value.object_instance = data->object_instance;
object_value.object_property = data->object_property;
object_value.array_index = data->array_index;
object_value.value = &value;
bacapp_print_value(stdout, &object_value);
if (len) {
if (len < application_data_len) {
application_data += len;
+12 -2
View File
@@ -202,6 +202,7 @@ int rpm_ack_decode_service_request(
void rpm_ack_print_data(
BACNET_READ_ACCESS_DATA * rpm_data)
{
BACNET_OBJECT_PROPERTY_VALUE object_value; /* for bacapp printing */
BACNET_PROPERTY_REFERENCE *listOfProperties;
BACNET_APPLICATION_DATA_VALUE *value;
bool array_value = false;
@@ -240,9 +241,18 @@ void rpm_ack_print_data(
array_value = false;
}
#endif
object_value.object_type =
rpm_data->object_type;
object_value.object_instance =
rpm_data->object_instance;
while (value) {
bacapp_print_value(stdout, value,
listOfProperties->propertyIdentifier);
object_value.object_property =
listOfProperties->propertyIdentifier;
object_value.array_index =
listOfProperties->propertyArrayIndex;
object_value.value =
listOfProperties->value;
bacapp_print_value(stdout, &object_value);
#if PRINT_ENABLED
if (value->next) {
fprintf(stdout, ",\r\n ");
+7 -1
View File
@@ -46,6 +46,7 @@
static void PrintReadRangeData(
BACNET_READ_RANGE_DATA * data)
{
BACNET_OBJECT_PROPERTY_VALUE object_value; /* for bacapp printing */
BACNET_APPLICATION_DATA_VALUE value; /* for decode value data */
int len = 0;
uint8_t *application_data;
@@ -69,7 +70,12 @@ static void PrintReadRangeData(
#endif
print_brace = true;
}
bacapp_print_value(stdout, &value, data->object_property);
object_value.object_type = data->object_type;
object_value.object_instance = data->object_instance;
object_value.object_property = data->object_property;
object_value.array_index = data->array_index;
object_value.value = &value;
bacapp_print_value(stdout, &object_value);
if (len) {
if (len < application_data_len) {
application_data += len;