Changed GenericHID device demo to use the LUFA scheduler, added INTERRUPT_DATA_ENDPOI...
[pub/USBasp.git] / Demos / Host / KeyboardHost / KeyboardHost.c
index fe95c34..13aed7e 100644 (file)
@@ -350,6 +350,9 @@ TASK(USB_Keyboard_Host)
  */\r
 ISR(ENDPOINT_PIPE_vect, ISR_BLOCK)\r
 {\r
+       /* Save previously selected pipe before selecting a new pipe */\r
+       uint8_t PrevSelectedPipe = Pipe_GetCurrentPipe();\r
+\r
        /* Check to see if the keyboard data pipe has caused the interrupt */\r
        if (Pipe_HasPipeInterrupted(KEYBOARD_DATAPIPE))\r
        {\r
@@ -366,5 +369,8 @@ ISR(ENDPOINT_PIPE_vect, ISR_BLOCK)
                        /* Read and process the next report from the device */\r
                        ReadNextReport();\r
        }\r
+       \r
+       /* Restore previously selected pipe */\r
+       Pipe_SelectPipe(PrevSelectedPipe);\r
 }\r
 #endif\r