DM84 Programmable I/O Commands

prgin Programmable input state
prgindef Programmable input definition
prginundef Programmable input un-definition
prgout Programmable output state
prgoutdef Programmable output definition
prgoutht

Programmable output hold time

prgoutiv Programmable output invert

prgoutqt

Programmable output qualification time

Termination: all commands are terminated with an ASCII carriage return character (hex code 0x0D), represented by <CR> in the examples below. All responses are terminated with an ASCII carriage return, line feed pair (hex codes 0x0D, 0x0A), represented by <CRLF> in the examples below. An ellipsis (...) represents members of an array that have been omitted from an example for the sake of brevity.

Verbose response: commands prefixed with an exclamation point (bang) character result in a "verbose" response containing the name of the property or action being addressed, along with the current values of the property in question. Property values are always returned in the "assignment" form, for example outmt(2)=1. This supports certain 3rd party control programming styles where the response to all responses needs to be self-describing and/or contain current property values.

Examples:

REQUEST

RESPONSE

COMMAND

!store(3)<CR>

OK store(3)<CRLF>

COMMAND

!run={1,3,5}<CR>

OK run={1,3,5}<CRLF>

QUERY

!outgn(3)?<CR>

OK outgn(3)=0<CRLF>

QUERY

!outmt(*)?<CR>

OK outmt(*)={0,1,1,0}<CRLF>

UPDATE

!ingn(3)=0<CR>

OK ingn(3)=0<CRLF>

UPDATE

!outmt(*)={0,1,1,0}<CR>

OK outmt(*)={0,1,1,0}<CRLF>

 

prgin (programmable input state)

This command may be used to simulate a momentary contact closure on a programmable input or as a query to read the state of programmable inputs. The programmable input is specified by using the address syntax. Addresses must be in the range 1 to 11. Note: simulated contact closures have no effect for progammable inputs configured for analog gain control. The data type returned by queries is integer, with the possible values depending on the nature of the function assigned to the programmable input. For analog gain control functions the values are the range 0 to 255, representing the voltage sensed by the programmable input (0 is 0 volts, 255 is 5 volts). For all other functions the value is either "1", meaning that the input is active (closed), or "0" meaning that it is not (open). The channel address may be wildcarded in queries, in which case the data type is an array of integer of size 11.

Examples:

REQUEST

RESPONSE

COMMAND

prgin(11)<CR>

OK<CRLF>

QUERY

prgin(9)?<CR>

OK 1<CRLF>

QUERY

prgin(*)?<CR>

OK {0,0,1,...,0,0,0}<CRLF>

 

prgindef (programmable input definition)

This command may be used as a query to read a programmable input definition, or as an update to modify the definition. The programmable input is specified by using the address syntax. Addresses must be in the range 1 to 11. The data type is array of integer, with a variable length. The values contained in the array represent the definition of a programmable input, using the following scheme:

Examples:

REQUEST

RESPONSE

QUERY

prgindef(9)?<CR>

OK {4,1,3,4,10}<CRLF>
(Function "Analog output gain control" is assigned to programmable input 9. The input channels under control are 1, 3, 4, and 10.)

QUERY

prgindef(2)?<CR>

OK {14,22}<CRLF>
(Function "Run a macro" is assigned to programmable input 2. Macro number 22 will be run if the programmable input is asserted.)

QUERY

prgindef(3)?<CR>

OK {13,3,1,7,8}<CRLF>
(Function "Momentary mute on crosspoint" is assigned to programmable input 3. The crosspoints under control are {3,1}, {3,7}, and {3,8}, which are members of the matrix row associated with input channel 3.)

QUERY

prgindef(4)?<CR>

OK {0}<CRLF>
(No function is assigned to programmable input 4.)

UPDATE

prgindef(11)={7,5}<CR>
(Function "Recall preset from memory" is assigned to programmable input 11. The preset to be recalled is specified as number 5.)

OK<CRLF>

UPDATE

prgindef(2)={8,1,2,4,5,6}<CR>
(Function "Toggle mute on input" is assigned to programmable input 2. The inputs to be controlled are specified as 1, 2, 4, 5, and 6.)

OK<CRLF>

UPDATE

prgindef(4)={0}<CR>
("No function" is assigned to programmable input 4, so that asserting it will have no effect.)

OK<CRLF>

UPDATE

prgindef(1)={10,5,9,10}<CR>
(Function "Toggle mute on crosspoint" is assigned to programmable input 1. The crosspoints to be controlled are specified as {5,9} and {5,10}, which are members of the matrix row associated with input channel 5.)

OK<CRLF>

 

