Changed BACnetPropertyStates to support more enumerations. Added apdu size checking on decode. Removed BACnetPropertyStates local enumeration. Increased BACnetPropertyStates codec unit test coverage.
This commit is contained in:
+266
-2
@@ -1036,7 +1036,46 @@ typedef enum {
|
||||
PROP_STATE_ZONE_OCCUPANCY_STATE = 31,
|
||||
PROP_STATE_ACCESS_CRED_DISABLE_REASON = 32,
|
||||
PROP_STATE_ACCESS_CRED_DISABLE = 33,
|
||||
PROP_STATE_AUTHENTICATION_STATUS = 34
|
||||
PROP_STATE_AUTHENTICATION_STATUS = 34,
|
||||
PROP_STATE_BACKUP_STATE = 36,
|
||||
PROP_STATE_WRITE_STATUS = 37,
|
||||
PROP_STATE_LIGHTING_IN_PROGRESS = 38,
|
||||
PROP_STATE_LIGHTING_OPERATION = 39,
|
||||
PROP_STATE_LIGHTING_TRANSITION = 40,
|
||||
PROP_STATE_INTEGER_VALUE = 41,
|
||||
PROP_STATE_BINARY_LIGHTING_VALUE = 42,
|
||||
PROP_STATE_TIMER_STATE = 43,
|
||||
PROP_STATE_TIMER_TRANSITION = 44,
|
||||
PROP_STATE_BACNET_IP_MODE = 45,
|
||||
PROP_STATE_NETWORK_PORT_COMMAND = 46,
|
||||
PROP_STATE_NETWORK_TYPE = 47,
|
||||
PROP_STATE_NETWORK_NUMBER_QUALITY = 48,
|
||||
PROP_STATE_ESCALATOR_OPERATION_DIRECTION = 49,
|
||||
PROP_STATE_ESCALATOR_FAULT = 50,
|
||||
PROP_STATE_ESCALATOR_MODE = 51,
|
||||
PROP_STATE_LIFT_CAR_DIRECTION = 52,
|
||||
PROP_STATE_LIFT_CAR_DOOR_COMMAND = 53,
|
||||
PROP_STATE_LIFT_CAR_DRIVE_STATUS = 54,
|
||||
PROP_STATE_LIFT_CAR_MODE = 55,
|
||||
PROP_STATE_LIFT_GROUP_MODE = 56,
|
||||
PROP_STATE_LIFT_FAULT = 57,
|
||||
PROP_STATE_PROTOCOL_LEVEL = 58,
|
||||
PROP_STATE_AUDIT_LEVEL = 59,
|
||||
PROP_STATE_AUDIT_OPERATION = 60,
|
||||
PROP_STATE_EXTENDED_VALUE = 63,
|
||||
PROP_STATE_EXAMPLE_ONE = 256,
|
||||
PROP_STATE_EXAMPLE_TWO = 257,
|
||||
/* Tag values greater than 254 are not encoded as ASN context tags.
|
||||
In these cases, the tag value is multiplied
|
||||
by 100000 and is added to the enumeration value
|
||||
and the sum is encoded using context tag 63,
|
||||
the extended-value choice.*/
|
||||
|
||||
/* Tag values 0-63 are reserved for definition by ASHRAE.
|
||||
Tag values of 64-254 may be used by others to
|
||||
accommodate vendor specific properties that have discrete
|
||||
or enumerated values, subject to the constraints
|
||||
described in Clause 23.*/
|
||||
} BACNET_PROPERTY_STATES;
|
||||
|
||||
typedef enum {
|
||||
@@ -2059,6 +2098,20 @@ typedef enum BACnetLightingTransition {
|
||||
BACNET_LIGHTING_TRANSITION_PROPRIETARY_LAST = 255
|
||||
} BACNET_LIGHTING_TRANSITION;
|
||||
|
||||
typedef enum BACnetBinaryLightingPV {
|
||||
BINARY_LIGHTING_PV_OFF = 0,
|
||||
BINARY_LIGHTING_PV_ON = 1,
|
||||
BINARY_LIGHTING_PV_WARN = 2,
|
||||
BINARY_LIGHTING_PV_WARN_OFF = 3,
|
||||
BINARY_LIGHTING_PV_WARN_RELINQUISH = 4,
|
||||
BINARY_LIGHTING_PV_STOP = 5,
|
||||
/* -- 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. */
|
||||
BINARY_LIGHTING_PV_PROPRIETARY_MIN = 64,
|
||||
BINARY_LIGHTING_PV_PROPRIETARY_MAX = 255
|
||||
} BACNET_BINARY_LIGHTING_PV;
|
||||
|
||||
typedef enum BACnetColorOperation {
|
||||
BACNET_COLOR_OPERATION_NONE = 0,
|
||||
BACNET_COLOR_OPERATION_FADE_TO_COLOR = 1,
|
||||
@@ -2252,7 +2305,7 @@ typedef enum {
|
||||
} BACNET_ACCESS_PASSBACK_MODE;
|
||||
|
||||
/* Access Zone Occupancy State */
|
||||
typedef enum {
|
||||
typedef enum BACnetAccessZoneOccupancyState {
|
||||
ACCESS_ZONE_OCCUPANCY_STATE_NORMAL = 0,
|
||||
ACCESS_ZONE_OCCUPANCY_STATE_BELOW_LOWER_LIMIT = 1,
|
||||
ACCESS_ZONE_OCCUPANCY_STATE_AT_LOWER_LIMIT = 2,
|
||||
@@ -2260,6 +2313,11 @@ typedef enum {
|
||||
ACCESS_ZONE_OCCUPANCY_STATE_ABOVE_UPPER_LIMIT = 4,
|
||||
ACCESS_ZONE_OCCUPANCY_STATE_DISABLED = 5,
|
||||
ACCESS_ZONE_OCCUPANCY_STATE_NOT_SUPPORTED = 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. */
|
||||
ACCESS_ZONE_OCCUPANCY_STATE_PROPRIETARY_MIN = 64,
|
||||
ACCESS_ZONE_OCCUPANCY_STATE_PROPRIETARY_MAX = 65535
|
||||
} BACNET_ACCESS_ZONE_OCCUPANCY_STATE;
|
||||
|
||||
/* Access User Type */
|
||||
@@ -2520,4 +2578,210 @@ typedef enum BACnetIPMode_T {
|
||||
BACNET_IP_MODE_BBMD = 2
|
||||
} BACNET_IP_MODE;
|
||||
|
||||
typedef enum BACnetBackupState {
|
||||
BACKUP_STATE_IDLE = 0,
|
||||
BACKUP_STATE_PREPARING_FOR_BACKUP = 1,
|
||||
BACKUP_STATE_PREPARING_FOR_RESTORE = 2,
|
||||
BACKUP_STATE_PERFORMING_A_BACKUP = 3,
|
||||
BACKUP_STATE_PERFORMING_A_RESTORE = 4,
|
||||
BACKUP_STATE_BACKUP_FAILURE = 5,
|
||||
BACKUP_STATE_RESTORE_FAILURE = 6
|
||||
} BACNET_BACKUP_STATE;
|
||||
|
||||
typedef enum BACnetTimerState {
|
||||
TIMER_STATE_IDLE = 0,
|
||||
TIMER_STATE_RUNNING = 1,
|
||||
TIMER_STATE_EXPIRED = 2
|
||||
} BACNET_TIMER_STATE;
|
||||
|
||||
typedef enum BACnetTimerTransition {
|
||||
TIMER_TRANSITION_NONE = 0,
|
||||
TIMER_TRANSITION_IDLE_TO_RUNNING = 1,
|
||||
TIMER_TRANSITION_RUNNING_TO_IDLE = 2,
|
||||
TIMER_TRANSITION_RUNNING_TO_RUNNING = 3,
|
||||
TIMER_TRANSITION_RUNNING_TO_EXPIRED = 4,
|
||||
TIMER_TRANSITION_FORCED_TO_EXPIRED = 5,
|
||||
TIMER_TRANSITION_EXPIRED_TO_IDLE = 6,
|
||||
TIMER_TRANSITION_EXPIRED_TO_RUNNING = 7
|
||||
} BACNET_TIMER_TRANSITION;
|
||||
|
||||
typedef enum BACnetEscalatorFault {
|
||||
ESCALATOR_FAULT_CONTROLLER_FAULT = 0,
|
||||
ESCALATOR_FAULT_DRIVE_AND_MOTOR_FAULT = 1,
|
||||
ESCALATOR_FAULT_MECHANICAL_COMPONENT_FAULT = 2,
|
||||
ESCALATOR_FAULT_OVERSPEED_FAULT = 3,
|
||||
ESCALATOR_FAULT_POWER_SUPPLY_FAULT = 4,
|
||||
ESCALATOR_FAULT_SAFETY_DEVICE_FAULT = 5,
|
||||
ESCALATOR_FAULT_CONTROLLER_SUPPLY_FAULT = 6,
|
||||
ESCALATOR_FAULT_DRIVE_TEMPERATURE_EXCEEDED = 7,
|
||||
ESCALATOR_FAULT_COMB_PLATE_FAULT = 8,
|
||||
/* 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. */
|
||||
ESCALATOR_FAULT_PROPRIETARY_MIN = 1024,
|
||||
ESCALATOR_FAULT_PROPRIETARY_MAX = 65535
|
||||
} BACNET_ESCALATOR_FAULT;
|
||||
|
||||
typedef enum BACnetEscalatorMode {
|
||||
ESCALATOR_MODE_UNKNOWN = 0,
|
||||
ESCALATOR_MODE_STOP = 1,
|
||||
ESCALATOR_MODE_UP = 2,
|
||||
ESCALATOR_MODE_DOWN = 3,
|
||||
ESCALATOR_MODE_INSPECTION = 4,
|
||||
ESCALATOR_MODE_OUT_OF_SERVICE = 5,
|
||||
/* 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. */
|
||||
ESCALATOR_MODE_PROPRIETARY_MIN = 1024,
|
||||
ESCALATOR_MODE_PROPRIETARY_MAX = 65535
|
||||
} BACNET_ESCALATOR_MODE;
|
||||
|
||||
typedef enum BACnetEscalatorOperationDirection {
|
||||
ESCALATOR_OPERATION_DIRECTION_UNKNOWN = 0,
|
||||
ESCALATOR_OPERATION_DIRECTION_STOPPED = 1,
|
||||
ESCALATOR_OPERATION_DIRECTION_UP_RATED_SPEED = 2,
|
||||
ESCALATOR_OPERATION_DIRECTION_UP_REDUCED_SPEED = 3,
|
||||
ESCALATOR_OPERATION_DIRECTION_DOWN_RATED_SPEED = 4,
|
||||
ESCALATOR_OPERATION_DIRECTION_DOWN_REDUCED_SPEED = 5,
|
||||
/* 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. */
|
||||
ESCALATOR_OPERATION_DIRECTION_PROPRIETARY_MIN = 1024,
|
||||
ESCALATOR_OPERATION_DIRECTION_PROPRIETARY_MAX = 65535
|
||||
} BACNET_ESCALATOR_OPERATION_DIRECTION;
|
||||
|
||||
typedef enum BACnetLiftCarDirection {
|
||||
LIFT_CAR_DIRECTION_UNKNOWN = 0,
|
||||
LIFT_CAR_DIRECTION_NONE = 1,
|
||||
LIFT_CAR_DIRECTION_STOPPED = 2,
|
||||
LIFT_CAR_DIRECTION_UP = 3,
|
||||
LIFT_CAR_DIRECTION_DOWN = 4,
|
||||
LIFT_CAR_DIRECTION_UP_AND_DOWN = 5,
|
||||
/* 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. */
|
||||
LIFT_CAR_DIRECTION_PROPRIETARY_MIN = 1024,
|
||||
LIFT_CAR_DIRECTION_PROPRIETARY_MAX = 65535
|
||||
} BACNET_LIFT_CAR_DIRECTION;
|
||||
|
||||
typedef enum BACnetLiftCarDoorCommand {
|
||||
LIFT_CAR_DOOR_COMMAND_NONE = 0,
|
||||
LIFT_CAR_DOOR_COMMAND_OPEN = 1,
|
||||
LIFT_CAR_DOOR_COMMAND_CLOSE = 2
|
||||
} BACNET_LIFT_CAR_DOOR_COMMAND;
|
||||
|
||||
typedef enum BACnetLiftCarDriveStatus {
|
||||
LIFT_CAR_DRIVE_STATUS_UNKNOWN = 0,
|
||||
LIFT_CAR_DRIVE_STATUS_STATIONARY = 1,
|
||||
LIFT_CAR_DRIVE_STATUS_BRAKING = 2,
|
||||
LIFT_CAR_DRIVE_STATUS_ACCELERATE = 3,
|
||||
LIFT_CAR_DRIVE_STATUS_DECELERATE = 4,
|
||||
LIFT_CAR_DRIVE_STATUS_RATED_SPEED = 5,
|
||||
LIFT_CAR_DRIVE_STATUS_SINGLE_FLOOR_JUMP = 6,
|
||||
LIFT_CAR_DRIVE_STATUS_TWO_FLOOR_JUMP = 7,
|
||||
LIFT_CAR_DRIVE_STATUS_THREE_FLOOR_JUMP = 8,
|
||||
LIFT_CAR_DRIVE_STATUS_MULTI_FLOOR_JUMP = 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. */
|
||||
LIFT_CAR_DRIVE_STATUS_PROPRIETARY_MIN = 1024,
|
||||
LIFT_CAR_DRIVE_STATUS_PROPRIETARY_MAX = 65535
|
||||
} BACNET_LIFT_CAR_DRIVE_STATUS;
|
||||
|
||||
typedef enum BACnetLiftCarMode {
|
||||
LIFT_CAR_MODE_UNKNOWN = 0,
|
||||
LIFT_CAR_MODE_NORMAL = 1, /* in service */
|
||||
LIFT_CAR_MODE_VIP = 2,
|
||||
LIFT_CAR_MODE_HOMING = 3,
|
||||
LIFT_CAR_MODE_PARKING = 4,
|
||||
LIFT_CAR_MODE_ATTENDANT_CONTROL = 5,
|
||||
LIFT_CAR_MODE_FIREFIGHTER_CONTROL = 6,
|
||||
LIFT_CAR_MODE_EMERGENCY_POWER = 7,
|
||||
LIFT_CAR_MODE_INSPECTION = 8,
|
||||
LIFT_CAR_MODE_CABINET_RECALL = 9,
|
||||
LIFT_CAR_MODE_EARTHQUAKE_OPERATION = 10,
|
||||
LIFT_CAR_MODE_FIRE_OPERATION = 11,
|
||||
LIFT_CAR_MODE_OUT_OF_SERVICE = 12,
|
||||
LIFT_CAR_MODE_OCCUPANT_EVACUATION = 13,
|
||||
/* 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. */
|
||||
LIFT_CAR_MODE_PROPRIETARY_MIN = 1024,
|
||||
LIFT_CAR_MODE_PROPRIETARY_MAX = 65535
|
||||
} BACNET_LIFT_CAR_MODE;
|
||||
|
||||
typedef enum BACnetLiftFault {
|
||||
LIFT_FAULT_CONTROLLER_FAULT = 0,
|
||||
LIFT_FAULT_DRIVE_AND_MOTOR_FAULT = 1,
|
||||
LIFT_FAULT_GOVERNOR_AND_SAFETY_GEAR_FAULT = 2,
|
||||
LIFT_FAULT_LIFT_SHAFT_DEVICE_FAULT = 3,
|
||||
LIFT_FAULT_POWER_SUPPLY_FAULT = 4,
|
||||
LIFT_FAULT_SAFETY_INTERLOCK_FAULT = 5,
|
||||
LIFT_FAULT_DOOR_CLOSING_FAULT = 6,
|
||||
LIFT_FAULT_DOOR_OPENING_FAULT = 7,
|
||||
LIFT_FAULT_CAR_STOPPED_OUTSIDE_LANDING_ZONE = 8,
|
||||
LIFT_FAULT_CALL_BUTTON_STUCK = 9,
|
||||
LIFT_FAULT_START_FAILURE = 10,
|
||||
LIFT_FAULT_CONTROLLER_SUPPLY_FAULT = 11,
|
||||
LIFT_FAULT_SELF_TEST_FAILURE = 12,
|
||||
LIFT_FAULT_RUNTIME_LIMIT_EXCEEDED = 13,
|
||||
LIFT_FAULT_POSITION_LOST = 14,
|
||||
LIFT_FAULT_DRIVE_TEMPERATURE_EXCEEDED = 15,
|
||||
LIFT_FAULT_LOAD_MEASUREMENT_FAULT = 16,
|
||||
/* 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. */
|
||||
LIFT_FAULT_PROPRIETARY_MIN = 1024,
|
||||
LIFT_FAULT_PROPRIETARY_MAX = 65535
|
||||
} BACNET_LIFT_FAULT;
|
||||
|
||||
typedef enum BACnetLiftGroupMode {
|
||||
LIFT_GROUP_MODE_UNKNOWN = 0,
|
||||
LIFT_GROUP_MODE_NORMAL = 1,
|
||||
LIFT_GROUP_MODE_DOWN_PEAK = 2,
|
||||
LIFT_GROUP_MODE_TWO_WAY = 3,
|
||||
LIFT_GROUP_MODE_FOUR_WAY = 4,
|
||||
LIFT_GROUP_MODE_EMERGENCY_POWER = 5,
|
||||
LIFT_GROUP_MODE_UP_PEAK = 6
|
||||
} BACNET_LIFT_GROUP_MODE;
|
||||
|
||||
typedef enum BACnetAuditLevel {
|
||||
AUDIT_LEVEL_NONE = 0,
|
||||
AUDIT_LEVEL_AUDIT_ALL = 1,
|
||||
AUDIT_LEVEL_AUDIT_CONFIG = 2,
|
||||
AUDIT_LEVEL_DEFAULT = 3,
|
||||
/* 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. */
|
||||
AUDIT_LEVEL_PROPRIETARY_MIN = 128,
|
||||
AUDIT_LEVEL_PROPRIETARY_MAX = 255
|
||||
} BACNET_AUDIT_LEVEL;
|
||||
|
||||
typedef enum BACnetAuditOperation {
|
||||
AUDIT_OPERATION_READ = 0,
|
||||
AUDIT_OPERATION_WRITE = 1,
|
||||
AUDIT_OPERATION_CREATE = 2,
|
||||
AUDIT_OPERATION_DELETE = 3,
|
||||
AUDIT_OPERATION_LIFE_SAFETY = 4,
|
||||
AUDIT_OPERATION_ACKNOWLEDGE_ALARM = 5,
|
||||
AUDIT_OPERATION_DEVICE_DISABLE_COMM = 6,
|
||||
AUDIT_OPERATION_DEVICE_ENABLE_COMM = 7,
|
||||
AUDIT_OPERATION_DEVICE_RESET = 8,
|
||||
AUDIT_OPERATION_DEVICE_BACKUP = 9,
|
||||
AUDIT_OPERATION_DEVICE_RESTORE = 10,
|
||||
AUDIT_OPERATION_SUBSCRIPTION = 11,
|
||||
AUDIT_OPERATION_NOTIFICATION = 12,
|
||||
AUDIT_OPERATION_AUDITING_FAILURE = 13,
|
||||
AUDIT_OPERATION_NETWORK_CHANGES = 14,
|
||||
AUDIT_OPERATION_GENERAL = 15,
|
||||
/* Enumerated values 0-31 are reserved for definition by ASHRAE.
|
||||
Enumerated values 32-63 may be used by others subject to
|
||||
the procedures and constraints described in Clause 23.
|
||||
|
||||
The enumerated values match the bit positions in
|
||||
BACnetAuditOperationFlags. */
|
||||
AUDIT_OPERATION_PROPRIETARY_MIN = 32,
|
||||
AUDIT_OPERATION_PROPRIETARY_MAX = 63
|
||||
} BACNET_AUDIT_OPERATION;
|
||||
|
||||
#endif /* end of BACENUM_H */
|
||||
|
||||
Reference in New Issue
Block a user