MCUSR &= ~(1 << WDRF);\r
wdt_disable();\r
\r
- /* Disable Clock Division */\r
- SetSystemClockPrescaler(0);\r
+ /* Disable clock division */\r
+ clock_prescale_set(clock_div_1);\r
\r
/* Hardware Initialization */\r
Joystick_Init();\r
\r
/* Send the flag to the host */\r
Endpoint_ClearSetupIN();\r
+\r
+ /* Acknowledge status stage */\r
+ while (!(Endpoint_IsSetupOUTReceived()));\r
+ Endpoint_ClearSetupOUT();\r
}\r
\r
break;\r
/* Set or clear the flag depending on what the host indicates that the current Protocol should be */\r
UsingReportProtocol = (wValue != 0x0000);\r
\r
- /* Send an empty packet to acknowedge the command */\r
+ /* Acknowledge status stage */\r
+ while (!(Endpoint_IsSetupINReady()));\r
Endpoint_ClearSetupIN();\r
}\r
\r
/* Get idle period in MSB */\r
IdleCount = (wValue >> 8);\r
\r
- /* Send an empty packet to acknowedge the command */\r
+ /* Acknowledge status stage */\r
+ while (!(Endpoint_IsSetupINReady()));\r
Endpoint_ClearSetupIN();\r
}\r
\r
\r
/* Send the flag to the host */\r
Endpoint_ClearSetupIN();\r
+\r
+ /* Acknowledge status stage */\r
+ while (!(Endpoint_IsSetupOUTReceived()));\r
+ Endpoint_ClearSetupOUT();\r
}\r
\r
break;\r
USB_MouseReport_Data_t MouseReportData;\r
bool SendReport = true;\r
\r
+ /* Select the Mouse Report Endpoint */\r
+ Endpoint_SelectEndpoint(MOUSE_EPNUM);\r
+\r
+ /* Clear the endpoint IN interrupt flag */\r
+ USB_INT_Clear(ENDPOINT_INT_IN);\r
+\r
+ /* Clear the Mouse Report endpoint interrupt and select the endpoint */\r
+ Endpoint_ClearEndpointInterrupt(MOUSE_EPNUM);\r
+\r
/* Create the next mouse report for transmission to the host */\r
GetNextReport(&MouseReportData);\r
\r
/* Check to see if a report should be issued */\r
if (SendReport)\r
{\r
- /* Select the Mouse Report Endpoint */\r
- Endpoint_SelectEndpoint(MOUSE_EPNUM);\r
-\r
- /* Clear the endpoint IN interrupt flag */\r
- USB_INT_Clear(ENDPOINT_INT_IN);\r
-\r
- /* Clear the Mouse Report endpoint interrupt and select the endpoint */\r
- Endpoint_ClearEndpointInterrupt(MOUSE_EPNUM);\r
-\r
/* Write Mouse Report Data */\r
Endpoint_Write_Stream_LE(&MouseReportData, sizeof(MouseReportData));\r
}\r