Hi,
I am working on a HP h470 printer driver issue on an embedded system
and would appreciate your help. The printer is connected directly
through an USB cable to the embedded system. This USB printer takes
about 30 seconds after each printing job to go through a sort of
printer alignment/adjustment process (can hear printer heads moving,
paper rollers turning etc). If the user happens to print second page
during the time printer is adjusting itself, the second page does not
print, printer gets stuck for a while and finally spits-out about only
1/4 page printed. The driver should wait until the printer finishes
its adjustment process before sending any printing job over. But how
to retrieve full printer status? We use the USB Printer Class request
to get one byte printer status. The bits descriptions are as follows:
printer_status = USB_IOCTL(0xa1, 1, 0, 0, 1, buf, pDev)
Bit 7..6: Reserved (device should return these bits reset to 0)
Bit 5: Paper Empty (1= Paper Empty, 0= OK)
Bit 4: Select (1= Selected, 0= Not selected)
Bit 3: Not Error (1= No Error, 0 = Error)
Bit 2..0: Reserved (device should return these bits reset to 0)
This one byte printer status indicates "no error" during printer
alignment/adjustment process. Obviously, it doesn't provide all
printer status.
Thanks,
Linda