prginundef (programmable input un-definition)

This command may be used as an update to un-define one or more programmable inputs, meaning that it no longer has any function assigned to it. The data type is array of integer, with a variable length. The values contained in the array represent the address of a programmable input to be un-defined.

Example:

REQUEST

RESPONSE

UPDATE

prginundef={3,4,5}<CR>
(Programmable inputs 3, 4, and 5 will be un-defined.)

OK<CRLF>

 

prgout (programmable output state)

This command may be used as a query to read a programmable output state. The programmable output is specified by using the address syntax. Addresses must be in the range 1 to 8. The data type is integer, with the value either "1", meaning that the output is active, or "0" meaning that it is not. If the channel address is wildcarded, then the data type is an array of integer of size 8.

Examples:

REQUEST

RESPONSE

QUERY

prgout(5)?<CR>

OK 0<CRLF>

QUERY

prgout(*)?<CR>

OK {0,0,1,...,0,0,0}<CRLF>

 

prgoutdef (programmable output definition)

This command may be used as a query to read a programmable output definition, or as an update to modify the definition. The programmable output is specified by using the address syntax. Addresses must be in the range 1 to 8. The data type is array of integer, with a variable length. The values contained in the array represent the definition of a programmable output, using the following scheme:

Examples:

REQUEST

RESPONSE

QUERY

prgoutdef(8)?<CR>

OK {3,1,3,4}<CRLF>
(Function "Monitor active preset" is assigned to programmable output 9. The presets being monitored are 1, 3, and 4.)

QUERY

prgoutdef(1)?<CR>

OK {2,3}<CRLF>
(Function "Monitor programmable input state" is assigned to programmable output 1. The logical state of programmable input 3 is being monitored.)

QUERY

prgoutdef(3)?<CR>

OK {1,3,1,7,8}<CRLF>
(Function "Monitor audio input activity" is assigned to programmable input 3. The NOM bus (mix bus) being referenced is channel 3, and the audio inputs being monitored for activity are channels 1, 7, and 8.)

UPDATE

prgoutdef(1)={2,5}<CR>
(Function "Monitor programmable input state" is assigned to programmable output 1. The programmable input being monitored is specified as number 5.)

OK<CRLF>

UPDATE

prgoutdef(2)={3,1,2,4}<CR>
(Function "Monitor active preset" is assigned to programmable output 2. The presets to be monitored are specified as 1, 2, and 4.)

OK<CRLF>

UPDATE

prgoutdef(4)={0}<CR>
("No function" is assigned to programmable output 4, so that it will become inactive.)

OK<CRLF>

UPDATE

prgoutdef(1)={1,5,3,4}<CR>
(Function "Monitor audio input activity" is assigned to programmable output 1. The NOM bus (audio output) being referenced is channel 5, and the audio inputs to be monitored are channels 3 and 4.

OK<CRLF>

 

prgoutht (programmable output channel activity hold time)

This command may be used as a query to read the hold time, or as an update to set it. The data type is integer, in the range 1 to 255, representing the hold time in one tenth second increments.

Examples:

REQUEST

RESPONSE

QUERY

prgoutht?<CR>

OK 4<CRLF>

UPDATE

prgoutht=10<CR>

OK<CRLF>

 

prgoutiv (programmable output invert)

This command may be used as a query to read the programmable output invert status, or as an update to set the status. The programmable output is specified by using the address syntax. Addresses must be in the range 1 to 8. The data type is integer, either "1" meaning that the programmable output is inverted (contacts open when asserted), or "0" meaning that it is not (contacts closed when asserted, the normal case). If the address is wildcarded, then the data type is an array of integer of size 8. In this case the value 99 may be used in an update to indicate that a particular programmable output invert state is to remain unchanged by the command.

Examples:

REQUEST

RESPONSE

QUERY

prgoutiv(3)?<CR>

OK 0<CRLF>

QUERY

prgoutiv(*)?<CR>

OK {0,1,0,...,0,0,0}<CRLF>

UPDATE

prgoutiv(2)=1<CR>

OK<CRLF>

UPDATE

prgoutiv(*)={0,0,1,...,99,99,99}<CR>

OK<CRLF>

 

prgoutqt (programmable output channel activity qualification time)

This command may be used as a query to read the qualification time, or as an update to set it. The data type is integer, in the range 1 to 255, representing the qualification time in one tenth second increments.

Examples:

REQUEST

RESPONSE

QUERY

prgoutqt?<CR>

OK 4<CRLF>

UPDATE

prgoutqt=10<CR>

OK<CRLF>

 

Copyright © 2006 Lectrosonics, Inc.