lwpa  0.1.0
LightWeight Platform Abstraction (lwpa)
View other versions:
estardm.h
1 /*****************************************************************/
2 /* Entertainment Services Technology Association (ESTA) */
3 /* ANSI E1.20 Remote Device Management (RDM) over DMX512 Networks*/
4 /*****************************************************************/
5 /* */
6 /* RDM.h */
7 /* */
8 /*****************************************************************/
9 /* Appendix A Defines for the RDM Protocol. */
10 /* Publish date: 3/31/2006 */
11 /*****************************************************************/
12 /* Compiled by: Scott M. Blair 8/18/2006 */
13 /* Updated 10/11/2011: Adding E1.20-2010 and E1.37-1 defines. */
14 /* Updated 10/24/2014: Adding E1.37-2 defines */
15 /*****************************************************************/
16 /* For updates see: http://www.rdmprotocol.org */
17 /*****************************************************************/
18 /* Copyright 2006,2011, 2014 Litespeed Design */
19 /*****************************************************************/
20 /* Permission to use, copy, modify, and distribute this software */
21 /* is freely granted, provided that this notice is preserved. */
22 /*****************************************************************/
23 
24 /* clang-format off */
25 
26 /* Protocol version. */
27 #define E120_PROTOCOL_VERSION 0x0100
28 
29 /* RDM START CODE (Slot 0) */
30 #define E120_SC_RDM 0xCC
31 
32 /* RDM Protocol Data Structure ID's (Slot 1) */
33 #define E120_SC_SUB_MESSAGE 0x01
34 
35 /* Broadcast Device UID's */
36 #define E120_BROADCAST_ALL_DEVICES_ID \
37  0xFFFFFFFFFFFF /* (Broadcast all Manufacturers) */
38 //#define ALL_DEVICES_ID 0xmmmmFFFFFFFF /*
39 //(Specific Manufacturer ID 0xmmmm) */
40 
41 #define E120_SUB_DEVICE_ALL_CALL 0xFFFF
42 
43 /********************************************************/
44 /* Table A-1: RDM Command Classes (Slot 20) */
45 /********************************************************/
46 #define E120_DISCOVERY_COMMAND 0x10
47 #define E120_DISCOVERY_COMMAND_RESPONSE 0x11
48 #define E120_GET_COMMAND 0x20
49 #define E120_GET_COMMAND_RESPONSE 0x21
50 #define E120_SET_COMMAND 0x30
51 #define E120_SET_COMMAND_RESPONSE 0x31
52 
53 /********************************************************/
54 /* Table A-2: RDM Response Type (Slot 16) */
55 /********************************************************/
56 #define E120_RESPONSE_TYPE_ACK 0x00
57 #define E120_RESPONSE_TYPE_ACK_TIMER 0x01
58 #define E120_RESPONSE_TYPE_NACK_REASON \
59  0x02 /* See Table A-17 */
60 #define E120_RESPONSE_TYPE_ACK_OVERFLOW \
61  0x03 /* Additional Response Data available beyond single response length.*/
62 
63 /********************************************************/
64 /* Table A-3: RDM Parameter ID's (Slots 21-22) */
65 /********************************************************/
66 /* Category - Network Management */
67 #define E120_DISC_UNIQUE_BRANCH 0x0001
68 #define E120_DISC_MUTE 0x0002
69 #define E120_DISC_UN_MUTE 0x0003
70 #define E120_PROXIED_DEVICES 0x0010
71 #define E120_PROXIED_DEVICE_COUNT 0x0011
72 #define E120_COMMS_STATUS 0x0015
73 
74 /* Category - Status Collection */
75 #define E120_QUEUED_MESSAGE \
76  0x0020 /* See Table A-4 */
77 #define E120_STATUS_MESSAGES \
78  0x0030 /* See Table A-4 */
79 #define E120_STATUS_ID_DESCRIPTION 0x0031
80 #define E120_CLEAR_STATUS_ID 0x0032
81 #define E120_SUB_DEVICE_STATUS_REPORT_THRESHOLD \
82  0x0033 /* See Table A-4 */
83 
84 /* Category - RDM Information */
85 #define E120_SUPPORTED_PARAMETERS \
86  0x0050 /* Support required only if supporting Parameters beyond the minimum \
87  required set.*/
88 #define E120_PARAMETER_DESCRIPTION \
89  0x0051 /* Support required for Manufacturer-Specific PIDs exposed in \
90  SUPPORTED_PARAMETERS message */
91 
92 /* Category - Product Information */
93 #define E120_DEVICE_INFO 0x0060
94 #define E120_PRODUCT_DETAIL_ID_LIST 0x0070
95 #define E120_DEVICE_MODEL_DESCRIPTION 0x0080
96 #define E120_MANUFACTURER_LABEL 0x0081
97 #define E120_DEVICE_LABEL 0x0082
98 #define E120_FACTORY_DEFAULTS 0x0090
99 #define E120_LANGUAGE_CAPABILITIES 0x00A0
100 #define E120_LANGUAGE 0x00B0
101 #define E120_SOFTWARE_VERSION_LABEL 0x00C0
102 #define E120_BOOT_SOFTWARE_VERSION_ID 0x00C1
103 #define E120_BOOT_SOFTWARE_VERSION_LABEL 0x00C2
104 
105 /* Category - DMX512 Setup */
106 #define E120_DMX_PERSONALITY 0x00E0
107 #define E120_DMX_PERSONALITY_DESCRIPTION 0x00E1
108 #define E120_DMX_START_ADDRESS \
109  0x00F0 /* Support required if device uses a DMX512 Slot. */
110 #define E120_SLOT_INFO 0x0120
111 #define E120_SLOT_DESCRIPTION 0x0121
112 #define E120_DEFAULT_SLOT_VALUE 0x0122
113 #define E137_1_DMX_BLOCK_ADDRESS \
114  0x0140 /* Defined in ANSI E1.37-1 document */
115 #define E137_1_DMX_FAIL_MODE \
116  0x0141 /* Defined in ANSI E1.37-1 document */
117 #define E137_1_DMX_STARTUP_MODE \
118  0x0142 /* Defined in ANSI E1.37-1 document */
119 
120 /* Category - Sensors */
121 #define E120_SENSOR_DEFINITION 0x0200
122 #define E120_SENSOR_VALUE 0x0201
123 #define E120_RECORD_SENSORS 0x0202
124 
125 /* Category - Dimmer Settings */
126 #define E137_1_DIMMER_INFO 0x0340
127 #define E137_1_MINIMUM_LEVEL 0x0341
128 #define E137_1_MAXIMUM_LEVEL 0x0342
129 #define E137_1_CURVE 0x0343
130 #define E137_1_CURVE_DESCRIPTION \
131  0x0344 /* Support required if CURVE is supported */
132 #define E137_1_OUTPUT_RESPONSE_TIME 0x0345
133 #define E137_1_OUTPUT_RESPONSE_TIME_DESCRIPTION \
134  0x0346 /* Support required if OUTPUT_RESPONSE_TIME is supported */
135 #define E137_1_MODULATION_FREQUENCY 0x0347
136 #define E137_1_MODULATION_FREQUENCY_DESCRIPTION \
137  0x0348 /* Support required if MODULATION_FREQUENCY is supported */
138 
139 /* Category - Power/Lamp Settings */
140 #define E120_DEVICE_HOURS 0x0400
141 #define E120_LAMP_HOURS 0x0401
142 #define E120_LAMP_STRIKES 0x0402
143 #define E120_LAMP_STATE \
144  0x0403 /* See Table A-8 */
145 #define E120_LAMP_ON_MODE \
146  0x0404 /* See Table A-9 */
147 #define E120_DEVICE_POWER_CYCLES 0x0405
148 #define E137_1_BURN_IN \
149  0x0440 /* Defined in ANSI E1.37-1 */
150 
151 /* Category - Display Settings */
152 #define E120_DISPLAY_INVERT 0x0500
153 #define E120_DISPLAY_LEVEL 0x0501
154 
155 /* Category - Configuration */
156 #define E120_PAN_INVERT 0x0600
157 #define E120_TILT_INVERT 0x0601
158 #define E120_PAN_TILT_SWAP 0x0602
159 #define E120_REAL_TIME_CLOCK 0x0603
160 #define E137_1_LOCK_PIN \
161  0x0640 /* Defined in ANSI E1.37-1 */
162 #define E137_1_LOCK_STATE \
163  0x0641 /* Defined in ANSI E1.37-1 */
164 #define E137_1_LOCK_STATE_DESCRIPTION \
165  0x0642 /* Support required if MODULATION_FREQUENCY is supported */
166 
167 /* Category - Network Configuration*/
168 
169 #define E137_2_LIST_INTERFACES \
170  0x0700 /* Defined in ANSI E1.37-2 */
171 #define E137_2_INTERFACE_LABEL \
172  0x0701 /* Defined in ANSI E1.37-2 */
173 #define E137_2_INTERFACE_HARDWARE_ADDRESS_TYPE1 \
174  0x0702 /* Defined in ANSI E1.37-2 */
175 #define E137_2_IPV4_DHCP_MODE \
176  0x0703 /* Defined in ANSI E1.37-2 */
177 #define E137_2_IPV4_ZEROCONF_MODE \
178  0x0704 /* Defined in ANSI E1.37-2 */
179 #define E137_2_IPV4_CURRENT_ADDRESS \
180  0x0705 /* Defined in ANSI E1.37-2 */
181 #define E137_2_IPV4_STATIC_ADDRESS \
182  0x0706 /* Defined in ANSI E1.37-2 */
183 #define E137_2_INTERFACE_RENEW_DHCP \
184  0x0707 /* Defined in ANSI E1.37-2 */
185 #define E137_2_INTERFACE_RELEASE_DHCP \
186  0x0708 /* Defined in ANSI E1.37-2 */
187 #define E137_2_INTERFACE_APPLY_CONFIGURATION \
188  0x0709 /* Defined in ANSI E1.37-2 (Support required if _ADDRESS PIDs \
189  supported) */
190 #define E137_2_IPV4_DEFAULT_ROUTE \
191  0x070A /* Defined in ANSI E1.37-2 */
192 #define E137_2_DNS_IPV4_NAME_SERVER \
193  0x070B /* Defined in ANSI E1.37-2 */
194 #define E137_2_DNS_HOSTNAME \
195  0x070C /* Defined in ANSI E1.37-2 */
196 #define E137_2_DNS_DOMAIN_NAME \
197  0x070D /* Defined in ANSI E1.37-2 */
198 
199 /* Category - Control */
200 #define E120_IDENTIFY_DEVICE 0x1000
201 #define E120_RESET_DEVICE 0x1001
202 #define E120_POWER_STATE \
203  0x1010 /* See Table A-11 */
204 #define E120_PERFORM_SELFTEST \
205  0x1020 /* See Table A-10 */
206 #define E120_SELF_TEST_DESCRIPTION 0x1021
207 #define E120_CAPTURE_PRESET 0x1030
208 #define E120_PRESET_PLAYBACK \
209  0x1031 /* See Table A-7 */
210 #define E137_1_IDENTIFY_MODE \
211  0x1040 /* Defined in ANSI E1.37-1 */
212 #define E137_1_PRESET_INFO \
213  0x1041 /* Defined in ANSI E1.37-1 */
214 #define E137_1_PRESET_STATUS \
215  0x1042 /* Defined in ANSI E1.37-1 */
216 #define E137_1_PRESET_MERGEMODE \
217  0x1043 /* See E1.37-1 Table A-3 */
218 #define E137_1_POWER_ON_SELF_TEST \
219  0x1044 /* Defined in ANSI E1.37-1 */
220 
221 /* ESTA Reserved Future RDM Development 0x7FE0-
222  0x7FFF
223 
224  Manufacturer-Specific PIDs 0x8000-
225  0xFFDF
226  ESTA Reserved Future RDM Development
227  0xFFE0-
228  0xFFFF
229 */
230 
231 /*****************************************************************/
232 /* Discovery Mute/Un-Mute Messages Control Field. See Table 7-3. */
233 /*****************************************************************/
234 #define E120_CONTROL_PROXIED_DEVICE 0x0008
235 #define E120_CONTROL_BOOT_LOADER 0x0004
236 #define E120_CONTROL_SUB_DEVICE 0x0002
237 #define E120_CONTROL_MANAGED_PROXY 0x0001
238 
239 /********************************************************/
240 /* Table A-4: Status Type Defines */
241 /********************************************************/
242 #define E120_STATUS_NONE \
243  0x00 /* Not allowed for use with GET: QUEUED_MESSAGE */
244 #define E120_STATUS_GET_LAST_MESSAGE 0x01
245 #define E120_STATUS_ADVISORY 0x02
246 #define E120_STATUS_WARNING 0x03
247 #define E120_STATUS_ERROR 0x04
248 #define E120_STATUS_ADVISORY_CLEARED \
249  0x12 /* Added in E1.20-2010 version */
250 #define E120_STATUS_WARNING_CLEARED \
251  0x13 /* Added in E1.20-2010 version */
252 #define E120_STATUS_ERROR_CLEARED \
253  0x14 /* Added in E1.20-2010 version */
254 
255 /********************************************************/
256 /* Table A-5: Product Category Defines */
257 /********************************************************/
258 #define E120_PRODUCT_CATEGORY_NOT_DECLARED 0x0000
259 
260 /* Fixtures - intended as source of illumination See Note 1 */
261 #define E120_PRODUCT_CATEGORY_FIXTURE \
262  0x0100 /* No Fine Category declared */
263 #define E120_PRODUCT_CATEGORY_FIXTURE_FIXED \
264  0x0101 /* No pan / tilt / focus style functions */
265 #define E120_PRODUCT_CATEGORY_FIXTURE_MOVING_YOKE 0x0102
266 #define E120_PRODUCT_CATEGORY_FIXTURE_MOVING_MIRROR 0x0103
267 #define E120_PRODUCT_CATEGORY_FIXTURE_OTHER \
268  0x01FF /* For example, focus but no pan/tilt. */
269 
270 /* Fixture Accessories - add-ons to fixtures or projectors */
271 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY \
272  0x0200 /* No Fine Category declared. */
273 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_COLOR \
274  0x0201 /* Scrollers / Color Changers */
275 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_YOKE \
276  0x0202 /* Yoke add-on */
277 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_MIRROR \
278  0x0203 /* Moving mirror add-on */
279 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_EFFECT \
280  0x0204 /* Effects Discs */
281 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_BEAM \
282  0x0205 /* Gobo Rotators /Iris / Shutters / Dousers/ Beam modifiers. */
283 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_OTHER 0x02FF
284 
285 /* Projectors - light source capable of producing realistic images from another
286  * media i.e Video / Slide / Oil Wheel / Film */
287 #define E120_PRODUCT_CATEGORY_PROJECTOR \
288  0x0300 /* No Fine Category declared. */
289 #define E120_PRODUCT_CATEGORY_PROJECTOR_FIXED \
290  0x0301 /* No pan / tilt functions. */
291 #define E120_PRODUCT_CATEGORY_PROJECTOR_MOVING_YOKE 0x0302
292 #define E120_PRODUCT_CATEGORY_PROJECTOR_MOVING_MIRROR 0x0303
293 #define E120_PRODUCT_CATEGORY_PROJECTOR_OTHER 0x03FF
294 
295 /* Atmospheric Effect - earth/wind/fire */
296 #define E120_PRODUCT_CATEGORY_ATMOSPHERIC \
297  0x0400 /* No Fine Category declared. */
298 #define E120_PRODUCT_CATEGORY_ATMOSPHERIC_EFFECT \
299  0x0401 /* Fogger / Hazer / Flame, etc. */
300 #define E120_PRODUCT_CATEGORY_ATMOSPHERIC_PYRO \
301  0x0402 /* See Note 2. */
302 #define E120_PRODUCT_CATEGORY_ATMOSPHERIC_OTHER 0x04FF
303 
304 /* Intensity Control (specifically Dimming equipment) */
305 #define E120_PRODUCT_CATEGORY_DIMMER \
306  0x0500 /* No Fine Category declared. */
307 #define E120_PRODUCT_CATEGORY_DIMMER_AC_INCANDESCENT \
308  0x0501 /* AC > 50VAC */
309 #define E120_PRODUCT_CATEGORY_DIMMER_AC_FLUORESCENT 0x0502
310 #define E120_PRODUCT_CATEGORY_DIMMER_AC_COLDCATHODE \
311  0x0503 /* High Voltage outputs such as Neon or other cold cathode. */
312 #define E120_PRODUCT_CATEGORY_DIMMER_AC_NONDIM \
313  0x0504 /* Non-Dim module in dimmer rack. */
314 #define E120_PRODUCT_CATEGORY_DIMMER_AC_ELV \
315  0x0505 /* AC <= 50V such as 12/24V AC Low voltage lamps. */
316 #define E120_PRODUCT_CATEGORY_DIMMER_AC_OTHER 0x0506
317 #define E120_PRODUCT_CATEGORY_DIMMER_DC_LEVEL \
318  0x0507 /* Variable DC level output. */
319 #define E120_PRODUCT_CATEGORY_DIMMER_DC_PWM \
320  0x0508 /* Chopped (PWM) output. */
321 #define E120_PRODUCT_CATEGORY_DIMMER_CS_LED \
322  0x0509 /* Specialized LED dimmer. */
323 #define E120_PRODUCT_CATEGORY_DIMMER_OTHER 0x05FF
324 
325 /* Power Control (other than Dimming equipment) */
326 #define E120_PRODUCT_CATEGORY_POWER \
327  0x0600 /* No Fine Category declared. */
328 #define E120_PRODUCT_CATEGORY_POWER_CONTROL \
329  0x0601 /* Contactor racks, other forms of Power Controllers. */
330 #define E120_PRODUCT_CATEGORY_POWER_SOURCE \
331  0x0602 /* Generators */
332 #define E120_PRODUCT_CATEGORY_POWER_OTHER 0x06FF
333 
334 /* Scenic Drive - including motorized effects unrelated to light source. */
335 #define E120_PRODUCT_CATEGORY_SCENIC \
336  0x0700 /* No Fine Category declared */
337 #define E120_PRODUCT_CATEGORY_SCENIC_DRIVE \
338  0x0701 /* Rotators / Kabuki drops, etc. See Note 2. */
339 #define E120_PRODUCT_CATEGORY_SCENIC_OTHER 0x07FF
340 
341 /* DMX Infrastructure, conversion and interfaces */
342 #define E120_PRODUCT_CATEGORY_DATA \
343  0x0800 /* No Fine Category declared. */
344 #define E120_PRODUCT_CATEGORY_DATA_DISTRIBUTION \
345  0x0801 /* Splitters/repeaters/Ethernet products used to distribute DMX*/
346 #define E120_PRODUCT_CATEGORY_DATA_CONVERSION \
347  0x0802 /* Protocol Conversion analog decoders. */
348 #define E120_PRODUCT_CATEGORY_DATA_OTHER 0x08FF
349 
350 /* Audio-Visual Equipment */
351 #define E120_PRODUCT_CATEGORY_AV \
352  0x0900 /* No Fine Category declared. */
353 #define E120_PRODUCT_CATEGORY_AV_AUDIO \
354  0x0901 /* Audio controller or device. */
355 #define E120_PRODUCT_CATEGORY_AV_VIDEO \
356  0x0902 /* Video controller or display device. */
357 #define E120_PRODUCT_CATEGORY_AV_OTHER 0x09FF
358 
359 /* Parameter Monitoring Equipment See Note 3. */
360 #define E120_PRODUCT_CATEGORY_MONITOR \
361  0x0A00 /* No Fine Category declared. */
362 #define E120_PRODUCT_CATEGORY_MONITOR_ACLINEPOWER \
363  0x0A01 /* Product that monitors AC line voltage, current or power. */
364 #define E120_PRODUCT_CATEGORY_MONITOR_DCPOWER \
365  0x0A02 /* Product that monitors DC line voltage, current or power. */
366 #define E120_PRODUCT_CATEGORY_MONITOR_ENVIRONMENTAL \
367  0x0A03 /* Temperature or other environmental parameter. */
368 #define E120_PRODUCT_CATEGORY_MONITOR_OTHER 0x0AFF
369 
370 /* Controllers, Backup devices */
371 #define E120_PRODUCT_CATEGORY_CONTROL \
372  0x7000 /* No Fine Category declared. */
373 #define E120_PRODUCT_CATEGORY_CONTROL_CONTROLLER 0x7001
374 #define E120_PRODUCT_CATEGORY_CONTROL_BACKUPDEVICE 0x7002
375 #define E120_PRODUCT_CATEGORY_CONTROL_OTHER 0x70FF
376 
377 /* Test Equipment */
378 #define E120_PRODUCT_CATEGORY_TEST \
379  0x7100 /* No Fine Category declared. */
380 #define E120_PRODUCT_CATEGORY_TEST_EQUIPMENT 0x7101
381 #define E120_PRODUCT_CATEGORY_TEST_EQUIPMENT_OTHER 0x71FF
382 
383 /* Miscellaneous */
384 #define E120_PRODUCT_CATEGORY_OTHER \
385  0x7FFF /* For devices that aren't described within this table. */
386 
387 /* Manufacturer Specific Categories 0x8000 -
388  0xDFFF */
389 
390 /********************************************************/
391 /* Table A-6: Product Detail Defines */
392 /********************************************************/
393 
394 #define E120_PRODUCT_DETAIL_NOT_DECLARED 0x0000
395 
396 /* Generally applied to fixtures */
397 #define E120_PRODUCT_DETAIL_ARC 0x0001
398 #define E120_PRODUCT_DETAIL_METAL_HALIDE 0x0002
399 #define E120_PRODUCT_DETAIL_INCANDESCENT 0x0003
400 #define E120_PRODUCT_DETAIL_LED 0x0004
401 #define E120_PRODUCT_DETAIL_FLUROESCENT 0x0005
402 #define E120_PRODUCT_DETAIL_COLDCATHODE \
403  0x0006 /*includes Neon/Argon */
404 #define E120_PRODUCT_DETAIL_ELECTROLUMINESCENT 0x0007
405 #define E120_PRODUCT_DETAIL_LASER 0x0008
406 #define E120_PRODUCT_DETAIL_FLASHTUBE \
407  0x0009 /* Strobes or other flashtubes */
408 
409 /* Generally applied to fixture accessories */
410 #define E120_PRODUCT_DETAIL_COLORSCROLLER 0x0100
411 #define E120_PRODUCT_DETAIL_COLORWHEEL 0x0101
412 #define E120_PRODUCT_DETAIL_COLORCHANGE \
413  0x0102 /* Semaphore or other type */
414 #define E120_PRODUCT_DETAIL_IRIS_DOUSER 0x0103
415 #define E120_PRODUCT_DETAIL_DIMMING_SHUTTER 0x0104
416 #define E120_PRODUCT_DETAIL_PROFILE_SHUTTER \
417  0x0105 /* hard-edge beam masking */
418 #define E120_PRODUCT_DETAIL_BARNDOOR_SHUTTER \
419  0x0106 /* soft-edge beam masking */
420 #define E120_PRODUCT_DETAIL_EFFECTS_DISC 0x0107
421 #define E120_PRODUCT_DETAIL_GOBO_ROTATOR 0x0108
422 
423 /* Generally applied to Projectors */
424 #define E120_PRODUCT_DETAIL_VIDEO 0x0200
425 #define E120_PRODUCT_DETAIL_SLIDE 0x0201
426 #define E120_PRODUCT_DETAIL_FILM 0x0202
427 #define E120_PRODUCT_DETAIL_OILWHEEL 0x0203
428 #define E120_PRODUCT_DETAIL_LCDGATE 0x0204
429 
430 /* Generally applied to Atmospheric Effects */
431 #define E120_PRODUCT_DETAIL_FOGGER_GLYCOL \
432  0x0300 /* Glycol/Glycerin hazer */
433 #define E120_PRODUCT_DETAIL_FOGGER_MINERALOIL \
434  0x0301 /* White Mineral oil hazer */
435 #define E120_PRODUCT_DETAIL_FOGGER_WATER \
436  0x0302 /* Water hazer */
437 #define E120_PRODUCT_DETAIL_C02 \
438  0x0303 /* Dry Ice/Carbon Dioxide based */
439 #define E120_PRODUCT_DETAIL_LN2 \
440  0x0304 /* Nitrogen based */
441 #define E120_PRODUCT_DETAIL_BUBBLE \
442  0x0305 /* including foam */
443 #define E120_PRODUCT_DETAIL_FLAME_PROPANE 0x0306
444 #define E120_PRODUCT_DETAIL_FLAME_OTHER 0x0307
445 #define E120_PRODUCT_DETAIL_OLEFACTORY_STIMULATOR \
446  0x0308 /* Scents */
447 #define E120_PRODUCT_DETAIL_SNOW 0x0309
448 #define E120_PRODUCT_DETAIL_WATER_JET \
449  0x030A /* Fountain controls etc */
450 #define E120_PRODUCT_DETAIL_WIND \
451  0x030B /* Air Mover */
452 #define E120_PRODUCT_DETAIL_CONFETTI 0x030C
453 #define E120_PRODUCT_DETAIL_HAZARD \
454  0x030D /* Any form of pyrotechnic control or device. */
455 
456 /* Generally applied to Dimmers/Power controllers See Note 1 */
457 #define E120_PRODUCT_DETAIL_PHASE_CONTROL 0x0400
458 #define E120_PRODUCT_DETAIL_REVERSE_PHASE_CONTROL \
459  0x0401 /* includes FET/IGBT */
460 #define E120_PRODUCT_DETAIL_SINE 0x0402
461 #define E120_PRODUCT_DETAIL_PWM 0x0403
462 #define E120_PRODUCT_DETAIL_DC \
463  0x0404 /* Variable voltage */
464 #define E120_PRODUCT_DETAIL_HFBALLAST \
465  0x0405 /* for Fluroescent */
466 #define E120_PRODUCT_DETAIL_HFHV_NEONBALLAST \
467  0x0406 /* for Neon/Argon and other coldcathode. */
468 #define E120_PRODUCT_DETAIL_HFHV_EL \
469  0x0407 /* for Electroluminscent */
470 #define E120_PRODUCT_DETAIL_MHR_BALLAST \
471  0x0408 /* for Metal Halide */
472 #define E120_PRODUCT_DETAIL_BITANGLE_MODULATION 0x0409
473 #define E120_PRODUCT_DETAIL_FREQUENCY_MODULATION 0x040A
474 #define E120_PRODUCT_DETAIL_HIGHFREQUENCY_12V \
475  0x040B /* as commonly used with MR16 lamps */
476 #define E120_PRODUCT_DETAIL_RELAY_MECHANICAL \
477  0x040C /* See Note 1 */
478 #define E120_PRODUCT_DETAIL_RELAY_ELECTRONIC \
479  0x040D /* See Note 1, Note 2 */
480 #define E120_PRODUCT_DETAIL_SWITCH_ELECTRONIC \
481  0x040E /* See Note 1, Note 2 */
482 #define E120_PRODUCT_DETAIL_CONTACTOR \
483  0x040F /* See Note 1 */
484 
485 /* Generally applied to Scenic drive */
486 #define E120_PRODUCT_DETAIL_MIRRORBALL_ROTATOR 0x0500
487 #define E120_PRODUCT_DETAIL_OTHER_ROTATOR \
488  0x0501 /* includes turntables */
489 #define E120_PRODUCT_DETAIL_KABUKI_DROP 0x0502
490 #define E120_PRODUCT_DETAIL_CURTAIN \
491  0x0503 /* flown or traveller */
492 #define E120_PRODUCT_DETAIL_LINESET 0x0504
493 #define E120_PRODUCT_DETAIL_MOTOR_CONTROL 0x0505
494 #define E120_PRODUCT_DETAIL_DAMPER_CONTROL \
495  0x0506 /* HVAC Damper */
496 
497 /* Generally applied to Data Distribution */
498 #define E120_PRODUCT_DETAIL_SPLITTER \
499  0x0600 /* Includes buffers/repeaters */
500 #define E120_PRODUCT_DETAIL_ETHERNET_NODE \
501  0x0601 /* DMX512 to/from Ethernet */
502 #define E120_PRODUCT_DETAIL_MERGE \
503  0x0602 /* DMX512 combiner */
504 #define E120_PRODUCT_DETAIL_DATAPATCH \
505  0x0603 /* Electronic Datalink Patch */
506 #define E120_PRODUCT_DETAIL_WIRELESS_LINK \
507  0x0604 /* radio/infrared */
508 
509 /* Generally applied to Data Conversion and Interfaces */
510 #define E120_PRODUCT_DETAIL_PROTOCOL_CONVERTOR \
511  0x0701 /* D54/AMX192/Non DMX serial links, etc to/from DMX512 */
512 #define E120_PRODUCT_DETAIL_ANALOG_DEMULTIPLEX \
513  0x0702 /* DMX to DC voltage */
514 #define E120_PRODUCT_DETAIL_ANALOG_MULTIPLEX \
515  0x0703 /* DC Voltage to DMX */
516 #define E120_PRODUCT_DETAIL_SWITCH_PANEL \
517  0x0704 /* Pushbuttons to DMX or polled using RDM */
518 
519 /* Generally applied to Audio or Video (AV) devices */
520 #define E120_PRODUCT_DETAIL_ROUTER \
521  0x0800 /* Switching device */
522 #define E120_PRODUCT_DETAIL_FADER \
523  0x0801 /* Single channel */
524 #define E120_PRODUCT_DETAIL_MIXER \
525  0x0802 /* Multi-channel */
526 
527 /* Generally applied to Controllers, Backup devices and Test Equipment */
528 #define E120_PRODUCT_DETAIL_CHANGEOVER_MANUAL \
529  0x0900 /* requires manual intervention to assume control of DMX line */
530 #define E120_PRODUCT_DETAIL_CHANGEOVER_AUTO \
531  0x0901 /* may automatically assume control of DMX line */
532 #define E120_PRODUCT_DETAIL_TEST \
533  0x0902 /* test equipment */
534 
535 /* Could be applied to any category */
536 #define E120_PRODUCT_DETAIL_GFI_RCD \
537  0x0A00 /* device includes GFI/RCD trip */
538 #define E120_PRODUCT_DETAIL_BATTERY \
539  0x0A01 /* device is battery operated */
540 #define E120_PRODUCT_DETAIL_CONTROLLABLE_BREAKER 0x0A02
541 
542 #define E120_PRODUCT_DETAIL_OTHER \
543  0x7FFF /* for use where the Manufacturer believes that none of the \
544  defined details apply. */
545 /* Manufacturer Specific Types 0x8000-
546  0xDFFF */
547 
548 /* Note 1: Products intended for switching 50V AC / 120V DC or greater should
549  be declared with a Product Category of PRODUCT_CATEGORY_POWER_CONTROL.
550 
551  Products only suitable for extra low voltage switching (typically up
552  to 50VAC / 30VDC) at currents less than 1 ampere should be declared with a
553  Product Category of PRODUCT_CATEGORY_DATA_CONVERSION.
554 
555  Please refer to GET: DEVICE_INFO and Table A-5 for an explanation of
556  Product Category declaration. Note 2: Products with TTL, MOSFET or Open
557  Collector Transistor Outputs or similar non-isolated electronic outputs
558  should be declared as PRODUCT_DETAIL_SWITCH_ELECTRONIC. Use of
559  PRODUCT_DETAIL_RELAY_ELECTRONIC shall be restricted to devices whereby the
560  switched circuits are electrically isolated from the control signals. */
561 
562 /********************************************************/
563 /* Table A-7: Preset Playback Defines */
564 /********************************************************/
565 
566 #define E120_PRESET_PLAYBACK_OFF \
567  0x0000 /* Returns to Normal DMX512 Input */
568 #define E120_PRESET_PLAYBACK_ALL \
569  0xFFFF /* Plays Scenes in Sequence if supported. */
570 /* E120_PRESET_PLAYBACK_SCENE 0x0001-
571  0xFFFE Plays
572  individual Scene # */
573 
574 /********************************************************/
575 /* Table A-8: Lamp State Defines */
576 /********************************************************/
577 
578 #define E120_LAMP_OFF \
579  0x00 /* No demonstrable light output */
580 #define E120_LAMP_ON 0x01
581 #define E120_LAMP_STRIKE \
582  0x02 /* Arc-Lamp ignite */
583 #define E120_LAMP_STANDBY \
584  0x03 /* Arc-Lamp Reduced Power Mode */
585 #define E120_LAMP_NOT_PRESENT \
586  0x04 /* Lamp not installed */
587 #define E120_LAMP_ERROR 0x7F
588 /* Manufacturer-Specific States 0x80-
589  0xDF */
590 
591 /********************************************************/
592 /* Table A-9: Lamp On Mode Defines */
593 /********************************************************/
594 
595 #define E120_LAMP_ON_MODE_OFF \
596  0x00 /* Lamp Stays off until directly instructed to Strike. */
597 #define E120_LAMP_ON_MODE_DMX \
598  0x01 /* Lamp Strikes upon receiving a DMX512 signal. */
599 #define E120_LAMP_ON_MODE_ON \
600  0x02 /* Lamp Strikes automatically at Power-up. */
601 #define E120_LAMP_ON_MODE_AFTER_CAL \
602  0x03 /* Lamp Strikes after Calibration or Homing procedure. */
603 /* Manufacturer-Specific Modes 0x80-
604  0xDF */
605 
606 /********************************************************/
607 /* Table A-10: Self Test Defines */
608 /********************************************************/
609 
610 #define E120_SELF_TEST_OFF \
611  0x00 /* Turns Self Tests Off */
612 /* Manufacturer Tests 0x01-
613  0xFE Various
614  Manufacturer Self Tests */
615 #define E120_SELF_TEST_ALL \
616  0xFF /* Self Test All, if applicable */
617 
618 /********************************************************/
619 /* Table A-11: Power State Defines */
620 /********************************************************/
621 
622 #define E120_POWER_STATE_FULL_OFF \
623  0x00 /* Completely disengages power to device. Device can no longer \
624  respond. */
625 #define E120_POWER_STATE_SHUTDOWN \
626  0x01 /* Reduced power mode, may require device reset to return to \
627  normal operation. Device still responds to messages. */
628 #define E120_POWER_STATE_STANDBY \
629  0x02 /* Reduced power mode. Device can return to NORMAL without a \
630  reset. Device still responds to messages. */
631 #define E120_POWER_STATE_NORMAL \
632  0xFF /* Normal Operating Mode. */
633 
634 /********************************************************/
635 /* Table A-12: Sensor Type Defines */
636 /********************************************************/
637 
638 #define E120_SENS_TEMPERATURE 0x00
639 #define E120_SENS_VOLTAGE 0x01
640 #define E120_SENS_CURRENT 0x02
641 #define E120_SENS_FREQUENCY 0x03
642 #define E120_SENS_RESISTANCE \
643  0x04 /* Eg: Cable resistance */
644 #define E120_SENS_POWER 0x05
645 #define E120_SENS_MASS \
646  0x06 /* Eg: Truss load Cell */
647 #define E120_SENS_LENGTH 0x07
648 #define E120_SENS_AREA 0x08
649 #define E120_SENS_VOLUME \
650  0x09 /* Eg: Smoke Fluid */
651 #define E120_SENS_DENSITY 0x0A
652 #define E120_SENS_VELOCITY 0x0B
653 #define E120_SENS_ACCELERATION 0x0C
654 #define E120_SENS_FORCE 0x0D
655 #define E120_SENS_ENERGY 0x0E
656 #define E120_SENS_PRESSURE 0x0F
657 #define E120_SENS_TIME 0x10
658 #define E120_SENS_ANGLE 0x11
659 #define E120_SENS_POSITION_X \
660  0x12 /* E.g.: Lamp position on Truss */
661 #define E120_SENS_POSITION_Y 0x13
662 #define E120_SENS_POSITION_Z 0x14
663 #define E120_SENS_ANGULAR_VELOCITY \
664  0x15 /* E.g.: Wind speed */
665 #define E120_SENS_LUMINOUS_INTENSITY 0x16
666 #define E120_SENS_LUMINOUS_FLUX 0x17
667 #define E120_SENS_ILLUMINANCE 0x18
668 #define E120_SENS_CHROMINANCE_RED 0x19
669 #define E120_SENS_CHROMINANCE_GREEN 0x1A
670 #define E120_SENS_CHROMINANCE_BLUE 0x1B
671 #define E120_SENS_CONTACTS \
672  0x1C /* E.g.: Switch inputs. */
673 #define E120_SENS_MEMORY \
674  0x1D /* E.g.: ROM Size */
675 #define E120_SENS_ITEMS \
676  0x1E /* E.g.: Scroller gel frames. */
677 #define E120_SENS_HUMIDITY 0x1F
678 #define E120_SENS_COUNTER_16BIT 0x20
679 #define E120_SENS_OTHER 0x7F
680 /* Manufacturer-Specific Sensors 0x80-
681  0xFF */
682 
683 /********************************************************/
684 /* Table A-13: Sensor Unit Defines */
685 /********************************************************/
686 
687 #define E120_UNITS_NONE \
688  0x00 /* CONTACTS */
689 #define E120_UNITS_CENTIGRADE \
690  0x01 /* TEMPERATURE */
691 #define E120_UNITS_VOLTS_DC \
692  0x02 /* VOLTAGE */
693 #define E120_UNITS_VOLTS_AC_PEAK \
694  0x03 /* VOLTAGE */
695 #define E120_UNITS_VOLTS_AC_RMS \
696  0x04 /* VOLTAGE */
697 #define E120_UNITS_AMPERE_DC \
698  0x05 /* CURRENT */
699 #define E120_UNITS_AMPERE_AC_PEAK \
700  0x06 /* CURRENT */
701 #define E120_UNITS_AMPERE_AC_RMS \
702  0x07 /* CURRENT */
703 #define E120_UNITS_HERTZ \
704  0x08 /* FREQUENCY / ANG_VEL */
705 #define E120_UNITS_OHM \
706  0x09 /* RESISTANCE */
707 #define E120_UNITS_WATT \
708  0x0A /* POWER */
709 #define E120_UNITS_KILOGRAM \
710  0x0B /* MASS */
711 #define E120_UNITS_METERS \
712  0x0C /* LENGTH / POSITION */
713 #define E120_UNITS_METERS_SQUARED \
714  0x0D /* AREA */
715 #define E120_UNITS_METERS_CUBED \
716  0x0E /* VOLUME */
717 #define E120_UNITS_KILOGRAMMES_PER_METER_CUBED \
718  0x0F /* DENSITY */
719 #define E120_UNITS_METERS_PER_SECOND \
720  0x10 /* VELOCITY */
721 #define E120_UNITS_METERS_PER_SECOND_SQUARED \
722  0x11 /* ACCELERATION */
723 #define E120_UNITS_NEWTON \
724  0x12 /* FORCE */
725 #define E120_UNITS_JOULE \
726  0x13 /* ENERGY */
727 #define E120_UNITS_PASCAL \
728  0x14 /* PRESSURE */
729 #define E120_UNITS_SECOND \
730  0x15 /* TIME */
731 #define E120_UNITS_DEGREE \
732  0x16 /* ANGLE */
733 #define E120_UNITS_STERADIAN \
734  0x17 /* ANGLE */
735 #define E120_UNITS_CANDELA \
736  0x18 /* LUMINOUS_INTENSITY */
737 #define E120_UNITS_LUMEN \
738  0x19 /* LUMINOUS_FLUX */
739 #define E120_UNITS_LUX \
740  0x1A /* ILLUMINANCE */
741 #define E120_UNITS_IRE \
742  0x1B /* CHROMINANCE */
743 #define E120_UNITS_BYTE \
744  0x1C /* MEMORY */
745 /* Manufacturer-Specific Units 0x80-
746  0xFF */
747 
748 /********************************************************/
749 /* Table A-14: Sensor Unit Prefix Defines */
750 /********************************************************/
751 
752 #define E120_PREFIX_NONE \
753  0x00 /* Multiply by 1 */
754 #define E120_PREFIX_DECI \
755  0x01 /* Multiply by 10-1 */
756 #define E120_PREFIX_CENTI \
757  0x02 /* Multiply by 10-2 */
758 #define E120_PREFIX_MILLI \
759  0x03 /* Multiply by 10-3 */
760 #define E120_PREFIX_MICRO \
761  0x04 /* Multiply by 10-6 */
762 #define E120_PREFIX_NANO \
763  0x05 /* Multiply by 10-9 */
764 #define E120_PREFIX_PICO \
765  0x06 /* Multiply by 10-12 */
766 #define E120_PREFIX_FEMPTO \
767  0x07 /* Multiply by 10-15 */
768 #define E120_PREFIX_ATTO \
769  0x08 /* Multiply by 10-18 */
770 #define E120_PREFIX_ZEPTO \
771  0x09 /* Multiply by 10-21 */
772 #define E120_PREFIX_YOCTO \
773  0x0A /* Multiply by 10-24 */
774 #define E120_PREFIX_DECA \
775  0x11 /* Multiply by 10+1 */
776 #define E120_PREFIX_HECTO \
777  0x12 /* Multiply by 10+2 */
778 #define E120_PREFIX_KILO \
779  0x13 /* Multiply by 10+3 */
780 #define E120_PREFIX_MEGA \
781  0x14 /* Multiply by 10+6 */
782 #define E120_PREFIX_GIGA \
783  0x15 /* Multiply by 10+9 */
784 #define E120_PREFIX_TERRA \
785  0x16 /* Multiply by 10+12 */
786 #define E120_PREFIX_PETA \
787  0x17 /* Multiply by 10+15 */
788 #define E120_PREFIX_EXA \
789  0x18 /* Multiply by 10+18 */
790 #define E120_PREFIX_ZETTA \
791  0x19 /* Multiply by 10+21 */
792 #define E120_PREFIX_YOTTA \
793  0x1A /* Multiply by 10+24 */
794 
795 /********************************************************/
796 /* Table A-15: Data Type Defines */
797 /********************************************************/
798 
799 #define E120_DS_NOT_DEFINED \
800  0x00 /* Data type is not defined */
801 #define E120_DS_BIT_FIELD \
802  0x01 /* Data is bit packed */
803 #define E120_DS_ASCII \
804  0x02 /* Data is a string */
805 #define E120_DS_UNSIGNED_BYTE \
806  0x03 /* Data is an array of unsigned bytes */
807 #define E120_DS_SIGNED_BYTE \
808  0x04 /* Data is an array of signed bytes */
809 #define E120_DS_UNSIGNED_WORD \
810  0x05 /* Data is an array of unsigned 16-bit words */
811 #define E120_DS_SIGNED_WORD \
812  0x06 /* Data is an array of signed 16-bit words */
813 #define E120_DS_UNSIGNED_DWORD \
814  0x07 /* Data is an array of unsigned 32-bit words */
815 #define E120_DS_SIGNED_DWORD \
816  0x08 /* Data is an array of signed 32-bit words */
817 /* Manufacturer-Specific Data Types 0x80- */
818 /* 0xDF */
819 
820 /********************************************************/
821 /* Table A-16: Parameter Desc. Command Class Defines */
822 /********************************************************/
823 
824 #define E120_CC_GET \
825  0x01 /* PID supports GET only */
826 #define E120_CC_SET \
827  0x02 /* PID supports SET only */
828 #define E120_CC_GET_SET \
829  0x03 /* PID supports GET & SET */
830 
831 /********************************************************/
832 /* Table A-17: Response NACK Reason Code Defines */
833 /********************************************************/
834 
835 #define E120_NR_UNKNOWN_PID \
836  0x0000 /* The responder cannot comply with request because the message \
837  is not implemented in responder. */
838 #define E120_NR_FORMAT_ERROR \
839  0x0001 /* The responder cannot interpret request as controller data \
840  was not formatted correctly. */
841 #define E120_NR_HARDWARE_FAULT \
842  0x0002 /* The responder cannot comply due to an internal hardware fault*/
843 #define E120_NR_PROXY_REJECT \
844  0x0003 /* Proxy is not the RDM line master and cannot comply with \
845  message.*/
846 #define E120_NR_WRITE_PROTECT \
847  0x0004 /* SET Command normally allowed but being blocked currently. */
848 #define E120_NR_UNSUPPORTED_COMMAND_CLASS \
849  0x0005 /* Not valid for Command Class attempted. May be used where \
850  GET allowed but SET is not supported. */
851 #define E120_NR_DATA_OUT_OF_RANGE \
852  0x0006 /* Value for given Parameter out of allowable range or \
853  not supported. */
854 #define E120_NR_BUFFER_FULL \
855  0x0007 /* Buffer or Queue space currently has no free space to store data. \
856  */
857 #define E120_NR_PACKET_SIZE_UNSUPPORTED \
858  0x0008 /* Incoming message exceeds buffer capacity. */
859 #define E120_NR_SUB_DEVICE_OUT_OF_RANGE \
860  0x0009 /* Sub-Device is out of range or unknown. */
861 #define E120_NR_PROXY_BUFFER_FULL \
862  0x000A /* Proxy buffer is full and can not store any more Queued */
863  /* Message or Status Message responses. */
864 #define E137_2_NR_ACTION_NOT_SUPPORTED \
865  0x000B /* The parameter data is valid but the SET operation cannot be */
866  /* performed with the current configuration. */
867 
868 /********************************************************************************************************************************/
869 /********************************************************************************************************************************/
870 /* ANSI E1.37-1 DEFINES */
871 /********************************************************************************************************************************/
872 /********************************************************************************************************************************/
873 
874 /********************************************************/
875 /* E1.37-1 Table A-2: Preset Programmed Defines */
876 /********************************************************/
877 #define E137_1_PRESET_NOT_PROGRAMMED \
878  0x00 /* Preset Scene not programmed. */
879 #define E137_1_PRESET_PROGRAMMED \
880  0x01 /* Preset Scene programmed. */
881 #define E137_1_PRESET_PROGRAMMED_READ_ONLY \
882  0x02 /* Preset Scene read-only, factory programmed. */
883 
884 /********************************************************/
885 /* E1.37-1 Table A-3: Merge Mode Defines */
886 /********************************************************/
887 #define E137_1_MERGEMODE_DEFAULT \
888  0x00 /* Preset overrides DMX512 default behavior as defined in */
889  /* E1.20 PRESET_PLAYBACK */
890 #define E137_1_MERGEMODE_HTP \
891  0x01 /* Highest Takes Precedence on slot by slot basis */
892 #define E137_1_MERGEMODE_LTP \
893  0x02 /* Latest Takes Precedence from Preset or DMX512 on slot by slot */
894 #define E137_1_MERGEMODE_DMX_ONLY \
895  0x03 /* DMX512 only, Preset ignored */
896 #define E137_1_MERGEMODE_OTHER \
897  0xFF /* Other (undefined) merge mode */
898 
899 /********************************************************************************************************************************/
900 /********************************************************************************************************************************/
901 /* ANSI E1.37-2 DEFINES */
902 /********************************************************************************************************************************/
903 /********************************************************************************************************************************/
904 
905 /********************************************************/
906 /* E1.37-2 Table A-3: DHCP Mode Defines */
907 /********************************************************/
908 #define E137_2_DHCP_MODE_INACTIVE \
909  0x00 /* IP Address was not obtained via DHCP */
910 #define E137_2_DHCP_MODE_ACTIVE \
911  0x01 /* IP Address was obtained via DHCP */
912 #define E137_2_DHCP_MODE_UNKNOWN \
913  0x02 /* The system cannot determine if address was obtained via DHCP. */
914 
915 #define E137_2_IPV4_UNCONFIGURED 0x00000000
916 #define E137_2_NO_DEFAULT_ROUTE 0x00000000
917 
918 /********************************************************************************************************************************/
919 /********************************************************************************************************************************/
920 /* BSR E1.37-7 DEFINES */
921 /********************************************************************************************************************************/
922 /********************************************************************************************************************************/
923 
924 /********************************************************/
925 /* E1.37-7 Table A-1: RDM Parameter ID Defines */
926 /********************************************************/
927 #define E137_7_ENDPOINT_LIST 0x7FD3
928 #define E137_7_ENDPOINT_LIST_CHANGE 0x7FEE
929 #define E137_7_IDENTIFY_ENDPOINT 0x7FE9
930 #define E137_7_ENDPOINT_TO_UNIVERSE 0x7FE1
931 #define E137_7_RDM_TRAFFIC_ENABLE 0x7FE2
932 #define E137_7_ENDPOINT_MODE 0x7FE3
933 #define E137_7_ENDPOINT_LABEL 0x7FE4
934 #define E137_7_DISCOVERY_STATE 0x7FE5
935 #define E137_7_BACKGROUND_DISCOVERY 0x7FEA
936 #define E137_7_ENDPOINT_TIMING 0x7FE6
937 #define E137_7_ENDPOINT_TIMING_DESCRIPTION 0x7FE7
938 #define E137_7_ENDPOINT_RESPONDER_LIST_CHANGE 0x7FEB
939 #define E137_7_ENDPOINT_RESPONDERS 0x7FEC
940 #define E137_7_BINDING_AND_CONTROL_FIELDS 0x7FE8
941 #define E137_7_BACKGROUND_QUEUED_STATUS_POLICY 0x7FD0
942 #define E137_7_BACKGROUND_QUEUED_STATUS_POLICY_DESCRIPTION 0x7FD1
943 
944 /********************************************************/
945 /* E1.37-7 Table A-2: Discovery State Defines */
946 /********************************************************/
947 #define E137_7_DISCOVERY_INCOMPLETE 0x00
948 #define E137_7_DISCOVERY_INCREMENTAL 0x01
949 #define E137_7_DISCOVERY_FULL 0x02
950 #define E137_7_DISCOVERY_NOT_ACTIVE 0x04
951 
952 /********************************************************/
953 /* Table A-11: Endpoint Mode Defines */
954 /********************************************************/
955 #define E137_7_ENDPOINT_MODE_DISABLED 0x00
956 #define E137_7_ENDPOINT_MODE_INPUT 0x01
957 #define E137_7_ENDPOINT_MODE_OUTPUT 0x02
958 
959 /********************************************************/
960 /* E1.37-7 Table A-5: Endpoint Types */
961 /********************************************************/
962 #define E137_7_ENDPOINT_TYPE_VIRTUAL 0x00
963 #define E137_7_ENDPOINT_TYPE_PHYSICAL 0x01
964 
965 /********************************************************/
966 /* Table A-12: Additional Reponse NACK Reason Codes */
967 /********************************************************/
968 #define E137_7_NR_ACTION_NOT_SUPPORTED \
969  0x000B /* The specified action is not supported. */
970 #define E137_7_NR_ENDPOINT_NUMBER_INVALID \
971  0x000C /* The specified endpoint is invalid. */
972 #define E137_7_NR_INVALID_ENDPOINT_MODE 0x000D
973 #define E137_7_NR_UNKNOWN_UID 0x000E