DMX512, RDM send/recv library http://mbed.org/users/okini3939/notebook/dmx512
Dependents: dmx_test ArtNodeLED SPK-DVIMXR SPK-DMXer ... more
RDM.h
00001 /*****************************************************************/ 00002 /* Entertainment Services Technology Association (ESTA) */ 00003 /* ANSI E1.20 Remote Device Management (RDM) over DMX512 Networks*/ 00004 /*****************************************************************/ 00005 /* */ 00006 /* RDM.h */ 00007 /* */ 00008 /*****************************************************************/ 00009 /* Appendix A Defines for the RDM Protocol. */ 00010 /* Publish date: 3/31/2006 */ 00011 /*****************************************************************/ 00012 /* Compiled by: Scott M. Blair 8/18/2006 */ 00013 /* Updated 10/11/2011: Adding E1.20-2010 and E1.37-1 defines. */ 00014 /* Updated 10/24/2014: Adding E1.37-2 defines */ 00015 /*****************************************************************/ 00016 /* For updates see: http://www.rdmprotocol.org */ 00017 /*****************************************************************/ 00018 /* Copyright 2006,2011, 2014 Litespeed Design */ 00019 /*****************************************************************/ 00020 /* Permission to use, copy, modify, and distribute this software */ 00021 /* is freely granted, provided that this notice is preserved. */ 00022 /*****************************************************************/ 00023 00024 #ifndef __RDM_H__ 00025 #define __RMD_H__ 00026 00027 /* Protocol version. */ 00028 #define E120_PROTOCOL_VERSION 0x0100 00029 00030 /* RDM START CODE (Slot 0) */ 00031 #define E120_SC_RDM 0xCC 00032 00033 /* RDM Protocol Data Structure ID's (Slot 1) */ 00034 #define E120_SC_SUB_MESSAGE 0x01 00035 00036 /* Broadcast Device UID's */ 00037 #define E120_BROADCAST_ALL_DEVICES_ID 0xFFFFFFFFFFFF /* (Broadcast all Manufacturers) */ 00038 //#define ALL_DEVICES_ID 0xmmmmFFFFFFFF /* (Specific Manufacturer ID 0xmmmm) */ 00039 00040 #define E120_SUB_DEVICE_ALL_CALL 0xFFFF 00041 00042 00043 /********************************************************/ 00044 /* Table A-1: RDM Command Classes (Slot 20) */ 00045 /********************************************************/ 00046 #define E120_DISCOVERY_COMMAND 0x10 00047 #define E120_DISCOVERY_COMMAND_RESPONSE 0x11 00048 #define E120_GET_COMMAND 0x20 00049 #define E120_GET_COMMAND_RESPONSE 0x21 00050 #define E120_SET_COMMAND 0x30 00051 #define E120_SET_COMMAND_RESPONSE 0x31 00052 00053 00054 00055 /********************************************************/ 00056 /* Table A-2: RDM Response Type (Slot 16) */ 00057 /********************************************************/ 00058 #define E120_RESPONSE_TYPE_ACK 0x00 00059 #define E120_RESPONSE_TYPE_ACK_TIMER 0x01 00060 #define E120_RESPONSE_TYPE_NACK_REASON 0x02 /* See Table A-17 */ 00061 #define E120_RESPONSE_TYPE_ACK_OVERFLOW 0x03 /* Additional Response Data available beyond single response length.*/ 00062 00063 00064 /********************************************************/ 00065 /* Table A-3: RDM Parameter ID's (Slots 21-22) */ 00066 /********************************************************/ 00067 /* Category - Network Management */ 00068 #define E120_DISC_UNIQUE_BRANCH 0x0001 00069 #define E120_DISC_MUTE 0x0002 00070 #define E120_DISC_UN_MUTE 0x0003 00071 #define E120_PROXIED_DEVICES 0x0010 00072 #define E120_PROXIED_DEVICE_COUNT 0x0011 00073 #define E120_COMMS_STATUS 0x0015 00074 00075 /* Category - Status Collection */ 00076 #define E120_QUEUED_MESSAGE 0x0020 /* See Table A-4 */ 00077 #define E120_STATUS_MESSAGES 0x0030 /* See Table A-4 */ 00078 #define E120_STATUS_ID_DESCRIPTION 0x0031 00079 #define E120_CLEAR_STATUS_ID 0x0032 00080 #define E120_SUB_DEVICE_STATUS_REPORT_THRESHOLD 0x0033 /* See Table A-4 */ 00081 00082 /* Category - RDM Information */ 00083 #define E120_SUPPORTED_PARAMETERS 0x0050 /* Support required only if supporting Parameters beyond the minimum required set.*/ 00084 #define E120_PARAMETER_DESCRIPTION 0x0051 /* Support required for Manufacturer-Specific PIDs exposed in SUPPORTED_PARAMETERS message */ 00085 00086 /* Category - Product Information */ 00087 #define E120_DEVICE_INFO 0x0060 00088 #define E120_PRODUCT_DETAIL_ID_LIST 0x0070 00089 #define E120_DEVICE_MODEL_DESCRIPTION 0x0080 00090 #define E120_MANUFACTURER_LABEL 0x0081 00091 #define E120_DEVICE_LABEL 0x0082 00092 #define E120_FACTORY_DEFAULTS 0x0090 00093 #define E120_LANGUAGE_CAPABILITIES 0x00A0 00094 #define E120_LANGUAGE 0x00B0 00095 #define E120_SOFTWARE_VERSION_LABEL 0x00C0 00096 #define E120_BOOT_SOFTWARE_VERSION_ID 0x00C1 00097 #define E120_BOOT_SOFTWARE_VERSION_LABEL 0x00C2 00098 00099 /* Category - DMX512 Setup */ 00100 #define E120_DMX_PERSONALITY 0x00E0 00101 #define E120_DMX_PERSONALITY_DESCRIPTION 0x00E1 00102 #define E120_DMX_START_ADDRESS 0x00F0 /* Support required if device uses a DMX512 Slot. */ 00103 #define E120_SLOT_INFO 0x0120 00104 #define E120_SLOT_DESCRIPTION 0x0121 00105 #define E120_DEFAULT_SLOT_VALUE 0x0122 00106 #define E137_1_DMX_BLOCK_ADDRESS 0x0140 /* Defined in ANSI E1.37-1 document */ 00107 #define E137_1_DMX_FAIL_MODE 0x0141 /* Defined in ANSI E1.37-1 document */ 00108 #define E137_1_DMX_STARTUP_MODE 0x0142 /* Defined in ANSI E1.37-1 document */ 00109 00110 00111 /* Category - Sensors */ 00112 #define E120_SENSOR_DEFINITION 0x0200 00113 #define E120_SENSOR_VALUE 0x0201 00114 #define E120_RECORD_SENSORS 0x0202 00115 00116 /* Category - Dimmer Settings */ 00117 #define E137_1_DIMMER_INFO 0x0340 00118 #define E137_1_MINIMUM_LEVEL 0x0341 00119 #define E137_1_MAXIMUM_LEVEL 0x0342 00120 #define E137_1_CURVE 0x0343 00121 #define E137_1_CURVE_DESCRIPTION 0x0344 /* Support required if CURVE is supported */ 00122 #define E137_1_OUTPUT_RESPONSE_TIME 0x0345 00123 #define E137_1_OUTPUT_RESPONSE_TIME_DESCRIPTION 0x0346 /* Support required if OUTPUT_RESPONSE_TIME is supported */ 00124 #define E137_1_MODULATION_FREQUENCY 0x0347 00125 #define E137_1_MODULATION_FREQUENCY_DESCRIPTION 0x0348 /* Support required if MODULATION_FREQUENCY is supported */ 00126 00127 /* Category - Power/Lamp Settings */ 00128 #define E120_DEVICE_HOURS 0x0400 00129 #define E120_LAMP_HOURS 0x0401 00130 #define E120_LAMP_STRIKES 0x0402 00131 #define E120_LAMP_STATE 0x0403 /* See Table A-8 */ 00132 #define E120_LAMP_ON_MODE 0x0404 /* See Table A-9 */ 00133 #define E120_DEVICE_POWER_CYCLES 0x0405 00134 #define E137_1_BURN_IN 0x0440 /* Defined in ANSI E1.37-1 */ 00135 00136 /* Category - Display Settings */ 00137 #define E120_DISPLAY_INVERT 0x0500 00138 #define E120_DISPLAY_LEVEL 0x0501 00139 00140 /* Category - Configuration */ 00141 #define E120_PAN_INVERT 0x0600 00142 #define E120_TILT_INVERT 0x0601 00143 #define E120_PAN_TILT_SWAP 0x0602 00144 #define E120_REAL_TIME_CLOCK 0x0603 00145 #define E137_1_LOCK_PIN 0x0640 /* Defined in ANSI E1.37-1 */ 00146 #define E137_1_LOCK_STATE 0x0641 /* Defined in ANSI E1.37-1 */ 00147 #define E137_1_LOCK_STATE_DESCRIPTION 0x0642 /* Support required if MODULATION_FREQUENCY is supported */ 00148 00149 /* Category - Network Configuration*/ 00150 00151 #define E137_2_LIST_INTERFACES 0x0700 /* Defined in ANSI E1.37-2 */ 00152 #define E137_2_INTERFACE_LABEL 0x0701 /* Defined in ANSI E1.37-2 */ 00153 #define E137_2_INTERFACE_HARDWARE_ADDRESS_TYPE1 0x0702 /* Defined in ANSI E1.37-2 */ 00154 #define E137_2_IPV4_DHCP_MODE 0x0703 /* Defined in ANSI E1.37-2 */ 00155 #define E137_2_IPV4_ZEROCONF_MODE 0x0704 /* Defined in ANSI E1.37-2 */ 00156 #define E137_2_IPV4_CURRENT_ADDRESS 0x0705 /* Defined in ANSI E1.37-2 */ 00157 #define E137_2_IPV4_STATIC_ADDRESS 0x0706 /* Defined in ANSI E1.37-2 */ 00158 #define E137_2_INTERFACE_RENEW_DHCP 0x0707 /* Defined in ANSI E1.37-2 */ 00159 #define E137_2_INTERFACE_RELEASE_DHCP 0x0708 /* Defined in ANSI E1.37-2 */ 00160 #define E137_2_INTERFACE_APPLY_CONFIGURATION 0x0709 /* Defined in ANSI E1.37-2 (Support required if _ADDRESS PIDs supported) */ 00161 #define E137_2_IPV4_DEFAULT_ROUTE 0x070A /* Defined in ANSI E1.37-2 */ 00162 #define E137_2_DNS_IPV4_NAME_SERVER 0x070B /* Defined in ANSI E1.37-2 */ 00163 #define E137_2_DNS_HOSTNAME 0x070C /* Defined in ANSI E1.37-2 */ 00164 #define E137_2_DNS_DOMAIN_NAME 0x070D /* Defined in ANSI E1.37-2 */ 00165 00166 00167 /* Category - Control */ 00168 #define E120_IDENTIFY_DEVICE 0x1000 00169 #define E120_RESET_DEVICE 0x1001 00170 #define E120_POWER_STATE 0x1010 /* See Table A-11 */ 00171 #define E120_PERFORM_SELFTEST 0x1020 /* See Table A-10 */ 00172 #define E120_SELF_TEST_DESCRIPTION 0x1021 00173 #define E120_CAPTURE_PRESET 0x1030 00174 #define E120_PRESET_PLAYBACK 0x1031 /* See Table A-7 */ 00175 #define E137_1_IDENTIFY_MODE 0x1040 /* Defined in ANSI E1.37-1 */ 00176 #define E137_1_PRESET_INFO 0x1041 /* Defined in ANSI E1.37-1 */ 00177 #define E137_1_PRESET_STATUS 0x1042 /* Defined in ANSI E1.37-1 */ 00178 #define E137_1_PRESET_MERGEMODE 0x1043 /* See E1.37-1 Table A-3 */ 00179 #define E137_1_POWER_ON_SELF_TEST 0x1044 /* Defined in ANSI E1.37-1 */ 00180 00181 /* ESTA Reserved Future RDM Development 0x7FE0- 00182 0x7FFF 00183 00184 Manufacturer-Specific PIDs 0x8000- 00185 0xFFDF 00186 ESTA Reserved Future RDM Development 00187 0xFFE0- 00188 0xFFFF 00189 */ 00190 00191 00192 /*****************************************************************/ 00193 /* Discovery Mute/Un-Mute Messages Control Field. See Table 7-3. */ 00194 /*****************************************************************/ 00195 #define E120_CONTROL_PROXIED_DEVICE 0x0008 00196 #define E120_CONTROL_BOOT_LOADER 0x0004 00197 #define E120_CONTROL_SUB_DEVICE 0x0002 00198 #define E120_CONTROL_MANAGED_PROXY 0x0001 00199 00200 00201 /********************************************************/ 00202 /* Table A-4: Status Type Defines */ 00203 /********************************************************/ 00204 #define E120_STATUS_NONE 0x00 /* Not allowed for use with GET: QUEUED_MESSAGE */ 00205 #define E120_STATUS_GET_LAST_MESSAGE 0x01 00206 #define E120_STATUS_ADVISORY 0x02 00207 #define E120_STATUS_WARNING 0x03 00208 #define E120_STATUS_ERROR 0x04 00209 #define E120_STATUS_ADVISORY_CLEARED 0x12 /* Added in E1.20-2010 version */ 00210 #define E120_STATUS_WARNING_CLEARED 0x13 /* Added in E1.20-2010 version */ 00211 #define E120_STATUS_ERROR_CLEARED 0x14 /* Added in E1.20-2010 version */ 00212 00213 00214 00215 /********************************************************/ 00216 /* Table A-5: Product Category Defines */ 00217 /********************************************************/ 00218 #define E120_PRODUCT_CATEGORY_NOT_DECLARED 0x0000 00219 00220 /* Fixtures - intended as source of illumination See Note 1 */ 00221 #define E120_PRODUCT_CATEGORY_FIXTURE 0x0100 /* No Fine Category declared */ 00222 #define E120_PRODUCT_CATEGORY_FIXTURE_FIXED 0x0101 /* No pan / tilt / focus style functions */ 00223 #define E120_PRODUCT_CATEGORY_FIXTURE_MOVING_YOKE 0x0102 00224 #define E120_PRODUCT_CATEGORY_FIXTURE_MOVING_MIRROR 0x0103 00225 #define E120_PRODUCT_CATEGORY_FIXTURE_OTHER 0x01FF /* For example, focus but no pan/tilt. */ 00226 00227 /* Fixture Accessories - add-ons to fixtures or projectors */ 00228 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY 0x0200 /* No Fine Category declared. */ 00229 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_COLOR 0x0201 /* Scrollers / Color Changers */ 00230 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_YOKE 0x0202 /* Yoke add-on */ 00231 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_MIRROR 0x0203 /* Moving mirror add-on */ 00232 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_EFFECT 0x0204 /* Effects Discs */ 00233 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_BEAM 0x0205 /* Gobo Rotators /Iris / Shutters / Dousers/ Beam modifiers. */ 00234 #define E120_PRODUCT_CATEGORY_FIXTURE_ACCESSORY_OTHER 0x02FF 00235 00236 /* Projectors - light source capable of producing realistic images from another media i.e Video / Slide / Oil Wheel / Film */ 00237 #define E120_PRODUCT_CATEGORY_PROJECTOR 0x0300 /* No Fine Category declared. */ 00238 #define E120_PRODUCT_CATEGORY_PROJECTOR_FIXED 0x0301 /* No pan / tilt functions. */ 00239 #define E120_PRODUCT_CATEGORY_PROJECTOR_MOVING_YOKE 0x0302 00240 #define E120_PRODUCT_CATEGORY_PROJECTOR_MOVING_MIRROR 0x0303 00241 #define E120_PRODUCT_CATEGORY_PROJECTOR_OTHER 0x03FF 00242 00243 /* Atmospheric Effect - earth/wind/fire */ 00244 #define E120_PRODUCT_CATEGORY_ATMOSPHERIC 0x0400 /* No Fine Category declared. */ 00245 #define E120_PRODUCT_CATEGORY_ATMOSPHERIC_EFFECT 0x0401 /* Fogger / Hazer / Flame, etc. */ 00246 #define E120_PRODUCT_CATEGORY_ATMOSPHERIC_PYRO 0x0402 /* See Note 2. */ 00247 #define E120_PRODUCT_CATEGORY_ATMOSPHERIC_OTHER 0x04FF 00248 00249 /* Intensity Control (specifically Dimming equipment) */ 00250 #define E120_PRODUCT_CATEGORY_DIMMER 0x0500 /* No Fine Category declared. */ 00251 #define E120_PRODUCT_CATEGORY_DIMMER_AC_INCANDESCENT 0x0501 /* AC > 50VAC */ 00252 #define E120_PRODUCT_CATEGORY_DIMMER_AC_FLUORESCENT 0x0502 00253 #define E120_PRODUCT_CATEGORY_DIMMER_AC_COLDCATHODE 0x0503 /* High Voltage outputs such as Neon or other cold cathode. */ 00254 #define E120_PRODUCT_CATEGORY_DIMMER_AC_NONDIM 0x0504 /* Non-Dim module in dimmer rack. */ 00255 #define E120_PRODUCT_CATEGORY_DIMMER_AC_ELV 0x0505 /* AC <= 50V such as 12/24V AC Low voltage lamps. */ 00256 #define E120_PRODUCT_CATEGORY_DIMMER_AC_OTHER 0x0506 00257 #define E120_PRODUCT_CATEGORY_DIMMER_DC_LEVEL 0x0507 /* Variable DC level output. */ 00258 #define E120_PRODUCT_CATEGORY_DIMMER_DC_PWM 0x0508 /* Chopped (PWM) output. */ 00259 #define E120_PRODUCT_CATEGORY_DIMMER_CS_LED 0x0509 /* Specialized LED dimmer. */ 00260 #define E120_PRODUCT_CATEGORY_DIMMER_OTHER 0x05FF 00261 00262 /* Power Control (other than Dimming equipment) */ 00263 #define E120_PRODUCT_CATEGORY_POWER 0x0600 /* No Fine Category declared. */ 00264 #define E120_PRODUCT_CATEGORY_POWER_CONTROL 0x0601 /* Contactor racks, other forms of Power Controllers. */ 00265 #define E120_PRODUCT_CATEGORY_POWER_SOURCE 0x0602 /* Generators */ 00266 #define E120_PRODUCT_CATEGORY_POWER_OTHER 0x06FF 00267 00268 /* Scenic Drive - including motorized effects unrelated to light source. */ 00269 #define E120_PRODUCT_CATEGORY_SCENIC 0x0700 /* No Fine Category declared */ 00270 #define E120_PRODUCT_CATEGORY_SCENIC_DRIVE 0x0701 /* Rotators / Kabuki drops, etc. See Note 2. */ 00271 #define E120_PRODUCT_CATEGORY_SCENIC_OTHER 0x07FF 00272 00273 /* DMX Infrastructure, conversion and interfaces */ 00274 #define E120_PRODUCT_CATEGORY_DATA 0x0800 /* No Fine Category declared. */ 00275 #define E120_PRODUCT_CATEGORY_DATA_DISTRIBUTION 0x0801 /* Splitters/repeaters/Ethernet products used to distribute DMX*/ 00276 #define E120_PRODUCT_CATEGORY_DATA_CONVERSION 0x0802 /* Protocol Conversion analog decoders. */ 00277 #define E120_PRODUCT_CATEGORY_DATA_OTHER 0x08FF 00278 00279 /* Audio-Visual Equipment */ 00280 #define E120_PRODUCT_CATEGORY_AV 0x0900 /* No Fine Category declared. */ 00281 #define E120_PRODUCT_CATEGORY_AV_AUDIO 0x0901 /* Audio controller or device. */ 00282 #define E120_PRODUCT_CATEGORY_AV_VIDEO 0x0902 /* Video controller or display device. */ 00283 #define E120_PRODUCT_CATEGORY_AV_OTHER 0x09FF 00284 00285 /* Parameter Monitoring Equipment See Note 3. */ 00286 #define E120_PRODUCT_CATEGORY_MONITOR 0x0A00 /* No Fine Category declared. */ 00287 #define E120_PRODUCT_CATEGORY_MONITOR_ACLINEPOWER 0x0A01 /* Product that monitors AC line voltage, current or power. */ 00288 #define E120_PRODUCT_CATEGORY_MONITOR_DCPOWER 0x0A02 /* Product that monitors DC line voltage, current or power. */ 00289 #define E120_PRODUCT_CATEGORY_MONITOR_ENVIRONMENTAL 0x0A03 /* Temperature or other environmental parameter. */ 00290 #define E120_PRODUCT_CATEGORY_MONITOR_OTHER 0x0AFF 00291 00292 /* Controllers, Backup devices */ 00293 #define E120_PRODUCT_CATEGORY_CONTROL 0x7000 /* No Fine Category declared. */ 00294 #define E120_PRODUCT_CATEGORY_CONTROL_CONTROLLER 0x7001 00295 #define E120_PRODUCT_CATEGORY_CONTROL_BACKUPDEVICE 0x7002 00296 #define E120_PRODUCT_CATEGORY_CONTROL_OTHER 0x70FF 00297 00298 /* Test Equipment */ 00299 #define E120_PRODUCT_CATEGORY_TEST 0x7100 /* No Fine Category declared. */ 00300 #define E120_PRODUCT_CATEGORY_TEST_EQUIPMENT 0x7101 00301 #define E120_PRODUCT_CATEGORY_TEST_EQUIPMENT_OTHER 0x71FF 00302 00303 /* Miscellaneous */ 00304 #define E120_PRODUCT_CATEGORY_OTHER 0x7FFF /* For devices that aren't described within this table. */ 00305 00306 /* Manufacturer Specific Categories 0x8000 - 00307 0xDFFF */ 00308 00309 00310 /********************************************************/ 00311 /* Table A-6: Product Detail Defines */ 00312 /********************************************************/ 00313 00314 #define E120_PRODUCT_DETAIL_NOT DECLARED 0x0000 00315 00316 /* Generally applied to fixtures */ 00317 #define E120_PRODUCT_DETAIL_ARC 0x0001 00318 #define E120_PRODUCT_DETAIL_METAL_HALIDE 0x0002 00319 #define E120_PRODUCT_DETAIL_INCANDESCENT 0x0003 00320 #define E120_PRODUCT_DETAIL_LED 0x0004 00321 #define E120_PRODUCT_DETAIL_FLUROESCENT 0x0005 00322 #define E120_PRODUCT_DETAIL_COLDCATHODE 0x0006 /*includes Neon/Argon */ 00323 #define E120_PRODUCT_DETAIL_ELECTROLUMINESCENT 0x0007 00324 #define E120_PRODUCT_DETAIL_LASER 0x0008 00325 #define E120_PRODUCT_DETAIL_FLASHTUBE 0x0009 /* Strobes or other flashtubes */ 00326 00327 /* Generally applied to fixture accessories */ 00328 #define E120_PRODUCT_DETAIL_COLORSCROLLER 0x0100 00329 #define E120_PRODUCT_DETAIL_COLORWHEEL 0x0101 00330 #define E120_PRODUCT_DETAIL_COLORCHANGE 0x0102 /* Semaphore or other type */ 00331 #define E120_PRODUCT_DETAIL_IRIS_DOUSER 0x0103 00332 #define E120_PRODUCT_DETAIL_DIMMING_SHUTTER 0x0104 00333 #define E120_PRODUCT_DETAIL_PROFILE_SHUTTER 0x0105 /* hard-edge beam masking */ 00334 #define E120_PRODUCT_DETAIL_BARNDOOR_SHUTTER 0x0106 /* soft-edge beam masking */ 00335 #define E120_PRODUCT_DETAIL_EFFECTS_DISC 0x0107 00336 #define E120_PRODUCT_DETAIL_GOBO_ROTATOR 0x0108 00337 00338 /* Generally applied to Projectors */ 00339 #define E120_PRODUCT_DETAIL_VIDEO 0x0200 00340 #define E120_PRODUCT_DETAIL_SLIDE 0x0201 00341 #define E120_PRODUCT_DETAIL_FILM 0x0202 00342 #define E120_PRODUCT_DETAIL_OILWHEEL 0x0203 00343 #define E120_PRODUCT_DETAIL_LCDGATE 0x0204 00344 00345 /* Generally applied to Atmospheric Effects */ 00346 #define E120_PRODUCT_DETAIL_FOGGER_GLYCOL 0x0300 /* Glycol/Glycerin hazer */ 00347 #define E120_PRODUCT_DETAIL_FOGGER_MINERALOIL 0x0301 /* White Mineral oil hazer */ 00348 #define E120_PRODUCT_DETAIL_FOGGER_WATER 0x0302 /* Water hazer */ 00349 #define E120_PRODUCT_DETAIL_C02 0x0303 /* Dry Ice/Carbon Dioxide based */ 00350 #define E120_PRODUCT_DETAIL_LN2 0x0304 /* Nitrogen based */ 00351 #define E120_PRODUCT_DETAIL_BUBBLE 0x0305 /* including foam */ 00352 #define E120_PRODUCT_DETAIL_FLAME_PROPANE 0x0306 00353 #define E120_PRODUCT_DETAIL_FLAME_OTHER 0x0307 00354 #define E120_PRODUCT_DETAIL_OLEFACTORY_STIMULATOR 0x0308 /* Scents */ 00355 #define E120_PRODUCT_DETAIL_SNOW 0x0309 00356 #define E120_PRODUCT_DETAIL_WATER_JET 0x030A /* Fountain controls etc */ 00357 #define E120_PRODUCT_DETAIL_WIND 0x030B /* Air Mover */ 00358 #define E120_PRODUCT_DETAIL_CONFETTI 0x030C 00359 #define E120_PRODUCT_DETAIL_HAZARD 0x030D /* Any form of pyrotechnic control or device. */ 00360 00361 /* Generally applied to Dimmers/Power controllers See Note 1 */ 00362 #define E120_PRODUCT_DETAIL_PHASE_CONTROL 0x0400 00363 #define E120_PRODUCT_DETAIL_REVERSE_PHASE_CONTROL 0x0401 /* includes FET/IGBT */ 00364 #define E120_PRODUCT_DETAIL_SINE 0x0402 00365 #define E120_PRODUCT_DETAIL_PWM 0x0403 00366 #define E120_PRODUCT_DETAIL_DC 0x0404 /* Variable voltage */ 00367 #define E120_PRODUCT_DETAIL_HFBALLAST 0x0405 /* for Fluroescent */ 00368 #define E120_PRODUCT_DETAIL_HFHV_NEONBALLAST 0x0406 /* for Neon/Argon and other coldcathode. */ 00369 #define E120_PRODUCT_DETAIL_HFHV_EL 0x0407 /* for Electroluminscent */ 00370 #define E120_PRODUCT_DETAIL_MHR_BALLAST 0x0408 /* for Metal Halide */ 00371 #define E120_PRODUCT_DETAIL_BITANGLE_MODULATION 0x0409 00372 #define E120_PRODUCT_DETAIL_FREQUENCY_MODULATION 0x040A 00373 #define E120_PRODUCT_DETAIL_HIGHFREQUENCY_12V 0x040B /* as commonly used with MR16 lamps */ 00374 #define E120_PRODUCT_DETAIL_RELAY_MECHANICAL 0x040C /* See Note 1 */ 00375 #define E120_PRODUCT_DETAIL_RELAY_ELECTRONIC 0x040D /* See Note 1, Note 2 */ 00376 #define E120_PRODUCT_DETAIL_SWITCH_ELECTRONIC 0x040E /* See Note 1, Note 2 */ 00377 #define E120_PRODUCT_DETAIL_CONTACTOR 0x040F /* See Note 1 */ 00378 00379 /* Generally applied to Scenic drive */ 00380 #define E120_PRODUCT_DETAIL_MIRRORBALL_ROTATOR 0x0500 00381 #define E120_PRODUCT_DETAIL_OTHER_ROTATOR 0x0501 /* includes turntables */ 00382 #define E120_PRODUCT_DETAIL_KABUKI_DROP 0x0502 00383 #define E120_PRODUCT_DETAIL_CURTAIN 0x0503 /* flown or traveller */ 00384 #define E120_PRODUCT_DETAIL_LINESET 0x0504 00385 #define E120_PRODUCT_DETAIL_MOTOR_CONTROL 0x0505 00386 #define E120_PRODUCT_DETAIL_DAMPER_CONTROL 0x0506 /* HVAC Damper */ 00387 00388 /* Generally applied to Data Distribution */ 00389 #define E120_PRODUCT_DETAIL_SPLITTER 0x0600 /* Includes buffers/repeaters */ 00390 #define E120_PRODUCT_DETAIL_ETHERNET_NODE 0x0601 /* DMX512 to/from Ethernet */ 00391 #define E120_PRODUCT_DETAIL_MERGE 0x0602 /* DMX512 combiner */ 00392 #define E120_PRODUCT_DETAIL_DATAPATCH 0x0603 /* Electronic Datalink Patch */ 00393 #define E120_PRODUCT_DETAIL_WIRELESS_LINK 0x0604 /* radio/infrared */ 00394 00395 /* Generally applied to Data Conversion and Interfaces */ 00396 #define E120_PRODUCT_DETAIL_PROTOCOL_CONVERTOR 0x0701 /* D54/AMX192/Non DMX serial links, etc to/from DMX512 */ 00397 #define E120_PRODUCT_DETAIL_ANALOG_DEMULTIPLEX 0x0702 /* DMX to DC voltage */ 00398 #define E120_PRODUCT_DETAIL_ANALOG_MULTIPLEX 0x0703 /* DC Voltage to DMX */ 00399 #define E120_PRODUCT_DETAIL_SWITCH_PANEL 0x0704 /* Pushbuttons to DMX or polled using RDM */ 00400 00401 /* Generally applied to Audio or Video (AV) devices */ 00402 #define E120_PRODUCT_DETAIL_ROUTER 0x0800 /* Switching device */ 00403 #define E120_PRODUCT_DETAIL_FADER 0x0801 /* Single channel */ 00404 #define E120_PRODUCT_DETAIL_MIXER 0x0802 /* Multi-channel */ 00405 00406 /* Generally applied to Controllers, Backup devices and Test Equipment */ 00407 #define E120_PRODUCT_DETAIL_CHANGEOVER_MANUAL 0x0900 /* requires manual intervention to assume control of DMX line */ 00408 #define E120_PRODUCT_DETAIL_CHANGEOVER_AUTO 0x0901 /* may automatically assume control of DMX line */ 00409 #define E120_PRODUCT_DETAIL_TEST 0x0902 /* test equipment */ 00410 00411 /* Could be applied to any category */ 00412 #define E120_PRODUCT_DETAIL_GFI_RCD 0x0A00 /* device includes GFI/RCD trip */ 00413 #define E120_PRODUCT_DETAIL_BATTERY 0x0A01 /* device is battery operated */ 00414 #define E120_PRODUCT_DETAIL_CONTROLLABLE_BREAKER 0x0A02 00415 00416 00417 #define E120_PRODUCT_DETAIL_OTHER 0x7FFF /* for use where the Manufacturer believes that none of the 00418 defined details apply. */ 00419 /* Manufacturer Specific Types 0x8000- 00420 0xDFFF */ 00421 00422 /* Note 1: Products intended for switching 50V AC / 120V DC or greater should be declared with a 00423 Product Category of PRODUCT_CATEGORY_POWER_CONTROL. 00424 00425 Products only suitable for extra low voltage switching (typically up to 50VAC / 30VDC) at currents 00426 less than 1 ampere should be declared with a Product Category of PRODUCT_CATEGORY_DATA_CONVERSION. 00427 00428 Please refer to GET: DEVICE_INFO and Table A-5 for an explanation of Product Category declaration. 00429 Note 2: Products with TTL, MOSFET or Open Collector Transistor Outputs or similar non-isolated electronic 00430 outputs should be declared as PRODUCT_DETAIL_SWITCH_ELECTRONIC. Use of PRODUCT_DETAIL_RELAY_ELECTRONIC 00431 shall be restricted to devices whereby the switched circuits are electrically isolated from the control signals. */ 00432 00433 00434 /********************************************************/ 00435 /* Table A-7: Preset Playback Defines */ 00436 /********************************************************/ 00437 00438 #define E120_PRESET_PLAYBACK_OFF 0x0000 /* Returns to Normal DMX512 Input */ 00439 #define E120_PRESET_PLAYBACK_ALL 0xFFFF /* Plays Scenes in Sequence if supported. */ 00440 /* E120_PRESET_PLAYBACK_SCENE 0x0001- 00441 0xFFFE Plays individual Scene # */ 00442 00443 /********************************************************/ 00444 /* Table A-8: Lamp State Defines */ 00445 /********************************************************/ 00446 00447 #define E120_LAMP_OFF 0x00 /* No demonstrable light output */ 00448 #define E120_LAMP_ON 0x01 00449 #define E120_LAMP_STRIKE 0x02 /* Arc-Lamp ignite */ 00450 #define E120_LAMP_STANDBY 0x03 /* Arc-Lamp Reduced Power Mode */ 00451 #define E120_LAMP_NOT_PRESENT 0x04 /* Lamp not installed */ 00452 #define E120_LAMP_ERROR 0x7F 00453 /* Manufacturer-Specific States 0x80- 00454 0xDF */ 00455 00456 /********************************************************/ 00457 /* Table A-9: Lamp On Mode Defines */ 00458 /********************************************************/ 00459 00460 #define E120_LAMP_ON_MODE_OFF 0x00 /* Lamp Stays off until directly instructed to Strike. */ 00461 #define E120_LAMP_ON_MODE_DMX 0x01 /* Lamp Strikes upon receiving a DMX512 signal. */ 00462 #define E120_LAMP_ON_MODE_ON 0x02 /* Lamp Strikes automatically at Power-up. */ 00463 #define E120_LAMP_ON_MODE_AFTER_CAL 0x03 /* Lamp Strikes after Calibration or Homing procedure. */ 00464 /* Manufacturer-Specific Modes 0x80- 00465 0xDF */ 00466 00467 /********************************************************/ 00468 /* Table A-10: Self Test Defines */ 00469 /********************************************************/ 00470 00471 #define E120_SELF_TEST_OFF 0x00 /* Turns Self Tests Off */ 00472 /* Manufacturer Tests 0x01- 00473 0xFE Various Manufacturer Self Tests */ 00474 #define E120_SELF_TEST_ALL 0xFF /* Self Test All, if applicable */ 00475 00476 /********************************************************/ 00477 /* Table A-11: Power State Defines */ 00478 /********************************************************/ 00479 00480 #define E120_POWER_STATE_FULL_OFF 0x00 /* Completely disengages power to device. Device can no longer respond. */ 00481 #define E120_POWER_STATE_SHUTDOWN 0x01 /* Reduced power mode, may require device reset to return to 00482 normal operation. Device still responds to messages. */ 00483 #define E120_POWER_STATE_STANDBY 0x02 /* Reduced power mode. Device can return to NORMAL without a 00484 reset. Device still responds to messages. */ 00485 #define E120_POWER_STATE_NORMAL 0xFF /* Normal Operating Mode. */ 00486 00487 /********************************************************/ 00488 /* Table A-12: Sensor Type Defines */ 00489 /********************************************************/ 00490 00491 #define E120_SENS_TEMPERATURE 0x00 00492 #define E120_SENS_VOLTAGE 0x01 00493 #define E120_SENS_CURRENT 0x02 00494 #define E120_SENS_FREQUENCY 0x03 00495 #define E120_SENS_RESISTANCE 0x04 /* Eg: Cable resistance */ 00496 #define E120_SENS_POWER 0x05 00497 #define E120_SENS_MASS 0x06 /* Eg: Truss load Cell */ 00498 #define E120_SENS_LENGTH 0x07 00499 #define E120_SENS_AREA 0x08 00500 #define E120_SENS_VOLUME 0x09 /* Eg: Smoke Fluid */ 00501 #define E120_SENS_DENSITY 0x0A 00502 #define E120_SENS_VELOCITY 0x0B 00503 #define E120_SENS_ACCELERATION 0x0C 00504 #define E120_SENS_FORCE 0x0D 00505 #define E120_SENS_ENERGY 0x0E 00506 #define E120_SENS_PRESSURE 0x0F 00507 #define E120_SENS_TIME 0x10 00508 #define E120_SENS_ANGLE 0x11 00509 #define E120_SENS_POSITION_X 0x12 /* E.g.: Lamp position on Truss */ 00510 #define E120_SENS_POSITION_Y 0x13 00511 #define E120_SENS_POSITION_Z 0x14 00512 #define E120_SENS_ANGULAR_VELOCITY 0x15 /* E.g.: Wind speed */ 00513 #define E120_SENS_LUMINOUS_INTENSITY 0x16 00514 #define E120_SENS_LUMINOUS_FLUX 0x17 00515 #define E120_SENS_ILLUMINANCE 0x18 00516 #define E120_SENS_CHROMINANCE_RED 0x19 00517 #define E120_SENS_CHROMINANCE_GREEN 0x1A 00518 #define E120_SENS_CHROMINANCE_BLUE 0x1B 00519 #define E120_SENS_CONTACTS 0x1C /* E.g.: Switch inputs. */ 00520 #define E120_SENS_MEMORY 0x1D /* E.g.: ROM Size */ 00521 #define E120_SENS_ITEMS 0x1E /* E.g.: Scroller gel frames. */ 00522 #define E120_SENS_HUMIDITY 0x1F 00523 #define E120_SENS_COUNTER_16BIT 0x20 00524 #define E120_SENS_OTHER 0x7F 00525 /* Manufacturer-Specific Sensors 0x80- 00526 0xFF */ 00527 00528 /********************************************************/ 00529 /* Table A-13: Sensor Unit Defines */ 00530 /********************************************************/ 00531 00532 #define E120_UNITS_NONE 0x00 /* CONTACTS */ 00533 #define E120_UNITS_CENTIGRADE 0x01 /* TEMPERATURE */ 00534 #define E120_UNITS_VOLTS_DC 0x02 /* VOLTAGE */ 00535 #define E120_UNITS_VOLTS_AC_PEAK 0x03 /* VOLTAGE */ 00536 #define E120_UNITS_VOLTS_AC_RMS 0x04 /* VOLTAGE */ 00537 #define E120_UNITS_AMPERE_DC 0x05 /* CURRENT */ 00538 #define E120_UNITS_AMPERE_AC_PEAK 0x06 /* CURRENT */ 00539 #define E120_UNITS_AMPERE_AC_RMS 0x07 /* CURRENT */ 00540 #define E120_UNITS_HERTZ 0x08 /* FREQUENCY / ANG_VEL */ 00541 #define E120_UNITS_OHM 0x09 /* RESISTANCE */ 00542 #define E120_UNITS_WATT 0x0A /* POWER */ 00543 #define E120_UNITS_KILOGRAM 0x0B /* MASS */ 00544 #define E120_UNITS_METERS 0x0C /* LENGTH / POSITION */ 00545 #define E120_UNITS_METERS_SQUARED 0x0D /* AREA */ 00546 #define E120_UNITS_METERS_CUBED 0x0E /* VOLUME */ 00547 #define E120_UNITS_KILOGRAMMES_PER_METER_CUBED 0x0F /* DENSITY */ 00548 #define E120_UNITS_METERS_PER_SECOND 0x10 /* VELOCITY */ 00549 #define E120_UNITS_METERS_PER_SECOND_SQUARED 0x11 /* ACCELERATION */ 00550 #define E120_UNITS_NEWTON 0x12 /* FORCE */ 00551 #define E120_UNITS_JOULE 0x13 /* ENERGY */ 00552 #define E120_UNITS_PASCAL 0x14 /* PRESSURE */ 00553 #define E120_UNITS_SECOND 0x15 /* TIME */ 00554 #define E120_UNITS_DEGREE 0x16 /* ANGLE */ 00555 #define E120_UNITS_STERADIAN 0x17 /* ANGLE */ 00556 #define E120_UNITS_CANDELA 0x18 /* LUMINOUS_INTENSITY */ 00557 #define E120_UNITS_LUMEN 0x19 /* LUMINOUS_FLUX */ 00558 #define E120_UNITS_LUX 0x1A /* ILLUMINANCE */ 00559 #define E120_UNITS_IRE 0x1B /* CHROMINANCE */ 00560 #define E120_UNITS_BYTE 0x1C /* MEMORY */ 00561 /* Manufacturer-Specific Units 0x80- 00562 0xFF */ 00563 00564 00565 /********************************************************/ 00566 /* Table A-14: Sensor Unit Prefix Defines */ 00567 /********************************************************/ 00568 00569 #define E120_PREFIX_NONE 0x00 /* Multiply by 1 */ 00570 #define E120_PREFIX_DECI 0x01 /* Multiply by 10-1 */ 00571 #define E120_PREFIX_CENTI 0x02 /* Multiply by 10-2 */ 00572 #define E120_PREFIX_MILLI 0x03 /* Multiply by 10-3 */ 00573 #define E120_PREFIX_MICRO 0x04 /* Multiply by 10-6 */ 00574 #define E120_PREFIX_NANO 0x05 /* Multiply by 10-9 */ 00575 #define E120_PREFIX_PICO 0x06 /* Multiply by 10-12 */ 00576 #define E120_PREFIX_FEMPTO 0x07 /* Multiply by 10-15 */ 00577 #define E120_PREFIX_ATTO 0x08 /* Multiply by 10-18 */ 00578 #define E120_PREFIX_ZEPTO 0x09 /* Multiply by 10-21 */ 00579 #define E120_PREFIX_YOCTO 0x0A /* Multiply by 10-24 */ 00580 #define E120_PREFIX_DECA 0x11 /* Multiply by 10+1 */ 00581 #define E120_PREFIX_HECTO 0x12 /* Multiply by 10+2 */ 00582 #define E120_PREFIX_KILO 0x13 /* Multiply by 10+3 */ 00583 #define E120_PREFIX_MEGA 0x14 /* Multiply by 10+6 */ 00584 #define E120_PREFIX_GIGA 0x15 /* Multiply by 10+9 */ 00585 #define E120_PREFIX_TERRA 0x16 /* Multiply by 10+12 */ 00586 #define E120_PREFIX_PETA 0x17 /* Multiply by 10+15 */ 00587 #define E120_PREFIX_EXA 0x18 /* Multiply by 10+18 */ 00588 #define E120_PREFIX_ZETTA 0x19 /* Multiply by 10+21 */ 00589 #define E120_PREFIX_YOTTA 0x1A /* Multiply by 10+24 */ 00590 00591 00592 /********************************************************/ 00593 /* Table A-15: Data Type Defines */ 00594 /********************************************************/ 00595 00596 #define E120_DS_NOT_DEFINED 0x00 /* Data type is not defined */ 00597 #define E120_DS_BIT_FIELD 0x01 /* Data is bit packed */ 00598 #define E120_DS_ASCII 0x02 /* Data is a string */ 00599 #define E120_DS_UNSIGNED_BYTE 0x03 /* Data is an array of unsigned bytes */ 00600 #define E120_DS_SIGNED_BYTE 0x04 /* Data is an array of signed bytes */ 00601 #define E120_DS_UNSIGNED_WORD 0x05 /* Data is an array of unsigned 16-bit words */ 00602 #define E120_DS_SIGNED_WORD 0x06 /* Data is an array of signed 16-bit words */ 00603 #define E120_DS_UNSIGNED_DWORD 0x07 /* Data is an array of unsigned 32-bit words */ 00604 #define E120_DS_SIGNED_DWORD 0x08 /* Data is an array of signed 32-bit words */ 00605 /* Manufacturer-Specific Data Types 0x80- */ 00606 /* 0xDF */ 00607 00608 /********************************************************/ 00609 /* Table A-16: Parameter Desc. Command Class Defines */ 00610 /********************************************************/ 00611 00612 #define E120_CC_GET 0x01 /* PID supports GET only */ 00613 #define E120_CC_SET 0x02 /* PID supports SET only */ 00614 #define E120_CC_GET_SET 0x03 /* PID supports GET & SET */ 00615 00616 /********************************************************/ 00617 /* Table A-17: Response NACK Reason Code Defines */ 00618 /********************************************************/ 00619 00620 #define E120_NR_UNKNOWN_PID 0x0000 /* The responder cannot comply with request because the message 00621 is not implemented in responder. */ 00622 #define E120_NR_FORMAT_ERROR 0x0001 /* The responder cannot interpret request as controller data 00623 was not formatted correctly. */ 00624 #define E120_NR_HARDWARE_FAULT 0x0002 /* The responder cannot comply due to an internal hardware fault*/ 00625 #define E120_NR_PROXY_REJECT 0x0003 /* Proxy is not the RDM line master and cannot comply with message.*/ 00626 #define E120_NR_WRITE_PROTECT 0x0004 /* SET Command normally allowed but being blocked currently. */ 00627 #define E120_NR_UNSUPPORTED_COMMAND_CLASS 0x0005 /* Not valid for Command Class attempted. May be used where 00628 GET allowed but SET is not supported. */ 00629 #define E120_NR_DATA_OUT_OF_RANGE 0x0006 /* Value for given Parameter out of allowable range or 00630 not supported. */ 00631 #define E120_NR_BUFFER_FULL 0x0007 /* Buffer or Queue space currently has no free space to store data. */ 00632 #define E120_NR_PACKET_SIZE_UNSUPPORTED 0x0008 /* Incoming message exceeds buffer capacity. */ 00633 #define E120_NR_SUB_DEVICE_OUT_OF_RANGE 0x0009 /* Sub-Device is out of range or unknown. */ 00634 #define E120_NR_PROXY_BUFFER_FULL 0x000A /* Proxy buffer is full and can not store any more Queued */ 00635 /* Message or Status Message responses. */ 00636 #define E137_2_NR_ACTION_NOT_SUPPORTED 0x000B /* The parameter data is valid but the SET operation cannot be */ 00637 /* performed with the current configuration. */ 00638 00639 /********************************************************************************************************************************/ 00640 /********************************************************************************************************************************/ 00641 /* ANSI E1.37-1 DEFINES */ 00642 /********************************************************************************************************************************/ 00643 /********************************************************************************************************************************/ 00644 00645 /********************************************************/ 00646 /* E1.37-1 Table A-2: Preset Programmed Defines */ 00647 /********************************************************/ 00648 #define E137_1_PRESET_NOT_PROGRAMMED 0x00 /* Preset Scene not programmed. */ 00649 #define E137_1_PRESET_PROGRAMMED 0x01 /* Preset Scene programmed. */ 00650 #define E137_1_PRESET_PROGRAMMED_READ_ONLY 0x02 /* Preset Scene read-only, factory programmed. */ 00651 00652 /********************************************************/ 00653 /* E1.37-1 Table A-3: Merge Mode Defines */ 00654 /********************************************************/ 00655 #define E137_1_MERGEMODE_DEFAULT 0x00 /* Preset overrides DMX512 default behavior as defined in */ 00656 /* E1.20 PRESET_PLAYBACK */ 00657 #define E137_1_MERGEMODE_HTP 0x01 /* Highest Takes Precedence on slot by slot basis */ 00658 #define E137_1_MERGEMODE_LTP 0x02 /* Latest Takes Precedence from Preset or DMX512 on slot by slot */ 00659 #define E137_1_MERGEMODE_DMX_ONLY 0x03 /* DMX512 only, Preset ignored */ 00660 #define E137_1_MERGEMODE_OTHER 0xFF /* Other (undefined) merge mode */ 00661 00662 00663 /********************************************************************************************************************************/ 00664 /********************************************************************************************************************************/ 00665 /* ANSI E1.37-2 DEFINES */ 00666 /********************************************************************************************************************************/ 00667 /********************************************************************************************************************************/ 00668 00669 /********************************************************/ 00670 /* E1.37-2 Table A-3: DHCP Mode Defines */ 00671 /********************************************************/ 00672 #define E137_2_DHCP_MODE_INACTIVE 0x00 /* IP Address was not obtained via DHCP */ 00673 #define E137_2_DHCP_MODE_ACTIVE 0x01 /* IP Address was obtained via DHCP */ 00674 #define E137_2_DHCP_MODE_UNKNOWN 0x02 /* The system cannot determine if address was obtained via DHCP. */ 00675 00676 00677 #endif
Generated on Sat Jul 16 2022 01:56:41 by 1.7.2