diff --git a/src/bacnet/bacenum.h b/src/bacnet/bacenum.h index 4cdcd166..7438b98e 100644 --- a/src/bacnet/bacenum.h +++ b/src/bacnet/bacenum.h @@ -522,16 +522,65 @@ typedef enum { PROP_STAGES = 494, PROP_STAGE_NAMES = 495, PROP_TARGET_REFERENCES = 496, + PROP_AUDIT_SOURCE_LEVEL = 497, + PROP_AUDIT_LEVEL = 498, + PROP_AUDIT_NOTIFICATION_RECIPIENT = 499, + PROP_AUDIT_PRIORITY_FILTER = 500, + PROP_AUDITABLE_OPERATIONS = 501, + PROP_DELETE_ON_FORWARD = 502, + PROP_MAXIMUM_SEND_DELAY = 503, + PROP_MONITORED_OBJECTS = 504, + PROP_SEND_NOW = 505, + PROP_FLOOR_NUMBER = 506, + PROP_DEVICE_UUID = 507, + /* enumerations 508-511 are defined in Addendum 2020cc */ + PROP_ADDITIONAL_REFERENCE_PORTS = 508, + PROP_CERTIFICATE_SIGNING_REQUEST_FILE = 509, + PROP_COMMAND_VALIDATION_RESULT = 510, + PROP_ISSUER_CERTIFICATE_FILES = 511, /* The special property identifiers all, optional, and required */ /* are reserved for use in the ReadPropertyConditional and */ /* ReadPropertyMultiple services or services not defined in this standard. */ /* Enumerated values 0-511 are reserved for definition by ASHRAE. */ /* Enumerated values 512-4194303 may be used by others subject to the */ /* procedures and constraints described in Clause 23. */ + PROP_PROPRIETARY_RANGE_MIN = 512, + PROP_PROPRIETARY_RANGE_MAX = 4194303, + /* enumerations 4194304-4194327 are defined in Addendum 2020cc */ + PROP_MAX_BVLC_LENGTH_ACCEPTED = 4194304, + PROP_MAX_NPDU_LENGTH_ACCEPTED = 4194305, + PROP_OPERATIONAL_CERTIFICATE_FILE = 4194305, + PROP_CURRENT_HEALTH = 4194307, + PROP_SC_CONNECT_WAIT_TIMEOUT = 4194308, + PROP_SC_DIRECT_CONNECT_ACCEPT_ENABLE = 4194309, + PROP_SC_DIRECT_CONNECT_ACCEPT_URIS = 4194310, + PROP_SC_DIRECT_CONNECT_BINDING = 4194311, + PROP_SC_DIRECT_CONNECT_CONNECTION_STATUS = 4194312, + PROP_SC_DIRECT_CONNECT_INITIATE_ENABLE = 4194313, + PROP_SC_DISCONNECT_WAIT_TIMEOUT = 4194314, + PROP_SC_FAILED_CONNECTION_REQUESTS = 4194315, + PROP_SC_FAILOVER_HUB_CONNECTION_STATUS = 4194316, + PROP_SC_FAILOVER_HUB_URI = 4194317, + PROP_SC_HUB_CONNECTOR_STATE = 4194318, + PROP_SC_HUB_FUNCTION_ACCEPT_URIS = 4194319, + PROP_SC_HUB_FUNCTION_BINDING = 4194320, + PROP_SC_HUB_FUNCTION_CONNECTION_STATUS = 4194321, + PROP_SC_HUB_FUNCTION_ENABLE = 4194322, + PROP_SC_HEARTBEAT_TIMEOUT = 4194323, + PROP_SC_PRIMARY_HUB_CONNECTION_STATUS = 4194324, + PROP_SC_PRIMARY_HUB_URI = 4194325, + PROP_SC_MAXIMUM_RECONNECT_TIME = 4194326, + PROP_SC_MINIMUM_RECONNECT_TIME = 4194327, + /* enumerations 4194328-4194332 are defined in Addendum 2020ca */ + PROP_COLOR_OVERRIDE = 4194328, + PROP_COLOR_REFERENCE = 4194329, + PROP_DEFAULT_COLOR = 4194330, + PROP_DEFAULT_COLOR_TEMPERATURE = 4194331, + PROP_OVERRIDE_COLOR_REFERENCE = 4194332, /* do the max range inside of enum so that compilers will allocate adequate sized datatype for enum which is used to store decoding */ - MAX_BACNET_PROPERTY_ID = 4194303 + MAX_BACNET_PROPERTY_ID = UINT32_MAX } BACNET_PROPERTY_ID; @@ -1176,7 +1225,7 @@ typedef enum { NOTIFY_MAX = 3 } BACNET_NOTIFY_TYPE; -typedef enum { +typedef enum BACnetObjectType { OBJECT_ANALOG_INPUT = 0, OBJECT_ANALOG_OUTPUT = 1, OBJECT_ANALOG_VALUE = 2, @@ -1239,16 +1288,21 @@ typedef enum { OBJECT_ESCALATOR = 58, /* Addendum 135-2012aq */ OBJECT_LIFT = 59, /* Addendum 135-2012aq */ OBJECT_STAGING = 60, /* Addendum 135-2016bd */ + OBJECT_AUDIT_LOG = 61, /* Addendum 135-2016bi */ + OBJECT_AUDIT_REPORTER = 62, /* Addendum 135-2016bi */ + OBJECT_COLOR = 63, /* Addendum 135-2020ca */ + OBJECT_COLOR_TEMPERATURE = 64, /* Addendum 135-2020ca */ /* Enumerated values 0-127 are reserved for definition by ASHRAE. */ /* Enumerated values 128-1023 may be used by others subject to */ /* the procedures and constraints described in Clause 23. */ + OBJECT_PROPRIETARY_MIN = 128, + OBJECT_PROPRIETARY_MAX = 1023, /* do the max range inside of enum so that compilers will allocate adequate sized datatype for enum which is used to store decoding */ - OBJECT_PROPRIETARY_MIN = 128, - OBJECT_PROPRIETARY_MAX = 1023, MAX_BACNET_OBJECT_TYPE = 1024, - OBJECT_NONE = 0xFFFFu + /* special usage for this library */ + OBJECT_NONE = UINT16_MAX } BACNET_OBJECT_TYPE; typedef enum { @@ -1863,7 +1917,8 @@ typedef enum BACnetLightingInProgress { BACNET_LIGHTING_RAMP_ACTIVE = 2, BACNET_LIGHTING_NOT_CONTROLLED = 3, BACNET_LIGHTING_OTHER = 4, - MAX_BACNET_LIGHTING_IN_PROGRESS = 5 + BACNET_LIGHTING_TRIM_ACTIVE = 5, + MAX_BACNET_LIGHTING_IN_PROGRESS = 6 } BACNET_LIGHTING_IN_PROGRESS; typedef enum BACnetLightingTransition { @@ -1878,6 +1933,17 @@ typedef enum BACnetLightingTransition { BACNET_LIGHTING_TRANSITION_PROPRIETARY_LAST = 255 } BACNET_LIGHTING_TRANSITION; +typedef enum BACnetColorOperation { + BACNET_COLOR_OPERATION_NONE = 0, + BACNET_COLOR_OPERATION_FADE_TO_COLOR = 1, + BACNET_COLOR_OPERATION_FADE_TO_CCT = 2, + BACNET_COLOR_OPERATION_RAMP_TO_CCT = 3, + BACNET_COLOR_OPERATION_STEP_UP_CCT = 4, + BACNET_COLOR_OPERATION_STEP_DOWN_CCT = 5, + BACNET_COLOR_OPERATION_STOP = 6, + BACNET_COLOR_OPERATION_MAX = 7 +} BACNET_COLOR_OPERATION; + /* NOTE: BACNET_DAYS_OF_WEEK is different than BACNET_WEEKDAY */ /* 0=Monday-6=Sunday */ typedef enum BACnetDaysOfWeek { diff --git a/src/bacnet/bactext.c b/src/bacnet/bactext.c index 409f8bfe..f6ae7305 100644 --- a/src/bacnet/bactext.c +++ b/src/bacnet/bactext.c @@ -214,10 +214,15 @@ INDTEXT_DATA bacnet_object_type_names[] = { { OBJECT_NETWORK_PORT, "network-port" }, { OBJECT_ELEVATOR_GROUP, "elevator-group" }, { OBJECT_ESCALATOR, "escalator" }, { OBJECT_LIFT, "lift" }, - { OBJECT_STAGING, "staging" }, { 0, NULL } + { OBJECT_STAGING, "staging" }, + { OBJECT_AUDIT_LOG, "audit-log" }, + { OBJECT_AUDIT_REPORTER, "audit-reporter" }, + { OBJECT_COLOR, "color" }, + { OBJECT_COLOR_TEMPERATURE, "color-temperature" }, /* Enumerated values 0-127 are reserved for definition by ASHRAE. Enumerated values 128-1023 may be used by others subject to the procedures and constraints described in Clause 23. */ + { 0, NULL } }; const char *bactext_object_type_name(unsigned index) @@ -663,16 +668,70 @@ INDTEXT_DATA bacnet_property_names[] = { { PROP_SUBORDINATE_RELATIONSHIPS, "subordinate-relationships" }, { PROP_DEFAULT_SUBORDINATE_RELATIONSHIP, "default-subordinate-relationship" }, - { PROP_REPRESENTS, "represents" }, { 0, NULL } - /* Enumerated values 0-511 are reserved for definition by ASHRAE. - Enumerated values 512-4194303 may be used by others subject to the - procedures and constraints described in Clause 23. */ + { PROP_REPRESENTS, "represents" }, + { PROP_DEFAULT_PRESENT_VALUE, "default-present-value" }, + { PROP_PRESENT_STAGE, "present-stage" }, + { PROP_STAGES, "stages" }, + { PROP_STAGE_NAMES, "stage-names" }, + { PROP_TARGET_REFERENCES, "target-references" }, + { PROP_AUDIT_SOURCE_LEVEL, "audit-source-level" }, + { PROP_AUDIT_LEVEL, "audit-level" }, + { PROP_AUDIT_NOTIFICATION_RECIPIENT, "audit-notification-recipient" }, + { PROP_AUDIT_PRIORITY_FILTER, "audit-priority-filter" }, + { PROP_AUDITABLE_OPERATIONS, "auditable-operations" }, + { PROP_DELETE_ON_FORWARD, "delete-on-forward" }, + { PROP_MAXIMUM_SEND_DELAY, "maximum-send-delay" }, + { PROP_MONITORED_OBJECTS, "monitored-objects" }, + { PROP_SEND_NOW, "send-now" }, + { PROP_FLOOR_NUMBER, "floor-number" }, + { PROP_DEVICE_UUID, "device-uuid" }, + { PROP_ADDITIONAL_REFERENCE_PORTS, "additional-reference-ports" }, + { PROP_CERTIFICATE_SIGNING_REQUEST_FILE, "certificate-signing-request-file" }, + { PROP_COMMAND_VALIDATION_RESULT, "command-validation-result" }, + { PROP_ISSUER_CERTIFICATE_FILES, "issuer-certificate-files" }, + { PROP_MAX_BVLC_LENGTH_ACCEPTED, "max-bvlc-length-accepted" }, + { PROP_MAX_NPDU_LENGTH_ACCEPTED, "max-npdu-length-accepted" }, + { PROP_OPERATIONAL_CERTIFICATE_FILE, "operational-certificate-file" }, + { PROP_CURRENT_HEALTH, "current-health" }, + { PROP_SC_CONNECT_WAIT_TIMEOUT, "sc-connect-wait-timeout" }, + { PROP_SC_DIRECT_CONNECT_ACCEPT_ENABLE, "sc-direct-connect-accept-enable" }, + { PROP_SC_DIRECT_CONNECT_ACCEPT_URIS, "sc-direct-connect-accept-uris" }, + { PROP_SC_DIRECT_CONNECT_BINDING, "sc-direct-connect-binding" }, + { PROP_SC_DIRECT_CONNECT_CONNECTION_STATUS, "sc-direct-connect-connection-status" }, + { PROP_SC_DIRECT_CONNECT_INITIATE_ENABLE, "sc-direct-connect-initiate-enable" }, + { PROP_SC_DISCONNECT_WAIT_TIMEOUT, "sc-disconnect-wait-timeout" }, + { PROP_SC_FAILED_CONNECTION_REQUESTS, "sc-failed-connection-requests" }, + { PROP_SC_FAILOVER_HUB_CONNECTION_STATUS, "sc-failover-hub-connection-status" }, + { PROP_SC_FAILOVER_HUB_URI, "sc-failover-hub-uri" }, + { PROP_SC_HUB_CONNECTOR_STATE, "sc-hub-connector-state" }, + { PROP_SC_HUB_FUNCTION_ACCEPT_URIS, "sc-hub-function-accept-uris" }, + { PROP_SC_HUB_FUNCTION_BINDING, "sc-hub-function-binding" }, + { PROP_SC_HUB_FUNCTION_CONNECTION_STATUS, "sc-hub-function-connection-status" }, + { PROP_SC_HUB_FUNCTION_ENABLE, "sc-hub-function-enable" }, + { PROP_SC_HEARTBEAT_TIMEOUT, "sc-heartbeat-timeout" }, + { PROP_SC_PRIMARY_HUB_CONNECTION_STATUS, "sc-primary-hub-connection-status" }, + { PROP_SC_PRIMARY_HUB_URI, "sc-primary-hub-uri" }, + { PROP_SC_MAXIMUM_RECONNECT_TIME, "sc-maximum-reconnect-time" }, + { PROP_SC_MINIMUM_RECONNECT_TIME, "sc-minimum-reconnect-time" }, + { PROP_COLOR_OVERRIDE, "color-override" }, + { PROP_COLOR_REFERENCE, "color-reference" }, + { PROP_DEFAULT_COLOR, "default-color" }, + { PROP_DEFAULT_COLOR_TEMPERATURE, "default-color-temperature" }, + { PROP_OVERRIDE_COLOR_REFERENCE, "override-color-reference" }, + { 0, NULL } }; const char *bactext_property_name(unsigned index) { - return indtext_by_index_split_default(bacnet_property_names, index, 512, - ASHRAE_Reserved_String, Vendor_Proprietary_String); + /* Enumerated values 0-511 are reserved for definition by ASHRAE. + Enumerated values 512-4194303 may be used by others subject to the + procedures and constraints described in Clause 23. */ + if ((index >= 512) && (index <= 4194303)) { + return Vendor_Proprietary_String; + } else { + return indtext_by_index_default( + bacnet_property_names, index, ASHRAE_Reserved_String); + } } const char *bactext_property_name_default( @@ -1490,7 +1549,9 @@ INDTEXT_DATA lighting_in_progress[] = { { BACNET_LIGHTING_IDLE, "idle" }, { BACNET_LIGHTING_FADE_ACTIVE, "fade" }, { BACNET_LIGHTING_RAMP_ACTIVE, "ramp" }, { BACNET_LIGHTING_NOT_CONTROLLED, "not" }, - { BACNET_LIGHTING_OTHER, "other" }, { 0, NULL } }; + { BACNET_LIGHTING_OTHER, "other" }, + { BACNET_LIGHTING_TRIM_ACTIVE, "trim-active" }, + { 0, NULL } }; const char *bactext_lighting_in_progress(unsigned index) { @@ -1532,7 +1593,7 @@ const char *bactext_lighting_operation_name(unsigned index) { if (index < BACNET_LIGHTS_PROPRIETARY_FIRST) { return indtext_by_index_default( - network_layer_msg_names, index, ASHRAE_Reserved_String); + bacnet_lighting_operation_names, index, ASHRAE_Reserved_String); } else if (index <= BACNET_LIGHTS_PROPRIETARY_LAST) { return Vendor_Proprietary_String; } else { @@ -1540,6 +1601,23 @@ const char *bactext_lighting_operation_name(unsigned index) } } +INDTEXT_DATA bacnet_color_operation_names[] = { + { BACNET_COLOR_OPERATION_NONE, "none" }, + { BACNET_COLOR_OPERATION_FADE_TO_COLOR, "fade-to-color" }, + { BACNET_COLOR_OPERATION_FADE_TO_CCT, "fade-to-cct" }, + { BACNET_COLOR_OPERATION_RAMP_TO_CCT, "ramp-to-cct" }, + { BACNET_COLOR_OPERATION_STEP_UP_CCT, "step-up-cct" }, + { BACNET_COLOR_OPERATION_STEP_DOWN_CCT, "step-down-cct" }, + { BACNET_COLOR_OPERATION_STOP, "stop" }, + { 0, NULL } +}; + +const char *bactext_color_operation_name(unsigned index) +{ + return indtext_by_index_default( + bacnet_color_operation_names, index, ASHRAE_Reserved_String); +} + INDTEXT_DATA bacnet_device_communications_names[] = { { COMMUNICATION_ENABLE, "enabled" }, { COMMUNICATION_DISABLE, "disabled" }, { COMMUNICATION_DISABLE_INITIATION, "initiation disabled" }, { 0, NULL } diff --git a/src/bacnet/bactext.h b/src/bacnet/bactext.h index 69ad6db3..58a04a50 100644 --- a/src/bacnet/bactext.h +++ b/src/bacnet/bactext.h @@ -201,6 +201,11 @@ extern "C" { BACNET_STACK_EXPORT const char *bactext_lighting_transition( unsigned index); + + BACNET_STACK_EXPORT + const char *bactext_color_operation_name( + unsigned index); + #ifdef __cplusplus } #endif /* __cplusplus */