DIRECTORY ImagerSample USING [RasterSampleMap], PrincOps USING [PageCount, wordsPerPage], RavenCodes USING [PrinterCommand, PrinterStatus]; RavenControl: CEDAR DEFINITIONS = BEGIN ConsoleKey: TYPE = RavenCodes.PrinterStatus[key0..keyOffLine]; EngineEvent: TYPE = MACHINE DEPENDENT {readyToFeed(0), feeding, transferReady, imaged, imagedOverrun, pageSyncMiss, pageDelivery, idle, feedError, softError, hardError, timeout, (LAST[WORD])}; EngineStatus: TYPE = {okay, okayFlushRequired, tonerLow, warming, lowPowerMode, preRegistrationFault, postRegistrationJam, preExitJam, postExitJam, outputTrayFull, traysUnlatched, doorOpen, offline, communicationFault, imageFault1, imageFault2, imageFault3, sequenceFault}; EventContext: TYPE [1]; LogItem: TYPE = RECORD [ SELECT sort: * FROM command => [command: RavenCodes.PrinterCommand], printerStatus => [printerStatus: RavenCodes.PrinterStatus], softwareStatus => [statusExtras: StatusExtras], plateStatus => [plateStatus: PlateStatus], ENDCASE]; PlateStatus: TYPE = {okay, bandOverrun, pageSyncMiss}; PaperTray: TYPE = {bottom, top}; PaperTraySize: TYPE = {unknown, small, large}; PaperStacking: TYPE = {aligned, offset}; StatusExtras: TYPE = {okay, communicationFault, imageFault1, imageFault2, imageFault3, sequenceFault}; Initialize: PROCEDURE [bufferSize: PrincOps.PageCount]; GetEngineStatus: PROCEDURE RETURNS [engineStatus: EngineStatus]; WaitEngineStatus: PROCEDURE RETURNS [engineStatus: EngineStatus]; GetPaperTrayStatus: PROCEDURE [tray: PaperTray] RETURNS [okay: BOOLEAN]; GetPaperTraySize: PROCEDURE RETURNS [bottom, top: PaperTraySize]; WaitEngineEvent: PROCEDURE[ eventContext: REF EventContext] RETURNS [event:RavenControl.EngineEvent]; SetToCurrentEventContext: PROCEDURE [eventContext: REF EventContext]; WaitConsoleKey: PROCEDURE RETURNS [key: ConsoleKey]; WaitLogItem: PROCEDURE RETURNS [logItem: LogItem]; Feed: PROCEDURE [tray: PaperTray, stacking: PaperStacking]; SendEngineCommand: PROCEDURE [command: RavenCodes.PrinterCommand]; SetScanLineLength: PROCEDURE [scanLineLength: (0..PrincOps.wordsPerPage]]; GetPageMap: PROCEDURE [] RETURNS [pageMap: ImagerSample.RasterSampleMap]; PageTransferSet: PROCEDURE[pageMap: ImagerSample.RasterSampleMap]; TransferRelease: PROCEDURE[pageMap: ImagerSample.RasterSampleMap]; RunTurnaroundTest: PROCEDURE RETURNS [ok: BOOLEAN]; END... LOG When / Who / What. 18-Apr-85 11:25:46 / Strickberger / Created. 16-Jun-85 15:01:32 / Strickberger / Updated for multi plate unlimited printing. 19-Sep-85 17:01:52 / Strickberger / Added enableUnlimited parameter to Initialize. 14-May-86 13:44:59 / Prochaska / Added TYPE EventContext, PROC SetToCurrentEventContext; Added parm to WaitEngineEvent. ¼RavenControl.mesa Copyright Ó Xerox Corporation 1985, 1986, 1987. All rights reserved. Tim Diebert: April 2, 1987 9:23:49 am PST TYPEs: PROCEDUREs: bufferSize is the amount of low core to use for the bands. This should be a multiple of 16 PrincOps.PageCount. returns current Raven engine status returns with the new engine status when it changes returns the staus of paper in the desired paper tray returns the staus of the desired paper tray returns when an event occurs initializes the context to reference the current state of the eventQ returns when a key is pressed returns with an item to be logged issues feed command with tray and stacking modifiers sends command to Raven establishes the number of words in a scanline If no pageMap is available this procedure waits until a page is available. Sets up the page for transfer to the print engine. release dependancy on transfer exercises command/status hardware (assumes loopback cable) ÊG˜codešœ™KšœE™EK™)—K˜šÏk ˜ Kšœ œ˜%Kšœ œ˜)Kšœ œ!˜1—K˜KšÐln œœ œ˜'˜Kšœ™—˜Kšœ œ.˜>—˜Kš œ œœ œŽœœ˜À—˜Kšœœÿ˜‘—˜Kšœœ˜—˜šœ œœ˜Kšœ ˜K˜0K˜;K˜/K˜*Kšœ˜ ——˜Kšœ œ%˜6—˜Kšœ œ˜ Kšœœ˜.Kšœœ˜(—˜šœœD˜VK˜——K˜˜Kšœ ™ —˜šÏn œ œ"˜7Kšœo™o——˜šŸœ œœ˜@Kšœ#™#——˜šŸœ œœ˜AKšœ2™2——˜šŸœ œœœ˜HKšœ4™4——˜šŸœ œœ˜AKšœ,™,——˜šŸœ œœœ"˜eKšœ™——˜šŸœ œœ˜EKšœD™D——˜šŸœ œœ˜4Kšœ™——˜šŸ œ œœ˜2Kšœ!™!——˜šŸœ œ,˜;Kšœ4™4——˜šŸœ œ&˜BKšœ™——˜šŸœ œ.˜JKšœ-™-——˜šŸ œ œœ)˜IK™JK™—šŸœ œ(˜BK™2——˜šŸœ œ(˜BKšœ™——˜šŸœ œœœ˜3Kšœ<™<——˜Kšœ˜—K˜Kš˜K˜K˜,K˜OK˜RKšœ'œœ9˜w—…— ¢¥