Multiple, Sequential Sysex Triggers

wilcofan

2014-08-22 16:17:00

Hello,

I have a situation needing pairs of sysex for a trigger.
They always come in sequence.

Is BT expected to handle this? I'm getting mixed results.

I have 6 translators. Each with a pair: (this is how they look in the "Incoming" field)
F0 15 15 00 08 00 F7 F0 15 15 00 0A 7F F7
F0 15 15 00 08 00 F7 F0 15 15 00 09 7F F7
F0 15 15 00 08 00 F7 F0 15 15 00 08 7F F7
F0 15 15 00 09 00 F7 F0 15 15 00 08 7F F7
F0 15 15 00 0B 7F F7 F0 15 15 00 0A 7F F7
F0 15 15 00 08 00 F7 F0 15 15 00 0B 7F F7
(and I will update this post with exact messages, for now these are similar, this is the form)

The log shows correctly on each trigger: 14 bytes

Mixed result is sometimes more than one are firing. (opposite problem as I reported in this thread:http://www.bome.com/forums/viewtopic.php?f=3&t=3822)

Three of the messages fire as expected.
Three of the messages fire in conjunction with one another. ****even though extra translator messages have NOT been sent****
It's not random.

Important:

The sysex pair is being listened to within a stream of 12 or 13 strings.
Everytime I press the button (on my controller) there is 12 or 13 strings sent.
The pairs, we are looking for, are always sequential within this pack of 12 or 13 strings.
And unique.
But they are surrounded by other messages!

Anybody document issues with multiple sysex strings in the "Incoming" field?

Thanks,
Bobby

DvlsAdvct

2014-08-25 17:34:53

This sounds like the translators are triggering based off of the 12 or 13 surrounding strings accidentally. To rectify this we need to drill down the specific messages you want it to trigger off of, and make either our rules or the incoming trigger as specific as possible. Or, we need to set timers so the translators only trigger based on the sysex string coming before it. That will probably be the most accurate way.

Can you provide the exact messages you are listening for, in pairs? We will need to compensate with a 1 or 2ms delay to make sure that the second string triggers only when the first string is what it needs to be.

Does this make sense?
J

wilcofan

2014-08-25 18:38:03

I was able to work around this by assigning a global variable to each message.

Then put a timer, on slight delay, outgoing action from each translator assigning those variables.

When the timer triggers, it looks for the pair, finds both global variables satisfied, and fires.

Works like a charm.

DvlsAdvct

2014-08-25 18:39:10

Great.

wilcofan

2014-08-25 18:49:02

So to wrap up so far:

I see CC and Note messages in pairs all the time. BT has no problem identifying these. Even surrounded by many other CC and note messages in a burst or stream.

B0 02 00 B0 2F 7F


Pairs of sysex? Not so much. BT can't seem to reliably identify these in a burst or stream.

F0 15 15 00 08 00 F7 F0 15 15 00 09 7F F7