<> <> <> <> DIRECTORY BansheeCodes USING [PrinterCommand, PrinterStatus], PrincOps USING [PageCount]; BansheeControl: CEDAR DEFINITIONS = BEGIN <> EventContext: TYPE [1]; EngineEvent: TYPE = MACHINE DEPENDENT {readyToFeed(0), feeding, transferReady, imaged, imagedOverrun, pageSyncMiss, pageDelivery, feedError, softError, hardError, timeout, (LAST[WORD])}; EngineDiagnostic: TYPE = MACHINE DEPENDENT{alternatePowerUp(62H), test36(63H), test37, test38, test39, test40, test41, test42, test43, test44, test45, test46, test47Loopback, testStop(6FH), testPrintRequest(70H), endDiagnosticMode(0FFH)}; <> EngineDisplayDigit: TYPE = MACHINE DEPENDENT{zero(0), one, two, three, four, five, six, seven, eight, nine, A, L, C, d, E, F, blank(20H)}; EnginePaper: TYPE = BansheeCodes .PrinterStatus[paperLetter..paperEnvelopeRX]; EngineStatus: TYPE = {okay, okayFlushRequired, diagnosticOkay, noPaper, preregistrationJam, fuserJam, noExit, outputTrayFull, feedTrayNotEngaged, clamShellOpen, copyModeOn, noToner, callForService, diagnosticNotReady, offline, communicationFault, imageFault1, imageFault2, imageFault3, sequenceFault}; LogItem: TYPE = RECORD [ SELECT sort: * FROM command => [command: BansheeCodes.PrinterCommand], printerStatus => [printerStatus: BansheeCodes.PrinterStatus], softwareStatus => [statusExtras: StatusExtras], plateStatus => [plateStatus: PlateStatus], ENDCASE]; PlateStatus: TYPE = {okay, bandOverrun, pageSyncMiss}; StatusExtras: TYPE = {okay, communicationFault, imageFault1, imageFault2, imageFault3, sequenceFault}; <> unlimitedAvailable: READONLY BOOLEAN; -- enough real memory for unlimited mode <> Initialize: PROCEDURE [bufferSize: PrincOps.PageCount, enableUnlimited: BOOLEAN]; <> <> BandBLTTransferReady: PROCEDURE[]; <> <> BandBLTCreatePageTransfer: PROCEDURE [firstPlate: BOOLEAN]; <> <> PageTransferSet: PROCEDURE[pageNumber: CARDINAL]; <> <> TransferRelease: PROCEDURE[]; <> SendEngineCommand: PROCEDURE [command: BansheeCodes.PrinterCommand]; <> Display: PROCEDURE [digitLS, digitMS: EngineDisplayDigit]; <> GetEngineStatus: PROCEDURE RETURNS [engineStatus: EngineStatus]; <> GetEnginePaper: PROCEDURE RETURNS [paper: EnginePaper]; <> GetEngineFirmwareRevision: PROCEDURE RETURNS [revision: CARDINAL]; <> WaitEngineEvent: PROCEDURE [eventContext: REF EventContext] RETURNS [event: BansheeControl.EngineEvent]; <> SetToCurrentEventContext: PROCEDURE [eventContext: REF EventContext]; <> WaitEngineStatus: PROCEDURE RETURNS [engineStatus: EngineStatus]; <> WaitLogItem: PROCEDURE RETURNS [logItem: LogItem]; <> WaitEngineDiagnostic: PROCEDURE RETURNS [diagnostic: EngineDiagnostic]; <> RunTurnaroundTest: PROCEDURE RETURNS [ok: BOOLEAN]; <> END... LOG When / Who / What. 11-Dec-84 1:37:37 / Strickberger / Created. Strickberger / 14-Feb-85 17:14:15 / Strickberger / Add offline to EngineStatus, fix EngineDiagnostic. 1-Apr-85 22:28:41 / Strickberger / Add okayFlushRequired to EngineStatus - part of ImageFault fix (AR13951). 4-Aug-85 21:37:03 / Strickberger / Add unlimited printing. Update for Pilot 12. 19-Sep-85 18:51:50 / Strickberger / Added enableUnlimited parameter to Initialize. 14-May-86 19:42:37 / Prochaska / Added TYPE EventContext, PROC SetToCurrentEventContext; Added parm to WaitEngineEvent.