USB_Init() no longer calls sei() to enable global interrupts - this must now be done...
authorDean Camera <dean@fourwalledcubicle.com>
Wed, 28 Apr 2010 07:48:26 +0000 (07:48 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Wed, 28 Apr 2010 07:48:26 +0000 (07:48 +0000)
135 files changed:
Bootloaders/CDC/BootloaderCDC.c
Bootloaders/CDC/BootloaderCDC.h
Bootloaders/DFU/BootloaderDFU.c
Bootloaders/DFU/BootloaderDFU.h
Bootloaders/Incomplete/MIDI/BootloaderMIDI.c
Bootloaders/Incomplete/MIDI/BootloaderMIDI.h
Bootloaders/TeensyHID/TeensyHID.c
Bootloaders/TeensyHID/TeensyHID.h
Demos/Device/ClassDriver/AudioInput/AudioInput.c
Demos/Device/ClassDriver/AudioInput/AudioInput.h
Demos/Device/ClassDriver/AudioOutput/AudioOutput.c
Demos/Device/ClassDriver/AudioOutput/AudioOutput.h
Demos/Device/ClassDriver/DualVirtualSerial/DualVirtualSerial.c
Demos/Device/ClassDriver/DualVirtualSerial/DualVirtualSerial.h
Demos/Device/ClassDriver/GenericHID/GenericHID.c
Demos/Device/ClassDriver/GenericHID/GenericHID.h
Demos/Device/ClassDriver/Joystick/Joystick.c
Demos/Device/ClassDriver/Joystick/Joystick.h
Demos/Device/ClassDriver/Keyboard/Keyboard.c
Demos/Device/ClassDriver/Keyboard/Keyboard.h
Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.c
Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.h
Demos/Device/ClassDriver/MIDI/MIDI.c
Demos/Device/ClassDriver/MIDI/MIDI.h
Demos/Device/ClassDriver/MassStorage/MassStorage.c
Demos/Device/ClassDriver/MassStorage/MassStorage.h
Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h
Demos/Device/ClassDriver/Mouse/Mouse.c
Demos/Device/ClassDriver/Mouse/Mouse.h
Demos/Device/ClassDriver/RNDISEthernet/Lib/ProtocolDecoders.h
Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.c
Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h
Demos/Device/ClassDriver/VirtualSerial/VirtualSerial.c
Demos/Device/ClassDriver/VirtualSerial/VirtualSerial.h
Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.c
Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.h
Demos/Device/Incomplete/Sideshow/Sideshow.c
Demos/Device/Incomplete/Sideshow/Sideshow.h
Demos/Device/LowLevel/AudioInput/AudioInput.c
Demos/Device/LowLevel/AudioInput/AudioInput.h
Demos/Device/LowLevel/AudioOutput/AudioOutput.c
Demos/Device/LowLevel/AudioOutput/AudioOutput.h
Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.c
Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h
Demos/Device/LowLevel/GenericHID/GenericHID.c
Demos/Device/LowLevel/GenericHID/GenericHID.h
Demos/Device/LowLevel/Joystick/Joystick.c
Demos/Device/LowLevel/Joystick/Joystick.h
Demos/Device/LowLevel/Keyboard/Keyboard.c
Demos/Device/LowLevel/Keyboard/Keyboard.h
Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.c
Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h
Demos/Device/LowLevel/MIDI/MIDI.c
Demos/Device/LowLevel/MIDI/MIDI.h
Demos/Device/LowLevel/MassStorage/MassStorage.c
Demos/Device/LowLevel/MassStorage/MassStorage.h
Demos/Device/LowLevel/Mouse/Mouse.c
Demos/Device/LowLevel/Mouse/Mouse.h
Demos/Device/LowLevel/RNDISEthernet/Lib/ProtocolDecoders.h
Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c
Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h
Demos/Device/LowLevel/VirtualSerial/VirtualSerial.c
Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h
Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.c
Demos/DualRole/ClassDriver/MouseHostDevice/MouseHostDevice.h
Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c
Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.h
Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.c
Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.h
Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.c
Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.h
Demos/Host/ClassDriver/MIDIHost/MIDIHost.c
Demos/Host/ClassDriver/MIDIHost/MIDIHost.h
Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c
Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h
Demos/Host/ClassDriver/MouseHost/MouseHost.c
Demos/Host/ClassDriver/MouseHost/MouseHost.h
Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.h
Demos/Host/ClassDriver/PrinterHost/PrinterHost.c
Demos/Host/ClassDriver/PrinterHost/PrinterHost.h
Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c
Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h
Demos/Host/ClassDriver/StillImageHost/StillImageHost.c
Demos/Host/ClassDriver/StillImageHost/StillImageHost.h
Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c
Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.h
Demos/Host/Incomplete/BluetoothHost/BluetoothHost.c
Demos/Host/Incomplete/BluetoothHost/BluetoothHost.h
Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.c
Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.c
Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h
Demos/Host/LowLevel/KeyboardHost/KeyboardHost.c
Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.c
Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h
Demos/Host/LowLevel/MIDIHost/MIDIHost.c
Demos/Host/LowLevel/MIDIHost/MIDIHost.h
Demos/Host/LowLevel/MassStorageHost/MassStorageHost.c
Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h
Demos/Host/LowLevel/MouseHost/MouseHost.c
Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c
Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h
Demos/Host/LowLevel/PrinterHost/PrinterHost.c
Demos/Host/LowLevel/PrinterHost/PrinterHost.h
Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.c
Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h
Demos/Host/LowLevel/StillImageHost/StillImageHost.c
Demos/Host/LowLevel/StillImageHost/StillImageHost.h
Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c
Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.h
LUFA/Drivers/USB/LowLevel/LowLevel.c
LUFA/Drivers/USB/LowLevel/LowLevel.h
LUFA/ManPages/ChangeLog.txt
LUFA/ManPages/MigrationInformation.txt
Projects/AVRISP-MKII/AVRISP.c
Projects/Benito/Benito.c
Projects/Incomplete/MIDIToneGenerator/MIDIToneGenerator.c
Projects/Incomplete/MIDIToneGenerator/MIDIToneGenerator.h
Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c
Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.h
Projects/LEDNotifier/LEDNotifier.c
Projects/LEDNotifier/LEDNotifier.h
Projects/Magstripe/Magstripe.c
Projects/Magstripe/Magstripe.h
Projects/MissileLauncher/MissileLauncher.c
Projects/RelayBoard/RelayBoard.c
Projects/RelayBoard/RelayBoard.h
Projects/TemperatureDataLogger/TempDataLogger.c
Projects/TemperatureDataLogger/TempDataLogger.h
Projects/USBtoSerial/USBtoSerial.c
Projects/Webserver/Webserver.c
Projects/Webserver/Webserver.h
Projects/XPLAINBridge/XPLAINBridge.c
Projects/XPLAINBridge/XPLAINBridge.h

index 482859b..83fd0ee 100644 (file)
@@ -69,6 +69,9 @@ int main(void)
        /* Setup hardware required for the bootloader */\r
        SetupHardware();\r
 \r
+       /* Enable global interrupts so that the USB stack can function */\r
+       sei();\r
+\r
        while (RunBootloader)\r
        {\r
                CDC_Task();\r
index 8367002..22b5743 100644 (file)
@@ -42,6 +42,7 @@
                #include <avr/boot.h>\r
                #include <avr/eeprom.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
 \r
                #include "Descriptors.h"\r
index 157b78f..d90accb 100644 (file)
@@ -101,6 +101,9 @@ int main(void)
 {\r
        /* Configure hardware required by the bootloader */\r
        SetupHardware();\r
+       \r
+       /* Enable global interrupts so that the USB stack can function */\r
+       sei();\r
 \r
        /* Run the USB management task while the bootloader is supposed to be running */\r
        while (RunBootloader || WaitForExit)\r
index ca53266..4583d6c 100644 (file)
@@ -43,6 +43,7 @@
                #include <avr/pgmspace.h>\r
                #include <avr/eeprom.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
        \r
                #include "Descriptors.h"\r
index 8d26d56..8638201 100644 (file)
@@ -42,8 +42,6 @@
 int main(void)\r
 {\r
        SetupHardware();\r
-       \r
-       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
 \r
        for (;;)\r
        {\r
@@ -63,48 +61,22 @@ void SetupHardware(void)
        clock_prescale_set(clock_div_1);\r
        \r
        /* Hardware Initialization */\r
-       LEDs_Init();\r
        USB_Init();\r
 }\r
 \r
-/** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs. */\r
-void EVENT_USB_Device_Connect(void)\r
-{\r
-       /* Indicate USB enumerating */\r
-       LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);\r
-}\r
-\r
-/** Event handler for the USB_Disconnect event. This indicates that the device is no longer connected to a host via\r
- *  the status LEDs, disables the sample update and PWM output timers and stops the USB and MIDI management tasks.\r
- */\r
-void EVENT_USB_Device_Disconnect(void)\r
-{\r
-       /* Indicate USB not ready */\r
-       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
-}\r
-\r
 /** Event handler for the USB_ConfigurationChanged event. This is fired when the host set the current configuration\r
  *  of the USB device after enumeration - the device endpoints are configured and the MIDI management task started.\r
  */\r
 void EVENT_USB_Device_ConfigurationChanged(void)\r
 {\r
-       /* Indicate USB connected and ready */\r
-       LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
-\r
        /* Setup MIDI stream endpoints */\r
-       if (!(Endpoint_ConfigureEndpoint(MIDI_STREAM_OUT_EPNUM, EP_TYPE_BULK,\r
-                                            ENDPOINT_DIR_OUT, MIDI_STREAM_EPSIZE,\r
-                                        ENDPOINT_BANK_SINGLE)))\r
-       {\r
-               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
-       }       \r
+       Endpoint_ConfigureEndpoint(MIDI_STREAM_OUT_EPNUM, EP_TYPE_BULK,\r
+                                  ENDPOINT_DIR_OUT, MIDI_STREAM_EPSIZE,\r
+                                  ENDPOINT_BANK_SINGLE);\r
        \r
-       if (!(Endpoint_ConfigureEndpoint(MIDI_STREAM_IN_EPNUM, EP_TYPE_BULK,\r
-                                            ENDPOINT_DIR_IN, MIDI_STREAM_EPSIZE,\r
-                                        ENDPOINT_BANK_SINGLE)))\r
-       {\r
-               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
-       }\r
+       Endpoint_ConfigureEndpoint(MIDI_STREAM_IN_EPNUM, EP_TYPE_BULK,\r
+                                  ENDPOINT_DIR_IN, MIDI_STREAM_EPSIZE,\r
+                                  ENDPOINT_BANK_SINGLE);\r
 }\r
 \r
 /** Task to handle the generation of MIDI note change events in response to presses of the board joystick, and send them\r
@@ -122,9 +94,7 @@ void MIDI_Task(void)
        if (Endpoint_IsOUTReceived())\r
        {\r
                USB_MIDI_EventPacket_t InPacket;\r
-               Endpoint_Read_Stream_LE(&InPacket, sizeof(InPacket));\r
-                       \r
-               LEDs_SetAllLEDs(InPacket.Data2 > 64 ? LEDS_LED1 : LEDS_LED2);   \r
+               Endpoint_Read_Stream_LE(&InPacket, sizeof(InPacket));                   \r
                Endpoint_ClearOUT();\r
 \r
                uint8_t Channel = InPacket.Data1;\r
index 5af684d..b568819 100644 (file)
                #include <avr/wdt.h>\r
                #include <avr/boot.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
 \r
                #include "Descriptors.h"\r
                                \r
                #include <LUFA/Version.h>\r
-               #include <LUFA/Drivers/Board/LEDs.h>\r
                #include <LUFA/Drivers/USB/USB.h>\r
 \r
    /* Macros: */\r
index 2317ea4..5431a57 100644 (file)
@@ -49,6 +49,9 @@ int main(void)
        /* Setup hardware required for the bootloader */\r
        SetupHardware();\r
        \r
+       /* Enable global interrupts so that the USB stack can function */\r
+       sei();\r
+\r
        while (RunBootloader)\r
          USB_USBTask();\r
        \r
index 6393898..7e3d72d 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/boot.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
 \r
                #include "Descriptors.h"\r
index 22d0173..09a2f0f 100644 (file)
@@ -59,6 +59,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index 98fec78..dc3475e 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
 \r
                #include <LUFA/Version.h>\r
                #include <LUFA/Drivers/Board/LEDs.h>\r
index be3eb42..0dda68c 100644 (file)
@@ -59,6 +59,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index e8bd769..cf0034f 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdlib.h>\r
 \r
                #include "Descriptors.h"\r
index dd64c28..ba3b86f 100644 (file)
@@ -94,6 +94,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index a7ce35d..1c99cfd 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
 \r
                #include "Descriptors.h"\r
index 3516f08..285a197 100644 (file)
@@ -74,6 +74,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index 423e28f..595bd0e 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
                \r
                #include "Descriptors.h"\r
index 518c86e..6a259d7 100644 (file)
@@ -66,6 +66,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index 7932ab5..9f666fe 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
 \r
                #include "Descriptors.h"\r
index ea4fbf8..0da5295 100644 (file)
@@ -66,6 +66,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index 945c7e8..2c86bf5 100644 (file)
@@ -40,8 +40,8 @@
        /* Includes: */\r
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
-               #include <avr/interrupt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
                #include <string.h>\r
 \r
index 1f87a7a..94f27bd 100644 (file)
@@ -89,6 +89,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index ca4cfec..4c540cc 100644 (file)
@@ -36,6 +36,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
                #include <string.h>\r
 \r
index 5c0f25e..7fcdfcc 100644 (file)
@@ -64,6 +64,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index c8cb426..96e2b40 100644 (file)
@@ -40,7 +40,9 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
+               #include <string.h>\r
 \r
                #include "Descriptors.h"\r
                                \r
index ce8e04b..c58dff9 100644 (file)
@@ -66,6 +66,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 2c7fa7d..64da5b3 100644 (file)
@@ -40,6 +40,8 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
+               #include <string.h>\r
 \r
                #include "Descriptors.h"\r
 \r
index 828699a..9b4efb6 100644 (file)
@@ -89,6 +89,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index deeb6e0..65600ee 100644 (file)
@@ -42,6 +42,7 @@
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
                #include <avr/interrupt.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
                #include <string.h>\r
 \r
index 48348c7..96af145 100644 (file)
@@ -66,6 +66,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 79d56aa..818d540 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/interrupt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
                #include <string.h>\r
                \r
index a3b92fa..2dfc608 100644 (file)
@@ -38,6 +38,8 @@
 \r
        /* Includes: */\r
                #include <avr/io.h>\r
+               #include <avr/pgmspace.h>\r
+               #include <stdio.h>\r
                \r
                #include <LUFA/Drivers/USB/Class/RNDIS.h>\r
                #include <LUFA/Drivers/Peripheral/SerialStream.h>\r
index dbdbb8a..14016aa 100644 (file)
@@ -70,12 +70,11 @@ int main(void)
 {\r
        SetupHardware();\r
 \r
-       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
-       \r
        TCP_Init();\r
        Webserver_Init();\r
 \r
-       printf_P(PSTR("\r\n\r\n****** RNDIS Demo running. ******\r\n"));\r
+       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 3bed7f8..c6c092c 100644 (file)
        /* Includes: */\r
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
-               #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
-               #include <stdio.h>\r
 \r
                #include "Descriptors.h"\r
 \r
index 30cbc66..1a8d6ed 100644 (file)
@@ -76,6 +76,7 @@ int main(void)
        CDC_Device_CreateStream(&VirtualSerial_CDC_Interface, &USBSerialStream);\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 96d8380..0edac54 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
                #include <stdio.h>\r
 \r
index e7c899b..c55d6d0 100644 (file)
@@ -90,6 +90,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index c0e6e79..3d6d3a7 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
 \r
                #include "Descriptors.h"\r
index 6c48c34..5f70b34 100644 (file)
@@ -58,6 +58,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index a75d3d9..871e477 100644 (file)
@@ -35,6 +35,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
 \r
                #include "Descriptors.h"\r
                #include "Lib/SideshowCommands.h"\r
index 392609b..aa8967c 100644 (file)
@@ -47,6 +47,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index 4585ab5..6902dc8 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
 \r
                #include "Descriptors.h"\r
                                \r
index 5dcb5c5..8cd6be1 100644 (file)
@@ -47,6 +47,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index 3812ae0..69b59b8 100644 (file)
@@ -40,7 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
-               #include <stdlib.h>\r
+               #include <avr/interrupt.h>\r
 \r
                #include "Descriptors.h"\r
                \r
index 9be089b..5c90c6a 100644 (file)
@@ -69,6 +69,9 @@ CDC_Line_Coding_t LineEncoding2 = { .BaudRateBPS = 0,
 int main(void)\r
 {\r
        SetupHardware();\r
+       \r
+       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index a4c8f97..6ca8b72 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
 \r
                #include "Descriptors.h"\r
index 4d3f4c1..9d9012a 100644 (file)
@@ -48,6 +48,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index c79ed6f..deaee33 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
                #include <string.h>\r
                \r
index 0edead5..e84eef0 100644 (file)
@@ -44,6 +44,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 811cb4e..761582d 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
 \r
                #include "Descriptors.h"\r
index fd7e63e..6771584 100644 (file)
@@ -62,6 +62,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 4cb3616..f41f6d4 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
                #include <string.h>\r
 \r
index e41b709..ddcd3ce 100644 (file)
@@ -52,6 +52,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 7fcec97..993b326 100644 (file)
@@ -36,6 +36,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
                #include <string.h>\r
 \r
index edfc56f..03536b2 100644 (file)
@@ -44,7 +44,8 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
-\r
+       sei();\r
+       \r
        for (;;)\r
        {\r
                MIDI_Task();\r
index 82e42da..a497527 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
 \r
                #include "Descriptors.h"\r
index fc9a97d..1ed84d3 100644 (file)
@@ -55,6 +55,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 4430208..27d1e3b 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
 \r
                #include "Descriptors.h"\r
 \r
index 70ed82c..3fce522 100644 (file)
@@ -61,6 +61,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 884482b..6a1a518 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
                #include <string.h>\r
                \r
index 7bae188..0185675 100644 (file)
@@ -38,6 +38,8 @@
 \r
        /* Includes: */\r
                #include <avr/io.h>\r
+               #include <avr/pgmspace.h>\r
+               #include <stdio.h>\r
                \r
                #include <LUFA/Drivers/Peripheral/SerialStream.h>\r
                \r
index 1b617dd..cb06bc3 100644 (file)
@@ -47,9 +47,8 @@ int main(void)
        TCP_Init();\r
        Webserver_Init();\r
 \r
-       printf_P(PSTR("\r\n\r\n****** RNDIS Demo running. ******\r\n"));\r
-\r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index 3828134..478ed1a 100644 (file)
        /* Includes: */\r
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
-               #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
-               #include <stdio.h>\r
 \r
                #include "Descriptors.h"\r
 \r
index bad8757..52ef28c 100644 (file)
@@ -57,6 +57,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 5427a69..1ec261c 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
 \r
                #include "Descriptors.h"\r
index dc94e1f..98bf50b 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Mouse Host/Device Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 50b89ad..48035d6 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 0e7e579..32c9b69 100644 (file)
@@ -70,6 +70,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Joystick Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index b47630a..7ee7b80 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 15b9319..61292a4 100644 (file)
@@ -65,7 +65,8 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Keyboard Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
-\r
+       sei();\r
+       \r
        for (;;)\r
        {\r
                switch (USB_HostState)\r
index 0dc2d3b..2e5f1ca 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 14b6501..531757a 100644 (file)
@@ -70,6 +70,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Keyboard Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 8f41948..98d00fb 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 064c22d..8fbf31b 100644 (file)
@@ -63,6 +63,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "MIDI Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 6a93c97..8da4a95 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 6740d9c..a442c1b 100644 (file)
@@ -63,6 +63,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Mass Storage Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 5a61c26..e97d1e3 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <ctype.h>\r
                #include <stdio.h>\r
 \r
index 4501a25..af75d4b 100644 (file)
@@ -65,6 +65,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Mouse Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 1fdf42b..bc64120 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index c735b5c..296f86b 100644 (file)
@@ -68,6 +68,7 @@ int main(void)
        SetupHardware();\r
 \r
        puts_P(PSTR(ESC_FG_CYAN "Mouse Host Demo running.\r\n" ESC_FG_WHITE));\r
+       sei();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
 \r
index 8d798ab..e88738d 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 2df6572..d2baad6 100644 (file)
@@ -62,6 +62,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Printer Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index c2ebede..2fb7c8c 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index e31f9a3..f5c3e42 100644 (file)
@@ -70,6 +70,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "RNDIS Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 06b9fd5..c0d0c60 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index ff33c45..81bfbe4 100644 (file)
@@ -65,6 +65,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Still Image Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 35c9f12..4078238 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index d5ec041..df6ad97 100644 (file)
@@ -65,6 +65,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "CDC Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 785a605..a54e75f 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 8f6e1f2..e74d377 100644 (file)
@@ -54,6 +54,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Bluetooth Host Demo running.\r\n" ESC_FG_WHITE));\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 62baf06..8a2817c 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include "Lib/ServiceDiscoveryProtocol.h"\r
index 38d96a3..3dc314e 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Generic HID Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 144830e..04870b1 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Joystick HID Parser Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 38fe3e4..2ac9d5c 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index b85d40d..633094f 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Keyboard HID Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 778220b..431e76a 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Keyboard HID Parser Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index f5aaf2d..5df5622 100644 (file)
@@ -36,6 +36,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 6964f71..cbbb0c5 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "MIDI Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 094adcc..576ad60 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 55b8593..31d2c10 100644 (file)
@@ -50,6 +50,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Mass Storage Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index fad372c..0d92fd5 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
                #include <ctype.h>\r
                #include <string.h>\r
index 1c59400..5cf5e44 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Mouse HID Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 1488301..e13f5f4 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Mouse HID Parser Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index e05beb8..10cd8ec 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 6840138..a2c9fd8 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
 \r
        puts_P(PSTR(ESC_FG_CYAN "Printer Host Demo running.\r\n" ESC_FG_WHITE));\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index 7fa572c..9b0bb5d 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
                #include <string.h>\r
 \r
index 5ca5915..8e27430 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "RNDIS Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 20a48ac..8e92157 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index 4561319..2daf3ef 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "Still Image Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index ddbffee..92f007b 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
                \r
                #include "ConfigDescriptor.h"\r
index 588198b..735ebba 100644 (file)
@@ -46,6 +46,7 @@ int main(void)
        puts_P(PSTR(ESC_FG_CYAN "CDC Host Demo running.\r\n" ESC_FG_WHITE));\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 7bfc13f..ecf3522 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include <LUFA/Version.h>\r
index c9d0493..a088654 100644 (file)
@@ -103,8 +103,6 @@ void USB_Init(
        #endif\r
 \r
        USB_IsInitialized = true;\r
-\r
-       sei();\r
 }\r
 \r
 void USB_ShutDown(void)\r
index 79261cd..337a004 100644 (file)
                         *  allow for device connection to a host when in device mode, or for device enumeration while in\r
                         *  host mode.\r
                         *\r
-                        *  As the USB library relies on USB interrupts for some of its functionality, this routine will\r
-                        *  enable global interrupts.\r
+                        *  As the USB library relies on interrupts for the device and host mode enumeration processes,\r
+                        *  the user must enable global interrupts before or shortly after this function is called. In\r
+                        *  device mode, interrupts must be enabled within 500ms of this function being called to ensure\r
+                        *  that the host does not time out whilst enumerating the device. In host mode, interrupts may be\r
+                        *  enabled at the application's leisure however enumeration will not begin of an attached device\r
+                        *  until after this has occurred.\r
                         *\r
                         *  Calling this function when the USB interface is already initialized will cause a complete USB\r
                         *  interface reset and re-enumeration.\r
index 425cb43..2a772b8 100644 (file)
@@ -28,6 +28,7 @@
   *  - Added LIBUSB_FILTERDRV_COMPAT compile time option to the AVRISP programmer project to make the code compatible with Windows\r
   *    builds of avrdude at the expense of AVRStudio compatibility\r
   *  - Removed two-step endpoint/pipe bank clear and switch sequence for smaller, faster endpoint/pipe code\r
+  *  - The USB_Init() function no longer calls sei() - the user is now responsible for enabling interrupts when they are ready\r
   *\r
   *  <b>Fixed:</b>\r
   *  - Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin\r
index 8467e00..baed509 100644 (file)
  *    - The \ref TWI_StartTransmission() function now takes in a timeout period, expressed in milliseconds, within which the addressed\r
  *      device must respond or the function will abort.\r
  *\r
+ *  <b>Device Mode</b>\r
+ *    - The \ref USB_Init() function no longer calls sei() to enable global interrupts, as the user application may need\r
+ *      to perform other initialization before it is ready to handle global interrupts. The user application is now responsible\r
+ *      for enabling global interrupts before or shortly after calling \ref USB_Init() to ensure that the enumeration process\r
+ *      functions correctly.\r
+ *\r
+ *  <b>Host Mode</b>\r
+ *    - The \ref USB_Init() function no longer calls sei() to enable global interrupts, as the user application may need\r
+ *      to perform other initialization before it is ready to handle global interrupts. The user application is now responsible\r
+ *      for enabling global interrupts before or shortly after calling \ref USB_Init() to ensure that the enumeration process\r
+ *      functions correctly.\r
+ *\r
  * \section Sec_Migration100219 Migrating from 091223 to 100219\r
  *\r
  *  <b>Non-USB Library Components</b>\r
index 2ba8001..cea1161 100644 (file)
@@ -44,6 +44,7 @@ int main(void)
        SetupHardware();\r
        \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 86da27a..be623e9 100644 (file)
@@ -83,6 +83,8 @@ int main(void)
        SetupHardware();\r
        \r
        Buffer_Initialize(&Tx_Buffer);\r
+       \r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 4df3750..c86cd07 100644 (file)
@@ -88,6 +88,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
        \r
        for (;;)\r
        {\r
index f7f39d5..d2405f8 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
                #include <avr/pgmspace.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdbool.h>\r
 \r
                #include "Descriptors.h"\r
index 8090b5d..239eb71 100644 (file)
@@ -108,6 +108,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 5623945..f61e369 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
 \r
                #include "DiskDevice.h"\r
index 61d5efc..5b53900 100644 (file)
@@ -107,6 +107,8 @@ int main(void)
        \r
        /* Create a regular blocking character stream for the interface so that it can be used with the stdio.h functions */\r
        CDC_Device_CreateBlockingStream(&VirtualSerial_CDC_Interface, &USBSerialStream);\r
+       \r
+       sei();\r
 \r
        for (;;)\r
        {\r
index ee41d7d..243723e 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <string.h>\r
                #include <stdio.h>\r
 \r
index 88950cc..39149b4 100644 (file)
@@ -76,6 +76,8 @@ int main(void)
        \r
        for (uint8_t Buffer = 0; Buffer < TOTAL_TRACKS; Buffer++)\r
          BitBuffer_Init(&TrackDataBuffers[Buffer]);\r
+         \r
+       sei();\r
 \r
        for (;;)\r
        {\r
index ddadd0d..8a48e7c 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
 \r
                #include "Descriptors.h"\r
                #include "Lib/MagstripeHW.h"\r
index a186732..cb0bd85 100644 (file)
@@ -95,10 +95,11 @@ int main(void)
 {\r
        SetupHardware();\r
 \r
-       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
-       \r
        CmdState = CMD_STOP;\r
 \r
+       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
+\r
        for (;;)\r
        {\r
                Read_Joystick_Status();\r
index a496679..2fb7b69 100644 (file)
@@ -44,6 +44,8 @@
 int main(void)\r
 {\r
        SetupHardware();\r
+       \r
+       sei();\r
 \r
        for (;;)\r
          USB_USBTask();\r
index 2ffa590..f42d78c 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
 \r
                #include "Descriptors.h"\r
 \r
index 35bf68b..5910528 100644 (file)
@@ -137,16 +137,17 @@ ISR(TIMER1_COMPA_vect, ISR_BLOCK)
  */\r
 int main(void)\r
 {\r
-       /* Fetch logging interval from EEPROM */\r
-       LoggingInterval500MS_SRAM = eeprom_read_byte(&LoggingInterval500MS_EEPROM);\r
-\r
        SetupHardware();\r
 \r
-       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       /* Fetch logging interval from EEPROM */\r
+       LoggingInterval500MS_SRAM = eeprom_read_byte(&LoggingInterval500MS_EEPROM);\r
 \r
        /* Mount and open the log file on the dataflash FAT partition */\r
        OpenLogFile();\r
 \r
+       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
+\r
        /* Discard the first sample from the temperature sensor, as it is generally incorrect */\r
        volatile uint8_t Dummy = Temperature_GetTemperature();\r
        (void)Dummy;\r
index 3f3a3c0..a6e770b 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
                #include <stdio.h>\r
                \r
                #include "Descriptors.h"\r
index 73be33e..c9bc717 100644 (file)
@@ -77,6 +77,7 @@ int main(void)
        Buffer_Initialize(&USARTtoUSB_Buffer);\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 541e0e2..cecd881 100644 (file)
@@ -44,6 +44,7 @@ int main(void)
        SetupHardware();\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index f1351d8..4fb5b37 100644 (file)
@@ -41,6 +41,7 @@
                #include <avr/wdt.h>\r
                #include <avr/pgmspace.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
 \r
                #include <LUFA/Version.h>\r
                #include <LUFA/Drivers/Board/LEDs.h>\r
index 090b767..5457a22 100644 (file)
@@ -81,6 +81,7 @@ int main(void)
        Buffer_Initialize(&UARTtoUSB_Buffer);\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
+       sei();\r
 \r
        for (;;)\r
        {\r
index 0c3a56c..877792d 100644 (file)
@@ -40,6 +40,7 @@
                #include <avr/io.h>\r
                #include <avr/wdt.h>\r
                #include <avr/power.h>\r
+               #include <avr/interrupt.h>\r
 \r
                #include "AVRISPDescriptors.h"\r
                #include "USARTDescriptors.h"\r