Files
libopencm3-examples/examples/stm32/f4/stm32f4-discovery/usb_midi
Daniel Thompson 75389c665d stm32f4: usb_midi: Introduce example MIDI firmware
Tested on STM32F4Discovery with Linux host using both amidi (raw
messages to/from device) and a synthesizer (note on/off) and on
Windows 7 using MIDI-OX.
2014-12-18 22:51:06 +00:00
..

------------------------------------------------------------------------------
README
------------------------------------------------------------------------------

This example implements a USB MIDI device to demonstrate the use of the
USB device stack. It implements the device configuration found in Appendix
B of the Universal Serial Bus Device Class Definition for MIDI Devices.

The 'USER' button sends note on/note off messages.

The board will also react to identity request (or any other data sent to
the board) by transmitting an identity message in reply.

Board connections:
------------------

  CN5	(USB_OTG_FS)	USB acting as device, connect to computer

Testing
-------

To list midi devices, which should include this demo device

    $ amidi -l
    Dir Device    Name
    IO  hw:2,0,0  MIDI demo MIDI 1
    $

To record events, while pushing the user button

    $ amidi -d -p hw:2,0,0
    
    90 3C 40   -- key down
    80 3C 40   -- key up
    90 3C 40
    80 3C 40^C
    12 bytes read
    $

To query the system identity, note this dump matches sysex_identity[] in the
source.

    $ amidi -d -p hw:2,0,0 -s Sysexdump.syx
    
    F0 7E 00 7D 66 66 51 19 00 00 01 00 F7
    ^C
    13 bytes read
    $