Page 1 of 1

Request: Add usbprinter.device includes to SDK

PostPosted: Mon Jan 09, 2012 8:21 pm
by xenic
I recently bought a new HP Photosmart printer and had a few problems that my previous HP Photosmart (died) didn't have. The new model needs to be sent an "end of print job" code after a document is printed or else all other jobs (copy, fax etc.) will be locked out until the print session times out. I have a DOS device (USBPRT:) mounted and can execute a script to send the needed code to USBPRT: after printing. I decided to add that functionality to my copy of the Dopus4 "Dopus_Print" module but discovered that there are no includes in the SDK for the usbprinter.device. I used the parallel.device includes and that worked if I specified the length for "io_Length" in the IOExtPar structure. However, parallel.device docs and includes state that -1 can be specified for "io_Length" if "io_Data" is NULL terminated. When I tried that with usbprinter.device I got a system freeze when the program was executed. Could someone add includes for usbprinter.device to the SDK? It wouldn't hurt to have includes for printtofile.device too.

Re: Request: Add usbprinter.device includes to SDK

PostPosted: Tue Jan 10, 2012 7:27 pm
by ZeroG
@xenic
I think that feature should be added to the printerdriver and not to the underlying device.

Re: Request: Add usbprinter.device includes to SDK

PostPosted: Wed Jan 11, 2012 4:50 pm
by xenic
ZeroG wrote:@xenic
I think that feature should be added to the printerdriver and not to the underlying device.

I would certainly welcome any improvement to the printerdriver but I suspect that in this case it would also require a change to printer.device. I think it's printer.device that sends the final formfeed which causes my Photosmart printer to think a new print job has started. printer.device would need to be changed to send a termination code (that it would read from the printer driver) after the final formfeed.

My request here was not about changing the printer driver or device; it is to get the usbprinter.device includes added to the SDK so programmers can access the usbprinter.device directly just as they have been able to access the parallel.device with OS4 and classic Amigas. Some sophisticated programs like Pagestream have their own printer drivers and bypass printer.device by sending directly to the port device that the printer is connected to.