Jump to content

Recommended Posts

Posted

Is it possible to add USB host support on the LPC17? I've seen some other LPC based projects on the web that have midi usb host features.

I think the seq4lite would be great with one of those usb only mini keyboards like the akai lpk25.

Posted

Ah yes I missed the MIDI bit from your post TK!

I'm not sure how USB Host MIDI would work though as it would need to support a number of different USB MIDI devices to be useful?

I seem to remember this was discussed a few months ago as somebody was looking to do a commercial project with USB Host support....

Phil

Posted (edited)

Unfortunately it's in japanese but this site is the one I was thinking of. It's based of the USBhostlite examples.

http://www.rjblog.net/archives/2009/e000331.php

translated...

http://translate.google.com.sg/translate?hl=en&sl=ja&u=http://www.rjblog.net/archives/2009/e000331.php&ei=K5S8TtuDMKWH4gTO_ISABA&sa=X&oi=translate&ct=result&resnum=1&ved=0CB8Q7gEwAA&prev=/search%3Fq%3Dhttp://www.rjblog.net/archives/2009/e000331.php%26hl%3Den%26biw%3D1366%26bih%3D704%26prmd%3Dimvns

There is source code included. The source code has a parser for the usb descriptors, checking if they are audio devices with midi streaming. Usbhostlite has an interrupt and a blocking function Host_ProcessTD that fills a buffer from the USB port. Other than the first byte, the buffer is written straight to a serial midi port. The example doesn't have any hotplugging implementation other than exiting if the midi usb is disconnected.

There is a description of the first byte content in the USB midi spec, on page 16...

http://www.usb.org/developers/devclass_docs/midi10.pdf

I'm not sure on the hardware side but perhaps this post might be helpful in setting up the physical USB host port on the LPC1768...

http://knowledgebase.nxp.com/showthread.php?t=2064

I would think class compliant USB-midi support would be the way to go. I imagine support for custom stuff would be a nightmare. Although support for the novation launchpad would be a neat way to add a BLM without all the soldering.

edit..

Actually looking more closely at the code from the japanese site, it doesn't look quite right. The MIDI_ParseConfiguration function is never called. I'm guessing he must have modified the usbhostlite function Host_EnumDev to call MIDI_ParseConfiguration instead of MS_ParseConfiguration.

Edited by widdly
Posted

I would think class compliant USB-midi support would be the way to go. I imagine support for custom stuff would be a nightmare. Although support for the novation launchpad would be a neat way to add a BLM without all the soldering.

Oh wow, this would be the perfect use for my Novation Launchpad. It has only been collecting dust so far :)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...