Minor code style fixes, documentation improvements.
authorDean Camera <dean@fourwalledcubicle.com>
Tue, 22 Jul 2014 09:25:41 +0000 (19:25 +1000)
committerDean Camera <dean@fourwalledcubicle.com>
Tue, 22 Jul 2014 09:25:41 +0000 (19:25 +1000)
LUFA/DoxygenPages/ChangeLog.txt
LUFA/Drivers/USB/Core/XMEGA/USBController_XMEGA.c

index e16fcbe..d8f1d73 100644 (file)
@@ -20,6 +20,7 @@
   *   - Fixed incorrect XMEGA DFLL reference frequency (thanks to Martin Aakerberg)
   *   - Fixed possible infinite loop in the control endpoint stream write function (thanks to Clayton Knight)
   *   - Fixed missing HID report ID prefix on HID class driver GetReport request responses (thanks to Bert van Hall)
   *   - Fixed incorrect XMEGA DFLL reference frequency (thanks to Martin Aakerberg)
   *   - Fixed possible infinite loop in the control endpoint stream write function (thanks to Clayton Knight)
   *   - Fixed missing HID report ID prefix on HID class driver GetReport request responses (thanks to Bert van Hall)
+  *   - Fixed incorrect XMEGA USB controller clock division factory for non-Full Speed operation (thanks to Bert van Hall)
   *  - Library Applications:
   *   - Fixed spurious 0xFE USART byte sent in the USBtoSerial project when the baud rate is changed (thanks to Carl Kjeldsen)
   *   - Fixed blocking USART reads causing low throughput on slow baud rates in the USBtoSerial project (thanks to Nevada Smith)
   *  - Library Applications:
   *   - Fixed spurious 0xFE USART byte sent in the USBtoSerial project when the baud rate is changed (thanks to Carl Kjeldsen)
   *   - Fixed blocking USART reads causing low throughput on slow baud rates in the USBtoSerial project (thanks to Nevada Smith)
index b5de862..9958980 100644 (file)
@@ -110,7 +110,6 @@ void USB_Disable(void)
 void USB_ResetInterface(void)
 {
        uint8_t PrescalerNeeded;
 void USB_ResetInterface(void)
 {
        uint8_t PrescalerNeeded;
-       uint8_t nbit = 0;
 
        #if defined(USB_DEVICE_OPT_FULLSPEED)
        if (USB_Options & USB_DEVICE_OPT_LOWSPEED)
 
        #if defined(USB_DEVICE_OPT_FULLSPEED)
        if (USB_Options & USB_DEVICE_OPT_LOWSPEED)
@@ -121,12 +120,14 @@ void USB_ResetInterface(void)
        PrescalerNeeded = F_USB / 6000000;
        #endif
 
        PrescalerNeeded = F_USB / 6000000;
        #endif
 
-       while (PrescalerNeeded && nbit < 7) {
+       uint8_t DividerIndex = 0;
+       while (PrescalerNeeded > 0)
+       {
+               DividerIndex++;
                PrescalerNeeded >>= 1;
                PrescalerNeeded >>= 1;
-               nbit++;
        }
 
        }
 
-       CLK.USBCTRL = (nbit - 1) << CLK_USBPSDIV_gp;
+       CLK.USBCTRL = (DividerIndex - 1) << CLK_USBPSDIV_gp;
 
        if (USB_Options & USB_OPT_PLLCLKSRC)
          CLK.USBCTRL |= (CLK_USBSRC_PLL_gc   | CLK_USBSEN_bm);
 
        if (USB_Options & USB_OPT_PLLCLKSRC)
          CLK.USBCTRL |= (CLK_USBSRC_PLL_gc   | CLK_USBSEN_bm);