Holger Hans Peter Freyther wrote:
I 'reverted'
fe88b83e80df8be0351ff38ee6a77b855b0cd0a9 that added
sending a ZPL for every thing length % 8 == 0 and the device
started to work on OSX. I assume we will need to look at the USB
spec. :)
I think that commit is mostly correct, it just overlooks the
condition of total data length == requested length, in which case I
think no zlp should be sent. Also, hard coding 8 as packet size is
not awesome, the value used by the host for this is bMaxPacketSize0
in the device descriptor. (See 9.6.1) At least a define would be
good, full-speed devices can choose value here.
The same commit also exists earlier in the branch as
8cc090e310545f7858558f74116f707318daf682 with no merges in between.
I'm not sure what happened there.
Holger Hans Peter Freyther wrote:
"8.5.3.2
Variable-length Data Stage"
and 9.4.3 Get Descriptor.
What is a Control Pipe?
USB spec and Windows like to refer to pipes, I think it's a bit
redundant, transfers to and from endpoints is good enough imo. :)
//Peter