link-os getCurrentStatus() function relatively slow

A Adel Sari 2 years 11 months ago
86 1 0

Hi,
we are working on an Android app, our client has hundreds of label to print every day with QLn220.
Zebra best practices doc states
The application checks the status of the printer before sending a print-job. Once the printer verifies the printer is not in an error state, you can send the print job

calling this method before each print-job allows to be sure the label will print and alarm the user of any potential problem with the printer, however, it takes around 800 ms to get the status response from the printer;
which make the user waiting for the label.
removing the printer status test allows to print a label in almost 30 ms.
 
is there any way to keep checking the printer status, but, faster ?
ps: the app is connected to the via wifi
thanks

Please register or login to post a reply

1 Replies

V Vedsatx Saddvv

Hi Adel,
There are a few things to try:
1. Try using the status channel (port 9200) as it should parse and respond to those queries faster.   
Connection thePrinterConn = new TcpStatusConnection(theIpAddress, TcpStatusConnection.DEFAULT_STATUS_TCP_PORT);
2. You can get and parse the status yourself.  I can attach some psudo code showing the process if you want.  It might be slightly faster than directly using the SDK, but not hugely.
3. you can utilize the alerts system to be notified when there is a problem, whenever there is a problem.  It saves you from having to query the printer all the time, but you do have to have a TCP server socket open to be told there is an issue.  If you are the primary app your client is working with, then this might be a good solution.  You check the status when your app starts up, then start the TCP server to listen for status alerts from the printer.  There are several commands to work with the alerts using SGD commands or ZPL.
Hope this helps!

CONTACT
Can’t find what you’re looking for?