aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/ClassDriver/GenericHID
diff options
context:
space:
mode:
Diffstat (limited to 'Demos/Device/ClassDriver/GenericHID')
-rw-r--r--Demos/Device/ClassDriver/GenericHID/Config/AppConfig.h4
-rw-r--r--Demos/Device/ClassDriver/GenericHID/Config/LUFAConfig.h4
-rw-r--r--Demos/Device/ClassDriver/GenericHID/Descriptors.c6
-rw-r--r--Demos/Device/ClassDriver/GenericHID/Descriptors.h4
-rw-r--r--Demos/Device/ClassDriver/GenericHID/GenericHID.c4
-rw-r--r--Demos/Device/ClassDriver/GenericHID/GenericHID.h4
-rwxr-xr-xDemos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.js2
-rwxr-xr-xDemos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.py17
-rw-r--r--Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_winusb.py43
-rw-r--r--Demos/Device/ClassDriver/GenericHID/makefile2
10 files changed, 42 insertions, 48 deletions
diff --git a/Demos/Device/ClassDriver/GenericHID/Config/AppConfig.h b/Demos/Device/ClassDriver/GenericHID/Config/AppConfig.h
index 636200ec6..62298d0f7 100644
--- a/Demos/Device/ClassDriver/GenericHID/Config/AppConfig.h
+++ b/Demos/Device/ClassDriver/GenericHID/Config/AppConfig.h
@@ -1,13 +1,13 @@
/*
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
diff --git a/Demos/Device/ClassDriver/GenericHID/Config/LUFAConfig.h b/Demos/Device/ClassDriver/GenericHID/Config/LUFAConfig.h
index 299d2ec85..99fb909c5 100644
--- a/Demos/Device/ClassDriver/GenericHID/Config/LUFAConfig.h
+++ b/Demos/Device/ClassDriver/GenericHID/Config/LUFAConfig.h
@@ -1,13 +1,13 @@
/*
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
diff --git a/Demos/Device/ClassDriver/GenericHID/Descriptors.c b/Demos/Device/ClassDriver/GenericHID/Descriptors.c
index c0f1b0de9..f75190475 100644
--- a/Demos/Device/ClassDriver/GenericHID/Descriptors.c
+++ b/Demos/Device/ClassDriver/GenericHID/Descriptors.c
@@ -1,13 +1,13 @@
/*
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@ -152,7 +152,7 @@ const USB_Descriptor_String_t PROGMEM LanguageString = USB_STRING_DESCRIPTOR_ARR
* form, and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
* Descriptor.
*/
-const USB_Descriptor_String_t PROGMEM ManufacturerString = USB_STRING_DESCRIPTOR(L"Dean Camera");
+const USB_Descriptor_String_t PROGMEM ManufacturerString = USB_STRING_DESCRIPTOR(L"LUFA Library");
/** Product descriptor string. This is a Unicode string containing the product's details in human readable form,
* and is read out upon request by the host when the appropriate string ID is requested, listed in the Device
diff --git a/Demos/Device/ClassDriver/GenericHID/Descriptors.h b/Demos/Device/ClassDriver/GenericHID/Descriptors.h
index 4fa644ff2..e4f72007b 100644
--- a/Demos/Device/ClassDriver/GenericHID/Descriptors.h
+++ b/Demos/Device/ClassDriver/GenericHID/Descriptors.h
@@ -1,13 +1,13 @@
/*
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
diff --git a/Demos/Device/ClassDriver/GenericHID/GenericHID.c b/Demos/Device/ClassDriver/GenericHID/GenericHID.c
index d7f3e3c23..398c4c6b5 100644
--- a/Demos/Device/ClassDriver/GenericHID/GenericHID.c
+++ b/Demos/Device/ClassDriver/GenericHID/GenericHID.c
@@ -1,13 +1,13 @@
/*
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
diff --git a/Demos/Device/ClassDriver/GenericHID/GenericHID.h b/Demos/Device/ClassDriver/GenericHID/GenericHID.h
index 0528585a6..289897450 100644
--- a/Demos/Device/ClassDriver/GenericHID/GenericHID.h
+++ b/Demos/Device/ClassDriver/GenericHID/GenericHID.h
@@ -1,13 +1,13 @@
/*
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
diff --git a/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.js b/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.js
index 363786429..ea65b6eda 100755
--- a/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.js
+++ b/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.js
@@ -1,7 +1,7 @@
#!/usr/bin/env node
// LUFA Library
-// Copyright (C) Dean Camera, 2017.
+// Copyright (C) Dean Camera, 2019.
//
// dean [at] fourwalledcubicle [dot] com
// www.lufa-lib.org
diff --git a/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.py b/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.py
index 4efa4a0ab..41616c4b9 100755
--- a/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.py
+++ b/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_libusb.py
@@ -2,7 +2,7 @@
"""
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
@@ -14,7 +14,7 @@
pattern on the target board. Send and received report data is printed to
the terminal.
- Requires the PyUSB library (http://sourceforge.net/apps/trac/pyusb/).
+ Requires PyUSB >= 1.0.0 (https://github.com/pyusb/pyusb).
"""
import sys
@@ -22,13 +22,9 @@ from time import sleep
import usb.core
import usb.util
-# Generic HID device VID, PID and report payload length (length is increased
-# by one to account for the Report ID byte that must be pre-pended)
-device_vid = 0x03EB
-device_pid = 0x204F
def get_and_init_hid_device():
- device = usb.core.find(idVendor=device_vid, idProduct=device_pid)
+ device = usb.core.find(idVendor=0x03EB, idProduct=0x204F)
if device is None:
sys.exit("Could not find USB device.")
@@ -46,6 +42,7 @@ def get_and_init_hid_device():
return device
+
def send_led_pattern(device, led1, led2, led3, led4):
# Report data for the demo is LED on/off data
report_data = [led1, led2, led3, led4]
@@ -62,18 +59,20 @@ def send_led_pattern(device, led1, led2, led3, led4):
print("Sent LED Pattern: {0}".format(report_data))
+
def receive_led_pattern(hid_device):
endpoint = hid_device[0][(0,0)][0]
report_data = hid_device.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize)
return list(report_data)
+
def main():
hid_device = get_and_init_hid_device()
print("Connected to device 0x%04X/0x%04X - %s [%s]" %
(hid_device.idVendor, hid_device.idProduct,
- usb.util.get_string(hid_device, 256, hid_device.iProduct),
- usb.util.get_string(hid_device, 256, hid_device.iManufacturer)))
+ usb.util.get_string(hid_device, hid_device.iProduct),
+ usb.util.get_string(hid_device, hid_device.iManufacturer)))
p = 0
while (True):
diff --git a/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_winusb.py b/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_winusb.py
index 1e5f43019..7dc068dd5 100644
--- a/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_winusb.py
+++ b/Demos/Device/ClassDriver/GenericHID/HostTestApp/test_generic_hid_winusb.py
@@ -1,6 +1,8 @@
+#!/usr/bin/env python
+
"""
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
@@ -17,37 +19,34 @@
import sys
from time import sleep
-import pywinusb.hid as hid
-
-# Generic HID device VID, PID and report payload length (length is increased
-# by one to account for the Report ID byte that must be pre-pended)
-device_vid = 0x03EB
-device_pid = 0x204F
-report_length = 1 + 8
+import hid
def get_hid_device_handle():
- hid_device_filter = hid.HidDeviceFilter(vendor_id=device_vid,
- product_id=device_pid)
+ all_hid_devices = hid.enumerate()
- valid_hid_devices = hid_device_filter.get_devices()
+ lufa_hid_devices = [d for d in all_hid_devices if d['vendor_id'] == 0x03EB and d['product_id'] == 0x204F]
- if len(valid_hid_devices) is 0:
+ if len(lufa_hid_devices) is 0:
return None
- else:
- return valid_hid_devices[0]
+
+ device_handle = hid.device()
+ device_handle.open_path(lufa_hid_devices[0]['path'])
+ return device_handle
def send_led_pattern(device, led1, led2, led3, led4):
# Report data for the demo is the report ID (always zero) followed by the
# LED on/off data
- report_data = [0, led1, led2, led3, led4]
-
- # Zero-extend the array to the length the report should be
- report_data.extend([0] * (report_length - len(report_data)))
+ report_data = bytearray(9)
+ report_data[0] = 0
+ report_data[1] = led1
+ report_data[2] = led2
+ report_data[3] = led3
+ report_data[4] = led4
# Send the generated report to the device
- device.send_output_report(report_data)
+ device.write(report_data)
print("Sent LED Pattern: {0}".format(report_data[1:5]))
@@ -64,11 +63,7 @@ def main():
sys.exit(1)
try:
- hid_device.open()
-
- print("Connected to device 0x%04X/0x%04X - %s [%s]" %
- (hid_device.vendor_id, hid_device.product_id,
- hid_device.product_name, hid_device.vendor_name))
+ print("Connected to device.", flush=True)
# Set up the HID input report handler to receive reports
hid_device.set_raw_data_handler(received_led_pattern)
diff --git a/Demos/Device/ClassDriver/GenericHID/makefile b/Demos/Device/ClassDriver/GenericHID/makefile
index 62fa2136a..d789afaba 100644
--- a/Demos/Device/ClassDriver/GenericHID/makefile
+++ b/Demos/Device/ClassDriver/GenericHID/makefile
@@ -1,6 +1,6 @@
#
# LUFA Library
-# Copyright (C) Dean Camera, 2017.
+# Copyright (C) Dean Camera, 2019.
#
# dean [at] fourwalledcubicle [dot] com
# www.lufa-lib.org