Error: MSB Sysex is 8bit value

Home Forums General Programming Error: MSB Sysex is 8bit value

Tagged: 

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #22869
    wikter
    Participant
      • Topics: 5
      • Replies: 49
      • Total: 54

      Well… we’ve got a problem for the tuning parameters in Sysex…
      R3 sends a “polarity” value whe it reaches 0 and starts the negative values:
      00 -1 = FF
      FF in not be the value expected from a 7bit (00-7f) parameter.
      Should be:
      00 -1 = 7F

      RAW:[f0 42 30 7d 41 11 00 14 00 02 00 f7]
      RAW:[f0 42 30 7d 41 11 00 14 00 01 00 f7]
      RAW:[f0 42 30 7d 41 11 00 14 00 00 00 f7]
      RAW:[f0 42 30 7d 41 11 00 14 00 7f 7f f7]
      RAW:[f0 42 30 7d 41 11 00 14 00 7e 7f f7]
      RAW:[f0 42 30 7d 41 11 00 14 00 7d 7f f7]

      On CTRLR I’ve used LSB/MSB but the output of MSB becomes 8bit!!! And sometimes it makes data disappear when it’s substracted…

      RAW:[f0 ** ** ** ** ** ** ** ** LSB MSB f7]
      RAW:[f0 42 30 7d 41 11 00 15 00 03 00 f7]
      RAW:[f0 42 30 7d 41 11 00 15 00 02 00 f7]
      RAW:[f0 42 30 7d 41 11 00 15 00 01 00 f7]
      RAW:[f0 42 30 7d 41 11 00 15 00 00 00 f7]
      RAW:[f0 42 30 7d 41 11 00 15 00 7f ff f7]
      RAW:[f0 42 30 7d 24 f7]
      RAW:[f0 42 30 7d 41 11 00 15 00 7e ff f7]

      MVXSynths
      R3 / MOX6 / Electribe2 / Electribe R MkII / Electribe MX / K4R / BCR2000 / XStation61 / XStation25 / Virus Rack / Chameleon / Proteus 2500 / RM1X / KN2600

      #22898
      wikter
      Participant
        • Topics: 5
        • Replies: 49
        • Total: 54

        Well, i’ve found a workaround for this rare bug.
        I Use these functions to correct the values exchanged between hardware/Ctrlr.

        lt (modulatorValue, 0, 16384 – (abs(modulatorValue)), modulatorValue)

        lt (midiValue, 128, midiValue, midiValue – 16384)
        or
        lt (midiValue, 128, midiValue, midiValue/2)

        Anyway, it’d be great to know that MSB is 7bits and has a range of 00-7f, instead of the 00-ff 8bit range.

        MVXSynths
        R3 / MOX6 / Electribe2 / Electribe R MkII / Electribe MX / K4R / BCR2000 / XStation61 / XStation25 / Virus Rack / Chameleon / Proteus 2500 / RM1X / KN2600

        #22905
        atom
        Keymaster
          • Topics: 159
          • Replies: 2945
          • Total: 3104
          • ★★★★★

          In the MIDI world everything is 7bits, those MSB/LSB parts are always 7bits and create a 14bit value as per the MIDI specification.

          There are some devices that use 8bit values, but those are always split into 2 MIDI bytes. Usually one is 7bit and one is 1bit. Sometimes (like the DSI Evolver) those are split into 2 4bit MIDI bytes (there is a special SysEx token for this ls/ms 4bit split and LS/MS 7bit split)

          #22919
          wikter
          Participant
            • Topics: 5
            • Replies: 49
            • Total: 54

            Yes, 7 bits. The problem is that msb is 8 bits and lsb 7bits.
            Msb range is 00-ff
            Lsb range is 00-7f
            There are workarounds to avoid those 7f-ff values but a correction in the range of msb values would help to make things easier.

            MVXSynths
            R3 / MOX6 / Electribe2 / Electribe R MkII / Electribe MX / K4R / BCR2000 / XStation61 / XStation25 / Virus Rack / Chameleon / Proteus 2500 / RM1X / KN2600

          Viewing 4 posts - 1 through 4 (of 4 total)
          • The forum ‘Programming’ is closed to new topics and replies.
          There is currently 0 users and 68 guests online
          No users are currently active
          Forum Statistics
          Threads: 2,495, Posts: 17,374, Members: 77,605
          Most users ever online was 12 on January 22, 2019 3:47 pm
          Ctrlr