TeenyUSB icon indicating copy to clipboard operation
TeenyUSB copied to clipboard

USBDevice模式下SETUP在线程模式中处理无法发包

Open ranbochen opened this issue 5 years ago • 1 comments

主机使用CTRL-TRANSFER来获取数据的时候 如果不在SETUP回调函数(class-handler)中立即发送数据 而转到线程中再调用tusb_control_send,则主机无法收到发送的数据 用wireshark抓包,返回的包长度为0字节

比如:HID-GET-REPORT 如果在SETUP中断中立即调用tusb_control_send发送数据,则主机收到正确数据 如果转发到线程模式,在线程中调用tusb_control_send,则主机收到0字节包

ranbochen avatar Apr 14 '20 16:04 ranbochen

主机使用CTRL-TRANSFER来获取数据的时候 如果不在SETUP回调函数(class-handler)中立即发送数据 而转到线程中再调用tusb_control_send,则主机无法收到发送的数据 用wireshark抓包,返回的包长度为0字节

比如:HID-GET-REPORT 如果在SETUP中断中立即调用tusb_control_send发送数据,则主机收到正确数据 如果转发到线程模式,在线程中调用tusb_control_send,则主机收到0字节包

目前TeenyUSB没有为控制传输设计延迟处理机制,所以出现了这样的情况。感谢你的反馈,后续考虑这种多线程情形下的控制传输处理问题。

xtoolbox avatar Apr 20 '20 13:04 xtoolbox