no, as I said, this is raw usb.
as I said, the TI starts up as a ‘vendor specific’ USB Device, so you have to talk to it as such, once you send these bytes… then it switches to be a usb midi device.
I can do better, I can point you to the axoloti code I wrote to do this
// USBH_UsrLog("USB Host (Virus) Output interval : %i", MIDI_Handle->write_poll); // if(MIDI_Handle->write_poll<MIDI_MIN_WRITE_POLL) MIDI_Handle->write_poll = MIDI_MIN_WRITE_POLL; MIDI_Handle->output_valid = true; } } // each endpoint, or until ive found both input and output endpoint if (isValidOutput(MIDI_Handle)) { USBH_UsrLog("USB Host (Virus) Output connected to %x : %x", interface, MIDI_Handle->OutEp ); MIDI_Handle->OutPipe = USBH_AllocPipe(phost, MIDI_Handle->OutEp); USBH_OpenPipe (phost, MIDI_Handle->OutPipe, MIDI_Handle->OutEp, phost->device.address, phost->device.speed, USB_EP_TYPE_BULK, MIDI_Handle->OutEpSize); USBH_LL_SetToggle (phost, MIDI_Handle->OutPipe,0);
basically, its this :
static uint8_t seq[] = { 0x4e, 0x73, 0x52, 0x01 };
USBH_BulkSendData(phost, seq, sizeof(seq), MIDI_Handle->OutPipe,false);
5 Likes