Programming the Marker lights.

If you're new to the EPIC card world, this article is probably the best way to familiarize yourself with getting things working without too much complexity. From this exercise you can build on your knowledge and expand further into the workings of EPIC. Be sure to read the 32-Point Output Module article first!

In this example we'll talk directly to the card in binary.

SETPOINT(0,0,0b00000001)

Refers to Module 0, Row 0, and since there are eight "Points" in each row, the binary example becomes a literal representation of which point you talk to.

My "Marker" lights are all on Mod0, Row0, and are hard-wired to outputs 5,6 & 7.

Another approach is to DEFINE a marker light:

#DEFINE MIDDLE_MARKER 0,0,0b01000000

and then:

SETPOINT(MIDDLE_MARKER)

Writing the EPL Code:

Here's the code which allows your Marker lights to turn on and off as you fly over the markers placed at arrivals at most ILS-equipped runways

:Markers_off{clearpoint(0,0,0b11100000)} ;Easier to just turn them ALL off, regardless of which one is active
:Outer_marker{setpoint(0,0,0b00100000)}
:Middle_marker{setpoint(0,0,0b01000000)}
:Inner_marker{setpoint(0,0,0b10000000)}

The following "QProc" lines will most likely go towards the very end of your EPL code. QPROC events relate to Peter Dowson's VXD and EPICINFO.GAU utilities. As each "Change" to a QProc occurs, that appropriate procedure is called. You could use any method to call the routines to work the lights. I am partial to the EPIC VXD, so you'll see a lot of that code here

defineQproc(14, Markers_off) ;Turn off all marker beacons
defineQproc(15, outer_marker) ;Turn on outer marker
defineQproc(16, middle_marker) ;Turn on middle marker
defineQproc(17, inner_marker) ;Turn on inner marker