Page Personnelle de Vincent Kerhoas
Vincent Kerhoas
Professeur Agrégé
Page Personnelle de Vincent Kerhoas

MIDI Sniffer

Back                  << Index >>

Architecture

Assembly Instructions


Capturing and Analyzing a midi message

If we press e key on a master keyboard, the following message is sent ( Saleae Capture ) :

When the key is released :

Look at midi.org for further specifications.


Algorithm

When a byte is received on UART6, a receive interrupt occurs.
The MIDI_rcv_cb() callback function updates MIDI_buf .

In the main program, we call continuously MIDI_receive() function. MIDI_receive() evaluates the size of the received message, and then looking at the type, manages (or not) to parse the message.

The parsed message is recorded in the MIDI_mess structure.

Message parsed is then displayed on the terminal.

Some messages can be 1 byte , 2 bytes or 3 bytes long.

In addition we can consider a delay between several messages received and the MIDI_receive() function.
The complete algorithm of MIDI_receive() is :


Project

Source Project


WORKSPACE_F411_MIDI_SNIFFER

How to Test ?

All the needed tools ( for linux) can be downloaded with the installation script : cf install.html

Then for debugging : cf tuto_eclipse


Back                  << Index >>