Detailed instructions for use are in the User's Guide.
[. . . ] instruction manual
Standard NetLinx API (SNAPI) R 1. 8. 0
Components/Listeners
last revision: 8-29-06 Document ID: 033-004-2993
AMX Limited Warranty and Disclaimer
AMX Corporation warrants its products to be free of defects in material and workmanship under normal use for three (3) years from the date of purchase from AMX Corporation, with the following exceptions: · · · · · Electroluminescent and LCD Control Panels are warranted for three (3) years, except for the display and touch overlay components that are warranted for a period of one (1) year. Disk drive mechanisms, pan/tilt heads, power supplies, MX Series products, and KC Series products are warranted for a period of one (1) year. Unless otherwise specified, OEM and custom products are warranted for a period of one (1) year. Software is warranted for a period of ninety (90) days. [. . . ] Some device may use custom levels for advanced functions. Levels 50-80 and above are reserved for modules to use for whatever functions they like. See specific module documentation for details on the levels used in that module.
6
Standard NetLinx API (SNAPI) R 1. 8. 0
Interfacing with Standard NetLinx API (SNAPI)
Commands and Escape Characters
SNAPI command uses comma as a parameter separator. If a parameter's value contains a comma, the parameter is escaping using double quotes at the start and end of the parameter. If a parameter's value contains a double quote character it is escaped with a pair of double quote characters. The following examples are properly escaped parameter values: 6 Hello Brown Eyed Girl "Morrison, Van" "Van ""The Man"" Morrison" The following examples are improperly escaped parameter values: Morrison, Van Van "The Man" Morrison SNAPI. axi includes a few helpful routines to build commands: DuetPackCmdHeader(Hdr) DuetPackCmdParam(Cmd, Param) DuetPackCmdParamArray(Cmd, Params[]) DuetPackCmdHeader is a command using a given command header where Hdr is the command header. DuetPackCmdParam adds a parameter to the command, escaping the parameter and adding parameter separators as needed; Cmd is the command to which the parameter is added and Param is the parameter to be added. DuetPackCmdParamArray is similar to DuetPackCmdParam but it takes an array of parameters and adds them to the command. All of these functions return the updated command. SNAPI. axi includes a few helpful routines to parse commands as well: DuetParseCmdHeader(Cmd) DuetParseCmdParam(Cmd) DuetParseCmdHeader removes and returns the command header from a command. DuetParseCmdParam removes and returns the next parameter from the command, un-escaping the parameter as needed. Both of these functions return a string containing the command header or the parameter.
Standard NetLinx API (SNAPI) R 1. 8. 0
7
Interfacing with Standard NetLinx API (SNAPI)
An example program using these routines is shown below:
// Build cTestCmd cTestCmd cTestCmd cTestCmd cTestCmd a = = = = = command to be stored in cTestCmd DuetPackCmdHeader('COMMAND') DuetPackCmdParam(cTestCmd, 'Morrison, Van') DuetPackCmdParam(cTestCmd, 'Wild Nights') DuetPackCmdParam(cTestCmd, '"The Man"') DuetPackCmdParam(cTestCmd, 'Tupelo Honey')
// Resulting command is: // 'COMMAND-"Morrison, Van", Wild Nights, ""The Man"", Tupelo Honey' // Remove the parameters for this command cCmdheader = DuetParseCmdHeader(cTestCmd) SWITCH (cCmdheader) { CASE 'COMMAND': { cParam1 = DuetParseCmdParam(cTestCmd) cParam2 = DuetParseCmdParam(cTestCmd) cParam3 = DuetParseCmdParam(cTestCmd) cParam4 = DuetParseCmdParam(cTestCmd) // // // // } } cParam1 cParam2 cParam3 cParam4 = = = = 'Morrison, Van' 'Wild Nights' '"The Man"' 'Tupelo Honey'
8
Standard NetLinx API (SNAPI) R 1. 8. 0
Amplifier
Component Name: Amplifier Interface: IAmplifierComponent Component Functions: Name:
Intentionally left blank IAmplifierComponent
Channel:
Level: Command:
Constant:
Notes:
Listener Name: Amplifier Listener Interface: IAmplifierComponentListener Listener Functions: Name:
Intentionally left blank IAmplifierComponentListener
Channel:
Level: Command:
Constant:
Notes:
Standard NetLinx API (SNAPI) R 1. 8. 0
9
10
Standard NetLinx API (SNAPI) R 1. 8. 0
Audio Conferencer
Component Name: Audio Conferencer Interface: IAudioConferencerComponent IAudioConferencerComponent Component Functions: Name:
cyclePrivacy() setPrivacyOn(state) train()
Channel:
145 146 147
Level: Command:
Constant:
ACONF_PRIVACY ACONF_PRIVACY_ON ACONF_TRAIN
Notes:
Momentary Function Channel: Cycle privacy when channel is activated Discrete Function Channel: Privacy is on while channel is active Momentary Function Channel: Train is executed when the channel is activated
Listener Name: Audio Conferencer Listener Interface: IAudioConferencerComponentListener Listener Functions: Name:
processPrivacyEvent IAudioConferencerComponentListener
Channel:
146
Level: Command:
Constant:
ACONF_PRIVACY_FB
Notes:
Feedback Channel: Privacy is muted if channel is on
Standard NetLinx API (SNAPI) R 1. 8. 0
11
12
Standard NetLinx API (SNAPI) R 1. 8. 0
Audio Mixer
Component Name: Audio Mixer Interface: IAudioMixerComponent Component Functions: Name:
getAudioMixerCrosspoint(input, output) getAudioMixerPreset() isAudioMixerCrosspointMuteOn(input, output) IAudioMixerComponent
Channel:
Level: Command:
?XPOINT-<input>, <output>
Constant:
Notes:
Query for Audio Mixer Crosspoint, responds with XPOINT-<value>, <input>, <output> where <value> is 0 to 255, <input> is 1 to the maximum supported input and <output> is the maximum supported output (see specific module documentation) Query for Audio Mixer Preset, responds with MIXERPRESET-<preset> where <preset> is 1 to x and x is the maximum supported preset (see specific module documentation) Query for Audio Mixer Crosspoint Mute, responds with XPOINTMUTE<state>, <input>, <output> where <state> is 0 (un-muted) or 1 (muted), <input> is 1 to the maximum supported input and <output> is the maximum supported output (see specific module documentation) Save Audio Mixer Preset where <preset> is 1 to x and x is the maximum supported preset (see specific module documentation) Set Audio Mixer Crosspoint for <input> to one or more <output>s where <value> is 0 to 255. <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific module documentation) Set Audio Mixer Crosspoint Mute for <input> and <output> where <state> is 0 (unmuted) or 1 (muted). <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific module documentation) Recall Audio Mixer Preset where <preset> is 1 to x and x is the maximum supported preset (see specific module documentation)
?MIXERPRESET ?XPOINTMUTE-<input>, <output>
saveAudioMixerPreset(preset) setAudioMixerCrosspoint(input, output[], value) setAudioMixerCrosspointMuteOn(input, output, state) setAudioMixerPreset(preset)
MIXERPRESETSAVE-<preset> XPOINT-<value>, <input>, <output>[, <output>, <output>Ö] XPOINTMUTE-<state>, <input>, <output> MIXERPRESET-<preset>
Listener Name: Audio Mixer Listener Interface: IAudioMixerComponentListener Listener Functions: Name:
processAudioMixerCrosspointEvent processAudioMixerCrosspointMuteOnEvent processAudioMixerPresetEvent IAudioMixerComponentListener
Channel:
Level: Command:
XPOINT-<value>, <input>, <output>
Constant:
Notes:
Audio Mixer Crosspoint changed for <input> to one or more <output>s where <value> is 0 to 255. <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific module documentation) Audio Mixer Crosspoint Mute changed for <input> and <output> where <state> is 0 (unmuted) or 1 (muted). <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific module documentation) Mixer preset changed, where <preset> is 1 to x and x is the maximum supported preset (see specific module documentation)
XPOINTMUTE-<state>, <input>, <output> MIXERPRESET-<preset>
Standard NetLinx API (SNAPI) R 1. 8. 0
13
14
Standard NetLinx API (SNAPI) R 1. 8. 0
Audio Processor
Component Name: Audio Processor Interface: IAudioProcessorComponent Component Functions: Name:
addAudioProcessorComponent(index, audioProcessorAddress) adjustAudioProcessorLevel(1) adjustAudioProcessorLevel(-1) cycleAudioProcessorPreset() cycleAudioProcessorState() getAudioProcessorComponentAddress(index) getAudioProcessorComponentIndex(audioProcessorAddress) getAudioProcessorCrosspoint(input, output) getAudioProcessorInput(output) getAudioProcessorOutput(input) getAudioProcessorPreset() isAudioProcessorCrosspointMuteOn(input, output) removeAudioProcessorComponent(audioProcessorAddress) removeAudioProcessorComponent(index) 24 25 209 26 ?AUDIOPROCADDR-<index> ?AUDIOPROCIDX-<address> IAudioProcessorComponent
Channel:
Level: Command:
AUDIOPROCADD<index>, <address>
Constant:
Notes:
Add a Audio Processor object at a given index, where <index> is 1 through x and <address> is the object address and x is the maximum supported index (see specific module documentation)
AUDIOPROC_LEVEL_UP AUDIOPROC_LEVEL_DN AUDIOPROC_PRESET AUDIOPROC_STATE
Ramping Channel: Audio Processor level is incremented when channel is activated Ramping Channel: Audio Processor level is decremented when channel is activated Momentary Function Channel: Cycle Audio Processor preset when channel is activated Momentary Function Channel: Cycle Audio Processor state when channel is activated Query for the address of the Audio Processor object at index <index>, responds with AUDIOPROCADDR-<index>, <address> Query for the index of the Audio Processor object with address <address>, responds with AUDIOPROCADDR-<index>, <address> Query for Audio Processor crosspoint, responds with XPOINT-<value>, <input>, <output> where <value> is 0 to 255, <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific module documentation) Query for the input connected to an output, respond with SWITCH-L<sl>I<input>O<output> where <sl> is AUDIO and <input> is 0 if there is no connection. Query for the outputs connected to an input, respond with SWITCHL<sl>I<input>O<output>, <output>Ö where <sl> is AUDIO and <input> is 0 if there is no connection. Query for Audio Processor Preset, responds with AUDIOPROCPRESET-<preset> where <preset> is 1 to x and x is the maximum supported preset (see specific module documentation) Query for Audio Processor Crosspoint Mute, responds with XPOINTMUTE<state>, <input>, <output> where <state> is 0 (un-muted) or 1 (muted), <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific module documentation) Remove the Audio Processor object with address <address>, where <address> is the object address Remove the Audio Processor object at index <index>, where <index> is 1 through x and x is the maximum supported index (see specific module documentation)
?XPOINT-<input>, <output>
?INPUT-<output> ?OUTPUT-<input>
?AUDIOPROCPRESET
?XPOINTMUTE-<input>, <output>
AUDIOPROCREMOVEADDR<address> AUDIOPROCREMOVEIDX-<index>
Standard NetLinx API (SNAPI) R 1. 8. 0
15
Component Functions: (Cont. ) Name:
saveAudioProcessorPreset(preset) setAudioProcessorCrosspoint(input, output[], value) setAudioProcessorCrosspointMuteOn(input, output, state) setAudioProcessorLevel(level) setAudioProcessorPreset(preset) setAudioProcessorStateOn(state) switchAudioProcessorInputToOutput(input, output[]) 199 AI<input>O<output, output, Ö> 1 AUDIOPROCPRESET-<preset> AUDIOPROC_STATE_ON
Channel:
Level: Command:
AUDIOPROCPRESETSAVE-<preset> XPOINT-<value>, <input>, <output>[, <output>, <output>Ö] XPOINTMUTE-<state>, <input>, <output>
Constant:
Notes:
Save Audio Processor Preset where <preset> is 1 to x and x is the maximum supported preset (see specific module documentation) Set Audio Processor crosspoint for <input> to one or more <output>s where <value> is 0 to 255. <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific module documentation) Set Audio Processor Crosspoint Mute for <input> and <output> where <state> is 0 (unmuted) or 1 (muted). <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific module documentation)
AUDIOPROC_LVL
Set Audio Processor level, range is 0-255 Recall Audio Processor Preset where <preset> is 1 to x and x is the maximum supported preset (see specific module documentation) Discrete Function Channel: Audio Processor state is on while channel is active Switch <input> to one or more <output>s for switcher level Audio. Use <input> 0 for disconnect.
Listener Name: Audio Processor Listener Interface: IAudioProcessorComponentListener Listener Functions: Name:
processAudioProcessorCrosspointEvent processAudioProcessorCrosspointMuteOnEvent processAudioProcessorLevelEvent processAudioProcessorPresetEvent processAudioProcessorStateOnEvent processAudioProcessorSwitchEvent 199 SWITCH-L<sl>I<input>O<output> 1 AUDIOPROCPRESET-<preset> AUDIOPROC_STATE_FB IAudioProcessorComponentListener
Channel:
Level: Command:
XPOINT-<value>, <input>, <output>
Constant:
Notes:
Audio Processor crosspoint changed for <input> to one or more <output>s where <value> is 0 to 255. <input> is 1 to the maximum supported input and <output> is 1 to the maximum supported output (see specific module documentation) Audio Processor Crosspoint Mute changed for <input> and <output> where <state> is 0 (un-muted) or 1 (muted). [. . . ] 46 43 35 33
WEATHER_DEWPOINT_ LVL
Dewpoint changed, value is in degrees C or F depending on weather scale Weather forecast high temperatures changes, value list will contain one forcast high temperature for each forecast day. Values are in degrees C or F depending on weather scale Weather forecast low temperatures changes, value list will contain one forcast low temperature for each forecast day. Values are in degrees C or F depending on weather scale
WEATHER_HEAT_INDEX _LVL WEATHER_HI_TEMP_LV L INDOOR_HUMID_LVL INDOOR_TEMP_LVL WEATHER_FREEZING WEATHER_RAINING
Heat index temperature changed, value is in degrees C or F depending on weather scale High temperature since midnight changed, value is in degrees C or F depending on weather scale Indoor humidity changed, value is in percent Indoor temperature changed, value is in degrees C or F depending on weather scale Feedback Channel: Weather condition is freezing if channel is on. Weather condition is freezing when outdoor temperature is at or below 32 degrees F, 0 degrees C. [. . . ]