Adjusted sample CTC timer calculations in the AudioOutput and AudioInput demos to...
authorDean Camera <dean@fourwalledcubicle.com>
Tue, 14 Apr 2009 08:17:24 +0000 (08:17 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Tue, 14 Apr 2009 08:17:24 +0000 (08:17 +0000)
Demos/Device/AudioInput/AudioInput.c
Demos/Device/AudioOutput/AudioOutput.c
LUFA/ChangeLog.txt

index f41306f..b0c0295 100644 (file)
@@ -95,7 +95,7 @@ EVENT_HANDLER(USB_Connect)
        UpdateStatus(Status_USBEnumerating);\r
 \r
        /* Sample reload timer initialization */\r
        UpdateStatus(Status_USBEnumerating);\r
 \r
        /* Sample reload timer initialization */\r
-       OCR0A   = (F_CPU / AUDIO_SAMPLE_FREQUENCY);\r
+       OCR0A   = (F_CPU / AUDIO_SAMPLE_FREQUENCY) - ((F_CPU % AUDIO_SAMPLE_FREQUENCY) == 0 ? 1 : 0);\r
        TCCR0A  = (1 << WGM01);  // CTC mode\r
        TCCR0B  = (1 << CS00);   // Fcpu speed\r
 }\r
        TCCR0A  = (1 << WGM01);  // CTC mode\r
        TCCR0B  = (1 << CS00);   // Fcpu speed\r
 }\r
index 855edf6..0554361 100644 (file)
@@ -90,7 +90,7 @@ EVENT_HANDLER(USB_Connect)
        UpdateStatus(Status_USBEnumerating);\r
        \r
        /* Sample reload timer initialization */\r
        UpdateStatus(Status_USBEnumerating);\r
        \r
        /* Sample reload timer initialization */\r
-       OCR0A   = (F_CPU / AUDIO_SAMPLE_FREQUENCY);\r
+       OCR0A   = (F_CPU / AUDIO_SAMPLE_FREQUENCY) - ((F_CPU % AUDIO_SAMPLE_FREQUENCY) == 0 ? 1 : 0);\r
        TCCR0A  = (1 << WGM01);  // CTC mode\r
        TCCR0B  = (1 << CS00);   // Fcpu speed\r
                        \r
        TCCR0A  = (1 << WGM01);  // CTC mode\r
        TCCR0B  = (1 << CS00);   // Fcpu speed\r
                        \r
index e2d699c..78f1ec7 100644 (file)
@@ -29,6 +29,8 @@
   *  - Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen)\r
   *  - Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan)\r
   *  - Fixed WriteNextReport code in the GenericHIDHost demo using incorrect parameter types and not selecting the correct endpoint\r
   *  - Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen)\r
   *  - Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan)\r
   *  - Fixed WriteNextReport code in the GenericHIDHost demo using incorrect parameter types and not selecting the correct endpoint\r
+  *  - Adjusted sample CTC timer calculations in the AudioOutput and AudioInput demos to account for situations where the division results\r
+  *    in a value with no remainder, requiring one to be subtracted from the result (thanks to Robin Theunis)\r
   *\r
   *  \section Sec_ChangeLog090401 Version 090401\r
   *\r
   *\r
   *  \section Sec_ChangeLog090401 Version 090401\r
   *\r