When the FlagWhenIdle property is set to TRUE, PTR_SUE_IDLE is sent to inform the application that the printer is idle. Other than when data is being sent, the printer is in an idle state, so if FlagWhenIdle is TRUE, an event will be fired when printing is finished. After the event is fired, FlagWhenIdle will be set to FALSE. By using this value, the information below can be found out.

*Finding out when multiple asynchronous print jobs have finished printing. When multiple asynchronous print jobs have been sent to the printer, it is possible to know when they have finished printing. After setting the AsyncMode property to TRUE and running the PrintNormal method, change the FlagWhenIdle property to TRUE. When all data has finished printing, the printer becomes idle and a StatusUpdateEvent is fired to the application with the value of PTR_SUE_IDLE.

4.4.2.2 Printer Errors and Status

A change in printer status when asynchronous data is being sent is made available to the program by the firing of an ErrorEvent and StatusUpdateEvent. When the printer changes status while nothing is happening, the change is told to the program by a StatusUpdateEvent only.

As an example, assume that the printer cover becomes open. Usually, when data is not being sent to the printer and the cover is opened, a StatusUpdateEvent is fired to the application. After the AsyncMode property is set to TRUE and a method is used to print data, if the cover is opened while the data is being sent, the program is notified by an ErrorEvent. ErrorEvents are fired when the error has interrupted the data that is being sent. Only StatusUpdateEvent will fire when the error does not effect the data and the data will continue being sent as normal.

Reasons for the ErrorEvent being fired and the corresponding error names are listed below.

ResultCode/ ResultCodeExtended Reason

OPOS_E_ILLEGAL

There is an abnormality with the device. (Includes the

 

following 1 error)

 

 

OPOS_E_EXTENDED

Error determined by the device’s SO (Includes the

 

following 4 errors)

 

 

OPOS_EPTR_COVER_OPEN

Cover is open.

 

 

OPOS_EPTR_REC_EMPTY

Receipt paper is empty.

 

 

OPOS_E_FAILURE

Hard error (Includes the following 6 errors).

 

 

OPOS_EPTR_UNRECOVERABLE

Error that cannot be recovered from.

 

 

OPOS_EPTR_CUTTER

Error with the auto cutter.

 

 

OPOS_EPTR_MECHANICAL

Mechanical error.

 

 

OPOS_EPTR_OVERHEAT

Head overheat error.

 

 

OPOS_EX_DEVBUSY

Device busy error.

 

 

OPOS_EPTR_REC_CARTRIDGE_REMOVED

Receipt cartridge is removed.

 

 

OPOS_EPTR_REC_CARTRIDGE_EMPTY

Receipt cartridge is empty.

 

 

OPOS_EPTR_REC_HEAD_CLEANING

Receipt head starts cleaning.

 

 

4-6Application Development Information

Rev. B

Page 68
Image 68
Epson TM-P60 manual Printer Errors and Status, ResultCode/ ResultCodeExtended Reason