MFC won't receive Midi-Channel sysex msg (0x17) or AXEFX2 does not send it.

bossredman

Inspired
I have a home-made MFC (midi Foot Controller).
It uses a Teensy 3.6 MPC.
It performs most tasks adequately (ie: change Preset/Scene, read Reset name, toggle individual effects on/off etc).

However - I'm trying to get it to detect if the AXEFX 2 is switched on - before it starts running the main Loop of the code.

I thought I could do this by sending the 'get Midi Channel' sysex mgs & then reading the returned channel.
I use a while loop to loop sending the msg until the Channel is read.

Code:
long MdCh = 1;
while (got_MIDI_CH != true)
{
tft.setFontScale(1);                tft.setCursor(100, 350);
tft.print("Trying to read Midi Channel: ");               tft.print(MdCh);
tft.setCursor(100, 390);
tft.print("Sysex: ");               tft.print(sysex_label);

byte Get_MIDI_CH[8] ={0xF0, 0x00, 0x01, 0x74, 0x03, 0x17, 0x11, 0xF7};
MIDI.sendSysEx(8,Get_MIDI_CH, true);
MIDI.read();
delay(500);

MdCh++;
}

Here's the sysex read code snippet
Code:
else if (SysExArray[5] == 0x17)
{
sysex_label = "Midi Channel";
sysex_value = SysExArray[6];
sysex_value2 = String(sysex_value);
got_MIDI_CH = true;
}

But - if the AXEFX is ON, but I then switch on the MFC, the AXEFX never sends or the MFC never reads the Channel (or both).
However, if the MFC is ON, but then I switch on AXEFX - it does.

Any ideas pls?
 
Was wondering if anyone knows of anything that would prevent the Midi Channel msg being sent or even blocked?
ie: does something else need to be enabled first or if something else is running this prohibits teh channle msg???
 
Back
Top Bottom