The DEFINE_START statement tells the compiler that the following statements will be executed only once on power-up or system reset.
The DEFINE_CONSTANT section allows you to give numbers names.
PLAY = 1
STOP = 2
DEFINE_VARIABLE allows you to define storage locations. These may be used the same as channels (i.e. ON[var],OFF[var],etc.). Also variables can store values in the range of 0 to 65535. Arithmetic operators such as +, -, *, /, MOD, and the bitwise operators can be used on variables.
Arrays of bytes are also supported. Such arrays can be used as strings with CREATE_BUFFER, SEND_COMMAND, SEND_STRING, and other commands.
DEFINE_CALL allows a series of commands to be given a name (often called a subroutine). Later in the program you can execute this series of commands with a CALL statement.
SEND_STRING allow you to send a string of characters to a device.
DEFINE_MUTUALLY_EXCLUSIVE allows you to define which channels and/or variables are interlocking (only one can be on at a time).
NOTE: The double period (..) shortcut can be used to specify a range of device-channels to be defined as mutually exclusive.
SEND_COMMAND allows you to send card specific commands to a card.
WAIT causes a delay of time, specified in .1-second intervals, before the wait section is executed. The name is optional.
WAIT 10 'wait name'
do this after 1 second
CALL executes a subroutine that was previously defined by a DEFINE_CALL statement.
CALL 'call name'
PULSE will turn a channel on for a period of time then back off. The pulse on time is determined by SET_PULSE_TIME.