Midi clock sysex doesn't work on XL

MisterE

Fractal Fanatic
I used sysex messages to set the tempo for each song because of the problems with sending a continuous clock signal from the Gordius.
It seems that with the XL this doesn't work anymore.
This was the code:
F0 00 01 74 03 02 0D 01 20 00 1E 00 00 01 37 F7 30BPM
The identifier is still the same.
So something else must have changed
 
Thanks Al.
But because the Id changed, the checksum has changed as well and I don't know how to calculate it.
 
The checksum is derived by XORing every byte from the start of the SysEx message, up to the character before the terminating F7 byte.
 
That should give a tempo of 30
I figured that out using a midi monitor on my Gordius ;)
Now only 159 tempos to go :mrgreen
 
Thanks Java
But I already had that page in my favourites
But it doesn't explain how to calculate it and turn it into hex code without any programming skills
I googled for an XOR calculator program but couldn't find any.
So I'll have to do it the slow and tedious way ;)
 
You can also try to understand the code of axeloader made by tgunn, everything is inside :)
Btw, it would be very cool if FAS would support 3rd party developers
 
From the MidyAX code, but might actually come from mTroll or some other shared code, can't remember.


byte Calculate_CheckSum( byte *cur_sysex, int cur_size)
{
byte result = 0xF0;
for(int j=0; j < cur_size ;j++)
{
result = result ^ cur_sysex[j];
}
result = result & 0x7F;
return result;
}

cur_sysex : byte array of size at least cur_size
cur_size : size of the message to send (payload) with the CheckSum but without start (0xF0) and end (0x7F) of SYSEX message
return : CheckSum byte

Hopes that helps
 
Thanks Java
But I already had that page in my favourites
But it doesn't explain how to calculate it and turn it into hex code without any programming skills
I googled for an XOR calculator program but couldn't find any.
So I'll have to do it the slow and tedious way ;)

Use the windows calculator in programming mode (I'm sure Mac has a similar thing). Set it to Hex. XOR the numbers together and do an And 7F at the end to strip the left most bit.
 
Back
Top Bottom