From b714ffbfa097f2ac737f4210e818297503c3fe7e Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Sun, 30 Oct 2011 12:06:02 +0000 Subject: Update XMEGA clock management so that the correct 16-bit calibration is used when requested. Fix endpoint descriptor table so that the frame number is stored into the correct location. Add compile time option to source the USB clock from the PLL rather than the internal 32MHz RC oscillator. --- LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h') diff --git a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h index 3fbd3ff2f..0667f6704 100644 --- a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h +++ b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h @@ -231,8 +231,10 @@ ((EndpointNumber & ENDPOINT_DIR_IN) ? 0x01 : 0); Endpoint_SelectedEndpoint = EndpointNumber; - Endpoint_SelectedEndpointHandle = &((USB_EP_t*)&USB_EndpointTable.Endpoints)[EPTableIndex]; Endpoint_SelectedEndpointAux = &Endpoint_AuxData[EPTableIndex]; + Endpoint_SelectedEndpointHandle = (EndpointNumber & ENDPOINT_DIR_IN) ? + &USB_EndpointTable.Endpoints[EndpointNumber & ENDPOINT_EPNUM_MASK].IN : + &USB_EndpointTable.Endpoints[EndpointNumber & ENDPOINT_EPNUM_MASK].OUT; } /** Configures the specified endpoint number with the given endpoint type, direction, bank size -- cgit v1.2.3