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 PARENTHESIS, 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