(FILECREATED "28-Aug-84 11:54:02" {PHYLUM}<BLUEBONNET>DMRUSSELL>NEWPLANS.;4 4028   

      changes to:  (FNS Plan2To2)

      previous date: "13-Aug-84 16:10:22" {PHYLUM}<BLUEBONNET>DMRUSSELL>NEWPLANS.;1)


(* Copyright (c)  by NIL. All rights reserved.)

(PRETTYCOMPRINT NEWPLANSCOMS)

(RPAQQ NEWPLANSCOMS ((FNS * NEWPLANFNS)))

(RPAQQ NEWPLANFNS (Plan2To2))
(DEFINEQ

(Plan2To2
  [LAMBDA (job)                                              (* JG "24-Aug-84 16:11")
    (PROG (steps makeReady setPanel loadRDH1 pushStart1 printingSide1 thankUser)
          (SETQ makeReady (PlanMakeReady job))
          (SETQ setPanel1 (PlanPanel (fetch Collate of job)
				     (fetch CopyBrightness of job)
				     (fetch CopiesOnStandardPaper of job)
				     (fetch NumberOfCopies of job)
				     (fetch (CopyJob Reduction) of job)
				     (fetch Staple of job)
				     (fetch TwoSidedCopies of job)
				     (fetch TwoSidedOriginals of job)))
          (SETQ loadRDH1 (PlanLoadRDH T T))
          (SETQ pushStart1 (PlanPushStart (fetch NumberOfCopies of job)
					  (LIST setPanel1 loadRDH1 makeReady)))
          [SETQ printingSide1
	    (CreatePlanStep (CreateComment (BQUOTE (The back sides of the copies are now being made. 
							Each sheet of the original is being taken 
							into the copier by the RDH, copied once,
							  and returned. When all sheets have been 
							      returned, the copy will be put into the 
							      output tray.)))
			    '[PROGN (DisplayStopButton)
				    (COND
				      ((MakeReady)
					(replace Pass1Done of JobState with T)
					(replace CopiesMade of JobState with NIL)
                                                             (* NOTE: The following only works with the simulator, 
							     for the time being)
					(SetBit (fetch machineState of JobState)
						18 1]
			    (CreateKernelEntry 'Pass1Done
					       '(The back sides have now been copied.))
			    pushStart1
			    '(Copying the back sides)
			    '(OutputTray]
          (SETQ unloadOutputTray (PlanUnloadOutputTray (fetch NumberOfCopies of job)))
          [SETQ loadTopPaperTray
	    (CreatePlanStep (BQUOTE (Place the copies that you have just removed from the output tray 
					   in the top paper tray, face up. Do not remove any pages, 
					   even the top one if it is blank.))
			    NIL
			    [CreateKernelEntry (CreateWff '(= LoadCopiesInTopTray 'off)
							  '(The copies from the first pass are in the 
								top paper tray.]
			    NIL
			    '(Preparing copies for the second pass.)
			    '(TopPaperTray]
          (SETQ pushStart2 (PlanPushStart (fetch NumberOfCopies of job)
					  (LIST unloadOutputTray loadTopPaperTray)))
          [SETQ printingSide2
	    (CreatePlanStep (CreateComment (BQUOTE (The front sides of your copies are now being 
							made.)))
			    '(CompletePrintingStep)
			    (CreateKernelEntry 'CopiesMade '(The copies have been made))
			    pushStart2
			    '(Copying the front sides)
			    '(OutputTray]
          (SETQ removeCopies2 (PlanUnloadOutputTray (fetch NumberOfCopies of job)))
          (SETQ unloadRDH (PlanUnloadRdh))
          (SETQ thankUser (PlanThankYou (LIST printingSide1 printingSide2 removeCopies2 unloadRDH 
					      makeReady)))
          (push steps makeReady setPanel1 loadRDH1 pushStart1 printingSide1 unloadOutputTray 
		loadTopPaperTray pushStart2 printingSide2 removeCopies2 unloadRDH thankUser)
          (RETURN (create Plan
			  steps ← steps
			  goal ← (fetch kernel of thankUser)
			  summary ←
			  (create Paragraph
				  text ←
				  (BQUOTE (The copies will be made in two passes. During the first 
					       pass, the back sides of the copies will be made. I 
					       will then ask you to prepare the copier to do the 
					       front sides of the copies.)))
			  initialState ← '(Pass1Done CopiesMade])
)
(DECLARE: DONTCOPY
  (FILEMAP (NIL (372 4006 (Plan2To2 382 . 4004)))))
STOP