From 343d9f893da2476eb6198a713f3d10b6caec9e75 Mon Sep 17 00:00:00 2001 From: Steve Karg Date: Fri, 17 Feb 2023 08:24:48 -0600 Subject: [PATCH] Fix and extend BACnetReliability per 135-2020 (#399) Fix member-fault and tripped values. Extend BACnetReliability to include: monitored-object-fault (14), tripped (15), lamp-failure (16), activation-failure (17), renew-dhcp-failure (18), renew-fd-registration-failure (19), restart-auto-negotiation-failure (20), restart-failure (21), proprietary-command-failure (22), faults-listed (23), referenced-object-fault (24), multi-state-out-of-range (25), Co-authored-by: Steve Karg --- src/bacnet/bacenum.h | 16 ++++++++++++++-- src/bacnet/bactext.c | 18 ++++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/bacnet/bacenum.h b/src/bacnet/bacenum.h index 3ad07a6d..a73014b6 100644 --- a/src/bacnet/bacenum.h +++ b/src/bacnet/bacenum.h @@ -1051,9 +1051,21 @@ typedef enum { RELIABILITY_PROCESS_ERROR = 8, RELIABILITY_MULTI_STATE_FAULT = 9, RELIABILITY_CONFIGURATION_ERROR = 10, - RELIABILITY_MEMBER_FAULT = 11, + RELIABILITY_RESERVED_11 = 11, RELIABILITY_COMMUNICATION_FAILURE = 12, - RELIABILITY_TRIPPED = 13, + RELIABILITY_MEMBER_FAULT = 13, + RELIABILITY_MONITORED_OBJECT_FAULT = 14, + RELIABILITY_TRIPPED = 15, + RELIABILITY_LAMP_FAILURE = 16, + RELIABILITY_ACTIVATION_FAILURE = 17, + RELIABILITY_RENEW_DHCP_FAILURE = 18, + RELIABILITY_RENEW_FD_REGISTRATION_FAILURE = 19, + RELIABILITY_RESTART_AUTO_NEGOTIATION_FAILURE = 20, + RELIABILITY_RESTART_FAILURE = 21, + RELIABILITY_PROPRIETARY_COMMAND_FAILURE = 22, + RELIABILITY_FAULTS_LISTED = 23, + RELIABILITY_REFERENCED_OBJECT_FAULT = 24, + RELIABILITY_MULTI_STATE_OUT_OF_RANGE = 25, /* Enumerated values 0-63 are reserved for definition by ASHRAE. */ /* Enumerated values 64-65535 may be used by others subject to */ /* the procedures and constraints described in Clause 23. */ diff --git a/src/bacnet/bactext.c b/src/bacnet/bactext.c index 002bbd9d..e7b703f5 100644 --- a/src/bacnet/bactext.c +++ b/src/bacnet/bactext.c @@ -1550,9 +1550,23 @@ INDTEXT_DATA bacnet_reliability_names[] = { { RELIABILITY_NO_FAULT_DETECTED, { RELIABILITY_PROCESS_ERROR, "process-error" }, { RELIABILITY_MULTI_STATE_FAULT, "mult-state-fault" }, { RELIABILITY_CONFIGURATION_ERROR, "configuration-error" }, - { RELIABILITY_MEMBER_FAULT, "member-fault" }, { RELIABILITY_COMMUNICATION_FAILURE, "communication-failure" }, - { RELIABILITY_TRIPPED, "tripped" }, { 0, NULL } }; + { RELIABILITY_MEMBER_FAULT, "member-fault" }, + { RELIABILITY_MONITORED_OBJECT_FAULT, "monitored-object-fault" }, + { RELIABILITY_TRIPPED, "tripped" }, + { RELIABILITY_LAMP_FAILURE, "lamp-failure" }, + { RELIABILITY_ACTIVATION_FAILURE, "activation-failure" }, + { RELIABILITY_RENEW_DHCP_FAILURE, "renew-dhcp-failure" }, + { RELIABILITY_RENEW_FD_REGISTRATION_FAILURE, + "renew-fd-registration-failure" }, + { RELIABILITY_RESTART_AUTO_NEGOTIATION_FAILURE, + "restart-auto-negotiation-failure" }, + { RELIABILITY_RESTART_FAILURE, "restart-failure" }, + { RELIABILITY_PROPRIETARY_COMMAND_FAILURE, "proprietary-command-failure" }, + { RELIABILITY_FAULTS_LISTED, "faults-listed" }, + { RELIABILITY_REFERENCED_OBJECT_FAULT, "referenced-object-fault" }, + { RELIABILITY_MULTI_STATE_OUT_OF_RANGE, "multi-state-out-of-range" }, + { 0, NULL } }; const char *bactext_reliability_name(unsigned index) {