forked from mirrors/qmk_userspace
Merge commit '60b30c0363
' as 'lib/lufa'
This commit is contained in:
commit
8655d4f494
1455 changed files with 394541 additions and 0 deletions
|
@ -0,0 +1,67 @@
|
|||
"""
|
||||
LUFA Library
|
||||
Copyright (C) Dean Camera, 2017.
|
||||
|
||||
dean [at] fourwalledcubicle [dot] com
|
||||
www.lufa-lib.org
|
||||
"""
|
||||
|
||||
"""
|
||||
LUFA Bulk Vendor device demo host test script. This script will send and
|
||||
receive a continuous stream of packets to/from to the device, to show
|
||||
bidirectional communications.
|
||||
|
||||
Requires the pyUSB library (http://sourceforge.net/projects/pyusb/).
|
||||
"""
|
||||
|
||||
import sys
|
||||
from time import sleep
|
||||
import usb.core
|
||||
import usb.util
|
||||
|
||||
# Bulk Vendor HID device VID and PID
|
||||
device_vid = 0x03EB
|
||||
device_pid = 0x206C
|
||||
device_in_ep = 3
|
||||
device_out_ep = 4
|
||||
|
||||
|
||||
def get_vendor_device_handle():
|
||||
dev_handle = usb.core.find(idVendor=device_vid, idProduct=device_pid)
|
||||
return dev_handle
|
||||
|
||||
|
||||
def write(device, packet):
|
||||
device.write(usb.util.ENDPOINT_OUT | device_out_ep, packet, 0, 1000)
|
||||
print("Sent Packet: {0}".format(packet))
|
||||
|
||||
|
||||
def read(device):
|
||||
packet = device.read(usb.util.ENDPOINT_IN | device_in_ep, 64, 0, 1000)
|
||||
print("Received Packet: {0}".format(''.join([chr(x) for x in packet])))
|
||||
return packet
|
||||
|
||||
|
||||
def main():
|
||||
vendor_device = get_vendor_device_handle()
|
||||
|
||||
if vendor_device is None:
|
||||
print("No valid Vendor device found.")
|
||||
sys.exit(1)
|
||||
|
||||
vendor_device.set_configuration()
|
||||
|
||||
print("Connected to device 0x%04X/0x%04X - %s [%s]" %
|
||||
(vendor_device.idVendor, vendor_device.idProduct,
|
||||
usb.util.get_string(vendor_device, 255, vendor_device.iProduct),
|
||||
usb.util.get_string(vendor_device, 255, vendor_device.iManufacturer)))
|
||||
|
||||
x = 0
|
||||
while 1:
|
||||
x = x + 1 % 255
|
||||
write(vendor_device, "TEST PACKET %d" % x)
|
||||
read(vendor_device)
|
||||
sleep(1)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue