/* Reads in and processes the next report from the attached device, displaying the report contents on the board LEDs and via the serial port.  */
void ReadNextReport(void)
/* Reads in and processes the next report from the attached device, displaying the report contents on the board LEDs and via the serial port.  */
void ReadNextReport(void)
{
	if (USB_HostState != HOST_STATE_Configured)
	  return;
	Pipe_SelectPipe(HID_DATA_IN_PIPE);
	Pipe_Unfreeze();
	if (!(Pipe_IsINReceived()))
	{
		Pipe_Freeze();
		return;
	}
	if (Pipe_IsReadWriteAllowed())
	{
		uint8_t ReportINData[Pipe_BytesInPipe()];
		Pipe_Read_Stream_LE(&ReportINData, sizeof(ReportINData), NULL);
		for (uint16_t CurrByte = 0; CurrByte < sizeof(ReportINData); CurrByte++)
		  printf_P(PSTR("0x%02X "), ReportINData[CurrByte]);
		puts_P(PSTR("\r\n"));
	}
	Pipe_ClearIN();
	Pipe_Freeze();
}