itemOut ←
SELECT item.printerStatus
FROM
noStatus => noStatus,
IN [key0..key9] => key0to9,
keyClear => keyClear,
keyTest => keyTest,
keyOnLine => keyOnLine,
keyOffLine => keyOffLine,
warming => warming,
standBy => standBy,
feederFault => IF lastFeed = bottom THEN feederFaultBottom ELSE feederFaultTop,
registrationJam => registrationJam,
fuserJam => fuserJam,
noExit => noExit,
interlockOpen => interlockOpen,
fuserCold => fuserCold,
feeding => feeding,
readyToFeed => readyToFeed,
displayAcknowledge => displayAcknowledge,
parityError => parityError,
unrecognizedCommand => illegalCharacter,
illegalSequence => illegalSequence,
feedTraysNotEngaged => feedTraysNotEngaged,
pageSync => pageSync,
pageAtOutputTray => pageAtOutputTray,
tonerLow => tonerLow,
goingOffLine => goingOffLine,
offLine => offLine,
LOOPHOLE[57H] => onLine, -- from early Raven models
outputTrayFull => outputTrayFull,
aboutToDozeOff => aboutToDozeOff,
paperSmallSmall => paperSmallSmall,
paperSmallLarge => paperSmallLarge,
paperLargeSmall => paperLargeSmall,
paperLargeLarge => paperLargeLarge,
statusError => statusError,
statusOverRun => statusOverRun,
ENDCASE => undefinedStatus;
SELECT item.printerStatus
FROM
warming, standBy, feederFault, registrationJam, fuserJam, noExit, interlockOpen, readyToFeed => state ← on;
aboutToDozeOff => state ← asleep;
ENDCASE;