if (!(LineEncoding.BaudRateBPS))\r
return -1;\r
\r
- while (!(Endpoint_IsReadWriteAllowed()))\r
- {\r
- if (USB_DeviceState != DEVICE_STATE_Configured)\r
- return -1;\r
- }\r
+ if (Endpoint_WaitUntilReady())\r
+ return -1;\r
\r
Endpoint_Write_Byte(c);\r
Endpoint_ClearIN();\r
\r
for (;;)\r
{\r
- while (!(Endpoint_IsReadWriteAllowed()))\r
- {\r
- if (USB_DeviceState != DEVICE_STATE_Configured)\r
- return -1;\r
- }\r
+ if (Endpoint_WaitUntilReady())\r
+ return -1;\r
\r
if (!(Endpoint_BytesInEndpoint()))\r
{\r
char* ReportString = NULL;\r
uint8_t JoyStatus_LCL = Joystick_GetStatus();\r
static bool ActionSent = false;\r
- char* JoystickStrings[] =\r
- {\r
- "Joystick Up\r\n",\r
- "Joystick Down\r\n",\r
- "Joystick Left\r\n",\r
- "Joystick Right\r\n",\r
- "Joystick Pressed\r\n",\r
- };\r
\r
/* Device must be connected and configured for the task to run */\r
if (USB_DeviceState != DEVICE_STATE_Configured)\r
\r
/* Determine if a joystick action has occurred */\r
if (JoyStatus_LCL & JOY_UP)\r
- ReportString = JoystickStrings[0];\r
+ ReportString = "Joystick Up\r\n";\r
else if (JoyStatus_LCL & JOY_DOWN)\r
- ReportString = JoystickStrings[1];\r
+ ReportString = "Joystick Down\r\n";\r
else if (JoyStatus_LCL & JOY_LEFT)\r
- ReportString = JoystickStrings[2];\r
+ ReportString = "Joystick Left\r\n";\r
else if (JoyStatus_LCL & JOY_RIGHT)\r
- ReportString = JoystickStrings[3];\r
+ ReportString = "Joystick Right\r\n";\r
else if (JoyStatus_LCL & JOY_PRESS)\r
- ReportString = JoystickStrings[4];\r
+ ReportString = "Joystick Pressed\r\n";\r
+ else\r
+ ActionSent = false;\r
\r
/* Flag management - Only allow one string to be sent per action */\r
- if (ReportString == NULL)\r
- {\r
- ActionSent = false;\r
- }\r
- else if ((ActionSent == false) && LineEncoding.BaudRateBPS)\r
+ if ((ReportString != NULL) && (ActionSent == false) && LineEncoding.BaudRateBPS)\r
{\r
ActionSent = true;\r
\r
if (IsFull)\r
{\r
/* Wait until the endpoint is ready for another packet */\r
- while (!(Endpoint_IsINReady()))\r
- {\r
- if (USB_DeviceState == DEVICE_STATE_Unattached)\r
- return;\r
- }\r
+ Endpoint_WaitUntilReady();\r
\r
/* Send an empty packet to ensure that the host does not buffer data sent to it */\r
Endpoint_ClearIN();\r