BansheeControl.mesa
Copyright (C) Xerox Corporation 1984, 1986. All rights reserved.
last edited by prochaska 14-May-86 19:43:1
Tim Diebert: December 2, 1986 3:08:57 pm PST
DIRECTORY
BansheeCodes USING [PrinterCommand, PrinterStatus],
PrincOps USING [PageCount];
BansheeControl: CEDAR DEFINITIONS = BEGIN
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)};
from BansheeCodes.PrinterStatus + endDiagnosticMode
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];
bufferSize should be a multiple of 16 PrincOps.PageCount.
enableUnlimited is ignored if memory size < 1.5Mb
BandBLTTransferReady:
PROCEDURE[];
bandslist/fontload are resident and ready for imaging
WaitEngineEvent RETURNs transferReady event
BandBLTCreatePageTransfer:
PROCEDURE [firstPlate:
BOOLEAN];
bandslist/fontload are resident - creates page bitmap
utilizes previous page bitmap bands if firstPage is FALSE
PageTransferSet:
PROCEDURE[pageNumber:
CARDINAL];
Make page bitmap resident and ready for imaging
WaitEngineEvent RETURNs transferReady event
TransferRelease:
PROCEDURE[];
release dependancy on transfer
SendEngineCommand:
PROCEDURE [command: BansheeCodes.PrinterCommand];
sends command to Banshee
Display:
PROCEDURE [digitLS, digitMS: EngineDisplayDigit];
display characters on Banshee display
GetEngineStatus:
PROCEDURE
RETURNS [engineStatus: EngineStatus];
returns current Banshee engine status
GetEnginePaper:
PROCEDURE
RETURNS [paper: EnginePaper];
returns type of paper in paper tray
GetEngineFirmwareRevision:
PROCEDURE
RETURNS [revision:
CARDINAL];
returns Banshee IOT firmware revision level
WaitEngineEvent:
PROCEDURE [eventContext:
REF EventContext]
RETURNS [event: BansheeControl.EngineEvent];
returns when an event occurs
SetToCurrentEventContext:
PROCEDURE [eventContext:
REF EventContext];
initializes the context to reference the current state of the eventQ
WaitEngineStatus: PROCEDURE RETURNS [engineStatus: EngineStatus];
returns with the new engine status when it changes
WaitLogItem:
PROCEDURE
RETURNS [logItem: LogItem];
returns with an item to be logged
WaitEngineDiagnostic:
PROCEDURE
RETURNS [diagnostic: EngineDiagnostic];
returns with the new status when it changes
RunTurnaroundTest:
PROCEDURE
RETURNS [ok:
BOOLEAN];
exercises command/status hardware (assumes loopback cable)
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.