Programming GPIs in DAD
The General Purpose Interface allows DAD to control external devices via relay outputs [GPO], and enables DAD to receive external command signals (inputs) [GPI] from devices such as a satellite controller, a master clock or a manual push button.
GPI Inputs
GPI inputs are completely opto-isolated (500V maximum), and are actuated by applying a trigger voltage across each pair of input terminals. The inputs are not polarity sensitive, and are driven by DC in the range of 5V to 24V RMS. Upon receipt of an input signal DAD will execute whatever commands have been programmed. Typical applications include remote PLAY and STOP of any Playback machine, as well as NEXT sequencing of any loaded playlist.
GPI Outputs
GPI
outputs are electromechanical relay contacts, rated at 6 A @ 120 V AC or 28
Programming of GPI Inputs
The .GPI file has as many lines as there are GPI inputs; each line corresponds to one of the physical GPI inputs. Typing any valid DCL command within double quotes will program DAD to execute this command when a voltage pulse is received on the corresponding GPI input. To create or modify the GPI file, go to SETUP > README and select the *.GPI button. In a network environment, the GPI file name for each workstation will be identified by its "location" setting, such as ONAIR.GPI. This file will still reside in the \DAD\FILES folder.
|
|
NOTE: Following industry convention, the 8 GPI inputs are numbered 0-7 on the connector pinout diagram; line #1 in the .GPI file corresponds to input #0 on the pinout diagram, and line #8 to input #7. |
For instance, to start playback machine #1 with a voltage pulse sent to GPI input #0 (first input), the first line of the GPI file would be: "PLAY PBK1". Once this command is entered on line 1, DAD will issue a PLAY command to playback machine #1 any time input #0 receives a voltage pulse (assuming the GPI ON button is active). If a GPI input is to be left unused, the command line should contain only the beginning and end quote marks, with nothing in between: "". Therefore, each command line in the file will contain either a command in quotes, or quotes only. A sample .GPI file might look like this:
.GPI
linked
file
to GPI
Resulting
line# Input# DCL Command Function
1 0 "superplay pbk1" Play or Segue playback 1
2 1 "stop pbk1" Stop playback 1
3 2 "next pbk1" Advance to the next cut in playback 1
4 3 "" Inactive
5 4 "refresh pbk1 : refresh pbk2" Refresh playback machines 1&2
6 5 "execute 01211" Play command cut #01211
7 6 "" Inactive
8 7 "" Inactive
DAD can control external devices circuits through the use of GPO outputs (mechanical relay contacts which can be opened, closed or pulsed) and serial strings (via an external switcher protocol or the SEND TEXT command) by using DCL commands.
To create or modify the GPO file, go to SETUP > README and select the *.GPO button. In a network environment, the GPO file name for each workstation will be identified by its "location" setting, such as ONAIR.GPO. This file will still reside in the \DAD\FILES folder.
In DAD, any of the output relays can be controlled by any of the machines within DAD. Furthermore, you can open, close, or pulse any relay on Program Play, Audition Play, Secondary Cue, Tertiary Cue and Machine Stop. This ability comes from driving the relays from the DSP Boards instead of from the machines themselves.
The *.GPO file can be considered as the “cross-connect” point where machine functions are tied to a particular relay output. The first step in understanding this process is to remember that each audio machine in DAD is assigned to a DSP Board via the Channel Assignment window, accessed by touching the CHANNEL ASSIGNMENT button on the SETUP Screen. In addition to making the DSP board assignments for an audio machine, this window also allows a particular machine to be given Program or Audition logic status.
The *.GPO file is used to control the GPO relays and output switcher strings. Each line of the .GPO file is linked to a corresponding serial output. Lines in the .GPO file follow the following format:
[event] [I/O#] [type] [action]
These
variables are explained in the following table.
|
Event |
PGM_START, PGM_STOP, ANY_PGM_START, ANY_PGM_STOP, REC_START, REC_STOP, AUD_START, AUD_STOP, SEC, TER |
|
I/O# |
1
through the total number of physical I/O |
|
Type |
S (for Serial) or C (for Command) |
|
Action |
Command string or serial string |
For example: PGM_START 1 C "pulse gpo 1 500"
This would pulse GPO 1 for half a second when audio output-1 goes into a PLAY state (and is also assigned a Program status).