From f86887baef80509460da0bff8f48b2900a627282 Mon Sep 17 00:00:00 2001 From: Hector Fernandez Date: Mon, 13 Apr 2020 09:49:51 +0200 Subject: Added new DB functions. Added Qrreader.py file. --- test-cli/test/helpers/qrreader.py | 120 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 test-cli/test/helpers/qrreader.py (limited to 'test-cli/test/helpers/qrreader.py') diff --git a/test-cli/test/helpers/qrreader.py b/test-cli/test/helpers/qrreader.py new file mode 100644 index 0000000..1d3768b --- /dev/null +++ b/test-cli/test/helpers/qrreader.py @@ -0,0 +1,120 @@ +import evdev +from evdev import InputDevice, categorize, ecodes +import threading +import time +import selectors +from selectors import DefaultSelector, EVENT_READ + +selector = selectors.DefaultSelector() + +qrdevice_list = [ + "Honeywell Imaging & Mobility 1900", + "Manufacturer Barcode Reader" +] + + +qrkey_list = { 'KEY_0':'0', + 'KEY_1':'1', + 'KEY_2':'2', + 'KEY_3':'3', + 'KEY_4':'4', + 'KEY_5':'5', + 'KEY_6':'6', + 'KEY_7':'7', + 'KEY_8':'8', + 'KEY_9':'9' + } + + +class QRReader: + __qrstr = "" + __myReader = {} + __numdigits = 10 + __dev = None + + def __init__(self): + self.getQRlist() + + def getQRlist(self): + devices = [evdev.InputDevice(path) for path in evdev.list_devices()] + for device in devices: + if device.name in qrdevice_list: + self.__myReader['NAME'] = device.name + print(self.__myReader['NAME']) + self.__myReader['PATH'] = device.path + print(self.__myReader['PATH']) + self.__myReader['PHYS'] = device.phys + print(self.__myReader['PHYS']) + + def IsQR (self): + return 'NAME' in self.__myReader + + def getQRNumber(self): + return self.__qrstr + + def openQR(self): + if self.IsQR(): + self.closeQR() + self.__dev = InputDevice(self.__myReader['PATH']) + return True + return False + + def closeQR(self): + if self.__dev: + del self.__dev + self.__dev = None + + def readQR(self): + """" Sync Read up to numdigits """ + count = 0 + self.__qrstr = "" + if self.__dev: + self.__dev.grab() + for event in self.__dev.read_loop(): + if event.type == evdev.ecodes.EV_KEY: + c_event = categorize(event) + if c_event.keycode in qrkey_list: + if c_event.keystate == 0: + self.__qrstr += qrkey_list[c_event.keycode] + count += 1 + if count == self.__numdigits: + break + self.__dev.ungrab() + return True + return False + + def wait_event (self, timeout): + selector.register(self.__dev, selectors.EVENT_READ) + while True: + events = selector.select(timeout); + if not events: + return False + else: + return True + + def readQRasync(self, timeout): + count = 0 + r = False + self.__qrstr = "" + if self.__dev: + self.__dev.grab() + if self.wait_event(timeout): + for event in self.__dev.read_loop(): + if event.type == evdev.ecodes.EV_KEY: + c_event = categorize(event) + if c_event.keycode in qrkey_list: + if c_event.keystate == 0: + self.__qrstr += qrkey_list[c_event.keycode] + count += 1 + if count == self.__numdigits: + r = True + break + self.__dev.ungrab() + return r + return False + + +#qr = QRReader() +#if qr.openQR(): +# print(qr.readQRasync(2)) +#qr.closeQR() \ No newline at end of file -- cgit v1.1 From 99d74b02c7d3ff7eea51f59a2d67651aeab1297f Mon Sep 17 00:00:00 2001 From: Hector Fernandez Date: Wed, 15 Apr 2020 10:33:56 +0200 Subject: Added code scanner code after doing all tests. It waits for a valid code from the code scanner. --- test-cli/test/helpers/qrreader.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'test-cli/test/helpers/qrreader.py') diff --git a/test-cli/test/helpers/qrreader.py b/test-cli/test/helpers/qrreader.py index 1d3768b..0954a70 100644 --- a/test-cli/test/helpers/qrreader.py +++ b/test-cli/test/helpers/qrreader.py @@ -9,7 +9,8 @@ selector = selectors.DefaultSelector() qrdevice_list = [ "Honeywell Imaging & Mobility 1900", - "Manufacturer Barcode Reader" + "Manufacturer Barcode Reader", + "SM SM-2D PRODUCT HID KBW" ] @@ -117,4 +118,4 @@ class QRReader: #qr = QRReader() #if qr.openQR(): # print(qr.readQRasync(2)) -#qr.closeQR() \ No newline at end of file +#qr.closeQR() -- cgit v1.1 From 47b65a71d5db142c73a0566f132af6eee3b0c2a9 Mon Sep 17 00:00:00 2001 From: Hector Fernandez Date: Wed, 15 Apr 2020 17:22:21 +0200 Subject: Every 5s teh qr scanner is refreshed to detect a new devices in case it is unplugged and plugged again. --- test-cli/test/helpers/qrreader.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'test-cli/test/helpers/qrreader.py') diff --git a/test-cli/test/helpers/qrreader.py b/test-cli/test/helpers/qrreader.py index 0954a70..908c9db 100644 --- a/test-cli/test/helpers/qrreader.py +++ b/test-cli/test/helpers/qrreader.py @@ -41,11 +41,11 @@ class QRReader: for device in devices: if device.name in qrdevice_list: self.__myReader['NAME'] = device.name - print(self.__myReader['NAME']) + #print(self.__myReader['NAME']) self.__myReader['PATH'] = device.path - print(self.__myReader['PATH']) + #print(self.__myReader['PATH']) self.__myReader['PHYS'] = device.phys - print(self.__myReader['PHYS']) + #print(self.__myReader['PHYS']) def IsQR (self): return 'NAME' in self.__myReader -- cgit v1.1 From 0e8e3ecd4b9be71c41008b95950d089819622dff Mon Sep 17 00:00:00 2001 From: Hector Fernandez Date: Mon, 6 Jul 2020 14:08:27 +0200 Subject: Corrected some errors in USB and USBDUAL tests. --- test-cli/test/helpers/qrreader.py | 40 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 21 deletions(-) (limited to 'test-cli/test/helpers/qrreader.py') diff --git a/test-cli/test/helpers/qrreader.py b/test-cli/test/helpers/qrreader.py index 908c9db..744db54 100644 --- a/test-cli/test/helpers/qrreader.py +++ b/test-cli/test/helpers/qrreader.py @@ -13,18 +13,17 @@ qrdevice_list = [ "SM SM-2D PRODUCT HID KBW" ] - -qrkey_list = { 'KEY_0':'0', - 'KEY_1':'1', - 'KEY_2':'2', - 'KEY_3':'3', - 'KEY_4':'4', - 'KEY_5':'5', - 'KEY_6':'6', - 'KEY_7':'7', - 'KEY_8':'8', - 'KEY_9':'9' - } +qrkey_list = {'KEY_0': '0', + 'KEY_1': '1', + 'KEY_2': '2', + 'KEY_3': '3', + 'KEY_4': '4', + 'KEY_5': '5', + 'KEY_6': '6', + 'KEY_7': '7', + 'KEY_8': '8', + 'KEY_9': '9' + } class QRReader: @@ -41,13 +40,13 @@ class QRReader: for device in devices: if device.name in qrdevice_list: self.__myReader['NAME'] = device.name - #print(self.__myReader['NAME']) + # print(self.__myReader['NAME']) self.__myReader['PATH'] = device.path - #print(self.__myReader['PATH']) + # print(self.__myReader['PATH']) self.__myReader['PHYS'] = device.phys - #print(self.__myReader['PHYS']) + # print(self.__myReader['PHYS']) - def IsQR (self): + def IsQR(self): return 'NAME' in self.__myReader def getQRNumber(self): @@ -84,7 +83,7 @@ class QRReader: return True return False - def wait_event (self, timeout): + def wait_event(self, timeout): selector.register(self.__dev, selectors.EVENT_READ) while True: events = selector.select(timeout); @@ -114,8 +113,7 @@ class QRReader: return r return False - -#qr = QRReader() -#if qr.openQR(): +# qr = QRReader() +# if qr.openQR(): # print(qr.readQRasync(2)) -#qr.closeQR() +# qr.closeQR() -- cgit v1.1 From d46bce422fd03cd57d1ba336361da17d6efb48db Mon Sep 17 00:00:00 2001 From: Manel Caro Date: Fri, 31 Jul 2020 02:07:37 +0200 Subject: TEST restructure --- test-cli/test/helpers/qrreader.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test-cli/test/helpers/qrreader.py') diff --git a/test-cli/test/helpers/qrreader.py b/test-cli/test/helpers/qrreader.py index 744db54..f663e99 100644 --- a/test-cli/test/helpers/qrreader.py +++ b/test-cli/test/helpers/qrreader.py @@ -4,6 +4,7 @@ import threading import time import selectors from selectors import DefaultSelector, EVENT_READ +from test.helpers.iseelogger import logObj selector = selectors.DefaultSelector() @@ -37,7 +38,9 @@ class QRReader: def getQRlist(self): devices = [evdev.InputDevice(path) for path in evdev.list_devices()] + logObj.getlogger().debug("{}".format(devices)) for device in devices: + logObj.getlogger().debug("{}".format(device.name)) if device.name in qrdevice_list: self.__myReader['NAME'] = device.name # print(self.__myReader['NAME']) -- cgit v1.1 From de4defc5023097dbebbfe4aa5c2665631399630b Mon Sep 17 00:00:00 2001 From: Manel Caro Date: Tue, 3 Nov 2020 12:25:04 +0100 Subject: added support for Honeywell QR reader 1400g --- test-cli/test/helpers/qrreader.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'test-cli/test/helpers/qrreader.py') diff --git a/test-cli/test/helpers/qrreader.py b/test-cli/test/helpers/qrreader.py index f663e99..51e5247 100644 --- a/test-cli/test/helpers/qrreader.py +++ b/test-cli/test/helpers/qrreader.py @@ -11,7 +11,8 @@ selector = selectors.DefaultSelector() qrdevice_list = [ "Honeywell Imaging & Mobility 1900", "Manufacturer Barcode Reader", - "SM SM-2D PRODUCT HID KBW" + "SM SM-2D PRODUCT HID KBW", + "Honeywell Imaging & Mobility 1400g" ] qrkey_list = {'KEY_0': '0', -- cgit v1.1