Skip to main content

bacnet_types/enums/
object_level.rs

1// ===========================================================================
2// Object-level enums (Clause 12, 21)
3// ===========================================================================
4
5bacnet_enum! {
6    /// BACnet event state (Clause 12).
7    pub struct EventState(u32);
8
9    const NORMAL = 0;
10    const FAULT = 1;
11    const OFFNORMAL = 2;
12    const HIGH_LIMIT = 3;
13    const LOW_LIMIT = 4;
14    const LIFE_SAFETY_ALARM = 5;
15}
16
17bacnet_enum! {
18    /// BACnet binary present value (Clause 21).
19    pub struct BinaryPV(u32);
20
21    const INACTIVE = 0;
22    const ACTIVE = 1;
23}
24
25bacnet_enum! {
26    /// BACnet polarity (Clause 12).
27    pub struct Polarity(u32);
28
29    const NORMAL = 0;
30    const REVERSE = 1;
31}
32
33bacnet_enum! {
34    /// BACnet reliability (Clause 12).
35    pub struct Reliability(u32);
36
37    const NO_FAULT_DETECTED = 0;
38    const NO_SENSOR = 1;
39    const OVER_RANGE = 2;
40    const UNDER_RANGE = 3;
41    const OPEN_LOOP = 4;
42    const SHORTED_LOOP = 5;
43    const NO_OUTPUT = 6;
44    const UNRELIABLE_OTHER = 7;
45    const PROCESS_ERROR = 8;
46    const MULTI_STATE_FAULT = 9;
47    const CONFIGURATION_ERROR = 10;
48    // 11: removed from standard
49    const COMMUNICATION_FAILURE = 12;
50    const MEMBER_FAULT = 13;
51    const MONITORED_OBJECT_FAULT = 14;
52    const TRIPPED = 15;
53    const LAMP_FAILURE = 16;
54    const ACTIVATION_FAILURE = 17;
55    const RENEW_DHCP_FAILURE = 18;
56    const RENEW_FD_REGISTRATION_FAILURE = 19;
57    const RESTART_AUTO_NEGOTIATION_FAILURE = 20;
58    const RESTART_FAILURE = 21;
59    const PROPRIETARY_COMMAND_FAILURE = 22;
60    const FAULTS_LISTED = 23;
61    const REFERENCED_OBJECT_FAULT = 24;
62}
63
64bacnet_enum! {
65    /// BACnet device status (Clause 12.11.9).
66    pub struct DeviceStatus(u32);
67
68    const OPERATIONAL = 0;
69    const OPERATIONAL_READ_ONLY = 1;
70    const DOWNLOAD_REQUIRED = 2;
71    const DOWNLOAD_IN_PROGRESS = 3;
72    const NON_OPERATIONAL = 4;
73    const BACKUP_IN_PROGRESS = 5;
74}
75
76bacnet_enum! {
77    /// BACnet enable/disable (Clause 16.4).
78    pub struct EnableDisable(u32);
79
80    const ENABLE = 0;
81    /// Deprecated in revision 20; use DISABLE_INITIATION instead.
82    const DISABLE = 1;
83    const DISABLE_INITIATION = 2;
84}
85
86bacnet_enum! {
87    /// BACnet reinitialized state of device (Clause 16.5).
88    pub struct ReinitializedState(u32);
89
90    const COLDSTART = 0;
91    const WARMSTART = 1;
92    const START_BACKUP = 2;
93    const END_BACKUP = 3;
94    const START_RESTORE = 4;
95    const END_RESTORE = 5;
96    const ABORT_RESTORE = 6;
97    const ACTIVATE_CHANGES = 7;
98}
99
100bacnet_enum! {
101    /// BACnet file access method (Clause 12.12).
102    pub struct FileAccessMethod(u32);
103
104    const STREAM_ACCESS = 0;
105    const RECORD_ACCESS = 1;
106}
107
108bacnet_enum! {
109    /// BACnet program state (Clause 12.22).
110    pub struct ProgramState(u32);
111
112    const IDLE = 0;
113    const LOADING = 1;
114    const RUNNING = 2;
115    const WAITING = 3;
116    const HALTED = 4;
117    const UNLOADING = 5;
118}
119
120bacnet_enum! {
121    /// BACnet program request (Clause 12.22).
122    pub struct ProgramChange(u32);
123
124    const READY = 0;
125    const LOAD = 1;
126    const RUN = 2;
127    const HALT = 3;
128    const RESTART = 4;
129    const UNLOAD = 5;
130}
131
132bacnet_enum! {
133    /// BACnet action (Clause 12.17).
134    pub struct Action(u32);
135
136    const DIRECT = 0;
137    const REVERSE = 1;
138}
139
140bacnet_enum! {
141    /// BACnet event type (Clause 12.12.6).
142    pub struct EventType(u32);
143
144    const CHANGE_OF_BITSTRING = 0;
145    const CHANGE_OF_STATE = 1;
146    const CHANGE_OF_VALUE = 2;
147    const COMMAND_FAILURE = 3;
148    const FLOATING_LIMIT = 4;
149    const OUT_OF_RANGE = 5;
150    // 6-7: reserved
151    const CHANGE_OF_LIFE_SAFETY = 8;
152    const EXTENDED = 9;
153    const BUFFER_READY = 10;
154    const UNSIGNED_RANGE = 11;
155    // 12: reserved
156    const ACCESS_EVENT = 13;
157    const DOUBLE_OUT_OF_RANGE = 14;
158    const SIGNED_OUT_OF_RANGE = 15;
159    const UNSIGNED_OUT_OF_RANGE = 16;
160    const CHANGE_OF_CHARACTERSTRING = 17;
161    const CHANGE_OF_STATUS_FLAGS = 18;
162    const CHANGE_OF_RELIABILITY = 19;
163    const NONE = 20;
164    const CHANGE_OF_DISCRETE_VALUE = 21;
165    const CHANGE_OF_TIMER = 22;
166}
167
168bacnet_enum! {
169    /// BACnet notify type (Clause 12.21).
170    pub struct NotifyType(u32);
171
172    const ALARM = 0;
173    const EVENT = 1;
174    const ACK_NOTIFICATION = 2;
175}
176
177bacnet_enum! {
178    /// BACnet backup and restore state (Clause 19.1).
179    pub struct BackupAndRestoreState(u32);
180
181    const IDLE = 0;
182    const PREPARING_FOR_BACKUP = 1;
183    const PREPARING_FOR_RESTORE = 2;
184    const PERFORMING_A_BACKUP = 3;
185    const PERFORMING_A_RESTORE = 4;
186}
187
188bacnet_enum! {
189    /// BACnet logging type (Clause 12.25.14).
190    pub struct LoggingType(u32);
191
192    const POLLED = 0;
193    const COV = 1;
194    const TRIGGERED = 2;
195}