summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--supervisor/supervisor.mk5
-rw-r--r--tools/gen_usb_descriptor.py6
2 files changed, 9 insertions, 2 deletions
diff --git a/supervisor/supervisor.mk b/supervisor/supervisor.mk
index 2a9cb30e1..7aac85958 100644
--- a/supervisor/supervisor.mk
+++ b/supervisor/supervisor.mk
@@ -118,6 +118,10 @@ ifndef USB_MSC_EP_NUM_IN
USB_MSC_EP_NUM_IN = 0
endif
+ifndef USB_HID_EP_NUM_OUT
+USB_HID_EP_NUM_OUT = 0
+endif
+
ifndef USB_HID_EP_NUM_IN
USB_HID_EP_NUM_IN = 0
endif
@@ -155,6 +159,7 @@ autogen_usb_descriptor.intermediate: ../../tools/gen_usb_descriptor.py Makefile
--cdc_ep_num_data_in $(USB_CDC_EP_NUM_DATA_IN)\
--msc_ep_num_out $(USB_MSC_EP_NUM_OUT)\
--msc_ep_num_in $(USB_MSC_EP_NUM_IN)\
+ --hid_ep_num_out $(USB_HID_EP_NUM_OUT)\
--hid_ep_num_in $(USB_HID_EP_NUM_IN)\
--midi_ep_num_out $(USB_MIDI_EP_NUM_OUT)\
--midi_ep_num_in $(USB_MIDI_EP_NUM_IN)\
diff --git a/tools/gen_usb_descriptor.py b/tools/gen_usb_descriptor.py
index ab6beca42..916e3ec47 100644
--- a/tools/gen_usb_descriptor.py
+++ b/tools/gen_usb_descriptor.py
@@ -44,6 +44,8 @@ parser.add_argument('--msc_ep_num_out', type=int, default=0,
help='endpoint number of MSC OUT')
parser.add_argument('--msc_ep_num_in', type=int, default=0,
help='endpoint number of MSC IN')
+parser.add_argument('--hid_ep_num_out', type=int, default=0,
+ help='endpoint number of HID OUT')
parser.add_argument('--hid_ep_num_in', type=int, default=0,
help='endpoint number of HID IN')
parser.add_argument('--midi_ep_num_out', type=int, default=0,
@@ -74,7 +76,7 @@ if not args.renumber_endpoints:
raise ValueError("Endpoint address must not be 0")
if 'HID' in args.devices:
- if args.hid_ep_num_in == 0:
+ if args.args.hid_ep_num_out == 0 or args.hid_ep_num_in == 0:
raise ValueError("Endpoint address must not be 0")
if 'AUDIO' in args.devices:
@@ -231,7 +233,7 @@ hid_endpoint_in_descriptor = standard.EndpointDescriptor(
hid_endpoint_out_descriptor = standard.EndpointDescriptor(
description="HID out",
- bEndpointAddress=0x0 | standard.EndpointDescriptor.DIRECTION_OUT,
+ bEndpointAddress=args.hid_ep_num_out | standard.EndpointDescriptor.DIRECTION_OUT,
bmAttributes=standard.EndpointDescriptor.TYPE_INTERRUPT,
bInterval=8)