\r
#include "GenericHIDHost.h"\r
\r
-/* Project Tags, for reading out using the ButtLoad project */\r
-BUTTLOADTAG(ProjName, "LUFA GenHid Host App");\r
-BUTTLOADTAG(BuildTime, __TIME__);\r
-BUTTLOADTAG(BuildDate, __DATE__);\r
-BUTTLOADTAG(LUFAVersion, "LUFA V" LUFA_VERSION_STRING);\r
-\r
/* Scheduler Task List */\r
TASK_LIST\r
{\r
Pipe_SelectPipe(HID_DATA_IN_PIPE);\r
Pipe_Unfreeze();\r
\r
- /* Ensure pipe contains data and is ready to be read before continuing */\r
- if (!(Pipe_ReadWriteAllowed()))\r
+ /* Check to see if a packet has been received */\r
+ if (!(Pipe_IsINReceived()))\r
{\r
#if !defined(INTERRUPT_DATA_PIPE)\r
/* Refreeze HID data IN pipe */\r
Pipe_Freeze();\r
#endif\r
- \r
+ \r
return;\r
}\r
\r
- uint8_t ReportINData[Pipe_BytesInPipe()];\r
+ /* Ensure pipe contains data before trying to read from it */\r
+ if (Pipe_IsReadWriteAllowed())\r
+ {\r
+ uint8_t ReportINData[Pipe_BytesInPipe()];\r
\r
- /* Read in HID report data */\r
- Pipe_Read_Stream_LE(&ReportINData, sizeof(ReportINData)); \r
+ /* Read in HID report data */\r
+ Pipe_Read_Stream_LE(&ReportINData, sizeof(ReportINData));\r
+ \r
+ /* Print report data through the serial port */\r
+ for (uint16_t CurrByte = 0; CurrByte < sizeof(ReportINData); CurrByte++)\r
+ printf_P(PSTR("0x%02X "), ReportINData[CurrByte]);\r
+ \r
+ puts_P(PSTR("\r\n"));\r
+ }\r
\r
/* Clear the IN endpoint, ready for next data packet */\r
- Pipe_ClearCurrentBank();\r
- \r
- /* Print report data through the serial port */\r
- for (uint16_t CurrByte = 0; CurrByte < sizeof(ReportINData); CurrByte++)\r
- printf_P(PSTR("0x%02X "), ReportINData[CurrByte]);\r
- \r
- puts_P(PSTR("\r\n"));\r
+ Pipe_ClearIN();\r
\r
#if !defined(INTERRUPT_DATA_PIPE)\r
/* Refreeze HID data IN pipe */\r
Pipe_Unfreeze();\r
\r
/* Ensure pipe is ready to be written to before continuing */\r
- if (!(Pipe_ReadWriteAllowed()))\r
+ if (!(Pipe_IsOUTReady()))\r
{\r
/* Refreeze the data OUT pipe */\r
Pipe_Freeze();\r
Pipe_Write_Stream_LE(ReportOUTData, ReportLength); \r
\r
/* Clear the OUT endpoint, send last data packet */\r
- Pipe_ClearCurrentBank();\r
+ Pipe_ClearOUT();\r
\r
/* Refreeze the data OUT pipe */\r
Pipe_Freeze();\r