Updated Lighting Output object. Added Channel object. Not complete and not fully tested.

This commit is contained in:
skarg
2013-11-11 22:27:55 +00:00
parent 5f3ec51291
commit 4d79c26a8c
16 changed files with 3301 additions and 289 deletions
+56 -1
View File
@@ -46,6 +46,7 @@
#include "bactext.h"
#include "datetime.h"
#include "bacstr.h"
#include "lighting.h"
/** @file bacapp.c Utilities for the BACnet_Application_Data_Value */
@@ -145,6 +146,13 @@ int bacapp_encode_application_data(
(int) value->type.Object_Id.type,
value->type.Object_Id.instance);
break;
#endif
#if defined (BACAPP_LIGHTING_COMMAND)
case BACNET_APPLICATION_TAG_LIGHTING_COMMAND:
apdu_len =
lighting_command_encode(&apdu[0],
&value->type.Lighting_Command);
break;
#endif
default:
break;
@@ -258,6 +266,14 @@ int bacapp_decode_data(
value->type.Object_Id.instance = instance;
}
break;
#endif
#if defined (BACAPP_LIGHTING_COMMAND)
case BACNET_APPLICATION_TAG_LIGHTING_COMMAND:
len =
lighting_command_decode(
&apdu[0], len_value_type,
&value->type.Lighting_Command);
break;
#endif
default:
break;
@@ -536,6 +552,14 @@ int bacapp_encode_context_data_value(
(int) value->type.Object_Id.type,
value->type.Object_Id.instance);
break;
#endif
#if defined (BACAPP_LIGHTING_COMMAND)
case BACNET_APPLICATION_TAG_LIGHTING_COMMAND:
apdu_len =
lighting_command_encode_context(
&apdu[0], context_tag_number,
&value->type.Lighting_Command);
break;
#endif
default:
break;
@@ -879,6 +903,13 @@ bool bacapp_copy(
dest_value->type.Object_Id.instance =
src_value->type.Object_Id.instance;
break;
#endif
#if defined (BACAPP_LIGHTING_COMMAND)
case BACNET_APPLICATION_TAG_LIGHTING_COMMAND:
status = lighting_command_copy(
&dest_value->type.Lighting_Command,
&src_value->type.Lighting_Command);
break;
#endif
default:
status = false;
@@ -1299,6 +1330,21 @@ int bacapp_snprintf_value(
/* bytes were written. */
ret_val = str_len - rem_str_len;
break;
case BACNET_APPLICATION_TAG_LIGHTING_COMMAND:
if (!append_str(&p_str, &rem_str_len, "("))
break;
if (!append_str(&p_str, &rem_str_len,
bactext_lighting_operation_name(value->type.
Lighting_Command.operation))) {
break;
}
/* FIXME: add the Lighting Command optional values */
if (!append_str(&p_str, &rem_str_len, ")"))
break;
/* If we get here, then everything is OK. Indicate how many */
/* bytes were written. */
ret_val = str_len - rem_str_len;
break;
default:
ret_val = 0;
break;
@@ -1466,6 +1512,9 @@ bool bacapp_parse_application_data(
status = false;
}
break;
case BACNET_APPLICATION_TAG_LIGHTING_COMMAND:
/* FIXME: add parsing for lighting command */
break;
default:
break;
}
@@ -1586,7 +1635,13 @@ bool bacapp_same_value(
&test_value->type.Bit_String);
break;
#endif
#if defined (BACAPP_LIGHTING_COMMAND)
case BACNET_APPLICATION_TAG_BIT_STRING:
status = lighting_command_same(
&value->type.Lighting_Command,
&test_value->type.Lighting_Command);
break;
#endif
default:
status = false;
break;