Hi,
while creating a preset for a Roland JV1080 I recognized a strange behavior in FW 3.4 when sending sysex from a control using checksum function in the sysex editor. Using FW 3.3.2 the behavior is as expected.
What happens with 3.4 is that some bytes of the sysex are sent and some about 10 sec later.
I also tried an existing Roland D50 preset of the library and experience the same behavior.
Presets for Synths without chesum (i.e. OB Matrix 6) work fine with 3.4
To reproduce it I created a new preset just with two simple toggles, one with checksum calculation, one with a static byte instead, see JSON below.
Sending the sysex without checksum function my midi monitor says as expected:
20:32:26.948 From Electra Controller Electra Port 1 SysEx F0 41 10 6A 12 03 00 10 00 00 6D 7F F7
20:32:26.954 From mioXL DIN 4 MP88 SysEx F0 41 10 6A 12 03 00 10 00 00 6D 7F F7
Sending the sysex with checksum calculated by the checksum function the monitor output is like this:
20:35:43.850 From Electra Controller Electra Port 1 SysEx F0 41 10 6A 12 03 00 10 00 00 6D
20:35:43.857 From mioXL DIN 4 MP88 SysEx F0 41 10 6A 12 03 00 10 00
20:35:54.669 From mioXL DIN 4 MP88 Invalid 00 00 6D F7
The JV1080 synth itself indicates receiving (midi receive LED) immediately and after about 10sec again and the display indicates the sysex is received and the toggle is switched.
Configuration is: E1 Midi Port 1 → Miditemp MP88 → JV1080 (MP88 also outputs to an MioXL connected to an iMac for monitoring purposes), but I tried many other configurations.
Does anybody have similar experiences with sysex using checksum calculation in FW 3.4?
Here is the sysex JSON:
Toggle with checksum calculation
[
"F0",
"41",
"10",
"6A",
"12",
"03",
"00",
"10",
"00",
{
"type": "value",
"rules": [
{
"type": "sysex",
"parameterNumber": 1,
"parameterBitPosition": 0,
"byteBitPosition": 0,
"bitWidth": 1
}
]
},
{
"type": "checksum",
"start": "5",
"length": "5",
"algorithm": "roland"
},
"F7"
]
Toggle with static checksum:
[
"F0",
"41",
"10",
"6A",
"12",
"03",
"00",
"10",
"00",
{
"type": "value",
"rules": [
{
"type": "sysex",
"parameterNumber": 2,
"parameterBitPosition": 0,
"byteBitPosition": 0,
"bitWidth": 1
}
]
},
"6D",
"7F"
]