micropython/docs/library
Angus Gratton d11ca092f7 shared/tinyusb: Fix dynamic USB control callbacks for wLength==0.
In the case where an OUT control transfer triggers with wLength==0 (i.e.
all data sent in the SETUP phase, and no additional data phase) the
callbacks were previously implemented to return b"" (i.e. an empty buffer
for the data phase).

However this didn't actually work as intended because b"" can't provide a
RW buffer (needed for OUT transfers with a data phase to write data into),
so actually the endpoint would stall.

The symptom was often that the device process the request (if processing
it in the SETUP phase when all information was already available), but the
host sees the endpoint stall and eventually returns an error.

This commit changes the behaviour so returning True from the SETUP phase of
a control transfer queues a zero length status response.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-04-17 12:39:47 +10:00
..
_thread.rst
array.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
asyncio.rst docs/library: Document SSLContext cert methods and asyncio support. 2023-12-14 13:06:39 +11:00
binascii.rst extmod/modubinascii: Add newline keyword to b2a_base64 function. 2022-01-23 10:18:01 +11:00
bluetooth.rst docs/library/bluetooth: Add note that ESP32 supports pairing/bonding. 2024-02-29 14:33:22 +11:00
btree.rst extmod/modbtree: Use buffer protocol for keys/values. 2022-06-21 00:44:49 +10:00
builtins.rst docs/library/builtins.rst: Add module title. 2021-08-17 11:26:24 +10:00
cmath.rst
collections.rst docs/library/collections: Update deque docs to describe new features. 2024-03-19 10:09:11 +11:00
cryptolib.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
deflate.rst extmod/moddeflate: Change default window size. 2023-09-01 12:23:37 +10:00
errno.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
esp.rst docs/library/esp: Correct the description of esp.osdebug(). 2023-11-22 16:48:35 +11:00
esp32.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
espnow.rst all: Fix various spelling mistakes found by codespell 2.2.6. 2023-10-03 11:24:50 +11:00
framebuf.rst docs/library/framebuf: Clarify docs for blit regarding palette. 2022-11-17 23:18:22 +11:00
gc.rst docs/library/gc: Clarify mem_alloc and mem_free only for Python heap. 2023-09-15 12:19:13 +10:00
gzip.rst docs/library/deflate: Add docs for deflate.DeflateIO. 2023-07-21 19:32:42 +10:00
hashlib.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
heapq.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
index.rst docs/library/openamp: Document the new openamp module. 2024-03-15 18:11:28 +11:00
io.rst docs/library/io: Remove io.FileIO and io.TextIOWrapper. 2023-10-16 23:07:13 +11:00
json.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
lcd160cr.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.ADC.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.ADCBlock.rst all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
machine.ADCWiPy.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.I2C.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.I2S.rst docs: Rename uasyncio to asyncio. 2023-06-19 18:36:54 +10:00
machine.PWM.rst all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
machine.Pin.rst docs/library/machine.Pin: Update to use preferred DRIVE_x constants. 2022-03-07 23:47:45 +11:00
machine.RTC.rst docs/library/machine.RTC: Add docs for RTC.memory() method. 2024-03-26 17:59:06 +11:00
machine.SD.rst docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
machine.SDCard.rst docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
machine.SPI.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.Signal.rst
machine.Timer.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
machine.TimerWiPy.rst docs: Remove trailing spaces and convert tabs to spaces. 2021-12-15 11:49:22 +11:00
machine.UART.rst renesas-ra: Add the UART methods uart.txdone() and uart.flush(). 2022-12-15 12:09:34 +01:00
machine.USBDevice.rst shared/tinyusb: Fix dynamic USB control callbacks for wLength==0. 2024-04-17 12:39:47 +10:00
machine.WDT.rst docs/esp32: Update esp32 docs based on IDF v5 changes. 2023-06-23 15:34:49 +10:00
machine.rst extmod/machine_usb_device: Add support for Python USB devices. 2024-03-15 14:22:11 +11:00
math.rst
micropython.rst docs/library/micropython: Fix spelling of compiler. 2022-08-26 15:15:59 +10:00
neopixel.rst docs/library/neopixel: Change link to a micropython-lib reference. 2023-09-01 13:56:34 +10:00
network.LAN.rst mimxrt/network: Rename the argument clock_mode to ref_clk_mode. 2022-11-17 08:55:16 +01:00
network.WIZNET5K.rst all: Rename MICROPY_PY_WIZNET5K to MICROPY_PY_NETWORK_WIZNET5K. 2022-06-07 16:55:18 +10:00
network.WLAN.rst esp32,esp8266: Add support to set/get power saving mode of WLAN. 2023-05-06 13:51:00 +10:00
network.WLANWiPy.rst
network.rst extmod/modnetwork: Increase max hostname length to 32. 2023-10-04 12:39:23 +11:00
openamp.rst docs/library/openamp: Document the new openamp module. 2024-03-15 18:11:28 +11:00
os.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
platform.rst docs/library/platform: Add docs for the platform library. 2023-09-04 22:40:56 +10:00
pyb.ADC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Accel.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.CAN.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
pyb.DAC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.ExtInt.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Flash.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
pyb.I2C.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
pyb.LCD.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.LED.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Pin.rst docs/library/pyb.Pin: Add Pin.ALT constant. 2022-07-29 12:16:32 +10:00
pyb.RTC.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.SPI.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Servo.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Switch.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.Timer.rst docs/library/pyb.Timer: Document how to use BKIN pin with example. 2022-07-29 12:22:23 +10:00
pyb.UART.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.USB_HID.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.USB_VCP.rst docs/library: Remove unnecessary "pyb." prefix on class names. 2022-06-21 14:33:23 +10:00
pyb.rst docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
random.rst all: Rename UMODULE to MODULE in preprocessor/Makefile vars. 2023-06-08 17:54:11 +10:00
re.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
rp2.DMA.rst docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +11:00
rp2.Flash.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
rp2.PIO.rst
rp2.StateMachine.rst docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +11:00
rp2.rst docs/library/rp2.DMA: Add documentation for rp2 DMA support. 2024-03-19 17:10:54 +11:00
select.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
socket.rst docs/library/socket: Use correct sockaddr variable name. 2023-01-13 17:40:01 +11:00
ssl.rst docs/library/ssl: Change wrap_socket args keyfile/certfile to key/cert. 2024-02-05 13:05:29 +11:00
stm.rst stm32/subghz: Add STM32WL55 subghz radio interface to stm module. 2023-08-23 11:58:11 +10:00
struct.rst py/binary: Support half-float 'e' format in struct pack/unpack. 2024-03-20 14:13:49 +11:00
sys.rst docs/library/sys.rst: Document implementation.version.releaselevel. 2024-02-07 15:51:25 +11:00
time.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
uctypes.rst docs: Replace ufoo with foo in all docs. 2021-08-13 22:53:29 +10:00
vfs.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
wipy.rst
wm8960.rst all: Fix various spelling mistakes found by codespell 2.2.6. 2023-10-03 11:24:50 +11:00
zephyr.DiskAccess.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
zephyr.FlashArea.rst docs/library: Move vfs functions and classes from os to vfs module docs. 2024-02-07 13:25:09 +11:00
zephyr.rst all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
zephyr.zsensor.rst
zlib.rst docs/library/deflate: Add docs for deflate.DeflateIO. 2023-07-21 19:32:42 +10:00