xkisu / msp430-usb-midi

Project for using a MSP430F5529 as a USB MIDI controller

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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;