Jump to content

IAD


kasbah
 Share

Recommended Posts

I have been looking through the MIOS code (specifically the LPC17XX part) as I am interested in how it implements a composite device with a virtual serial port and a midi interface. I am trying to do a dual implementation like this using LUFA on an Atmega chip. As I understood it the composite device should have two interfaces linked by a single Interface Association Descriptor (IAD). This is not the way it seems to be done in MIOS however. If you look at the descriptor definitions in mios32_usb.c it seems the overall device descriptor is 0x00 (which is undefined) or 0x02 which is a virtual serial device. IAD would be 0xEF.

Can someone shed some light on why it is done this way? Especially how it manages to enumerate two separate interfaces on the same USB device without using IAD?

Link to comment
Share on other sites

To be honest: I never tried this function on the LPC17xx variant of the USB driver due to bad experiences that I made with the STM32 variant, which implements Virtual COM and USB MIDI correctly.

The parallel usage of both protocols is only possible under Linux (tested ca. 2 years ago, I'm unsure if it's still working) and MacOS 10.5..7

WinXP crashed with blue screen, I haven't tried it on Vista or Win7.

Due to the (extremely) fast USB MIDI handling, and due to the possibility to embed strings into SysEx streams (thats what I'm doing to communicate with the MIOS Terminal), I don't see a need for the virtual COM feature anymore. Meanwhile I consider to remove it from the driver.

Best Regards, Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...