Morningstar Sysex Checksum
Hello !
I'm trying to send Sysex to my MC6 in order to update the preset names (ableton feedback), but I'm completely lost about calculating the checksum, here's the documentation from Morningstar FX :
https://manuals.morningstar.io/mc-midi-controller/sysex-documentation-for-external-applications
And here's the "how to" calculate the CS :
The CheckSum is used to verify the message integrity. The calculation will be done on the sender’s end, and then when the SysEx message is received by the Controller, it will calculate the CheckSum of the message and then compare it to the sender’s CheckSum. If it does not match, the message is ignored.
The CheckSum can be calculated like this:
First, take the first value as F0, which is the start of the SysEx message.
Next, XOR the value with the next value.
Continue this until you reach n-2.
AND the value with 0x7F, which will give you a value of between 0 - 127.
Can anyone give me a simple method of calculating this with a max patch ? :)
Thanx !
there are few objects that can xor a list,
jasch xorlist or lobjects lxor
you can also build it with expr object

if I understand correctly you make a list of sysex message
- 2 last numbers, checksum itself and F7 or 247 decimal.
then you xor the list and & 127 to get the checksum.

Awesome, it works perfectly !Thanks !