SYNTAX(DOCS) Optical Printer Control System SYNTAX(DOCS)
NAME
syntax - syntax of OPCS numeric and math expressions
OPCS COMMAND SYNTAX
Many commands can appear on one line, and a line can be up to 128
characters (or can wrap around the screen about one and a half times).
Commands and arguments are separated by white space (spaces or tabs).
Commands that allow a variable number of fixed arguments, e.g. SEEK,
RES, and RAT, they let you use '-' to skip arguments.
Where appropriate, '>' can be used as a prefix to a numeric value
to specify an absolute position in the context of frames to shoot,
or motor positions to go to.
Some commands expect frame specifications, which can be expressed in
many different ways. Such a command is the 'CAM' command, and here are
some valid frame specifications:
cam 12 # run camera 12 frames
cam -5 # run camera 5 frames in reverse
cam 12'2 # run camera 12 feet 2 frames
cam -15'0 # run camera in reverse 15 feet
cam >34 # send camera TO frame 34
cam >-34 # send camera TO frame -34
cam >-12'3 # send camera TO negative 12 ft 3 frms
cam (3+12*12) # run camera 147 frames
cam (3+(3*sqrt(16)*12)) # same as above
cam >(3+12*12) # send camera TO frame 147
MATH EXPRESSIONS
You can usually use math expressions in place of most numeric
arguments as long as the expression is ENCLOSED IN PARENTHESES,
and DOES NOT CONTAIN EMBEDDED SPACES. Example:
(3+(3*sqrt(16)*12))
Math can be done on frame counter values:
(cam+3)
For a complete list of all built in math operations, execute:
(?)
The following lists some of the operations supported by the
math expression parser:
/*** TYPICAL OPERATIONS ***/
(3+4-2*12/6) # add, subtract, multiply, divide
(533%256) # modulus
(2^4) # exponentiation (powers)
/*** OPCS VALUES ***/
cam - camera counter value
pro - main projector counter value
pro1 - main projector counter value
pro2 - aerial projector counter value
/*** MATH FUNCTIONS ***/
sqrt(), log(), exp(),
sin(), cos(), tan(),
asin(), acos(), atan(),
atan2(), radians(), degrees()
hex(), pi
/*** NUMERIC EXPRESSIONS ***/
-12 # negative 12
+34 # positive 34
0x3ff # hex representation for 1023 decimal
DIFFFERENT APPROACHES YIELD SIMILAR RESULTS
With few exceptions, there are usually two ways to do anything in the
OPCS software. The following examples show two possible ways to do
step printing:
do 12 cam 1 pro 2 # take 1 frame of every second projector frame
rat 2 1 rep 12 # same as above
The following two examples show how to automate the wedging process:
do 200 cam 2 pse # shoots 2 frames with a keyboard pause inbetween
cam 2 # hitting the F4 key each time will shoot 2 frames
# doing more or less the same as the above
COMMAND LINE EDITING KEYS
OPCS supports all of DOS's editing keys, such as F3 (retype a line but
do not execute), LEFT and RIGHT ARROW keys for revealing characters
from the last line typed, INSERT and DELETE keys, etc. Refer to your
DOS manual for more on these editing keys and their use.
In addition to the standard DOS editing keys, the F4 key is programmed
by the OPCS software to RE-EXECUTE the last line typed with one key
press. This is useful for doing wedges, or situations where manual
stopping/starting is necessary.
SHELL EXECUTION
Part of the system philosophy is to allow the user to their own
custom programs/scripts from within OPCS, just like DOS commands.
You can execute DOS commands by prefixing the command with a
'bang' (!), e.g.
! dir *.run | more
You can also use (!) to QUOTE a dos command, so that OPCS commands
can be mixed with the dos commands:
cam 12 ! echo Shot 12 frames ! pro 12 ! echo DONE
------------------- ---------
The underlined commands are executed as DOS commands, the rest
are executed as OPCS commands. Note how '!' turns DOS execution
on and off throughout the line.
This (!) technique is patterned after a similar technique used
by programs that run under the UNIX operating system.
ORIGIN
Gregory Ercolano, Los Feliz California 12/15/89