Bugfix/bactext enumeration updates 2024 (#1020)

* Extended some BACnet enumerations from 135-2024 protocol-revision 25-30.  

* Changed usage of _FIRST and _LAST to _MIN and _MAX in some enumerations to be consistent.

* Added object type and services supported BACnetBitString sizes for protocol revision 25-30

*Added new BACnetPropertyIdentifier, BACnetEngineeringUnits, BACnetEventState, BACnetRestartReason, BACnetLifeSafetyMode, BACnetLifeSafetyOperation, BACnetLifeSafetyState, BACnet_Services_Supported, BACnetLightingOperation, BACnetBinaryLightingPV, BACnetNetworkPortCommand, BACnetAuthenticationDecision, BACnetAuthorizationPosture, BACnetFaultType, BACnetPriorityFilter, BACnetResultFlags, and BACnetSuccessFilter enumerations.

* Added BACnet text for BACnetLifeSafetyMode, BACnetLifeSafetyOperation, BACnetRestartReason, BACnetNetworkType, BACnetNetworkNumberQuality, BACnetNetworkPortCommand, BACnetAuthenticationDecision, BACnetAuthorizationPosture, BACnetFaultType, BACnetPriorityFilter, BACnetSuccessFilter, and BACnetResultFlags.
This commit is contained in:
Steve Karg
2025-06-17 14:36:57 -05:00
committed by GitHub
parent c2c987f11a
commit b0a97c6f75
14 changed files with 720 additions and 109 deletions
+2 -2
View File
@@ -2244,7 +2244,7 @@ static int bacapp_snprintf_enumerated(
ret_val = bacapp_snprintf_property_identifier(str, str_len, value);
break;
case PROP_OBJECT_TYPE:
if (value <= BACNET_OBJECT_TYPE_LAST) {
if (value <= BACNET_OBJECT_TYPE_RESERVED_MIN) {
ret_val = bacapp_snprintf(
str, str_len, "%s", bactext_object_type_name(value));
} else if (value <= BACNET_OBJECT_TYPE_RESERVED_MAX) {
@@ -2472,7 +2472,7 @@ static int bacapp_snprintf_object_id(
slen = bacapp_snprintf(str, str_len, "(");
ret_val += bacapp_snprintf_shift(slen, &str, &str_len);
if (object_id->type <= BACNET_OBJECT_TYPE_LAST) {
if (object_id->type <= BACNET_OBJECT_TYPE_RESERVED_MIN) {
slen = bacapp_snprintf(
str, str_len, "%s, ", bactext_object_type_name(object_id->type));
} else if (object_id->type < BACNET_OBJECT_TYPE_RESERVED_MAX) {
+31 -4
View File
@@ -24,8 +24,8 @@
/* This stack implements this version of BACnet */
#define BACNET_PROTOCOL_VERSION 1
/* Although this stack can implement a later revision,
* sometimes another revision is desired */
/* Although this stack can implement any revision,
* sometimes a specific revision is desired */
#ifndef BACNET_PROTOCOL_REVISION
#define BACNET_PROTOCOL_REVISION 24
#endif
@@ -91,7 +91,7 @@
#define MAX_ASHRAE_OBJECT_TYPE 57
#define MAX_BACNET_SERVICES_SUPPORTED 41
#elif (BACNET_PROTOCOL_REVISION == 18) || (BACNET_PROTOCOL_REVISION == 19)
/* from 135-2016 version of the BACnet Standard */
/* ANSI/ASHRAE 135-2016 */
#define MAX_ASHRAE_OBJECT_TYPE 60
#define MAX_BACNET_SERVICES_SUPPORTED 44
#elif (BACNET_PROTOCOL_REVISION == 20) || (BACNET_PROTOCOL_REVISION == 21)
@@ -99,6 +99,8 @@
#define MAX_ASHRAE_OBJECT_TYPE 63
#define MAX_BACNET_SERVICES_SUPPORTED 47
#elif (BACNET_PROTOCOL_REVISION == 22)
/* Addendum 135-2016bj, 135-2016by, 135-2016bz */
/* ANSI/ASHRAE 135-2020 */
#define MAX_ASHRAE_OBJECT_TYPE 63
#define MAX_BACNET_SERVICES_SUPPORTED 47
#elif (BACNET_PROTOCOL_REVISION == 23)
@@ -106,9 +108,34 @@
#define MAX_ASHRAE_OBJECT_TYPE 63
#define MAX_BACNET_SERVICES_SUPPORTED 47
#elif (BACNET_PROTOCOL_REVISION == 24)
/* Addendum 135-2020ca, 135-2020cc, 135-2020bv */
/* Addendum 135-2020bv, 135-2020ca, 135-2020cc, 135-2020ce */
#define MAX_ASHRAE_OBJECT_TYPE 65
#define MAX_BACNET_SERVICES_SUPPORTED 49
#elif (BACNET_PROTOCOL_REVISION == 25)
/* Addendum 135-2020cf */
#define MAX_ASHRAE_OBJECT_TYPE 65
#define MAX_BACNET_SERVICES_SUPPORTED 49
#elif (BACNET_PROTOCOL_REVISION == 26)
/* Addendum 135-2020ch, 135-2020ck, 135-2020cn, 135-2020cq, 135-2020cs */
#define MAX_ASHRAE_OBJECT_TYPE 65
#define MAX_BACNET_SERVICES_SUPPORTED 49
#elif (BACNET_PROTOCOL_REVISION == 27)
/* Addendum 135-2020bx, 135-2020ci */
#define MAX_ASHRAE_OBJECT_TYPE 65
#define MAX_BACNET_SERVICES_SUPPORTED 49
#elif (BACNET_PROTOCOL_REVISION == 28)
/* Addendum 135-2020cj, 135-2020co */
#define MAX_ASHRAE_OBJECT_TYPE 65
#define MAX_BACNET_SERVICES_SUPPORTED 49
#elif (BACNET_PROTOCOL_REVISION == 29)
/* Addendum 135-2020cp Addition of Authentication and Authorization */
/* ANSI/ASHRAE 135-2024 */
#define MAX_ASHRAE_OBJECT_TYPE 65
#define MAX_BACNET_SERVICES_SUPPORTED 50
#elif (BACNET_PROTOCOL_REVISION == 30)
/* Addendum 135-2020cm BACnet Energy Services Interface */
#define MAX_ASHRAE_OBJECT_TYPE 65
#define MAX_BACNET_SERVICES_SUPPORTED 50
#else
#error MAX_ASHRAE_OBJECT_TYPE and MAX_BACNET_SERVICES_SUPPORTED not defined!
#endif
+223 -69
View File
@@ -8,7 +8,7 @@
#ifndef BACNET_ENUMERATIONS_H
#define BACNET_ENUMERATIONS_H
typedef enum {
typedef enum BACnetPropertyIdentifier {
PROP_ACKED_TRANSITIONS = 0,
PROP_ACK_REQUIRED = 1,
PROP_ACTION = 2,
@@ -568,8 +568,24 @@ typedef enum {
PROP_HIGH_END_TRIM = 4194335,
PROP_LOW_END_TRIM = 4194336,
PROP_TRIM_FADE_TIME = 4194337,
/* Addendum 135-2020bx */
/* enumerations 4194338-4194340 are defined in Addendum 2020bx */
PROP_DEVICE_ADDRESS_PROXY_ENABLE = 4194338,
PROP_DEVICE_ADDRESS_PROXY_TABLE = 4194339,
PROP_DEVICE_ADDRESS_PROXY_TIMEOUT = 4194340,
/* enumerations 4194341-4194342 are defined in Addendum 2020cj */
PROP_DEFAULT_ON_VALUE = 4194341,
PROP_LAST_ON_VALUE = 4194342,
/* enumerations 4194343-4194349 are defined in Addendum 2020cp */
PROP_AUTHORIZATION_CACHE = 4194343,
PROP_AUTHORIZATION_GROUPS = 4194344,
PROP_AUTHORIZATION_POLICY = 4194345,
PROP_AUTHORIZATION_SCOPE = 4194346,
PROP_AUTHORIZATION_SERVER = 4194347,
PROP_AUTHORIZATION_STATUS = 4194348,
PROP_MAX_PROXIED_I_AMS_PER_SECOND = 4194349,
/* update this value which is used in testing */
PROP_RESERVED_RANGE_LAST = 4194337,
PROP_RESERVED_RANGE_LAST = 4194349,
/* Enumerated values 4194303-16777215 are reserved
for definition by ASHRAE. */
/* do the max range inside of enum so that
@@ -583,9 +599,12 @@ typedef enum {
EVENT_HIGH_LIMIT_ENABLE = 2
} BACNET_LIMIT_ENABLE;
typedef enum { ACTION_DIRECT = 0, ACTION_REVERSE = 1 } BACNET_ACTION;
typedef enum BACnetAction {
ACTION_DIRECT = 0,
ACTION_REVERSE = 1
} BACNET_ACTION;
typedef enum {
typedef enum BACnetBinaryPV {
MIN_BINARY_PV = 0, /* for validating incoming values */
BINARY_INACTIVE = 0,
BINARY_ACTIVE = 1,
@@ -599,13 +618,18 @@ typedef enum {
ACTION_FLOAT
} BACNET_ACTION_VALUE_TYPE;
typedef enum {
typedef enum BACnetEventState {
EVENT_STATE_NORMAL = 0,
EVENT_STATE_FAULT = 1,
EVENT_STATE_OFFNORMAL = 2,
EVENT_STATE_HIGH_LIMIT = 3,
EVENT_STATE_LOW_LIMIT = 4,
EVENT_STATE_LIFE_SAFETY_ALARM = 5,
EVENT_STATE_MAX = 5
/* 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.
The last enumeration used in this version is 5. */
} BACNET_EVENT_STATE;
typedef enum {
@@ -614,7 +638,7 @@ typedef enum {
EVENT_ENABLE_TO_NORMAL = 4
} BACNET_EVENT_ENABLE;
typedef enum {
typedef enum BACnetDeviceStatus {
STATUS_OPERATIONAL = 0,
STATUS_OPERATIONAL_READ_ONLY = 1,
STATUS_DOWNLOAD_REQUIRED = 2,
@@ -622,9 +646,12 @@ typedef enum {
STATUS_NON_OPERATIONAL = 4,
STATUS_BACKUP_IN_PROGRESS = 5,
MAX_DEVICE_STATUS = 6
/* 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. */
} BACNET_DEVICE_STATUS;
typedef enum {
typedef enum BACnetEngineeringUnits {
/* Enumerated values 0-255 are reserved for definition by ASHRAE. */
/* Acceleration */
UNITS_METERS_PER_SECOND_PER_SECOND = 166,
@@ -739,6 +766,7 @@ typedef enum {
UNITS_PER_MILLISECOND = 47824,
/* Humidity */
UNITS_GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR = 28,
UNITS_GRAINS_OF_WATER_PER_POUND_DRY_AIR = 47972,
UNITS_PERCENT_RELATIVE_HUMIDITY = 29,
/* Length */
UNITS_MICROMETERS = 194,
@@ -865,6 +893,9 @@ typedef enum {
UNITS_SECONDS = 73,
UNITS_HUNDREDTHS_SECONDS = 158,
UNITS_MILLISECONDS = 159,
UNITS_MICROSECONDS = 47979,
UNITS_NANOSECONDS = 47980,
UNITS_PICOSECONDS = 47981,
/* Torque */
UNITS_NEWTON_METERS = 160,
UNITS_POUND_FORCE_FEET = 47904,
@@ -995,6 +1026,10 @@ typedef enum {
UNITS_MILLIGRAMS_PER_CUBIC_CENTIMETER = 47895,
UNITS_MICROGRAMS_PER_CUBIC_CENTIMETER = 47896,
UNITS_NANOGRAMS_PER_CUBIC_CENTIMETER = 47897,
UNITS_PARTICLES_PER_CUBIC_FOOT = 47968,
UNITS_PARTICLES_PER_CUBIC_METER = 47969,
UNITS_PICOCURIES_PER_LITER = 47970,
UNITS_BECQUERELS_PER_CUBIC_METER = 47971,
UNITS_BECQUERELS = 222,
UNITS_KILOBECQUERELS = 223,
UNITS_MEGABECQUERELS = 224,
@@ -1038,7 +1073,12 @@ typedef enum {
UNITS_SITE_UNIT8 = 47965,
UNITS_SITE_UNIT9 = 47966,
UNITS_SITE_UNIT10 = 47967,
UNITS_DEGREE_HOURS_CELSIUS = 47973,
UNITS_DEGREE_HOURS_FAHRENHEIT = 47974,
UNITS_DEGREE_MINUTES_CELSIUS = 47975,
UNITS_DEGREE_MINUTES_FAHRENHEIT = 47976,
UNITS_DEGREE_SECONDS_CELSIUS = 47977,
UNITS_DEGREE_SECONDS_FAHRENHEIT = 47978,
UNITS_OHM_METER_SQUARED_PER_METER = 237,
UNITS_AMPERE_SECONDS = 238,
UNITS_VOLT_AMPERE_HOURS = 239,
@@ -1072,6 +1112,7 @@ typedef enum {
/* 47813 - NOT USED */
UNITS_MILLIREMS = 47814,
UNITS_MILLIREMS_PER_HOUR = 47815,
/* Enumerated values 47808-49999 are reserved for definition by ASHRAE. */
UNITS_RESERVED_RANGE_MAX2 = 49999,
UNITS_PROPRIETARY_RANGE_MIN2 = 50000,
/* Enumerated values 50000-65535 may be used by others
@@ -1082,7 +1123,7 @@ typedef enum {
UNITS_PROPRIETARY_RANGE_MAX2 = 65535
} BACNET_ENGINEERING_UNITS;
typedef enum {
typedef enum BACnetPolarity {
POLARITY_NORMAL = 0,
POLARITY_REVERSE = 1,
MAX_POLARITY = 2
@@ -1123,7 +1164,7 @@ typedef enum BACnetProgramError {
PROGRAM_ERROR_PROPRIETARY_MAX = 65535
} BACNET_PROGRAM_ERROR;
typedef enum {
typedef enum BACnetRestartReason {
RESTART_REASON_UNKNOWN = 0,
RESTART_REASON_COLDSTART = 1,
RESTART_REASON_WARMSTART = 2,
@@ -1132,6 +1173,9 @@ typedef enum {
RESTART_REASON_HARDWARE_WATCHDOG = 5,
RESTART_REASON_SOFTWARE_WATCHDOG = 6,
RESTART_REASON_SUSPENDED = 7,
RESTART_REASON_ACTIVATE_CHANGES = 8,
RESTART_REASON_RESERVED_MIN = 9,
RESTART_REASON_RESERVED_MAX = 63,
/* Enumerated values 0-63 are reserved for definition by ASHRAE.
Enumerated values 64-255 may be used by others subject to the
procedures and constraints described in Clause 23. */
@@ -1246,6 +1290,8 @@ typedef enum BACnetReliability {
RELIABILITY_FAULTS_LISTED = 23,
RELIABILITY_REFERENCED_OBJECT_FAULT = 24,
RELIABILITY_MULTI_STATE_OUT_OF_RANGE = 25,
RELIABILITY_RESERVED_MIN = 26,
RELIABILITY_RESERVED_MAX = 63,
/* 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. */
@@ -1256,7 +1302,7 @@ typedef enum BACnetReliability {
RELIABILITY_PROPRIETARY_MAX = 65535
} BACNET_RELIABILITY;
typedef enum {
typedef enum BACnetEventType {
EVENT_CHANGE_OF_BITSTRING = 0,
EVENT_CHANGE_OF_STATE = 1,
EVENT_CHANGE_OF_VALUE = 2,
@@ -1285,22 +1331,17 @@ typedef enum {
/* It is expected that these enumerated values will correspond to */
/* the use of the complex-event-type CHOICE [6] of the */
/* BACnetNotificationParameters production. */
/* The last enumeration used in this version is 22. */
/* do the max range inside of enum so that
compilers will allocate adequate sized datatype for enum
which is used to store decoding */
EVENT_PROPRIETARY_MIN = 64,
EVENT_PROPRIETARY_MAX = 65535
} BACNET_EVENT_TYPE;
typedef enum {
typedef enum BACnetFileAccessMethod {
FILE_RECORD_ACCESS = 0,
FILE_STREAM_ACCESS = 1,
FILE_RECORD_AND_STREAM_ACCESS = 2
} BACNET_FILE_ACCESS_METHOD;
typedef enum {
MIN_LIFE_SAFETY_MODE = 0,
typedef enum BACnetLifeSafetyMode {
LIFE_SAFETY_MODE_OFF = 0,
LIFE_SAFETY_MODE_ON = 1,
LIFE_SAFETY_MODE_TEST = 2,
@@ -1316,7 +1357,13 @@ typedef enum {
LIFE_SAFETY_MODE_DISABLED = 12,
LIFE_SAFETY_MODE_AUTOMATIC_RELEASE_DISABLED = 13,
LIFE_SAFETY_MODE_DEFAULT = 14,
MAX_LIFE_SAFETY_MODE = 15,
LIFE_SAFETY_MODE_ACTIVATED_OEO_ALARM = 15,
LIFE_SAFETY_MODE_ACTIVATED_OEO_EVACUATE = 16,
LIFE_SAFETY_MODE_ACTIVATED_OEO_PHASE1_RECALL = 17,
LIFE_SAFETY_MODE_ACTIVATED_OEO_UNAVAILABLE = 18,
LIFE_SAFETY_MODE_DEACTIVATED = 19,
LIFE_SAFETY_MODE_RESERVED_MIN = 20,
LIFE_SAFETY_MODE_RESERVED_MAX = 255,
/* Enumerated values 0-255 are reserved for definition by ASHRAE. */
/* Enumerated values 256-65535 may be used by others subject to */
/* procedures and constraints described in Clause 23. */
@@ -1327,7 +1374,7 @@ typedef enum {
LIFE_SAFETY_MODE_PROPRIETARY_MAX = 65535
} BACNET_LIFE_SAFETY_MODE;
typedef enum {
typedef enum BACnetLifeSafetyOperation {
LIFE_SAFETY_OP_NONE = 0,
LIFE_SAFETY_OP_SILENCE = 1,
LIFE_SAFETY_OP_SILENCE_AUDIBLE = 2,
@@ -1348,8 +1395,7 @@ typedef enum {
LIFE_SAFETY_OP_PROPRIETARY_MAX = 65535
} BACNET_LIFE_SAFETY_OPERATION;
typedef enum {
MIN_LIFE_SAFETY_STATE = 0,
typedef enum BACnetLifeSafetyState {
LIFE_SAFETY_STATE_QUIET = 0,
LIFE_SAFETY_STATE_PRE_ALARM = 1,
LIFE_SAFETY_STATE_ALARM = 2,
@@ -1374,7 +1420,19 @@ typedef enum {
LIFE_SAFETY_STATE_GENERAL_ALARM = 21,
LIFE_SAFETY_STATE_SUPERVISORY = 22,
LIFE_SAFETY_STATE_TEST_SUPERVISORY = 23,
MAX_LIFE_SAFETY_STATE = 24,
LIFE_SAFETY_STATE_NON_DEFAULT_MODE = 24,
LIFE_SAFETY_STATE_OEO_UNAVAILABLE = 25,
LIFE_SAFETY_STATE_OEO_ALARM = 26,
LIFE_SAFETY_STATE_OEO_PHASE1_RECALL = 27,
LIFE_SAFETY_STATE_OEO_EVACUATE = 28,
LIFE_SAFETY_STATE_OEO_UNAFFECTED = 29,
LIFE_SAFETY_STATE_TEST_OEO_UNAVAILABLE = 30,
LIFE_SAFETY_STATE_TEST_OEO_ALARM = 31,
LIFE_SAFETY_STATE_TEST_OEO_PHASE1_RECALL = 32,
LIFE_SAFETY_STATE_TEST_OEO_EVACUATE = 33,
LIFE_SAFETY_STATE_TEST_OEO_UNAFFECTED = 34,
LIFE_SAFETY_STATE_RESERVED_MIN = 35,
LIFE_SAFETY_STATE_RESERVED_MAX = 255,
/* Enumerated values 0-255 are reserved for definition by ASHRAE. */
/* Enumerated values 256-65535 may be used by others subject to */
/* procedures and constraints described in Clause 23. */
@@ -1385,7 +1443,7 @@ typedef enum {
LIFE_SAFETY_STATE_PROPRIETARY_MAX = 65535
} BACNET_LIFE_SAFETY_STATE;
typedef enum {
typedef enum BACnetSilencedState {
SILENCED_STATE_UNSILENCED = 0,
SILENCED_STATE_AUDIBLE_SILENCED = 1,
SILENCED_STATE_VISIBLE_SILENCED = 2,
@@ -1400,7 +1458,7 @@ typedef enum {
SILENCED_STATE_PROPRIETARY_MAX = 65535
} BACNET_SILENCED_STATE;
typedef enum {
typedef enum BACnetMaintenance {
MAINTENANCE_NONE = 0,
MAINTENANCE_PERIODIC_TEST = 1,
MAINTENANCE_NEED_SERVICE_OPERATIONAL = 2,
@@ -1415,7 +1473,7 @@ typedef enum {
MAINTENANCE_PROPRIETARY_MAX = 65535
} BACNET_MAINTENANCE;
typedef enum {
typedef enum BACnetNotifyType {
NOTIFY_ALARM = 0,
NOTIFY_EVENT = 1,
NOTIFY_ACK_NOTIFICATION = 2,
@@ -1489,7 +1547,7 @@ typedef enum BACnetObjectType {
OBJECT_AUDIT_REPORTER = 62, /* Addendum 135-2016bi */
OBJECT_COLOR = 63, /* Addendum 135-2020ca */
OBJECT_COLOR_TEMPERATURE = 64, /* Addendum 135-2020ca */
BACNET_OBJECT_TYPE_LAST = OBJECT_COLOR_TEMPERATURE,
BACNET_OBJECT_TYPE_RESERVED_MIN = 65,
BACNET_OBJECT_TYPE_RESERVED_MAX = 127,
/* Enumerated values 0-127 are reserved for definition by ASHRAE. */
/* Enumerated values 128-1023 may be used by others subject to */
@@ -1504,7 +1562,7 @@ typedef enum BACnetObjectType {
OBJECT_NONE = 65535
} BACNET_OBJECT_TYPE;
typedef enum {
typedef enum BACnetSegmentation {
SEGMENTATION_BOTH = 0,
SEGMENTATION_TRANSMIT = 1,
SEGMENTATION_RECEIVE = 2,
@@ -1771,6 +1829,7 @@ typedef enum BACnet_Services_Supported {
/* Security Services */
SERVICE_SUPPORTED_AUTHENTICATE = 24,
SERVICE_SUPPORTED_REQUEST_KEY = 25,
SERVICE_SUPPORTED_AUTH_REQUEST = 49,
/* Unconfirmed Services */
SERVICE_SUPPORTED_I_AM = 26,
SERVICE_SUPPORTED_I_HAVE = 27,
@@ -1787,23 +1846,25 @@ typedef enum BACnet_Services_Supported {
/* Other services to be added as they are defined. */
/* All values in this production are reserved */
/* for definition by ASHRAE. */
/* note: MAX_BACNET_SERVICES_SUPPORTED is defined in bacdef.h
based on protocol revision */
} BACNET_SERVICES_SUPPORTED;
/* Bit String Enumerations */
typedef enum {
typedef enum BACnetStatusFlags {
STATUS_FLAG_IN_ALARM = 0,
STATUS_FLAG_FAULT = 1,
STATUS_FLAG_OVERRIDDEN = 2,
STATUS_FLAG_OUT_OF_SERVICE = 3
} BACNET_STATUS_FLAGS;
typedef enum {
typedef enum BACnetLogStatus {
LOG_STATUS_LOG_DISABLED = 0,
LOG_STATUS_BUFFER_PURGED = 1,
LOG_STATUS_LOG_INTERRUPTED = 2
} BACNET_LOG_STATUS;
typedef enum {
typedef enum BACnetLoggingType {
LOGGING_TYPE_POLLED = 0,
LOGGING_TYPE_COV = 1,
LOGGING_TYPE_TRIGGERED = 2
@@ -1915,7 +1976,9 @@ typedef enum {
/* Enumerated values 0-63 are reserved for definition by ASHRAE. */
/* Enumerated values 64-255 may be used by others subject to */
/* the procedures and constraints described in Clause 23. */
MAX_BACNET_ABORT_REASON = 12,
ABORT_REASON_RESERVED_MIN = 12,
/* for legacy applications */
MAX_BACNET_ABORT_REASON = ABORT_REASON_RESERVED_MIN,
ABORT_REASON_PROPRIETARY_FIRST = 64,
ABORT_REASON_PROPRIETARY_LAST = 255
} BACNET_ABORT_REASON;
@@ -2276,6 +2339,7 @@ typedef enum BACnetRelationship {
BACNET_RELATIONSHIP_RECEIVES_COOL_WATER = 27,
BACNET_RELATIONSHIP_SUPPLIES_STEAM = 28,
BACNET_RELATIONSHIP_RECEIVES_STEAM = 29,
BACNET_RELATIONSHIP_RESERVED_MIN = 30,
BACNET_RELATIONSHIP_RESERVED_MAX = 1023,
BACNET_RELATIONSHIP_PROPRIETARY_MIN = 1024,
BACNET_RELATIONSHIP_PROPRIETARY_MAX = 65535
@@ -2309,12 +2373,22 @@ typedef enum BACnetLightingOperation {
BACNET_LIGHTS_WARN_OFF = 8,
BACNET_LIGHTS_WARN_RELINQUISH = 9,
BACNET_LIGHTS_STOP = 10,
MAX_BACNET_LIGHTING_OPERATION = 11,
#if (BACNET_PROTOCOL_REVISION >= 28)
/* Addendum cj to ANSI/ASHRAE Standard 135-2020 */
BACNET_LIGHTS_RESTORE_ON = 11,
BACNET_LIGHTS_DEFAULT_ON = 12,
BACNET_LIGHTS_TOGGLE_RESTORE = 13,
BACNET_LIGHTS_TOGGLE_DEFAULT = 14,
BACNET_LIGHTS_RESERVED_MIN = 15,
#else
BACNET_LIGHTS_RESERVED_MIN = 11,
#endif
BACNET_LIGHTS_RESERVED_MAX = 63,
/* Enumerated values 0-255 are reserved for definition by ASHRAE.
Enumerated values 256-65535 may be used by others subject to
the procedures and constraints described in Clause 23 */
BACNET_LIGHTS_PROPRIETARY_FIRST = 256,
BACNET_LIGHTS_PROPRIETARY_LAST = 65535
BACNET_LIGHTS_PROPRIETARY_MIN = 256,
BACNET_LIGHTS_PROPRIETARY_MAX = 65535
} BACNET_LIGHTING_OPERATION;
typedef enum BACnetLightingInProgress {
@@ -2334,8 +2408,10 @@ typedef enum BACnetLightingTransition {
/* Enumerated values 0-63 are reserved for definition by ASHRAE.
Enumerated values 64-255 may be used by others subject to
the procedures and constraints described in Clause 23. */
BACNET_LIGHTING_TRANSITION_PROPRIETARY_FIRST = 64,
BACNET_LIGHTING_TRANSITION_PROPRIETARY_LAST = 255
BACNET_LIGHTING_TRANSITION_RESERVED_MIN = 3,
BACNET_LIGHTING_TRANSITION_RESERVED_MAX = 63,
BACNET_LIGHTING_TRANSITION_PROPRIETARY_MIN = 64,
BACNET_LIGHTING_TRANSITION_PROPRIETARY_MAX = 255
} BACNET_LIGHTING_TRANSITION;
typedef enum BACnetBinaryLightingPV {
@@ -2345,7 +2421,8 @@ typedef enum BACnetBinaryLightingPV {
BINARY_LIGHTING_PV_WARN_OFF = 3,
BINARY_LIGHTING_PV_WARN_RELINQUISH = 4,
BINARY_LIGHTING_PV_STOP = 5,
BINARY_LIGHTING_PV_MAX = 6,
BINARY_LIGHTING_PV_TOGGLE = 6,
BINARY_LIGHTING_PV_MAX = 7,
/* -- Enumerated values 0-63 are reserved for definition by ASHRAE.
-- Enumerated values 64-255 may be used by others
-- subject to the procedures and constraints described in Clause 23. */
@@ -2409,7 +2486,7 @@ typedef enum BACnetEventTransitionMask {
/* Access Enumerations */
/* Door Alarm State */
typedef enum {
typedef enum BACnetDoorAlarmState {
DOOR_ALARM_STATE_NORMAL = 0,
DOOR_ALARM_STATE_ALARM = 1,
DOOR_ALARM_STATE_DOOR_OPEN_TOO_LONG = 2,
@@ -2419,17 +2496,20 @@ typedef enum {
DOOR_ALARM_STATE_LOCK_DOWN = 6,
DOOR_ALARM_STATE_FREE_ACCESS = 7,
DOOR_ALARM_STATE_EGRESS_OPEN = 8
/* Enumerated values 0-255 are reserved for definition by ASHRAE.
Enumerated values 256-65535 may be used by others subject to
the procedures and constraints described in Clause 23. */
} BACNET_DOOR_ALARM_STATE;
/* Door Secured Status */
typedef enum {
typedef enum BACnetDoorSecuredStatus {
DOOR_SECURED_STATUS_SECURED = 0,
DOOR_SECURED_STATUS_UNSECURED = 1,
DOOR_SECURED_STATUS_UNKNOWN = 2
} BACNET_DOOR_SECURED_STATUS;
/* Door Status */
typedef enum {
typedef enum BACnetDoorStatus {
DOOR_STATUS_CLOSED = 0,
DOOR_STATUS_OPENED = 1,
DOOR_STATUS_UNKNOWN = 2,
@@ -2440,10 +2520,13 @@ typedef enum {
DOOR_STATUS_OPENING = 7,
DOOR_STATUS_SAFETY_LOCKED = 8,
DOOR_STATUS_LIMITED_OPENED = 9
/* Enumerated values 0-1023 are reserved for definition by ASHRAE.
Enumerated values 1024-65535 may be used by others subject to
the procedures and constraints described in Clause 23. */
} BACNET_DOOR_STATUS;
/* Door Value */
typedef enum {
typedef enum BACnetDoorValue {
DOOR_VALUE_LOCK = 0,
DOOR_VALUE_UNLOCK = 1,
DOOR_VALUE_PULSE_UNLOCK = 2,
@@ -2451,7 +2534,7 @@ typedef enum {
} BACNET_DOOR_VALUE;
/* Lock Status */
typedef enum {
typedef enum BACnetLockStatus {
LOCK_STATUS_LOCKED = 0,
LOCK_STATUS_UNLOCKED = 1,
LOCK_STATUS_LOCK_FAULT = 2,
@@ -2460,7 +2543,7 @@ typedef enum {
} BACNET_LOCK_STATUS;
/* Access Event */
typedef enum {
typedef enum BACnetAccessEvent {
ACCESS_EVENT_NONE = 0,
ACCESS_EVENT_GRANTED = 1,
ACCESS_EVENT_MUSTER = 2,
@@ -2515,10 +2598,13 @@ typedef enum {
ACCESS_EVENT_DENIED_VERIFICATION_FAILED = 162,
ACCESS_EVENT_DENIED_VERIFICATION_TIMEOUT = 163,
ACCESS_EVENT_DENIED_OTHER = 164
/* Enumerated values 0-511 are reserved for definition by ASHRAE.
Enumerated values 512-65535 may be used by others subject to
the procedures and constraints described in Clause 23. */
} BACNET_ACCESS_EVENT;
/* Authentication Status */
typedef enum {
typedef enum BACnetAuthenticationStatus {
AUTHENTICATION_STATUS_NOT_READY = 0,
AUTHENTICATION_STATUS_READY = 1,
AUTHENTICATION_STATUS_DISABLED = 2,
@@ -2529,17 +2615,20 @@ typedef enum {
} BACNET_AUTHENTICATION_STATUS;
/* Authorization Mode */
typedef enum {
typedef enum BACnetAuthorizationMode {
AUTHORIZATION_MODE_AUTHORIZE = 0,
AUTHORIZATION_MODE_GRANT_ACTIVE = 1,
AUTHORIZATION_MODE_DENY_ALL = 2,
AUTHORIZATION_MODE_VERIFICATION_REQUIRED = 3,
AUTHORIZATION_MODE_AUTHORIZATION_DELAYED = 4,
AUTHORIZATION_MODE_NONE = 5
/* 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. */
} BACNET_AUTHORIZATION_MODE;
/* Access Passback Mode */
typedef enum {
typedef enum BACnetAccessPassbackMode {
ACCESS_PASSBACK_MODE_PASSBACK_OFF = 0,
ACCESS_PASSBACK_MODE_HARD_PASSBACK = 1,
ACCESS_PASSBACK_MODE_SOFT_PASSBACK = 2
@@ -2562,14 +2651,18 @@ typedef enum BACnetAccessZoneOccupancyState {
} BACNET_ACCESS_ZONE_OCCUPANCY_STATE;
/* Access User Type */
typedef enum {
typedef enum BACnetAccessUserType {
ACCESS_USER_TYPE_ASSET = 0,
ACCESS_USER_TYPE_GROUP = 1,
ACCESS_USER_TYPE_PERSON = 2
/* 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. */
} BACNET_ACCESS_USER_TYPE;
/* Access Authentication Factor Disable */
typedef enum {
typedef enum BACnetAccessAuthenticationFactorDisable {
ACCESS_AUTHENTICATION_FACTOR_DISABLE_NONE = 0,
ACCESS_AUTHENTICATION_FACTOR_DISABLE_DISABLED = 1,
ACCESS_AUTHENTICATION_FACTOR_DISABLE_DISABLED_LOST = 2,
@@ -2577,10 +2670,13 @@ typedef enum {
ACCESS_AUTHENTICATION_FACTOR_DISABLE_DISABLED_DAMAGED = 4,
ACCESS_AUTHENTICATION_FACTOR_DISABLE_DISABLED_DESTROYED = 5,
ACCESS_AUTHENTICATION_FACTOR_DISABLE_MAX = 6
/* 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. */
} BACNET_ACCESS_AUTHENTICATION_FACTOR_DISABLE;
/* Authorization Exemption */
typedef enum {
typedef enum BACnetAuthorizationExemption {
AUTHORIZATION_EXEMPTION_PASSBACK = 0,
AUTHORIZATION_EXEMPTION_OCCUPANCY_CHECK = 1,
AUTHORIZATION_EXEMPTION_ACCESS_RIGHTS = 2,
@@ -2588,6 +2684,9 @@ typedef enum {
AUTHORIZATION_EXEMPTION_DENY = 4,
AUTHORIZATION_EXEMPTION_VERIFICATION = 5,
AUTHORIZATION_EXEMPTION_AUTHORIZATION_DELAY = 6
/* Enumerated values 0-63 are reserved for definition by ASHRAE.
Enumerated values 64-255 may be used by others subject to
the procedures and constraints described in Clause 23. */
} BACNET_AUTHORIZATION_EXEMPTION;
/* The Network Reject Reasons for NETWORK_MESSAGE_REJECT_MESSAGE_TO_NETWORK */
@@ -2610,8 +2709,7 @@ typedef enum BACnetWriteStatus {
BACNET_WRITE_STATUS_FAILED = 3
} BACNET_WRITE_STATUS;
/* BACnetNetworkType ::= ENUMERATED */
typedef enum {
typedef enum BACnetNetworkType {
PORT_TYPE_ETHERNET = 0,
PORT_TYPE_ARCNET = 1,
PORT_TYPE_MSTP = 2,
@@ -2632,29 +2730,27 @@ typedef enum {
/* Enumerated values 0-63 are reserved for definition by ASHRAE.
Enumerated values 64-255 may be used by others subject to the
procedures and constraints described in Clause 23. */
PORT_TYPE_RESERVED_FIRST = 12,
PORT_TYPE_RESERVED_LAST = 63,
PORT_TYPE_PROPRIETARY_FIRST = 64,
PORT_TYPE_RESERVED_MIN = 12,
PORT_TYPE_RESERVED_MAX = 63,
PORT_TYPE_PROPRIETARY_MIN = 64,
/* For BACnet/SC network port implementations with
a protocol revision Protocol_Revision 17 and higher through 23,
BACnet/SC network ports shall be represented by a Network Port
object at the BACNET_APPLICATION protocol level with
a proprietary network type value. */
PORT_TYPE_BSC_INTERIM = 64,
PORT_TYPE_PROPRIETARY_LAST = 255,
PORT_TYPE_PROPRIETARY_MAX = 255,
PORT_TYPE_MAX = 255
} BACNET_PORT_TYPE;
/* BACnetNetworkNumberQuality ::= ENUMERATED */
typedef enum {
typedef enum BACnetNetworkNumberQuality {
PORT_QUALITY_UNKNOWN = 0,
PORT_QUALITY_LEARNED = 1,
PORT_QUALITY_LEARNED_CONFIGURED = 2,
PORT_QUALITY_CONFIGURED = 3
} BACNET_PORT_QUALITY;
/* BACnetNetworkPortCommand :: = ENUMERATED */
typedef enum {
typedef enum BACnetNetworkPortCommand {
PORT_COMMAND_IDLE = 0,
PORT_COMMAND_DISCARD_CHANGES = 1,
PORT_COMMAND_RENEW_FD_REGISTRATION = 2,
@@ -2663,15 +2759,16 @@ typedef enum {
PORT_COMMAND_RESTART_AUTONEGOTIATION = 5,
PORT_COMMAND_DISCONNECT = 6,
PORT_COMMAND_RESTART_PORT = 7,
PORT_COMMAND_GENERATE_CSR_FILE = 8,
PORT_COMMAND_VALIDATE_CHANGES = 9,
PORT_COMMAND_RESERVED_FIRST = 10,
PORT_COMMAND_RESERVED_LAST = 127,
PORT_COMMAND_RESTART_DISCOVERY = 8,
PORT_COMMAND_GENERATE_CSR_FILE = 9,
PORT_COMMAND_VALIDATE_CHANGES = 10,
PORT_COMMAND_RESERVED_MIN = 11,
PORT_COMMAND_RESERVED_MAX = 127,
/* Enumerated values 0-127 are reserved for definition by ASHRAE.
Enumerated values 128-255 may be used by others subject to the
procedures and constraints described in Clause 23. */
PORT_COMMAND_PROPRIETARY_FIRST = 128,
PORT_COMMAND_PROPRIETARY_LAST = 255,
PORT_COMMAND_PROPRIETARY_MIN = 128,
PORT_COMMAND_PROPRIETARY_MAX = 255,
PORT_COMMAND_MAX = 255
} BACNET_PORT_COMMAND;
@@ -2740,7 +2837,7 @@ typedef enum {
SEC_RESP_UNKNOWN_SOURCE_MESSAGE = 25
} BACNET_SECURITY_RESPONSE_CODE;
typedef enum {
typedef enum BACnetAccessCredentialDisable {
ACCESS_CREDENTIAL_DISABLE_NONE = 0,
ACCESS_CREDENTIAL_DISABLE = 1,
ACCESS_CREDENTIAL_DISABLE_MANUAL = 2,
@@ -2751,7 +2848,7 @@ typedef enum {
the procedures and constraints described in Clause 23. */
} BACNET_ACCESS_CREDENTIAL_DISABLE;
typedef enum {
typedef enum BACnetAccessCredentialDisableReason {
CREDENTIAL_DISABLED = 0,
CREDENTIAL_DISABLED_NEEDS_PROVISIONING = 1,
CREDENTIAL_DISABLED_UNASSIGNED = 2,
@@ -2781,7 +2878,7 @@ typedef enum {
the procedures and constraints described in Clause 23. */
} BACNET_AUTHENTICATION_DISABLE_REASON;
typedef enum {
typedef enum BACnetAuthenticationFactorType {
AUTHENTICATION_FACTOR_UNDEFINED = 0,
AUTHENTICATION_FACTOR_ERROR = 1,
AUTHENTICATION_FACTOR_CUSTOM = 2,
@@ -3045,4 +3142,61 @@ typedef enum BACnetSCConnectionState {
BACNET_SC_CONNECTION_STATE_MAX = 4
} BACNET_SC_CONNECTION_STATE;
typedef enum BACnetAuthenticationDecision {
BACNET_AUTHENTICATION_DECISION_ALLOW_MATCH = 0,
BACNET_AUTHENTICATION_DECISION_DENY_MISMATCH = 1,
BACNET_AUTHENTICATION_DECISION_DENY_NON_RELAY = 2
} BACNET_AUTHENTICATION_DECISION;
typedef enum BACnetAuthorizationPosture {
BACNET_AUTHORIZATION_POSTURE_OPEN = 0,
BACNET_AUTHORIZATION_POSTURE_PROPRIETARY = 1,
BACNET_AUTHORIZATION_POSTURE_CONFIGURED = 2,
BACNET_AUTHORIZATION_POSTURE_MISCONFIGURED_PARTIAL = 3,
BACNET_AUTHORIZATION_POSTURE_MISCONFIGURED_TOTAL = 4
} BACNET_AUTHORIZATION_POSTURE;
typedef enum BACnetFaultType {
BACNET_FAULT_TYPE_NONE = 0,
BACNET_FAULT_TYPE_CHARACTERSTRING = 1,
BACNET_FAULT_TYPE_EXTENDED = 2,
BACNET_FAULT_TYPE_LIFE_SAFETY = 3,
BACNET_FAULT_TYPE_STATE = 4,
BACNET_FAULT_TYPE_STATUS_FLAGS = 5,
BACNET_FAULT_TYPE_OUT_OF_RANGE = 6,
BACNET_FAULT_TYPE_LISTED = 7
} BACNET_FAULT_TYPE;
typedef enum BACnetPriorityFilter {
BACNET_PRIORITY_FILTER_MANUAL_LIFE_SAFETY = 0,
BACNET_PRIORITY_FILTER_AUTOMATIC_LIFE_SAFETY = 1,
BACNET_PRIORITY_FILTER_PRIORITY_3 = 2,
BACNET_PRIORITY_FILTER_PRIORITY_4 = 3,
BACNET_PRIORITY_FILTER_CRITICAL_EQUIPMENT_CONTROLS = 4,
BACNET_PRIORITY_FILTER_MINIMUM_ON_OFF = 5,
BACNET_PRIORITY_FILTER_PRIORITY_7 = 6,
BACNET_PRIORITY_FILTER_MANUAL_OPERATOR = 7,
BACNET_PRIORITY_FILTER_PRIORITY_9 = 8,
BACNET_PRIORITY_FILTER_PRIORITY_10 = 9,
BACNET_PRIORITY_FILTER_PRIORITY_11 = 10,
BACNET_PRIORITY_FILTER_PRIORITY_12 = 11,
BACNET_PRIORITY_FILTER_PRIORITY_13 = 12,
BACNET_PRIORITY_FILTER_PRIORITY_14 = 13,
BACNET_PRIORITY_FILTER_PRIORITY_15 = 14,
BACNET_PRIORITY_FILTER_PRIORITY_16 = 15,
BACNET_PRIORITY_FILTER_PRIORITY_MAX = 16
} BACNET_PRIORITY_FILTER;
typedef enum BACnetResultFlags {
RESULT_FLAG_FIRST_ITEM = 0,
RESULT_FLAG_LAST_ITEM = 1,
RESULT_FLAG_MORE_ITEMS = 2
} BACNET_RESULT_FLAGS;
typedef enum BACnetSuccessFilter {
BACNET_SUCCESS_FILTER_ALL = 0,
BACNET_SUCCESS_FILTER_SUCCESS_ONLY = 1,
BACNET_SUCCESS_FILTER_FAILURES_ONLY = 2
} BACNET_SUCCESS_FILTER;
#endif /* end of BACENUM_H */
+310 -8
View File
@@ -147,6 +147,8 @@ INDTEXT_DATA bacnet_application_tag_names[] = {
{ BACNET_APPLICATION_TAG_ACTION_COMMAND, "BACnetActionCommand" },
{ BACNET_APPLICATION_TAG_SCALE, "BACnetScale" },
{ BACNET_APPLICATION_TAG_SHED_LEVEL, "BACnetShedLevel" },
{ BACNET_APPLICATION_TAG_ACCESS_RULE, "BACnetAccessRule" },
{ BACNET_APPLICATION_TAG_CHANNEL_VALUE, "BACnetChannelValue" },
{ 0, NULL }
};
@@ -789,6 +791,18 @@ INDTEXT_DATA bacnet_property_names[] = {
{ PROP_HIGH_END_TRIM, "high-end-trim" },
{ PROP_LOW_END_TRIM, "low-end-trim" },
{ PROP_TRIM_FADE_TIME, "trim-fade-time" },
{ PROP_DEVICE_ADDRESS_PROXY_ENABLE, "device-address-proxy-enable" },
{ PROP_DEVICE_ADDRESS_PROXY_TABLE, "device-address-proxy-table" },
{ PROP_DEVICE_ADDRESS_PROXY_TIMEOUT, "device-address-proxy-timeout" },
{ PROP_DEFAULT_ON_VALUE, "default-on-value" },
{ PROP_LAST_ON_VALUE, "last-on-value" },
{ PROP_AUTHORIZATION_CACHE, "authorization-cache" },
{ PROP_AUTHORIZATION_GROUPS, "authorization-groups" },
{ PROP_AUTHORIZATION_POLICY, "authorization-policy" },
{ PROP_AUTHORIZATION_SCOPE, "authorization-scope" },
{ PROP_AUTHORIZATION_SERVER, "authorization-server" },
{ PROP_AUTHORIZATION_STATUS, "authorization-status" },
{ PROP_MAX_PROXIED_I_AMS_PER_SECOND, "max-proxied-i-ams-per-second" },
{ 0, NULL }
};
@@ -1269,6 +1283,21 @@ INDTEXT_DATA bacnet_engineering_unit_names[] = {
{ UNITS_SITE_UNIT8, "site-unit8" },
{ UNITS_SITE_UNIT9, "site-unit9" },
{ UNITS_SITE_UNIT10, "site-unit10" },
{ UNITS_GRAINS_OF_WATER_PER_POUND_DRY_AIR,
"grains-of-water-per-pound-dry-air" },
{ UNITS_DEGREE_HOURS_CELSIUS, "degree-hours-celsius" },
{ UNITS_DEGREE_HOURS_FAHRENHEIT, "degree-hours-fahrenheit" },
{ UNITS_DEGREE_MINUTES_CELSIUS, "degree-minutes-celsius" },
{ UNITS_DEGREE_MINUTES_FAHRENHEIT, "degree-minutes-fahrenheit" },
{ UNITS_DEGREE_SECONDS_CELSIUS, "degree-seconds-celsius" },
{ UNITS_DEGREE_SECONDS_FAHRENHEIT, "degree-seconds-fahrenheit" },
{ UNITS_MICROSECONDS, "microseconds" },
{ UNITS_NANOSECONDS, "nanoseconds" },
{ UNITS_PICOSECONDS, "picoseconds" },
{ UNITS_PARTICLES_PER_CUBIC_FOOT, "particles-per-cubic-foot" },
{ UNITS_PARTICLES_PER_CUBIC_METER, "particles-per-cubic-meter" },
{ UNITS_PICOCURIES_PER_LITER, "picocuries-per-liter" },
{ UNITS_BECQUERELS_PER_CUBIC_METER, "becquerels-per-cubic-meter" },
{ 0, NULL }
/* Enumerated values 0-255 and 47808-49999 are reserved for definition by
ASHRAE. Enumerated values 256-47807 and 50000-65535 may be used by others
@@ -1741,8 +1770,9 @@ INDTEXT_DATA bacnet_event_state_names[] = {
{ EVENT_STATE_NORMAL, "normal" },
{ EVENT_STATE_FAULT, "fault" },
{ EVENT_STATE_OFFNORMAL, "offnormal" },
{ EVENT_STATE_HIGH_LIMIT, "high limit" },
{ EVENT_STATE_LOW_LIMIT, "low limit" },
{ EVENT_STATE_HIGH_LIMIT, "high-limit" },
{ EVENT_STATE_LOW_LIMIT, "low-limit" },
{ EVENT_STATE_LIFE_SAFETY_ALARM, "life-safety-alarm" },
{ 0, NULL }
};
@@ -1952,6 +1982,70 @@ const char *bactext_network_layer_msg_name(unsigned index)
}
}
INDTEXT_DATA bactext_life_safety_mode_names[] = {
{ LIFE_SAFETY_MODE_OFF, "off" },
{ LIFE_SAFETY_MODE_ON, "on" },
{ LIFE_SAFETY_MODE_TEST, "test" },
{ LIFE_SAFETY_MODE_MANNED, "manned" },
{ LIFE_SAFETY_MODE_UNMANNED, "unmanned" },
{ LIFE_SAFETY_MODE_ARMED, "armed" },
{ LIFE_SAFETY_MODE_DISARMED, "disarmed" },
{ LIFE_SAFETY_MODE_PREARMED, "prearmed" },
{ LIFE_SAFETY_MODE_SLOW, "slow" },
{ LIFE_SAFETY_MODE_FAST, "fast" },
{ LIFE_SAFETY_MODE_DISCONNECTED, "disconnected" },
{ LIFE_SAFETY_MODE_ENABLED, "enabled" },
{ LIFE_SAFETY_MODE_DISABLED, "disabled" },
{ LIFE_SAFETY_MODE_AUTOMATIC_RELEASE_DISABLED,
"automatic-release-disabled" },
{ LIFE_SAFETY_MODE_DEFAULT, "default" },
{ LIFE_SAFETY_MODE_ACTIVATED_OEO_ALARM, "activated-oeo-alarm" },
{ LIFE_SAFETY_MODE_ACTIVATED_OEO_EVACUATE, "activated-oeo-evactuate" },
{ LIFE_SAFETY_MODE_ACTIVATED_OEO_PHASE1_RECALL,
"activated-oeo-phase1-recall" },
{ LIFE_SAFETY_MODE_ACTIVATED_OEO_UNAVAILABLE, "activated-oeo-unavailable" },
{ LIFE_SAFETY_MODE_DEACTIVATED, "deactivated" },
{ 0, NULL }
};
const char *bactext_life_safety_mode_name(unsigned index)
{
if (index < LIFE_SAFETY_MODE_PROPRIETARY_MIN) {
return indtext_by_index_default(
bactext_life_safety_mode_names, index, ASHRAE_Reserved_String);
} else if (index <= LIFE_SAFETY_MODE_PROPRIETARY_MAX) {
return Vendor_Proprietary_String;
} else {
return "Invalid BACnetLifeSafetyMode";
}
}
INDTEXT_DATA bactext_life_safety_operation_names[] = {
{ LIFE_SAFETY_OP_NONE, "none" },
{ LIFE_SAFETY_OP_SILENCE, "silence" },
{ LIFE_SAFETY_OP_SILENCE_AUDIBLE, "silence-audible" },
{ LIFE_SAFETY_OP_SILENCE_VISUAL, "silence-visual" },
{ LIFE_SAFETY_OP_RESET, "reset" },
{ LIFE_SAFETY_OP_RESET_ALARM, "reset-alarm" },
{ LIFE_SAFETY_OP_RESET_FAULT, "reset-fault" },
{ LIFE_SAFETY_OP_UNSILENCE, "unsilence" },
{ LIFE_SAFETY_OP_UNSILENCE_AUDIBLE, "unsilence-audible" },
{ LIFE_SAFETY_OP_UNSILENCE_VISUAL, "unsilence-visual" },
{ 0, NULL }
};
const char *bactext_life_safety_operation_name(unsigned index)
{
if (index < LIFE_SAFETY_OP_PROPRIETARY_MIN) {
return indtext_by_index_default(
bactext_life_safety_operation_names, index, ASHRAE_Reserved_String);
} else if (index <= LIFE_SAFETY_OP_PROPRIETARY_MAX) {
return Vendor_Proprietary_String;
} else {
return "Invalid BACnetLifeSafetyOperation";
}
}
INDTEXT_DATA life_safety_state_names[] = {
{ LIFE_SAFETY_STATE_QUIET, "quiet" },
{ LIFE_SAFETY_STATE_PRE_ALARM, "pre-alarm" },
@@ -1977,14 +2071,27 @@ INDTEXT_DATA life_safety_state_names[] = {
{ LIFE_SAFETY_STATE_GENERAL_ALARM, "general-alarm" },
{ LIFE_SAFETY_STATE_SUPERVISORY, "supervisory" },
{ LIFE_SAFETY_STATE_TEST_SUPERVISORY, "test-supervisory" },
{ LIFE_SAFETY_STATE_NON_DEFAULT_MODE, "non-default-mode" },
{ LIFE_SAFETY_STATE_OEO_UNAVAILABLE, "oeo-unavailable" },
{ LIFE_SAFETY_STATE_OEO_ALARM, "oeo-alarm" },
{ LIFE_SAFETY_STATE_OEO_PHASE1_RECALL, "oeo-phase1-recall" },
{ LIFE_SAFETY_STATE_OEO_EVACUATE, "oeo-evacuate" },
{ LIFE_SAFETY_STATE_OEO_UNAFFECTED, "oeo-unaffected" },
{ LIFE_SAFETY_STATE_TEST_OEO_UNAVAILABLE, "test-oeo-unavailable" },
{ LIFE_SAFETY_STATE_TEST_OEO_ALARM, "test-oeo-alarm" },
{ LIFE_SAFETY_STATE_TEST_OEO_PHASE1_RECALL, "test-oeo-phase1-recall" },
{ LIFE_SAFETY_STATE_TEST_OEO_EVACUATE, "test-oeo-evacuate" },
{ LIFE_SAFETY_STATE_TEST_OEO_UNAFFECTED, "test-oeo-unaffected" },
{ 0, NULL }
};
const char *bactext_life_safety_state_name(unsigned index)
{
if (index < MAX_LIFE_SAFETY_STATE) {
if (index < LIFE_SAFETY_STATE_PROPRIETARY_MIN) {
return indtext_by_index_default(
life_safety_state_names, index, ASHRAE_Reserved_String);
} else if (index <= LIFE_SAFETY_STATE_PROPRIETARY_MAX) {
return Vendor_Proprietary_String;
} else {
return "Invalid BACnetLifeSafetyState";
}
@@ -2019,10 +2126,10 @@ INDTEXT_DATA lighting_transition[] = {
const char *bactext_lighting_transition(unsigned index)
{
if (index < BACNET_LIGHTING_TRANSITION_PROPRIETARY_FIRST) {
if (index < BACNET_LIGHTING_TRANSITION_PROPRIETARY_MIN) {
return indtext_by_index_default(
lighting_transition, index, ASHRAE_Reserved_String);
} else if (index <= BACNET_LIGHTING_TRANSITION_PROPRIETARY_LAST) {
} else if (index <= BACNET_LIGHTING_TRANSITION_PROPRIETARY_MAX) {
return Vendor_Proprietary_String;
} else {
return "Invalid BACnetLightingTransition";
@@ -2046,10 +2153,10 @@ INDTEXT_DATA bacnet_lighting_operation_names[] = {
const char *bactext_lighting_operation_name(unsigned index)
{
if (index < BACNET_LIGHTS_PROPRIETARY_FIRST) {
if (index < BACNET_LIGHTS_PROPRIETARY_MIN) {
return indtext_by_index_default(
bacnet_lighting_operation_names, index, ASHRAE_Reserved_String);
} else if (index <= BACNET_LIGHTS_PROPRIETARY_LAST) {
} else if (index <= BACNET_LIGHTS_PROPRIETARY_MAX) {
return Vendor_Proprietary_String;
} else {
return "Invalid BACnetLightingOperation";
@@ -2070,6 +2177,7 @@ INDTEXT_DATA bacnet_binary_lighting_pv_names[] = {
{ BINARY_LIGHTING_PV_WARN_OFF, "warn-off" },
{ BINARY_LIGHTING_PV_WARN_RELINQUISH, "warn-relinquish" },
{ BINARY_LIGHTING_PV_STOP, "stop" },
{ BINARY_LIGHTING_PV_TOGGLE, "toggle" },
{ 0, NULL }
};
@@ -2149,7 +2257,6 @@ const char *bactext_shed_level_type_name(unsigned index)
bacnet_shed_level_type_names, index, ASHRAE_Reserved_String);
}
/* note: different than DaysOfWeek bit string where 0=monday */
INDTEXT_DATA bacnet_log_datum_names[] = {
{ BACNET_LOG_DATUM_STATUS, "status" },
{ BACNET_LOG_DATUM_BOOLEAN, "boolean" },
@@ -2170,3 +2277,198 @@ const char *bactext_log_datum_name(unsigned index)
return indtext_by_index_default(
bacnet_log_datum_names, index, ASHRAE_Reserved_String);
}
INDTEXT_DATA bactext_restart_reason_names[] = {
{ RESTART_REASON_UNKNOWN, "unknown" },
{ RESTART_REASON_COLDSTART, "coldstart" },
{ RESTART_REASON_WARMSTART, "warmstart" },
{ RESTART_REASON_DETECTED_POWER_LOST, "detected-power-lost" },
{ RESTART_REASON_DETECTED_POWER_OFF, "detected-power-off" },
{ RESTART_REASON_HARDWARE_WATCHDOG, "hardware-watchdog" },
{ RESTART_REASON_SOFTWARE_WATCHDOG, "software-watchdog" },
{ RESTART_REASON_SUSPENDED, "suspended" },
{ RESTART_REASON_ACTIVATE_CHANGES, "activate-changes" },
{ 0, NULL }
};
const char *bactext_restart_reason_name(unsigned index)
{
if (index < RESTART_REASON_PROPRIETARY_MIN) {
return indtext_by_index_default(
bactext_restart_reason_names, index, ASHRAE_Reserved_String);
} else if (index <= RESTART_REASON_PROPRIETARY_MAX) {
return Vendor_Proprietary_String;
} else {
return "Invalid BACnetRestartReason";
}
}
INDTEXT_DATA bactext_network_port_type_names[] = {
{ PORT_TYPE_ETHERNET, "ethernet" },
{ PORT_TYPE_ARCNET, "arcnet" },
{ PORT_TYPE_MSTP, "mstp" },
{ PORT_TYPE_PTP, "ptp" },
{ PORT_TYPE_LONTALK, "lontalk" },
{ PORT_TYPE_BIP, "ipv4" },
{ PORT_TYPE_ZIGBEE, "zigbee" },
{ PORT_TYPE_VIRTUAL, "virtual" },
{ PORT_TYPE_NON_BACNET, "non-bacnet" },
{ PORT_TYPE_BIP6, "ipv6" },
{ PORT_TYPE_SERIAL, "serial" },
{ PORT_TYPE_BSC, "secure-connect" },
{ PORT_TYPE_BSC_INTERIM, "secure-connect-interim" },
{ 0, NULL }
};
const char *bactext_network_port_type_name(unsigned index)
{
if (index <= PORT_TYPE_PROPRIETARY_MIN) {
return indtext_by_index_default(
bactext_network_port_type_names, index, ASHRAE_Reserved_String);
} else if (index <= PORT_TYPE_PROPRIETARY_MAX) {
return Vendor_Proprietary_String;
} else {
return "Invalid BACnetNetworkType";
}
}
INDTEXT_DATA bactext_network_number_quality_names[] = {
{ PORT_QUALITY_UNKNOWN, "unknown" },
{ PORT_QUALITY_LEARNED, "learned" },
{ PORT_QUALITY_LEARNED_CONFIGURED, "learned-configured" },
{ PORT_QUALITY_CONFIGURED, "configured" },
{ 0, NULL }
};
const char *bactext_network_number_quality_name(unsigned index)
{
return indtext_by_index_default(
bactext_network_number_quality_names, index, ASHRAE_Reserved_String);
}
INDTEXT_DATA bactext_network_port_command_names[] = {
{ PORT_COMMAND_IDLE, "idle" },
{ PORT_COMMAND_DISCARD_CHANGES, "discard-changes" },
{ PORT_COMMAND_RENEW_FD_REGISTRATION, "renew-fd-registration" },
{ PORT_COMMAND_RESTART_SLAVE_DISCOVERY, "restart-slave-discovery" },
{ PORT_COMMAND_RENEW_DHCP, "renew-dhcp" },
{ PORT_COMMAND_RESTART_AUTONEGOTIATION, "restart-autonegotiation" },
{ PORT_COMMAND_DISCONNECT, "disconnect" },
{ PORT_COMMAND_RESTART_PORT, "restart-port" },
{ PORT_COMMAND_RESTART_DISCOVERY, "restart-discovery" },
{ PORT_COMMAND_GENERATE_CSR_FILE, "generate-csr-file" },
{ PORT_COMMAND_VALIDATE_CHANGES, "validate-changes" },
{ 0, NULL }
};
const char *bactext_network_port_command_name(unsigned index)
{
if (index < PORT_COMMAND_PROPRIETARY_MIN) {
return indtext_by_index_default(
bactext_network_port_command_names, index, ASHRAE_Reserved_String);
} else if (index <= PORT_COMMAND_PROPRIETARY_MAX) {
return Vendor_Proprietary_String;
} else {
return "Invalid BACnetNetworkPortCommand";
}
}
INDTEXT_DATA bactext_authentication_decision_names[] = {
{ BACNET_AUTHENTICATION_DECISION_ALLOW_MATCH, "allow-match" },
{ BACNET_AUTHENTICATION_DECISION_DENY_MISMATCH, "deny-mismatch" },
{ BACNET_AUTHENTICATION_DECISION_DENY_NON_RELAY, "deny-non-relay" },
{ 0, NULL }
};
const char *bactext_authentication_decision_name(unsigned index)
{
return indtext_by_index_default(
bactext_authentication_decision_names, index, ASHRAE_Reserved_String);
}
INDTEXT_DATA bactext_authorization_posture_names[] = {
{ BACNET_AUTHORIZATION_POSTURE_OPEN, "open" },
{ BACNET_AUTHORIZATION_POSTURE_PROPRIETARY, "proprietary" },
{ BACNET_AUTHORIZATION_POSTURE_CONFIGURED, "configured" },
{ BACNET_AUTHORIZATION_POSTURE_MISCONFIGURED_PARTIAL,
"misconfigured-partial" },
{ BACNET_AUTHORIZATION_POSTURE_MISCONFIGURED_TOTAL, "misconfigured-total" },
{ 0, NULL }
};
const char *bactext_authorization_posture_name(unsigned index)
{
return indtext_by_index_default(
bactext_authorization_posture_names, index, ASHRAE_Reserved_String);
}
INDTEXT_DATA bactext_fault_type_names[] = {
{ BACNET_FAULT_TYPE_NONE, "none" },
{ BACNET_FAULT_TYPE_CHARACTERSTRING, "characterstring" },
{ BACNET_FAULT_TYPE_EXTENDED, "extended" },
{ BACNET_FAULT_TYPE_LIFE_SAFETY, "life-safety" },
{ BACNET_FAULT_TYPE_STATE, "state" },
{ BACNET_FAULT_TYPE_STATUS_FLAGS, "status-flags" },
{ BACNET_FAULT_TYPE_OUT_OF_RANGE, "out-of-range" },
{ BACNET_FAULT_TYPE_LISTED, "listed" },
{ 0, NULL }
};
const char *bactext_fault_type_name(unsigned index)
{
return indtext_by_index_default(
bactext_fault_type_names, index, ASHRAE_Reserved_String);
}
INDTEXT_DATA bacnet_priority_filter_names[] = {
{ BACNET_PRIORITY_FILTER_MANUAL_LIFE_SAFETY, "manual-life-safety" },
{ BACNET_PRIORITY_FILTER_AUTOMATIC_LIFE_SAFETY, "automatic-life-safety" },
{ BACNET_PRIORITY_FILTER_PRIORITY_3, "priority-3" },
{ BACNET_PRIORITY_FILTER_PRIORITY_4, "priority-5" },
{ BACNET_PRIORITY_FILTER_CRITICAL_EQUIPMENT_CONTROLS,
"critical-equipment-controls" },
{ BACNET_PRIORITY_FILTER_MINIMUM_ON_OFF, "minimum-on-off" },
{ BACNET_PRIORITY_FILTER_PRIORITY_7, "priority-7" },
{ BACNET_PRIORITY_FILTER_MANUAL_OPERATOR, "manual-operator" },
{ BACNET_PRIORITY_FILTER_PRIORITY_9, "priority-9" },
{ BACNET_PRIORITY_FILTER_PRIORITY_10, "priority-10" },
{ BACNET_PRIORITY_FILTER_PRIORITY_11, "priority-11" },
{ BACNET_PRIORITY_FILTER_PRIORITY_12, "priority-12" },
{ BACNET_PRIORITY_FILTER_PRIORITY_13, "priority-13" },
{ BACNET_PRIORITY_FILTER_PRIORITY_14, "priority-14" },
{ BACNET_PRIORITY_FILTER_PRIORITY_15, "priority-15" },
{ BACNET_PRIORITY_FILTER_PRIORITY_16, "priority-16" },
{ 0, NULL }
};
const char *bacnet_priority_filter_name(unsigned index)
{
return indtext_by_index_default(
bacnet_priority_filter_names, index, ASHRAE_Reserved_String);
}
INDTEXT_DATA bactext_result_flags_names[] = {
{ RESULT_FLAG_FIRST_ITEM, "first-item" },
{ RESULT_FLAG_LAST_ITEM, "last-item" },
{ RESULT_FLAG_MORE_ITEMS, "more-items" },
{ 0, NULL }
};
const char *bactext_result_flags_name(unsigned index)
{
return indtext_by_index_default(
bactext_result_flags_names, index, ASHRAE_Reserved_String);
}
INDTEXT_DATA bactext_success_filter_names[] = {
{ BACNET_SUCCESS_FILTER_ALL, "all" },
{ BACNET_SUCCESS_FILTER_SUCCESS_ONLY, "success-only" },
{ BACNET_SUCCESS_FILTER_FAILURES_ONLY, "failures-only" },
{ 0, NULL }
};
const char *bactext_success_filter_name(unsigned index)
{
return indtext_by_index_default(
bactext_success_filter_names, index, ASHRAE_Reserved_String);
}
+27
View File
@@ -120,6 +120,10 @@ bool bactext_days_of_week_index(const char *search_name, unsigned *found_index);
BACNET_STACK_EXPORT
const char *bactext_network_layer_msg_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_life_safety_mode_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_life_safety_operation_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_life_safety_state_name(unsigned index);
@@ -158,6 +162,29 @@ const char *bactext_shed_level_type_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_log_datum_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_restart_reason_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_network_port_type_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_network_number_quality_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_network_port_command_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_authentication_decision_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_authorization_posture_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_fault_type_name(unsigned index);
BACNET_STACK_EXPORT
const char *bacnet_priority_filter_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_success_filter_name(unsigned index);
BACNET_STACK_EXPORT
const char *bactext_result_flags_name(unsigned index);
#ifdef __cplusplus
}
#endif /* __cplusplus */
+103 -3
View File
@@ -936,6 +936,88 @@ Lighting_Command_Stop(struct object_data *pObject, unsigned priority)
}
}
#if (BACNET_PROTOCOL_REVISION >= 28)
/**
* @brief Set the lighting command if the priority is active
* @param object [in] BACnet object instance
* @param priority [in] BACnet priority array value 1..16
*/
static void
Lighting_Command_Restore_On(struct object_data *pObject, unsigned priority)
{
unsigned current_priority;
if (!pObject) {
return;
}
current_priority = Present_Value_Priority(pObject);
if (priority <= current_priority) {
/* we have priority - configure the Lighting Command */
lighting_command_restore_on(&pObject->Lighting_Command);
}
}
/**
* @brief Set the lighting command if the priority is active
* @param object [in] BACnet object instance
* @param priority [in] BACnet priority array value 1..16
*/
static void
Lighting_Command_Restore_Off(struct object_data *pObject, unsigned priority)
{
unsigned current_priority;
if (!pObject) {
return;
}
current_priority = Present_Value_Priority(pObject);
if (priority <= current_priority) {
/* we have priority - configure the Lighting Command */
lighting_command_restore_off(&pObject->Lighting_Command);
}
}
/**
* @brief Set the lighting command if the priority is active
* @param object [in] BACnet object instance
* @param priority [in] BACnet priority array value 1..16
*/
static void
Lighting_Command_Toggle_Restore(struct object_data *pObject, unsigned priority)
{
unsigned current_priority;
if (!pObject) {
return;
}
current_priority = Present_Value_Priority(pObject);
if (priority <= current_priority) {
/* we have priority - configure the Lighting Command */
lighting_command_toggle_restore(&pObject->Lighting_Command);
}
}
/**
* @brief Set the lighting command if the priority is active
* @param object [in] BACnet object instance
* @param priority [in] BACnet priority array value 1..16
*/
static void
Lighting_Command_Toggle_Default(struct object_data *pObject, unsigned priority)
{
unsigned current_priority;
if (!pObject) {
return;
}
current_priority = Present_Value_Priority(pObject);
if (priority <= current_priority) {
/* we have priority - configure the Lighting Command */
lighting_command_toggle_default(&pObject->Lighting_Command);
}
}
#endif
/**
* For a given object instance-number, writes the present-value
*
@@ -975,7 +1057,7 @@ static bool Lighting_Output_Lighting_Command_Write(
*error_code = ERROR_CODE_VALUE_OUT_OF_RANGE;
return status;
}
if (value->operation >= MAX_BACNET_LIGHTING_OPERATION) {
if (value->operation >= BACNET_LIGHTS_RESERVED_MIN) {
*error_class = ERROR_CLASS_PROPERTY;
*error_code = ERROR_CODE_VALUE_OUT_OF_RANGE;
return status;
@@ -1043,6 +1125,24 @@ static bool Lighting_Output_Lighting_Command_Write(
Lighting_Command_Stop(pObject, priority);
status = true;
break;
#if (BACNET_PROTOCOL_REVISION >= 28)
case BACNET_LIGHTS_RESTORE_ON:
Lighting_Command_Restore_On(pObject, priority);
status = true;
break;
case BACNET_LIGHTS_RESTORE_OFF:
Lighting_Command_Restore_Off(pObject, priority);
status = true;
break;
case BACNET_LIGHTS_TOGGLE_RESTORE:
Lighting_Command_Toggle_Restore(pObject, priority);
status = true;
break;
case BACNET_LIGHTS_TOGGLE_DEFAULT:
Lighting_Command_Toggle_Default(pObject, priority);
status = true;
break;
#endif
default:
*error_class = ERROR_CLASS_PROPERTY;
*error_code = ERROR_CODE_VALUE_OUT_OF_RANGE;
@@ -1908,7 +2008,7 @@ bool Lighting_Output_Transition_Set(
pObject = Keylist_Data(Object_List, object_instance);
if (pObject) {
if (value <= BACNET_LIGHTING_TRANSITION_PROPRIETARY_LAST) {
if (value <= BACNET_LIGHTING_TRANSITION_PROPRIETARY_MAX) {
pObject->Transition = value;
status = true;
}
@@ -1941,7 +2041,7 @@ static bool Lighting_Output_Transition_Write(
pObject = Keylist_Data(Object_List, object_instance);
if (pObject) {
(void)priority;
if (value < BACNET_LIGHTING_TRANSITION_PROPRIETARY_LAST) {
if (value < BACNET_LIGHTING_TRANSITION_PROPRIETARY_MAX) {
pObject->Transition = value;
status = true;
} else {
+2 -3
View File
@@ -535,8 +535,7 @@ int Life_Safety_Point_Read_Property(BACNET_READ_PROPERTY_DATA *rpdata)
apdu_len = encode_application_enumerated(&apdu[0], mode);
break;
case PROP_ACCEPTED_MODES:
for (mode = MIN_LIFE_SAFETY_MODE; mode < MAX_LIFE_SAFETY_MODE;
mode++) {
for (mode = 0; mode <= LIFE_SAFETY_MODE_RESERVED_MIN; mode++) {
len = encode_application_enumerated(&apdu[apdu_len], mode);
apdu_len += len;
}
@@ -583,7 +582,7 @@ bool Life_Safety_Point_Write_Property(BACNET_WRITE_PROPERTY_DATA *wp_data)
status = write_property_type_valid(
wp_data, &value, BACNET_APPLICATION_TAG_ENUMERATED);
if (status) {
if (value.type.Enumerated <= MAX_LIFE_SAFETY_MODE) {
if (value.type.Enumerated <= LIFE_SAFETY_MODE_PROPRIETARY_MAX) {
Life_Safety_Point_Mode_Set(
wp_data->object_instance,
(BACNET_LIFE_SAFETY_MODE)value.type.Enumerated);
+2 -3
View File
@@ -705,8 +705,7 @@ int Life_Safety_Zone_Read_Property(BACNET_READ_PROPERTY_DATA *rpdata)
apdu_len = encode_application_enumerated(&apdu[0], mode);
break;
case PROP_ACCEPTED_MODES:
for (mode = MIN_LIFE_SAFETY_MODE; mode < MAX_LIFE_SAFETY_MODE;
mode++) {
for (mode = 0; mode < LIFE_SAFETY_MODE_RESERVED_MIN; mode++) {
len = encode_application_enumerated(&apdu[apdu_len], mode);
apdu_len += len;
}
@@ -760,7 +759,7 @@ bool Life_Safety_Zone_Write_Property(BACNET_WRITE_PROPERTY_DATA *wp_data)
status = write_property_type_valid(
wp_data, &value, BACNET_APPLICATION_TAG_ENUMERATED);
if (status) {
if (value.type.Enumerated <= MAX_LIFE_SAFETY_MODE) {
if (value.type.Enumerated <= LIFE_SAFETY_MODE_PROPRIETARY_MAX) {
Life_Safety_Zone_Mode_Set(
wp_data->object_instance,
(BACNET_LIFE_SAFETY_MODE)value.type.Enumerated);
+1 -1
View File
@@ -171,7 +171,7 @@ int lighting_command_decode(
&apdu[apdu_len], apdu_size - apdu_len, 0, &enum_value);
if (len > 0) {
apdu_len += len;
if (unsigned_value <= BACNET_LIGHTS_PROPRIETARY_LAST) {
if (unsigned_value <= BACNET_LIGHTS_PROPRIETARY_MAX) {
operation = (BACNET_LIGHTING_OPERATION)enum_value;
if (data) {
data->operation = operation;
-7
View File
@@ -52,13 +52,6 @@ typedef struct BACnet_Read_Range_Data {
/**< For info functionality indicates array of lists if set */
#define RR_ARRAY_OF_LISTS 16
/** Bit String Enumerations */
typedef enum {
RESULT_FLAG_FIRST_ITEM = 0,
RESULT_FLAG_LAST_ITEM = 1,
RESULT_FLAG_MORE_ITEMS = 2
} BACNET_RESULT_FLAGS;
/** Defines for ReadRange packet overheads to allow us to determine how
* much space is left for actual payload:
*