Updated Lighting Output object. Added Channel object. Not complete and not fully tested.
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user