From 6814f27bbcf2f35030a9bbc9b73727bbc196fed7 Mon Sep 17 00:00:00 2001 From: Gert Pellin Date: Mon, 25 Mar 2019 07:47:25 +0000 Subject: [PATCH] [FIX] hw_escpos: opening pulse cashdrawer Some cashdrawers will not open when the command is send. This can be solved by sending a longer opening pulse. Used fix of newer library: https://github.com/python-escpos/python-escpos/blob/0a89ee2b8610452f18b521af71b1ab1af7932894/escpos/constants.py#L40 Explanation for command: http://www.beaglehardware.com/howtoprogramcashdrawer.html closes odoo/odoo#32079 Signed-off-by: Martin Trigaux (mat) --- addons/hw_escpos/escpos/constants.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/hw_escpos/escpos/constants.py b/addons/hw_escpos/escpos/constants.py index 238e8bdbf0f..6519c76f69c 100644 --- a/addons/hw_escpos/escpos/constants.py +++ b/addons/hw_escpos/escpos/constants.py @@ -19,9 +19,10 @@ DLE_EOT_PAPER = '\x10\x04\x04' HW_INIT = '\x1b\x40' # Clear data in buffer and reset modes HW_SELECT = '\x1b\x3d\x01' # Printer select HW_RESET = '\x1b\x3f\x0a\x00' # Reset printer hardware -# Cash Drawer -CD_KICK_2 = '\x1b\x70\x00' # Sends a pulse to pin 2 [] -CD_KICK_5 = '\x1b\x70\x01' # Sends a pulse to pin 5 [] +# Cash Drawer (ESC p ) +_CASH_DRAWER = lambda m, t1='', t2='': ESC + 'p' + m + chr(t1) + chr(t2) +CD_KICK_2 = _CASH_DRAWER('\x00', 50, 50) # Sends a pulse to pin 2 [] +CD_KICK_5 = _CASH_DRAWER('\x01', 50, 50) # Sends a pulse to pin 5 [] # Paper PAPER_FULL_CUT = '\x1d\x56\x00' # Full cut paper PAPER_PART_CUT = '\x1d\x56\x01' # Partial cut paper