I am developing a midi controller based on Arduino Mega 2560, so far everything is working fine, this is my first project in Arduino and I am finding the platform and the tools very intuitive.
I am trying to get the lowest possible latency, I didn't build my controller (physically) so I can't use it yet, I am waiting for some components to arrive. In the mean time I want to be sure that the communication between the controller and the apps in my pc is as fast as possible, I am going to controller a looper and I need high accuracy.
I decided to use mocolufa firm in the atmega16u2 because it is really convenient to be able to use a jumper to switch between modes during development.
I am using the Arduino MIDI Library to generate the midi data. Docs in that library say that you can override the default midi baud rate in cause you are using MIDI over USB, you can read this in the midi_Settings.h header file. I have followed the instructions there and I can override this value without problems.
But any value higher than the default 31250 breaks the communication between my controller and any app reading midi in my computer. I use MIDI-OX to debug messages and Reaper for testing in a real world scenario. This is what I get in MIDI-OX when I try to send CC64 (sustain)
000010C4 2 -- FF -- -- -- --- System Reset
I have tried this values as the serial baud rate: 115200(which I don't think is a good value for the mega @16MHz), 250000, 500000 and 1000000.
Is this supposed to work, I mean using a value higher than 31250 for midi communication over USB. If so, where is the problem in my setup? could it be the mocolufa firm?
Thanks for your help.