From 5e3d08af24b6254cf5308b2a1c19491bcc92c608 Mon Sep 17 00:00:00 2001 From: Sandeep Mistry Date: Thu, 14 Apr 2016 10:06:47 -0400 Subject: [PATCH] Subtract one from USB_EP_SIZE in USB_SendSpace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This avoids dealing with ZLP’s in USB_Send, because the max packet size will be EP size - 1. --- cores/arduino/USBCore.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cores/arduino/USBCore.cpp b/cores/arduino/USBCore.cpp index 3c7da86..44dce72 100644 --- a/cores/arduino/USBCore.cpp +++ b/cores/arduino/USBCore.cpp @@ -255,7 +255,9 @@ u8 USB_SendSpace(u8 ep) LockEP lock(ep); if (!ReadWriteAllowed()) return 0; - return USB_EP_SIZE - FifoByteCount(); + // subtract 1 from the EP size to never send a full packet, + // this avoids dealing with ZLP's in USB_Send + return USB_EP_SIZE - 1 - FifoByteCount(); } // Blocking Send of data to an endpoint