Epic 880TM Extended Printer Control
USB Recovery Watch Dog
The USB link can be susceptible to various errors that can cause it to stop functioning. This typically happens when noise is introduced into the cable resulting in a buffer overrun at the host. This can cause a hub or a USB driver to suspend interaction with whatever device appeared to be the source of the problem. When this happens, the only way to recover the link is to disconnect from the device and then reconnect. This is typically done in the host. In some cases, for various reasons, the host driver is not able to generate a disconnect. (The Transact TVS driver provides recovery but the Windows USB printer services driver does not.)
It is possible to have the printer force a disconnect, however, the host application must start the service and then continue to extend the disconnect watch dog.
There is one command and two status indicators to help the application keep track of the watch dog.
When activated the printer will schedule a USB disconnect/reconnect after the specified time unless the command is sent again to either extend the timer or to disable the timer before the timer expires.
[ESC][CAN] <n> | Activate USB Watch Dog | |
ASCII | [ESC][CAN] <n> | |
Hexadecimal | 1BH 18H | |
Decimal | <27> <24> | |
Function | The [ESC][CAN]<n> command schedules a USB disconnect reconnect |
cycle after n seconds. The scheduled disconnect can be canceled by issuing [ESC][CAN]<0>.
Where
n = 0 disable any scheduled disconnect.
n =
If the disconnect occurs as a result of this command. The printer will reset the USB controller which appears to the host as a disconnect. (Effectively, the host will think the printer is off) The USB controller will be held in reset for 250 milliseconds. When the reset is removed, the USB controller will restart and a normal enumeration process will start. The printer will report not ready and not accept data for another 500 milliseconds. This will allow time for the USB driver to reload and initialize. The printer will then report ready and allow normal data flow.
NOTE: This process does not actually affect the state of the print process. Any print commands previously sent to the printer will still be active.
To keep track of the watch dog status, the fact that a watch dog occurred is reported as part of the ENQ 20 status command. The total number of disconnects will be reported and reset by the ENQ 35 enquire command.
| Page 235 |
|
|