I’ve noted the FEZ Panda II won’t start successfully if I increase a USB clients endpoint beyond 64 bytes.
Is this a hardware constraint?
Does it apply to all GHI modules?
I also noted that by client app sometimes stalls when sending the FEZ 64 bytes. If I send just a few bytes less than the max packet size, all works perfectly. Any ideas?
[quote]I also noted that by client app sometimes stalls when sending the FEZ 64 bytes. If I send just a few bytes less than the max packet size, all works perfectly. Any ideas?
[/quote]
Are you using CDC or USB client directly?
Are you using latest firmware?
If sending a multiple of 64, you have to send an empty packet. Otherwise, the computer will think there are more data to come.
public int Write(byte[] buffer, int offset, int count)
{
int total = stream.Write(buffer, offset, count);
// Write empty packet if multiple of 64
if(total % 64 == 0)
stream.Write(buffer, 0, 0);
return total;
}