Endpoints are incorrect
ChrisEAlfred opened this issue · comments
First of all ... thanks for your brilliant work. USB is difficult.
Master at cb5fc7d has incorrect endpoints.
Changes are:
In USB_config/descriptors.h line 90 should be:
#define CDC0_OUTEP_ADDR 0x01 // Output Endpoint Address of CDC0
#define CDC0_INEP_ADDR 0x81 // Input Endpoint Address of CDC0
In USB_config/UsbIsr.c line 168 should be:
case USBVECINT_INPUT_ENDPOINT1:
//send saved bytes from buffer...
bWakeUp = CdcToHostFromBuffer(CDC0_INTFNUM);
break;
case USBVECINT_INPUT_ENDPOINT2:
break;
case USBVECINT_INPUT_ENDPOINT3:
break;
case USBVECINT_INPUT_ENDPOINT4:
break;
case USBVECINT_INPUT_ENDPOINT5:
break;
case USBVECINT_INPUT_ENDPOINT6:
break;
case USBVECINT_INPUT_ENDPOINT7:
break;
case USBVECINT_OUTPUT_ENDPOINT1:
//call callback function if no receive operation is underway
if (!CdcIsReceiveInProgress(CDC0_INTFNUM) && USBCDC_getBytesInUSBBuffer(CDC0_INTFNUM))
{
if (wUsbEventMask & USB_DATA_RECEIVED_EVENT)
{
bWakeUp = USBCDC_handleDataReceived(CDC0_INTFNUM);
}
}
else
{
//complete receive opereation - copy data to user buffer
bWakeUp = CdcToBufferFromHost(CDC0_INTFNUM);
}
break;
case USBVECINT_OUTPUT_ENDPOINT2:
break;
case USBVECINT_OUTPUT_ENDPOINT3:
break;
case USBVECINT_OUTPUT_ENDPOINT4:
break;
case USBVECINT_OUTPUT_ENDPOINT5:
break;
case USBVECINT_OUTPUT_ENDPOINT6:
break;
case USBVECINT_OUTPUT_ENDPOINT7:
break;