diff --git a/bacnet-stack/include/bacenum.h b/bacnet-stack/include/bacenum.h index d1868f66..869a129d 100644 --- a/bacnet-stack/include/bacenum.h +++ b/bacnet-stack/include/bacenum.h @@ -676,6 +676,43 @@ typedef enum { /* the procedures and constraints described in Clause 23. */ } BACNET_PROGRAM_ERROR; +typedef enum { + PROP_STATE_BOOLEAN_VALUE = 0, + PROP_STATE_BINARY_VALUE = 1, + PROP_STATE_EVENT_TYPE = 2, + PROP_STATE_POLARITY = 3, + PROP_STATE_PROGRAM_CHANGE = 4, + PROP_STATE_PROGRAM_STATE = 5, + PROP_STATE_REASON_FOR_HALT = 6, + PROP_STATE_RELIABILITY = 7, + PROP_STATE_EVENT_STATE = 8, + PROP_STATE_SYSTEM_STATUS = 9, + PROP_STATE_UNITS = 10, + PROP_STATE_UNSIGNED_VALUE = 11, + PROP_STATE_LIFE_SAFETY_MODE = 12, + PROP_STATE_LIFE_SAFETY_STATE = 13, + PROP_STATE_RESTART_REASON = 14, + PROP_STATE_DOOR_ALARM_STATE = 15, + PROP_STATE_ACTION = 16, + PROP_STATE_DOOR_SECURED_STATUS = 17, + PROP_STATE_DOOR_STATUS = 18, + PROP_STATE_DOOR_VALUE = 19, + PROP_STATE_FILE_ACCESS_METHOD = 20, + PROP_STATE_LOCK_STATUS = 21, + PROP_STATE_LIFE_SAFETY_OPERATION = 22, + PROP_STATE_MAINTENANCE = 23, + PROP_STATE_NODE_TYPE = 24, + PROP_STATE_NOTIFY_TYPE = 25, + PROP_STATE_SECURITY_LEVEL = 26, + PROP_STATE_SHED_STATE = 27, + PROP_STATE_SILENCED_STATE = 28, + PROP_STATE_ACCESS_EVENT = 30, + PROP_STATE_ZONE_OCCUPANCY_STATE = 31, + PROP_STATE_ACCESS_CRED_DISABLE_REASON = 32, + PROP_STATE_ACCESS_CRED_DISABLE = 33, + PROP_STATE_AUTHENTICATION_STATUS = 34, +} BACNET_PROPERTY_STATES; + typedef enum { RELIABILITY_NO_FAULT_DETECTED = 0, RELIABILITY_NO_SENSOR = 1, @@ -688,6 +725,7 @@ typedef enum { RELIABILITY_PROCESS_ERROR = 8, RELIABILITY_MULTI_STATE_FAULT = 9, RELIABILITY_CONFIGURATION_ERROR = 10, + RELIABILITY_MEMBER_FAULT = 11, RELIABILITY_COMMUNICATION_FAILURE = 12, RELIABILITY_TRIPPED = 13 /* Enumerated values 0-63 are reserved for definition by ASHRAE. */ @@ -1203,7 +1241,8 @@ typedef enum { /* 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. */ - MAX_BACNET_ERROR_CLASS = 7, + ERROR_CLASS_COMMUNICATION = 7, + MAX_BACNET_ERROR_CLASS = 8, FIRST_PROPRIETARY_ERROR_CLASS = 64, LAST_PROPRIETARY_ERROR_CLASS = 65535 } BACNET_ERROR_CLASS; @@ -1285,11 +1324,46 @@ typedef enum { /* unused */ ERROR_CODE_RESERVED1 = 33, + /* new error codes from new addenda */ + ERROR_CODE_ABORT_BUFFER_OVERFLOW = 51, + ERROR_CODE_ABORT_INVALID_APDU_IN_THIS_STATE = 52, + ERROR_CODE_ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK = 53, + ERROR_CODE_ABORT_SEGMENTATION_NOT_SUPPORTED = 54, + ERROR_CODE_ABORT_PROPRIETARY = 55, + ERROR_CODE_ABORT_OTHER = 56, + ERROR_CODE_INVALID_TAG = 57, + ERROR_CODE_NETWORK_DOWN = 58, + ERROR_CODE_REJECT_BUFFER_OVERFLOW = 59, + ERROR_CODE_REJECT_INCONSISTENT_PARAMETERS = 60, + ERROR_CODE_REJECT_INVALID_PARAMETER_DATA_TYPE = 61, + ERROR_CODE_REJECT_INVALID_TAG = 62, + ERROR_CODE_REJECT_MISSING_REQUIRED_PARAMETER = 63, + ERROR_CODE_REJECT_PARAMETER_OUT_OF_RANGE = 64, + ERROR_CODE_REJECT_TOO_MANY_ARGUMENTS = 65, + ERROR_CODE_REJECT_UNDEFINED_ENUMERATION = 66, + ERROR_CODE_REJECT_UNRECOGNIZED_SERVICE = 67, + ERROR_CODE_REJECT_PROPRIETARY = 68, + ERROR_CODE_REJECT_OTHER = 69, + ERROR_CODE_UNKNOWN_DEVICE = 70, + ERROR_CODE_UNKNOWN_ROUTE = 71, + ERROR_CODE_VALUE_NOT_INITIALIZED = 72, + ERROR_CODE_INVALID_EVENT_STATE = 73, + ERROR_CODE_NO_ALARM_CONFIGURED = 74, + ERROR_CODE_LOG_BUFFER_FULL = 75, + ERROR_CODE_LOGGED_VALUE_PURGED = 76, + ERROR_CODE_NO_PROPERTY_SPECIFIED = 77, + ERROR_CODE_NOT_CONFIGURED_FOR_TRIGGERED_LOGGING = 78, + ERROR_CODE_UNKNOWN_SUBSCRIPTION = 79, + ERROR_CODE_PARAMETER_OUT_OF_RANGE = 80, + ERROR_CODE_UNKNOWN_FILE_SIZE = 81, + ERROR_CODE_BUSY = 82, + ERROR_CODE_COMMUNICATION_DISABLED = 83, + /* 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. */ /* The last enumeration used in this version is 50. */ - MAX_BACNET_ERROR_CODE = 51, + MAX_BACNET_ERROR_CODE = 81, FIRST_PROPRIETARY_ERROR_CODE = 256, LAST_PROPRIETARY_ERROR_CODE = 65535 } BACNET_ERROR_CODE; diff --git a/bacnet-stack/src/bactext.c b/bacnet-stack/src/bactext.c index 604a6fe6..c378b234 100644 --- a/bacnet-stack/src/bactext.c +++ b/bacnet-stack/src/bactext.c @@ -1384,6 +1384,39 @@ INDTEXT_DATA bacnet_error_code_names[] = { , {ERROR_CODE_NOT_COV_PROPERTY, "not-cov-property"} , + {ERROR_CODE_ABORT_BUFFER_OVERFLOW, "abort-buffer-overflow"}, + {ERROR_CODE_ABORT_INVALID_APDU_IN_THIS_STATE, "abort-invalid-apdu-in-this-state"}, + {ERROR_CODE_ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK, "abort-preempted-by-higher-priority-task"}, + {ERROR_CODE_ABORT_SEGMENTATION_NOT_SUPPORTED, "abort-segmentation-not-supported"}, + {ERROR_CODE_ABORT_PROPRIETARY, "abort-proprietary"}, + {ERROR_CODE_ABORT_OTHER, "abort-other"}, + {ERROR_CODE_INVALID_TAG, "invalid-tag"}, + {ERROR_CODE_NETWORK_DOWN, "network-down"}, + {ERROR_CODE_REJECT_BUFFER_OVERFLOW, "reject-buffer-overflow"}, + {ERROR_CODE_REJECT_INCONSISTENT_PARAMETERS, "reject-inconsistent-parameters"}, + {ERROR_CODE_REJECT_INVALID_PARAMETER_DATA_TYPE, "reject-invalid-parameter-data-type"}, + {ERROR_CODE_REJECT_INVALID_TAG, "reject-invalid-tag"}, + {ERROR_CODE_REJECT_MISSING_REQUIRED_PARAMETER, "reject-missing-required-parameter"}, + {ERROR_CODE_REJECT_PARAMETER_OUT_OF_RANGE, "reject-parameter-out-of-range"}, + {ERROR_CODE_REJECT_TOO_MANY_ARGUMENTS, "reject-too-many-arguments"}, + {ERROR_CODE_REJECT_UNDEFINED_ENUMERATION, "reject-undefined-enumeration"}, + {ERROR_CODE_REJECT_UNRECOGNIZED_SERVICE, "reject-unrecognized-service"}, + {ERROR_CODE_REJECT_PROPRIETARY, "reject-proprietary"}, + {ERROR_CODE_REJECT_OTHER, "reject-other"}, + {ERROR_CODE_UNKNOWN_DEVICE, "unknown-device"}, + {ERROR_CODE_UNKNOWN_ROUTE, "unknown-route"}, + {ERROR_CODE_VALUE_NOT_INITIALIZED, "value-not-initialized"}, + {ERROR_CODE_INVALID_EVENT_STATE, "invalid-event-state"}, + {ERROR_CODE_NO_ALARM_CONFIGURED, "no-alarm-configured"}, + {ERROR_CODE_LOG_BUFFER_FULL, "log-buffer-full"}, + {ERROR_CODE_LOGGED_VALUE_PURGED, "logged-value-purged"}, + {ERROR_CODE_NO_PROPERTY_SPECIFIED, "no-property-specified"}, + {ERROR_CODE_NOT_CONFIGURED_FOR_TRIGGERED_LOGGING, "not-configured-for-triggered-logging"}, + {ERROR_CODE_UNKNOWN_SUBSCRIPTION, "unknown-subscription"}, + {ERROR_CODE_PARAMETER_OUT_OF_RANGE, "parameter-out-of-range"}, + {ERROR_CODE_UNKNOWN_FILE_SIZE, "unknown-file-size"}, + {ERROR_CODE_BUSY, "busy"}, + {ERROR_CODE_COMMUNICATION_DISABLED, "communication-disabled"}, {0, NULL} };