summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorGert Pellin <gpe@odoo.com>2019-03-25 07:47:25 +0000
committerGert Pellin <gpe@odoo.com>2019-03-25 10:03:54 +0000
commit6814f27bbcf2f35030a9bbc9b73727bbc196fed7 (patch)
treec44902c5cc94c877a3237bc399094bb0b4f18c75 /addons
parenta95811eee255aeb63c7e00e9ff589d3f03265f40 (diff)
[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) <mat@odoo.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/hw_escpos/escpos/constants.py7
1 files 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 <pin> <on time: 2*ms> <off time: 2*ms>)
+_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