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.
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 thepaperOutFlag
andpauseFlag
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 calledisReadyToPrint
which looks at several of the status bits to see if you can send a job to the printer