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 from a Console. 

GPI Inputs

GPI inputs are generally are opto-isolated, and are actuated by applying a trigger voltage across each pair of input terminals. Some GPI units such as the Broadcast Tool SRC32 are 'dry' and do not need voltage. In regards to the opto-isolated GPI style devices, 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 within the GPI file. Typical applications include remote PLAY and STOP of any Playback machine. Some facilities will load an audio cut into a deck and play it. 

GPI Outputs

GPI outputs are mechanical relay contacts. Depending on the GPI devices purchased, some of these outputs are Single Pole Double Throw (SPDT), while other can be Single Pole Single Throw (SPST) contacts. Again, depending upon the unit ordered, the above could be a combination or just a single variety. One can use a DCL to open, close, or pulse any of the relay outputs. Typical applications include ON / OFF tally on a console.

 

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 Deck 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-1 any time input #0 receives a voltage pulse. 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

             0                  "superplay pbk1"                        Play or Segue playback 1

             1                  "stop pbk1"                                 Stop playback 1

             2                  "next pbk1"                                 Advance to the next cut in playback 1

             3                  ""                                                 Inactive

   5           4                  "refresh pbk1 : refresh pbk2"       Refresh playback machines 1& 2

   6           5                  "execute 01211"                           Play command cut number 01211

   7           6                  ""                                                  Inactive

   8           7                  ""                                                  Inactive

 

Controlling GPO Outputs

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.

For example: 

To pulse the physical relay number 0 on the GPI device, one would issue the DCL Command in DAD: 

PULSE GPO 1 500

Whereas DAD will close, wait 500 milliseconds, then open the first relay (relay 0).  

CLOSE GPO 1 and OPEN GPO 1 would close then open the first relay. 

 

Using the GPO file within DAD for logic

Another variable one can do in DAD is perform an action based upon Logic of the audio card. This method uses the GPO file in DAD. Use of the GPO is not required for simple control of GPO Outputs such as OPEN, CLOSE or PULSE GPO#. The GPO file in DAD allows one to tie a function happening on an audio card to a logic command issued by DAD. 

For example, if one wanted to turn a fader module ON on a console when DAD plays audio, then turn it OFF when it stops, one could do this via the GPO file. This basic function uses the logic of both DAD and the audio card. In other words, when the audio card output go into a 'play' mode, DAD will then perform this action. 

The first step in working with a GPO file is understanding that each Playback machine in DAD is assigned to an Audio Board via the Channel Assignment screen. In addition to making the audio output assignments for a deck, this window also allows a particular machine to be given Program or Audition logic status. Information about Channel Assignments can be found here

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.

Each line of the .GPO file is linked to a corresponding audio logic 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

Examples: 

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.

PGM_STOP 1 C "OPEN GPO 1"

This would open the relay: GPO 1 audio output-1 goes from Play to STOP. and is also assigned a Program status.

AUD_START 3 C "EXECUTE 00050"

When the audio card output 3 starts to play audio AND the machine within DAD has that devices assigned as AUDITION, then DAD will execute Command Cut number 00050. 

 

Sending Serial Commands via the GPO file

When choosing to send a Serial String, one must configure DAD to communicate serially. In the workstations CFI file one would configure DAD to use a specific COM Port. DAD will use the Switcher_OUT_IO line to send the data in the GPO file out to the COM Port entered.

For example:

[SERIAL]

COM1_INFO=9600 N 8 1

SWITCHER_OUT_IO=1

 

An example of use:

PGM_START 1 S "*0012"

When DAD starts playing audio and the playback device has been assigned Program status in Channel Assignments, DAD will send the serial string '*0012' out of COM Port 1. The serial string '*0012' would be a string to control a Switcher. Each time DAD plays audio, the Switcher will change it's Crosspoint.