Merge pull request #3338 from jepler/endpoint-count-checking-stm32f405

add endpoint count checking on stm32f405
This commit is contained in:
Dan Halbert 2020-08-28 11:12:31 -04:00 committed by GitHub
commit 893a125dd0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 2 deletions

View File

@ -7,6 +7,7 @@ ifeq ($(MCU_VARIANT),STM32F405xx)
CIRCUITPY_FRAMEBUFFERIO ?= 1 CIRCUITPY_FRAMEBUFFERIO ?= 1
CIRCUITPY_RGBMATRIX ?= 1 CIRCUITPY_RGBMATRIX ?= 1
CIRCUITPY_SDIOIO ?= 1 CIRCUITPY_SDIOIO ?= 1
USB_NUM_EP = 4
endif endif
ifeq ($(MCU_SERIES),F4) ifeq ($(MCU_SERIES),F4)

View File

@ -382,8 +382,9 @@ if args.max_ep != 0:
for interface in interfaces: for interface in interfaces:
for subdescriptor in interface.subdescriptors: for subdescriptor in interface.subdescriptors:
endpoint_address = getattr(subdescriptor, 'bEndpointAddress', 0) & 0x7f endpoint_address = getattr(subdescriptor, 'bEndpointAddress', 0) & 0x7f
if endpoint_address > args.max_ep: print("Endpoint %d - vs max_ep %d" % (endpoint_address, args.max_ep))
raise ValueError("Endpoint address %d of %s may not exceed %d" % (endpoint_address & 0x7f, interface.description, args.max_ep)) if endpoint_address >= args.max_ep:
raise ValueError("Endpoint address %d of %s must be less than %d" % (endpoint_address & 0x7f, interface.description, args.max_ep))
else: else:
print("Unable to check whether maximum number of endpoints is respected", file=sys.stderr) print("Unable to check whether maximum number of endpoints is respected", file=sys.stderr)