Device mode class driver callbacks are now fired before the control request status...
[pub/USBasp.git] / Projects / AVRISP-MKII / AVRISP.c
index b78923f..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
@@ -90,12 +91,21 @@ void EVENT_USB_Device_ConfigurationChanged(void)
        LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
 \r
        /* Setup AVRISP data Endpoints */\r
-       if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_EPNUM, EP_TYPE_BULK,\r
+       if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_OUT_EPNUM, EP_TYPE_BULK,\r
                                             ENDPOINT_DIR_OUT, AVRISP_DATA_EPSIZE,\r
                                         ENDPOINT_BANK_SINGLE)))\r
        {\r
                LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
        }\r
+\r
+       #if defined(LIBUSB_FILTERDRV_COMPAT)\r
+       if (!(Endpoint_ConfigureEndpoint(AVRISP_DATA_IN_EPNUM, EP_TYPE_BULK,\r
+                                            ENDPOINT_DIR_IN, AVRISP_DATA_EPSIZE,\r
+                                        ENDPOINT_BANK_SINGLE)))\r
+       {\r
+               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
+       }\r
+       #endif\r
 }\r
 \r
 /** Processes incoming V2 Protocol commands from the host, returning a response when required. */\r
@@ -105,7 +115,7 @@ void Process_AVRISP_Commands(void)
        if (USB_DeviceState != DEVICE_STATE_Configured)\r
          return;\r
 \r
-       Endpoint_SelectEndpoint(AVRISP_DATA_EPNUM);\r
+       Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPNUM);\r
        \r
        /* Check to see if a V2 Protocol command has been received */\r
        if (Endpoint_IsOUTReceived())\r