Example #1
0
static void continueMessageQueue(int _ep)
{
	USBMessageQueue *q = usb_message_queue[_ep];
	if(q != NULL)
	{
		usbTxRx(_ep, q->dir, q->type, q->data, q->dataLen);
		if(q->dir == USBIn)
		{
			ringBufferEnqueue(txQueue, _ep);
			advanceTxQueue();
		}
	}
}
Example #2
0
void usb_send_interrupt(uint8_t endpoint, void* buffer, int bufferLen) {
	usbTxRx(endpoint, USBIn, USBInterrupt, buffer, bufferLen);
	ringBufferEnqueue(txQueue, endpoint);
	advanceTxQueue();
}
Example #3
0
static void sendControl(void* buffer, int bufferLen) {
	usbTxRx(USB_CONTROLEP, USBIn, USBControl, buffer, bufferLen);
	ringBufferEnqueue(txQueue, USB_CONTROLEP);
	advanceTxQueue();
}