Firmware for mad USB MIDI controller based on STM32F3 Discovery board