Added the DLE EOT querying command.
Added a function to check whether the printer is online or not, as well as a reading method for USB printers.
This commit is contained in:
parent
962208063b
commit
574d6d86fa
@ -249,3 +249,8 @@ S_RASTER_N = _PRINT_RASTER_IMG(b'\x00') # Set raster image normal size
|
|||||||
S_RASTER_2W = _PRINT_RASTER_IMG(b'\x01') # Set raster image double width
|
S_RASTER_2W = _PRINT_RASTER_IMG(b'\x01') # Set raster image double width
|
||||||
S_RASTER_2H = _PRINT_RASTER_IMG(b'\x02') # Set raster image double height
|
S_RASTER_2H = _PRINT_RASTER_IMG(b'\x02') # Set raster image double height
|
||||||
S_RASTER_Q = _PRINT_RASTER_IMG(b'\x03') # Set raster image quadruple
|
S_RASTER_Q = _PRINT_RASTER_IMG(b'\x03') # Set raster image quadruple
|
||||||
|
|
||||||
|
# Status Command
|
||||||
|
RT_STATUS_ONLINE = DLE + EOT + b'\x01';
|
||||||
|
RT_STATUS_OFFLINECAUSE = DLE + EOT + b'\x02';
|
||||||
|
RT_MASK_ONLINE = 8;
|
||||||
|
@ -18,6 +18,7 @@ from __future__ import unicode_literals
|
|||||||
import qrcode
|
import qrcode
|
||||||
import textwrap
|
import textwrap
|
||||||
import six
|
import six
|
||||||
|
import time
|
||||||
|
|
||||||
import barcode
|
import barcode
|
||||||
from barcode.writer import ImageWriter
|
from barcode.writer import ImageWriter
|
||||||
@ -34,6 +35,7 @@ from .constants import CD_KICK_DEC_SEQUENCE, CD_KICK_5, CD_KICK_2, PAPER_FULL_CU
|
|||||||
from .constants import HW_RESET, HW_SELECT, HW_INIT
|
from .constants import HW_RESET, HW_SELECT, HW_INIT
|
||||||
from .constants import CTL_VT, CTL_HT, CTL_CR, CTL_FF, CTL_LF, CTL_SET_HT, PANEL_BUTTON_OFF, PANEL_BUTTON_ON
|
from .constants import CTL_VT, CTL_HT, CTL_CR, CTL_FF, CTL_LF, CTL_SET_HT, PANEL_BUTTON_OFF, PANEL_BUTTON_ON
|
||||||
from .constants import TXT_STYLE
|
from .constants import TXT_STYLE
|
||||||
|
from .constants import RT_STATUS_ONLINE, RT_STATUS_OFFLINECAUSE, RT_MASK_ONLINE
|
||||||
|
|
||||||
from .exceptions import BarcodeTypeError, BarcodeSizeError, TabPosError
|
from .exceptions import BarcodeTypeError, BarcodeSizeError, TabPosError
|
||||||
from .exceptions import CashDrawerError, SetVariableError, BarcodeCodeError
|
from .exceptions import CashDrawerError, SetVariableError, BarcodeCodeError
|
||||||
@ -733,6 +735,18 @@ class Escpos(object):
|
|||||||
else:
|
else:
|
||||||
self._raw(PANEL_BUTTON_OFF)
|
self._raw(PANEL_BUTTON_OFF)
|
||||||
|
|
||||||
|
def queryStatus(self):
|
||||||
|
self._raw(RT_STATUS_ONLINE)
|
||||||
|
time.sleep(1)
|
||||||
|
status = self._read();
|
||||||
|
if (len(status) > 0):
|
||||||
|
return status;
|
||||||
|
else:
|
||||||
|
return [8];
|
||||||
|
|
||||||
|
def _isOnline(self):
|
||||||
|
status = self.queryStatus()[0];
|
||||||
|
return ((status & RT_MASK_ONLINE) == 0);
|
||||||
|
|
||||||
class EscposIO(object):
|
class EscposIO(object):
|
||||||
"""ESC/POS Printer IO object
|
"""ESC/POS Printer IO object
|
||||||
|
@ -84,6 +84,10 @@ class Usb(Escpos):
|
|||||||
"""
|
"""
|
||||||
self.device.write(self.out_ep, msg, self.timeout)
|
self.device.write(self.out_ep, msg, self.timeout)
|
||||||
|
|
||||||
|
def _read(self):
|
||||||
|
""" Reads a data buffer and returns it to the caller. """
|
||||||
|
return self.device.read(self.in_ep, 16)
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
""" Release USB interface """
|
""" Release USB interface """
|
||||||
if self.device:
|
if self.device:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user