Composite device

General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
Post Reply
eslavko
Rank 1
Rank 1
Posts: 36
Joined: Sat Dec 18, 2010 6:37 pm

Composite device

Post by eslavko » Wed Sep 26, 2012 9:11 am

Hello...

I just would to know if it's possible to have two devices in same AVR. Ie I want MIDI and KEYBOARD in same chip. (Probably this is called composite device) I search the forum but can't find solution. Is it possible at all?

Thanks

eslavko
Rank 1
Rank 1
Posts: 36
Joined: Sat Dec 18, 2010 6:37 pm

Re: Composite device

Post by eslavko » Wed Sep 26, 2012 5:23 pm

To be clear what I want to do.

I have a bunch of handwritten notes on paper and want to retype in computer.
I found MuseScore to be great. The note entering can be done with keyboard but it has lack of easy octave and #b selection. With Midi keyboard (I just plug the shintesizer with MIDI and test) they work nice. But that keyboard is hughe.

So I wanna build simple (2 octave) mini keyboard without velocity sensing (just switches) to act as MIDI keyboard.
On that keyboard I intend to place some more keys to act as regular (PC) keyboard keys for selecting other thngs (note duration and similar).

So I tested on protoboard USB_HID_Keyboard and it works. I tested USB_MIDI and works too. But how to do simultaneously both?!?
Two controllers and hub in my device? Or can be done just with some clever descriptors?

Slavko.

Coda
Posts: 18
Joined: Thu Apr 26, 2012 10:56 pm

Re: Composite device

Post by Coda » Wed Sep 26, 2012 6:18 pm

If the software (MuseScore) can respond to keyboard maybe you can just map the piano keys to keyboard keys in your program? Composite devices can be done and they are easy to do by building your own report descriptor (the HUT1_12v2 document gives an example of some composite reports). The problem is that keyboard (HID) and midi devices are different devices. Maybe you can just use another endpoint, or maybe you will have to create another device descriptor?

eslavko
Rank 1
Rank 1
Posts: 36
Joined: Sat Dec 18, 2010 6:37 pm

Re: Composite device

Post by eslavko » Wed Sep 26, 2012 6:55 pm

No the Musescore can't translate that. (but seems to be on to-do list)
I found that there is software translator from MIDI to keyboard named MIDI-OX / Bome Midi translator.
It's windows application and works. But need to run two programs. At least do the job. But for linux I can't find anything.

So at least I can make keyboard as just midi MIDI and use it on windows with those programs.
But composite device (if it's possible at all HID/MIDI in same controller) is still prefered option as should work on win and linux.

Still need advice...

Slavko.

Post Reply