DEBUGGER(OPCSDEFS)	Optical Printer Control System	     DEBUGGER(OPCSDEFS)

    NAME
        debugger - enable OPCS debugging

    SYNOPSIS
        debugger [value]

    EXAMPLE
	debugger 3    # enable somewhat heavy debugging
	debugger 0    # disable all debugging

    DESCRIPTION
        Intended only for debugging the OPCS software during development.
	However, enabling debugging may help people analyze velocities
	being sent to motors, etc.

    EXAMPLE USE
        To capture the often voluminous data, it's best to invoke OPCS
	with its output redirected to a file, then blindly run the 
	commands to test, and then quit. Example:

	    C:\> opcs > output.log
	    debugger 3			<-- type this and hit return
	    pro2 5			<-- type this and hit return
	    qq				<-- type this and hit return
	    C:\> more output.log        <-- view the debugger output

	The above is useful for inspecting the raw velocities sent to
	the motors as a hex dump. Look for "POST MORTEM" in the debug
	output, which will show a hexdump of motor runs.  Example:

             A    B    C    D    E    F    G    H     <-- Channels
             |    |    |    |    |    |    |    |
POST MORTEM \|/  \|/  \|/  \|/  \|/  \|/  \|/  \|/
56eb-0000: 000b 0000 0000 0000 0000 0000 0000 0000  \
56eb-0020: 0059 0000 0000 0000 0000 0000 0000 0000   |
56eb-0040: 00a6 0000 0000 0000 0000 0000 0000 0000   |
56eb-0060: 00b2 0000 0000 0000 0000 0000 0000 0000   | Hex dump
56eb-0080: 00df 0000 0000 0000 0000 0000 0000 0000   | of Ring Buffer
56eb-00a0: 00de 0000 0000 0000 0000 0000 0000 0000   |
56eb-00c0: 00de 0000 0000 0000 0000 0000 0000 0000   :       __ Indicates
56eb-00e0: 00de 0000 0000 0000 0000 0000 0000 0000          /   ROTATION bit
56eb-0100: 50df 0000 0000 0000 0000 0000 0000 0000  <-AS <-ROT  Set Here
56eb-0120: 00de 0000 0000 0000 0000 0000 0000 0000     \
56eb-0140: 00de 0000 0000 0000 0000 0000 0000 0000      \__ Indicates ALLSTOP
56eb-0160: 00de 0000 0000 0000 0000 0000 0000 0000          Bit Set Here
56eb-0180: 00de 0000 0000 0000 0000 0000 0000 0000 
56eb-01a0: 00df 0000 0000 0000 0000 0000 0000 0000 
56eb-01c0: 00de 0000 0000 0000 0000 0000 0000 0000 
56eb-01e0: 00de 0000 0000 0000 0000 0000 0000 0000 
56eb-0200: 00de 0000 0000 0000 0000 0000 0000 0000 
56eb-0220: 50df 0000 0000 0000 0000 0000 0000 0000  <-AS <-ROT
56eb-0240: 00b2 0000 0000 0000 0000 0000 0000 0000  <-ASADDR
56eb-0260: 00a6 0000 0000 0000 0000 0000 0000 0000      \__ Indicates This
56eb-0280: 0059 0000 0000 0000 0000 0000 0000 0000          Is The ALLSTOP
56eb-02a0: 000b 0000 0000 0000 0000 0000 0000 0000          Address (for quick
56eb-02c0: 0000 0000 0000 0000 0000 0000 0000 0000          rampdown to stop
56eb-02e0: 8000 8000 8000 8000 8000 8000 8000 8000          motor with shutter
 TOTAL     0fa0 0000 0000 0000 0000 0000 0000 0000          fully closed)
 TOTAL     4000 0    0    0    0    0    0    0    

    WARNING
        When debugging is enabled, software may not control hardware
	correctly. For instance, with heavy debugging enabled, so much
	data is printed, the motors may not have time to update.

    ORIGIN
	Gregory Ercolano, Venice California 06/18/98
© Copyright 1997 Greg Ercolano. All rights reserved.