Is there any available documentation for the transmit and receive sysex messages on the seaboard block?
Well, that's just not true.
I mean, I built a max patch which handles my most frequent editor tasks (setting the bend range, channel mode, and "high channel"), so I can trigger the appropriate configuration automatically as I load up a synth with different requirements.
It isn't elegant, nor was it easy without documentation. But, having accomplished the task, I'm calling it feasible.
This doesn't appear match with what I'm seeing at all. So far as I can tell, *every single change* you make on ROLI Dashboard corresponds to a sysex parameter change command sent to the Seaboard Block.
For example: When adjusting Strike Sensitivity, the ROLI Dashboard sends the Seaboard Block the command:
F0 00 21 10 77 2E 10 20 n1 mm 00 00 00 00 cc F7
With mm ranging from 00 to 31 and n ranging from [0, 2, 4, 6]. It looks like the values are defined as mm * 4 + n / 2. cc is likely checksum.
Indeed ROLI Dashboard is quite talkative: it's sending heartbeat commands, it's sending requests for data dumps, the whole bit.
If the Seaboard Block can't be modified via Sysex, why is ROLI Dashboard sending sysex to the Seaboard Block, seemingly to do exactly this?
Thanks for asking about this. Currently it's not feasible to control the Seaboard Block's behavior using SysEx messages, although we definitely see the use case for this and hope to look into this in the future.
Aaron - I was wondering if you wouldn't mind sharing your research a bit and snippets of sysex to the community. There are plenty on here who could possibly make use of it to almost build a pseudo iOS dashboard to accomplish a few simple tasks.
Hmm. Dug up my old patch and took a few screenshots.
These are very much brute force, but here's a bunch of commands and what they do. (I did not make any attempt to understand the sequence. Some of it's relatively intuitive. Some is not; I'm guessing there are some calculated checksums involved)
Each of those numbers (separated by spaces, is one byte). They get fed out to the controller one byte at a time, from left to right. I had to convert them from hex to decimal for use in max. You'll probably have to convert them back to hex for your pseudo iOS dashboard, because the universe hates us.
If you have max, this is probably more useful than the handful of screenshots I just tried to post.