Arduino-BLE-MIDI icon indicating copy to clipboard operation
Arduino-BLE-MIDI copied to clipboard

Data is “swallowed”...?

Open jenkuki opened this issue 1 year ago • 15 comments

Hi,

I have a problem with receiving MIDI data via BLE. The task: the Arduino Nano 33 BLE should receive data from a MIDI interface (here: BLE), which is generated by the Android APP “MIDI Commander”. The Nano has to filter out and process the data that is important to it (these are NRPN Controller CC 98, 99 and 06) and forward all MIDI commands to other devices, which then do their part. A Program Change and a total of 7 different Control Changes are sent (actually 3 of these are unnessesary, but the APP unfortunately sends them, although incorrectly - CC100, 101 and 38). This works on a Uno and a ordinary Nano. I have written a test example for this (see ZIP): MIDI_NRPN-test.ino (Program Change is not processed) The output is as it should be (format: Controller Number / value): CC: 0 / 3 CC: 99 / 4 CC: 98 / 2 CC: 6 / 48 Maske: 10001000 Poti Soll: 48 CC: 38 / 0 CC: 101 / 127 CC: 100 / 127

Now the test example on the Nano 33 BLE: MIDI_BLE_test2.ino The output is incorrect: CC: 0 / 3 CC: 98 / 2 CC: 6 / 48 CC: 101 / 127 CC: 100 / 127

The CC99 is missing, so there is no further processing, as is the CC38 - but that's okay because it's wrong anyway. This is just one example. Other send processes result in different outputs. Other controllers are then missing or the values for the controllers are incorrect. So somehow something is “swallowed up”. What is the cause?

  • Are BLE and the serial interface interfering (timer?, interrupt?)?
  • Is the timing of the incoming signal wrong? Is it possible to control this? If so, where and how?
  • Is this sent at all or does the APP already “swallow” it? I don't know how to find out...

Best Regards

Uwe (jenkuki)

Device: Nano 33 BLE IDE: Arduino IDE 2.3.2 on Ubuntu 22.04.4 LTS BLE_Samples.zip

jenkuki avatar Jul 20 '24 14:07 jenkuki