From: Dean Camera Date: Sat, 26 May 2012 15:06:00 +0000 (+0000) Subject: Fix incorrect definition for the XMEGA Endpoint_BytesInEndpoint() function when used... X-Git-Tag: LUFA-120730~16 X-Git-Url: http://git.linex4red.de/pub/USBasp.git/commitdiff_plain/f235021abe547f3366459480ba17f548f3119ee2 Fix incorrect definition for the XMEGA Endpoint_BytesInEndpoint() function when used on OUT endpoints. --- diff --git a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h index 720b5f3b4..23de8fc09 100644 --- a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h +++ b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h @@ -274,7 +274,10 @@ static inline uint16_t Endpoint_BytesInEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE; static inline uint16_t Endpoint_BytesInEndpoint(void) { - return USB_Endpoint_SelectedFIFO->Position; + if (USB_Endpoint_SelectedEndpoint & ENDPOINT_DIR_IN) + return USB_Endpoint_SelectedFIFO->Position; + else + return (USB_Endpoint_SelectedFIFO->Length - USB_Endpoint_SelectedFIFO->Position); } /** Get the endpoint address of the currently selected endpoint. This is typically used to save