Skip to content

Commit 49359df

Browse files
committed
RNG: discard last XYZ sample due to possible repeats
1 parent 9905a6c commit 49359df

File tree

3 files changed

+196
-183
lines changed

3 files changed

+196
-183
lines changed

scripts/python_framework/generic_hid_device.py

+16-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
from __future__ import print_function
2+
import platform
3+
if platform.system() != "Linux":
4+
from usb.backend import libusb0
5+
import os
6+
#os.environ["PYUSB_DEBUG"]="debug"
7+
#os.environ["LIBUSB_DEBUG"]="4"
28
from mooltipass_defines import *
39
from datetime import datetime
410
from array import array
511
from udelays import *
6-
import platform
712
import usb.core
813
import usb.util
914
import random
@@ -250,7 +255,10 @@ def connect(self, print_debug, device_vid, device_pid, read_timeout, ping_packet
250255
self.flipbit = 0x00
251256

252257
# Find our device
253-
self.hid_device = usb.core.find(idVendor=device_vid, idProduct=device_pid)
258+
if platform.system() == "Linux":
259+
self.hid_device = usb.core.find(idVendor=device_vid, idProduct=device_pid)
260+
else:
261+
self.hid_device = usb.core.find(backend=libusb0.get_backend(), idVendor=device_vid, idProduct=device_pid)
254262
self.read_timeout = read_timeout
255263

256264
# Generate our hid message from our ping message (cheating: we're only doing one HID packet)
@@ -322,16 +330,21 @@ def connect(self, print_debug, device_vid, device_pid, read_timeout, ping_packet
322330
flipbit_reset_packet = array('B')
323331
flipbit_reset_packet.append(0xFF)
324332
flipbit_reset_packet.append(0xFF)
333+
#flipbit_reset_packet.extend([0]*62)
325334
first_packet_send_counter = 0
326335
first_packet_not_sent = True
327336
while first_packet_not_sent and first_packet_send_counter < 10:
328337
try:
329338
self.epout.write(flipbit_reset_packet)
330339
first_packet_not_sent = False
331-
except:
340+
except usb.core.USBError as e:
341+
if print_debug:
342+
print(e)
343+
print("Couldn't write to endpoint trying again...")
332344
first_packet_send_counter+=1
333345
time.sleep(1)
334346
if first_packet_not_sent:
347+
print("Couldn't send reset bit packet")
335348
return False
336349

337350
try:

0 commit comments

Comments
 (0)