\r
#include "CDC.h"\r
\r
-/* Globals: */\r
/** Contains the current baud rate and other settings of the virtual serial port. While this demo does not use\r
* the physical USART and thus does not use these settings, they must still be retained and returned to the host\r
* upon request or the host will assume the device is non-functional.\r
.ParityType = Parity_None,\r
.DataBits = 8 };\r
\r
+\r
#if 0\r
/* NOTE: Here you can set up a standard stream using the created virtual serial port, so that the standard stream functions in\r
* <stdio.h> can be used on the virtual serial port (e.g. fprintf(&USBSerial, "Test"); to print a string).\r
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