0
votes

I am trying to understand how I can sent status requests to these label printers to see if they are free to print labels.

The problem I have is that if I send too many label print requests then only some of get printed. I think the problem is that the memory buffer of the printer is getting overwritten and some of the labels are being deleted and not printed.

I have tried to ~HS command but can't figure out what parameter I need to check as the documentation is not very good.

Thanks in advance.

1

1 Answers

0
votes

The bufferFullFlag will tell you if the printer's buffer is full and cannot receive any more print jobs. You can query that (it's the 6th parameter). You should also look at the paperOutFlag and pauseFlag to make sure the printer is ready to print.

If you use the Zebra SDK, you can call the ZebraPrinter.getCurrentStatus() and that will return a class that contains the ~HS parameters as primitive data types so that you don't have to parse it yourself. There is also a combo boolean called isReadyToPrint which looks at several of the status bits to see if you can send a job to the printer