static uint8_t USBD_MIDI_MSC_Setup(void *pdev, USB_SETUP_REQ *req) { { PRINTF(" USBD_MIDI_MSC_Setup, req->wIndex: %d \n",req->wIndex); switch (req->bmRequest & USB_REQ_RECIPIENT_MASK) { case USB_REQ_RECIPIENT_INTERFACE: if (req->wIndex == MSC_INTERFACE) { return (USBD_MSC_Setup (pdev, req)); } else { return (USBD_MIDI_Setup(pdev, req)); } case USB_REQ_RECIPIENT_ENDPOINT: if (req->wIndex == MIDI_IN_EP) { return (USBD_MIDI_Setup (pdev, req)); } else { return (USBD_MSC_Setup(pdev, req)); } } return USBD_OK; } }
/** * @brief USBD_MSC_HID_Setup * Handle the MSC_HID specific requests * @param pdev: instance * @param req: usb requests * @retval status */ static uint8_t USBD_MSC_HID_Setup (void *pdev, USB_SETUP_REQ *req) { switch (req->bmRequest & USB_REQ_RECIPIENT_MASK) { case USB_REQ_RECIPIENT_INTERFACE: if (req->wIndex == HID_INTERFACE) { return (USBD_HID_Setup (pdev, req)); } else { return (USBD_MSC_Setup(pdev, req)); } case USB_REQ_RECIPIENT_ENDPOINT: if (req->wIndex == HID_IN_EP) { return (USBD_HID_Setup (pdev, req)); } else { return (USBD_MSC_Setup(pdev, req)); } } return USBD_OK; }