1 (edited by Potscrubber 2019-12-28 01:58:39)

Topic: SysEx MSB/LSB For Dummies

Hello

I just cannot grok the sysex MSB / LSB tables for sending setup data bytes to RME madi devices.  General sysex control is fine, but I am not understanding the tables for setup data bytes, for instance page 59 of the ADI8QS manual.  I've searched for resources on sysex MSB / LSB, monitored the output of Midi remote.  But I cannot understand how one converts the values in the tables into relevant hex bytes.  If anyone could enlighten me or point me to a resource or manual that walks you though it, I would very much appreciate it.

Thanks
Simon

Madiface XT, Madiface, 3x Micstasy, ADI8QS
Sequoia 16,  W10 x64

2 (edited by Potscrubber 2017-05-12 05:30:10)

Re: SysEx MSB/LSB For Dummies

No one can help with this?  As an example, consider the following table, sysex table Setup 2 for the ADI8QS.
Below it are some sysex msg's for the ADI8QS in my setup that are sent and received ok.  The data byte in question is bolded.
Can anyone help me crack the MSB/LSB code ?

http://www.bsound.co.nz/downloads/ADI8QS_sysex_table_2.jpg

follow clock: off
clock out:  Fs
clock select: Option
clock range: single speed
F0 00 20 0D 41 03 20 12 0C F7

follow clock: off
clock out:  always single speed
clock select: Option
clock range: single speed
F0 00 20 0D 41 03 20 12 2C F7

follow clock: off
clock out:  always single speed
clock select: Option
clock range: ds
F0 00 20 0D 41 03 20 12 2D F7

follow clock: off
clock out:  always single speed
clock select: WCK
clock range: single speed
F0 00 20 0D 41 03 20 12 28 F7

follow clock: off
clock out:  always single speed
clock select: WCK
clock range: ds
F0 00 20 0D 41 03 20 12 29 F7

Madiface XT, Madiface, 3x Micstasy, ADI8QS
Sequoia 16,  W10 x64

3 (edited by Potscrubber 2019-12-28 02:03:51)

Re: SysEx MSB/LSB For Dummies

The answer, with much much thanks to users dnaldoog & Tedjuh on the Ctrlr.org forum is this:

RME are using bit fields to determine values.

For example (ADI8QS Setup 2 table), for the following settings:

follow clock: off
clock out: always single speed
clock select: WCK
clock range: ds

The correct (broadcast) sysex string is:
F0 00 20 0D 41 7F 20 12 29 F7

The value 0x29 is the calculated by adding up each bit in the byte. (0-7= 8 bits)

  • bit 7 = 0

  • bit 6 = follow clock off set bit to = 0

  • bit 5 = clock out: always single speed set bit to = 1

  • bit 4 to 2 = clock select: WCK is value 2, but that is calculated using MSB bit 4 to 2 (three bits) because there are 7 possible values, so bit 4 to 2 value 2 is 010. This is why they are calling it MSB/LSB.

    – so far we have 001010xx
    two bits to go:

  • bit 1 to 0 = clock range ds is 1 out of three possible values so there are two bits MSB/LSB used to calculate bit 0 and 1, so we get 01 for the last two bits.

added up you get 00101001 = 0x29 or decimal 41.

viola!

Madiface XT, Madiface, 3x Micstasy, ADI8QS
Sequoia 16,  W10 x64