Copyright (C) 1999 by Pyro Safety
POWEROS is a script driven Operating System, although the script can be as simple as "shoot 1" "shoot 2", etc...
The following is a technical defintion for the POWEROS 2.0 scripting language. (Hint - the fact that I have a defintion suitable for a parser should give you a hint about the future.)
Any flat ascii file can be a script. This means that you can read them, print them, and edit them without having to buy an expensive scripting program.
Normally they have ".sho" as an extension - July4.sho, NewYear.sho, etc... The program just asks for the name and appends the extension.
<Script file> ::= <title line><command line>*<end line>
<title line> ::= <any string of ascii text><cr>
<end line> ::= "END<cr>"
<command line> ::= <command><space><mod num><space><cue num><space><time><space><description><cr>
<Command> ::= "L" or "F" or "A"
<mod num> ::= integer between 1 to 1000
<cue num> ::= integer between 1 to 64
<time> ::= decimal number between 0.0 and +10000.0, expressed as either 0, 1 or 2 decimal places
<description> ::= <any string of ascii text>
<space> ::= " " (i.e., it's a space!)
Thus the following would be a viable script for a 12.2 second long show (but it has a 12" finale shell!).
Test show L 1 1 0.0 roman candles right L 1 2 0.0 roman candles left F 1 2 5.0 fire the candles L 1 3 10.0 3" red shell L 1 4 10.0 3" white shell L 1 5 10.0 3" blue shell F 1 5 11.0 red, white and blue L 1 6 11.2 finale right L 1 7 11.2 finale left F 1 7 12.2 both finale racks F 1 8 12.2 12" Chrysanthemum shell END
The POWER!Shot uses a 30 millisecond pulse to fire an elecric match. During that time period all cues loaded on a module will be fired by a "F" or an "A" command. Thus loading a new cue immediately after giving a fire command may cause the new cue to fire. For example:
F 1 5 11.00 red, white and blue L 1 6 11.01 finale right
might cause the right side of the finale to be fired by the pulse from the fire command at 11.00.
To be safe one should use at least 50 milliseconds of delay, or put that cue on a separate module:
F 1 5 11.00 red, white and blue L 1 6 11.10 finale right
OR
F 1 5 11.00 red, white and blue L 2 1 11.01 finale right