User guide

F0
1F
7E
25 = sxExternalControlSubsystem
7F = Broadcast to all LX-300s
06 = EXTSUB_CMD_ACK_WRAPPER
00 = Frame ID 01 (the only processor we want an ack from)
01 02 03 04 05 = tag-value (can be anything I like, I chose 1,2,3,4,5)
1f 7e 00 3f 04 00 = embedded "check firmware version" payload sysex
xx = Checksum
F7
When you send the above sysex, you should see all the DSPs print their firmware version to the log, and then im-
mediately afterwards you should receive back the following sysex from DSP 0:
Firmware Response
F0
1F
7E
25 = sxExternalControlSubsystem
3E = MDSUBSYS_REPLY_ID
00 = Source DSP: Frame ID 01 sent the ack
44 = EXTSUB_CMD_ACK_REPLY
01 02 03 04 05 = 5-byte tag value, as sent in original sysex
xx = Checksum
F7
Note that the "DSP ID indicating which DSP(s) should send acks" byte can be set to an explicit DSP ID (as shown
above), or it can be set to 0x3F/0x7F (i.e. broadcast) if you want acks from all DSPs, or it can be set to 0x3B
(BOXNET_LOCAL_DSP) to indicate that the ack should come from the DSP where the serial port is physically
connected, regardless of that DSP ID.
Set Client Type
If the client is connecting via lxtcpcomd, it must send a set-client-type sysex to get any sysexes back from lxtcpcomd.
However, there is a nice fine-grained way to tell lxtcpcomd exactly which sysexes your client wants to see.
Here is how to do it:
Send a sysex to lxtcpcomd tell it you are a client of type LXTCP_FORWARD_CUSTOM, by sending this sysex:
f0
1f
7e
30 = sxTCPSubsystem
7f = broadcast
00 = LXTCP_CONTROL_COMMAND_SET_CLIENT_TYPE
02 = LXTCP_FORWARD_CUSTOM
00 = unused
00 = unused
xx = Checksum
f7
Send one or more LXTCP_CONTROL_COMMAND_ADD_CUSTOM_PARSE_PREFIX sysexes to lxtcpcomd. Each
of these sysexes contains a sysex prefix -- any time lxtcpcomd sees a sysex that starts with these bytes, it will forward
it to your client.
32
ACK Sysex