APPENDIX A
| 69
GPIO OPERATION
The pin-based GPIO protocol was designed to be easy to use with raw contact closures (or
independent logic bits). It allows a pushbutton (or toggle switch) on each pin to be useful
independently of the other buttons. For example, a processing preset may be assigned to be
selected by the “go-low” direction of each of the 5 pins in the port. If this is done and five nor-
mally-open pushbuttons are connected between the pins of a controlling GPI port and ground,
each pushbutton will select a preset when pressed. If normally-closed pushbuttons are used, the
“go-high” direction of the pins would have to be used to create the same effect. One would not
typically assign both the go-low and go-high directions of the same pins at the same time. An
exception might be to use a single toggle switch on a single pin to select between 2 presets, one
for each direction. A little thought will show that using multiple toggle switches in this manner
will lead to problems selecting the desired preset without going through intermediate presets.
The following 4 GPO ports are permanently defined. Their function cannot be changed.
GPO 1 -- reserved (because VOLT has no physical GPO)
GPO 2 -- preset selection
GPO 3 -- input/output routing selection
GPO 4 -- trigger script execution (not yet implemented)
As seen above, the action to take is tied directly to the port number.
The possible actions are:
Preset Selection: Each of the five pins acts independently of the others. Each pin can have one
preset assigned to a rising edge on the pin and one preset assigned to a falling edge (or “no
action” may be selected for either or both edges). Preset selection takes place only on transitions
(edges). If more than one transition takes place simultaneously, the lowest numbered pin
that has a transition will take precedence. Here, “simultaneously” means as part of the same
command to lwrd. If they are driven by physical inputs, transitions that occur within the same
sampling period will be seen as simultaneous.
Input Routing: Bits 0 and 1 select the primary input. Bit 0 acts independently to select either the
analog input on a falling edge or the AES input on the rising edge:
Lxxxx = analog input
Hxxxx = aes input
Bit 1 acts to select the LiveWire input on a falling edge. On a rising edge the simultaneously
transmitted state of bit 0 is examined to select one of the other inputs:
xLxxx = LiveWire input
lHxxx = analog input
hHxxx = aes input
If bits 0 and 1 have simultaneous transitions, bit 1 takes precedence. So LLxxx and HLxxx
switch to LiveWire.