/* Writes the next response byte to the CDC data IN endpoint, and sends the endpoint back if needed to free up the bank when full ready for the next byte in the packet to the host. */
static void WriteNextResponseByte(const uint8_t Response)
/* Writes the next response byte to the CDC data IN endpoint, and sends the endpoint back if needed to free up the bank when full ready for the next byte in the packet to the host. */
static void WriteNextResponseByte(const uint8_t Response)
{
	Endpoint_SelectEndpoint(CDC_TX_EPADDR);
	if (!(Endpoint_IsReadWriteAllowed()))
	{
		Endpoint_ClearIN();
		while (!(Endpoint_IsINReady()))
		{
			if (USB_DeviceState == DEVICE_STATE_Unattached)
			  return;
		}
	}
	Endpoint_Write_8(Response);
}