12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- """
- LUFA Library
- Copyright (C) Dean Camera, 2014.
-
- 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()
|