G2 USB messages

Updated 18-9-2011 Bruno Verhue



Overall remarks/findings




How to read the messages

From https://github.com/msg/g2ools g2ctl.py

Updated 23-8-2011

Send message

Message send from PC to G2

Messages are sent formatted as bytes:
SS SS MM MM MM .. MM CC CC
SS: Big endian 16-bit size of message
MM: Message (variable length)
CC: Big endian 16-bit crc of MM MM .. MM

Then the message itself (MM MM ..MM):
Messages start with 0x01 0xRC 0xDD 0xDD .. 0xDD
C: command (usually just the lower nibble)
R: 0x2 when request, 0x0 for response
0x3 ? maybe response-less request
DD: data for command

Interrupt message


Interrupt messages are send from G2 to PC
It can contain the compleet reply when it fits in 16 bytes else it contains the length of the extended message.

Message structure:
0xLT 0xRT 0x0C 0xVV 0xSC 0xDD 0xDD .. 0xDD 0xCC 0xCC (16 0xDD bytes)

L: embedded message length (<=0xf, always zero for extended message)
T: type: 2 embedded message, 1 extended message
RT - Response type
0C - The command the message responds to
VV - Version
SC - Sub command
DD - Data
CC - Checksum

Extended message


These are the longer replies:

Message structure:
0xRR 0x0C 0xVV 0xSC 0xDD .. 0xDD 0xCC 0xCC

RT - Response type
0C - The command the message responds to
VV - Version
SC - Sub command
DD - Data
CC - Checksum


The following table shows examples of response messages.

Resoponse typeCommandVersionSub commandMessage
$80Init
$01$0c$40$1fUnknown
$36Get patch/perf version
<Version>$03Synth settings
$13List patches
$1eUnknown
$29Performance settings
$7f"Ok"
$80Unknown
$08 + Slot$40$36Get patch version
<Version>$21Patch
$27Patch name
$2fSelect parameter
$69Current note
$6fPatch notes
$72Resources in use
$7f"Ok"
$00$00$3aVolume indicator data
$72Resources in use





Start up sequence



1. Initialisation

  a. Send initialisation message
  b. Stop communication G2->Host (PC)

2. Get G2 state

  a. Global settings
  b. Performance settings
  c. Settings of each slot

3. Get names from G2 (banks, patches, performances)

4. Start communication G2->Host


Example part of start up sequence "Trancellizer 10" Performance:


 Initialisation message


Example:

Send message
000000 - 00 05 80 91 88  ..€‘ˆ
Interrupt message
000000 - 01 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00  ..B.............
Extended message
000000 - 80 0A 03 00 00 1A 00 A2 00 12 47 32 20 45 6E 67  €........G2 Eng
000010 - 69 6E 65 00 30 00 39 14 00 00 01 97 28 AA 00 05  ine.0.9....—(..
000020 - 01 40 02 00 00 00 00 00 00 00 00 00 00 00 00 00  .@..............
000030 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000040 - D2 11  .


Message:

Value Size Remark
SS SS 2 Byte Size message
80 1 Byte CMD_INIT
CRC 1 Bytes Checksum


Response:

Value Size Remark
80 1 Byte Respons to command CMD_INIT
...
Message data
CRC 1 Bytes Checksum


G2 Type and maybe version info?


This message also resets the version counters for patches/performance to 0.


Stop communication G2->Host


Example:

Send message
000000 - 00 09 01 2C 41 7D 01 96 94  ...,A}.–”
Interrupt message
000000 - 62 01 0C 00 7F 8C AD 00 00 00 00 00 00 00 00 00  b...Œ.........


Message:

Value Size Remark
SS SS 2 Byte Size message
01
1 Byte

R 1 Nibble 2 - Expects response
c 1 Nibble c - CMD_SYS
41 1 Byte
7d 1 Bytes Sub command
XX 1 Byte 01 - start, 00 - stop
CRC 2 Bytes Checksun


Response:

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
0c 1 Byte Response to command CMD_SYS
00 1 Bytes
7f 1 Byte Ok?
CRC 2 Bytes Checksun

This seems to be soms sort of universal aknoledgement message like "ok"

When the initialization part is done the clavia software sends the same message as this one, with 00 in stead of 01. Then you see messages comming through from the G2 to the clavia software. Some of these messages are volume indicator values.

When you send this message with value 01 the G2 stops sending messages.


 Get patch or performance version counter


Example:

Send message
000000 - 00 09 01 2C 41 35 04 42 54  ...,A5.BT
Interrupt message
000000 - 82 01 0C 40 36 04 00 1B D6 00 00 00 00 00 00 00  ‚..@6..........


This message returns the patch or state version counter per slot.

Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
c 1 Nibble c - CMD_SYS
41 1 Byte
35 1 Bytes Sub command
SS 1 Byte Slot
CRC 2 Bytes Checksun

In patch mode:

SS - 00 : all slots; 01/04 - slot 1/4

In perf mode

SS - 00/03 : slots 1/4; 04 - performance

Response:

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
0c 1 Byte Response to command CMD_SYS
40 1 Bytes
36 1 Byte
SS 1 Bytes Slot
VV
1 Bye Version
CRC 2 Bytes Checksun


Each time a patch is loaded in a slot, the version number is increased. So when a command for a particular patch is send to G2, it checks if the patch in the slot is still the same. (You have to send the version no with the command).

You get the same respons with a new version counter if you load a patch with usb.

The init message resets the version numbers.



 Synth settings


Example:

Send message
000000 - 00 08 01 2C 41 02 9B AC  ...,A.›
Interrupt message
000000 - 01 00 36 00 00 00 00 00 00 00 00 00 00 00 00 00  ..6.............
Extended message
000000 - 01 0C 00 03 47 32 20 45 6E 67 69 6E 65 00 80 00  ....G2 Engine.€.
000010 - 00 00 00 01 02 03 04 09 10 00 02 03 00 0A 00 00  ................
000020 - 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00  ..@.............
000030 - 00 00 00 00 7C 1F  ....|.

synth settings dialog

Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
c 1 Nibble c - CMD_SYS
41 1 Byte
02 1 Bytes Sub command
CRC 2 Bytes Checksum

Response:

Looked it up in the "Synth settings" dialog in the clavia software.

Value Size Remark
01 1 Byte
0c 1 Byte Response to command CMD_SYS
.. 2 Bytes
Name Clavia string

...
01 1 Byte Midi channel slot A
02 1 Byte Midi channel slot B
03
1 Byte Midi channel slot C
04 1 Byte Midi channel slot D
09 1 Byte Global channel
10 1 Byte Sysex ID (All)
...
0A 1 Byte Tune cent
...
CRC 2 Bytes Checksum


 Unknown message 1, seems to be something about the slots


Example:

Send message
000000 - 00 08 01 2C 41 81 3A 47  ...,A�:G
Interrupt message
000000 - 01 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
Extended message
000000 - 01 0C 00 80 00 FF 80 01 FF 80 02 FF 80 03 FF 89  ...€.€.€.€.‰
000010 - 7E  ~

Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
c 1 Nibble c - CMD_SYS
41 1 Byte
81 1 Bytes Sub command
CRC 2 Bytes Checksum


Response

Value Size Remark
01 1 Byte
0c 1 Byte Response to command CMD_SYS
... 4 x 3 Bytes
CRC 2 Bytes Checksum



 Performance settings

Example:

Send message
000000 - 00 08 01 2C 00 10 97 22  ...,..—"
Interrupt message
000000 - 01 00 74 00 00 00 00 00 00 00 00 00 00 00 00 00  ..t.............
Extended message
000000 - 01 0C 00 29 54 72 61 6E 63 65 6C 6C 69 7A 65 72  ...)Trancellizer
000010 - 20 31 30 00 11 00 5B 00 00 00 91 00 00 00 00 44   10...[...‘....D
000020 - 72 75 6D 73 20 30 31 00 01 00 00 00 03 00 7F 01  rums 01........
000030 - 00 00 6F 6F 68 20 61 61 61 68 20 69 69 69 69 69  ..ooh aaah iiiii
000040 - 00 01 00 00 00 00 00 7F 02 00 00 53 6E 61 72 65  ..........Snare
000050 - 20 39 30 39 00 01 00 00 00 00 00 7F 03 00 00 42   909..........B
000060 - 52 46 20 4B 69 63 6B 00 01 01 00 00 00 00 7F 04  RF Kick........
000070 - 00 00 72 D9  ..r

Performance settings dialog

Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
c 1 Nibble c - CMD_SYS
VV 1 Byte Performance version counter
10 1 Bytes Sub command
CRC 2 Bytes Checksum


Response:

Looked some of the values up in the "Performance settings" dialog in the clavia software.

Value Size Remark
01 1 Byte
0c 1 Byte Response to command CMD_SYS
.. 2 Bytes
Performance name Clavia string

... 4 Bytes
00 1 Byte Patch selected
00 1 Byte Range enable
91
1 Byte Master clock
00 1 Byte Keyboard split
00 1 Byte Stop/run
.. 2 Bytes
Name patch 1 Clavia string
01 1 Byte Active
00 1 Byte Key
00 1 Byte Hold
.. 2 Bytes
00 1 Byte Range Lower
7F 1 Byte Range Upper
... 3 Bytes
Repeats for all slots...
CRC 2 Bytes Checksun



 Unknown message 2


Example:

Send message
000000 - 00 08 01 2C 00 59 4E CF  ...,.YN
Interrupt message
000000 - 72 01 0C 00 1E 00 C5 1F 00 00 00 00 00 00 00 00  r..............

Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
c 1 Nibble c - CMD_SYS
VV 1 Byte Performance version
59 1 Bytes Sub command
CRC 2 Bytes Checksum


Response:

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
0c 1 Byte Response to command CMD_SYS
VV? 1 Bytes Version counter
1E 1 Byte
00
1 Byte

CRC 2 Bytes Checksun



 Select slot A


Example:

Send message
000000 - 00 09 01 2C 00 09 00 68 B5  ...,...h
Interrupt message
000000 - 62 01 0C 00 7F 8C AD 00 00 00 00 00 00 00 00 00  b...Œ.........

Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
c 1 Nibble c - CMD_SYS
VV? 1 Byte Performance version counter
09 1 Bytes Sub command
SS
1 Byte
Slot
CRC 2 Bytes Checksum

Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
0c 1 Byte Response to command CMD_SYS
00 1 Bytes
7f 1 Byte Ok?
CRC 2 Bytes Checksun

Seems to be just a confirmation response.


 Patch version


Example:

Send message
000000 - 00 09 01 2C 41 35 00 02 D0  ...,A5..
Interrupt message
000000 - 82 01 0C 40 36 00 00 D7 12 00 00 00 00 00 00 00  ‚..@6..........


Returns the version counter for the patch in slot A.

Same as message get patch state version


 Download slot A


Example:

Send message
000000 - 00 08 01 28 00 3C AE 0C  ...(.<.
Interrupt message
000000 - 01 15 BB 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............
Extended message
000000 - 01 08 00 21 00 0F 01 FC 00 00 01 00 00 20 41 36  ...!........ A6
000010 - 43 D0 00 50 00 2D 00 4A 01 74 4E 8D C0 40 0C 02  C.P.-.J.tN�@..
000020 - 80 03 70 20 02 80 80 01 08 0C 00 60 20 00 51 04  €.p .€€....` .Q.
000030 - 00 44 0B 00 0D 81 40 0E 02 00 05 10 60 04 C0 B0  .D...�@.....`.
000040 - 00 24 1C 00 30 20 01 00 DC 20 00 80 20 00 67 09  .$..0 .. .€ .g.
000050 - 00 80 08 00 0D C2 80 18 02 80 00 90 B0 05 40 80  .€...€..€.�.@€
000060 - 04 21 30 C0 ...


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version counter
3c 1 Bytes Sub command
CRC 2 Bytes Checksum

Response:

Value Size Remark
01 1 Byte
08 1 Byte Response to command 08 + slot
VV 1 Byte Patch version counter
...
Patch data
CRC 2 Bytes Checksun



 Patch name

Example:

Send message
000000 - 00 08 01 28 00 28 FC B9  ...(.(
Interrupt message
000000 - F2 01 08 00 27 44 72 75 6D 73 20 30 31 00 5C 26  ...'Drums 01.\&


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version counter
28 1 Bytes Sub command
CRC 2 Bytes Checksum

Response:

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command 08 + Slot
VV 1 Bytes Patch version counter
27 1 Byte Sub command - 1
... Clavia string Patch name
CRC 2 Bytes Checksun


If its longer then 10 bytes you get an extended message


 Current note


Example:

Send message
000000 - 00 08 01 28 00 68 B4 7D  ...(.h}
Interrupt message
000000 - 01 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
Extended message
000000 - 01 08 00 69 00 09 D9 FF F8 76 7F FF 00 00 01 79  ...i..v...y
000010 - 17  .


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version counter
68 1 Bytes Sub command
CRC 2 Bytes Checksum


Response:

Value Size Remark
01 1 Byte
08 1 Byte Response to command 08 + slot
VV 1 Byte Patch version counter
69 1 Byte Sub command +1
...
Current note data (same as chunk in patch data)
CRC 2 Bytes Checksun



 Text pad


Example:

Send message
000000 - 00 08 01 28 00 6E D4 BB  ...(.nԻ
Interrupt message
000000 - 82 01 08 00 6F 00 00 F0 D7 00 00 00 00 00 00 00  ‚...o.........


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version counter
6E 1 Bytes Sub command
CRC 2 Bytes Checksum


Response:


Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command 08 + Slot
VV 1 Bytes Patch version counter
6F 1 Byte Sub command +1
...
Notes
CRC 2 Bytes Checksun


6F is also the chunk-id in de patch file for the patch text. When the notes don't fit in a embedded message, an extended message is send.


 Resources in Use in VA section?


Example:

Send message
000000 - 00 09 01 28 00 71 01 33 95  ...(.q.3•
Interrupt message
000000 - 01 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00  ..".............
Extended message
000000 - 01 08 00 72 01 04 57 06 5A 55 00 00 00 5B 00 48  ...r..W.ZU...[.H
000010 - 04 57 01 55 00 76 06 59 00 00 00 00 00 00 00 29  .W.U.v.Y.......)
000020 - E6 84  „


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version counter
71 1 Bytes Sub command
01 1 Byte Location VA
CRC 2 Bytes Checksum


Response:

Value Size Remark
01 1 Byte
08 1 Byte Response to command 08 + slot
VV 1 Byte Patch version counter
72 1 Byte Sub command +1
01 1 Byte Location VA
...
Resources in use table
CRC 2 Bytes Checksun

This message probably contains a table, with how much of the available recourses are currently in use in the VA section.

With this table the software can check if there are enough recources available to add a particular module.

Resource could be cycle times, memory or delay memory or something like that.

Every module has a kind of fingerprint of how much of each resource it needs.

So at a particular stage you might not be able to add module x, because it would overflow the memory, but you still can add module y, that uses more cycles but
less memory.

Probably with this, the totals "Cycles" and "Memory" that are shown in the software are calculated.


 Resources in Use in FX section?


Example:

Send message
000000 - 00 09 01 28 00 71 00 23 B4  ...(.q.#
Interrupt message
000000 - 01 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00  ..".............
Extended message
000000 - 01 08 00 72 00 08 17 00 4C 1C 00 00 01 23 00 31  ...r....L....#.1
000010 - 04 79 00 10 00 08 00 46 00 00 00 03 77 16 00 12  .y.....F....w...
000020 - 5D FB  ]


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version counter
71 1 Bytes Sub command
00 1 Byte Location FX
CRC 2 Bytes Checksum


Response:

Value Size Remark
01 1 Byte
08 1 Byte Response to command 08 + slot
VV 1 Byte Patch version counter
72 1 Byte Sub command + 1
00 1 Byte Location FX
...
Resources in use table
CRC 2 Bytes Checksun


Like above but for the FX section.


 Unknown 6


Example:

Send message
000000 - 00 08 01 28 00 70 27 44  ...(.p'D
Interrupt message
000000 - 62 01 08 00 7F 50 6D 00 00 00 00 00 00 00 00 00  b...Pm.........


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version counter
70 1 Bytes Sub command
CRC 2 Bytes Checksum


Response:

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok?
CRC 2 Bytes Checksun



Seems to be another ackownledgement reply (7F):


 Get focussed/selected parameter?


Example

Send message
000000 - 00 08 01 28 00 2E 9C 7F  ...(..œ
Interrupt message
000000 - A2 01 08 00 2F 01 02 01 00 92 D6 00 00 00 00 00  .../....’.....

Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version counter
2e 1 Bytes Sub command
CRC 2 Bytes Checksum


Response:

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
2f 1 Byte Sub command + 1
DD? 1 Byte Value?
LL? 1 Byte Location
MM? 1 Byte Module
PP? 1 Byte Parameter
CRC 2 Bytes Checksun

The response probably is the parameter that is focussed on the G2 display.

In the example this would be Location 02 : patch settings, Module 01 : patch, Parameter 00. Can't check it because i only have an engine.



Then come the other 3 slots...

Basically the same as above.


 List names


Example

Send message
000000 - 00 0B 01 2C 41 14 00 00 00 EC E5  ...,A....
Interrupt message
000000 - 01 00 BE 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............
Extended message
000000 - 01 0C 00 13 2E 02 16 01 00 03 00 00 54 72 61 6E  ............Tran
000010 - 63 65 6C 6C 69 7A 65 72 20 56 6F 63 00 54 72 61  cellizer Voc.Tra
000020 - 6E 63 65 6C 6C 69 7A 65 72 20 4B 69 63 00 54 72  ncellizer Kic.Tr
000030 - 61 6E 63 65 6C 6C 69 7A 65 72 20 4C 66 6F 0C 54  ancellizer Lfo.T
000040 - 72 61 6E 63 65 6C 6C 69 7A 65 72 20 50 61 64 0A  rancellizer Pad.
000050 - 54 72 61 6E 63 65 20 56 6F 63 61 6C 00 00 47 32  Trance Vocal..G2
000060 - 50 61 64 64 69 6E 67 00 0A 46 41 54 42 61 73 73  Padding..FATBass
000070 - 20 20 4E 4C 32 00 03 41 63 63 47 75 69 74 00 01    NL2..AccGuit..
000080 - 54 68 65 50 6C 61 79 65 72 00 0B 59 65 74 41 6E  ThePlayer..YetAn
000090 - 6F 74 68 65 72 4F 72 67 61 6E 00 09 5A 65 72 6F  otherOrgan..Zero
0000A0 - 48 7A 4C 69 6E 46 4D 00 0C 42 65 6C 6C 73 00 01  HzLinFM..Bells..
0000B0 - 43 75 65 20 20 20 4E 4C 33 00 0C 05 B3 B2  Cue   NL3...


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
c 1 Nibble Command CMD_SYS
41 1 Byte
14 1 Byte Sub command
MM 1 Bytes Mode (performance/patch)
BB 1 Byte Bank
PP 1 Byte Patch
CRC 2 Bytes Checksum


Response:

Updated 23-8-2011

This is a complex message. The names are send back in blocks and a continuation code at the end of each block indicates how to interpret the next block.

Value Size Remark
01 1 Byte
0c 1 Byte Response to command CMD_SYS
13 1 Byte Sub command - 1
2E 02 16 014 BytesUnknown
MO1 ByteMode 00- patch 01 - perf
031 ByteUnknown
BA1 ByteBank
PA 1 Byte Patch
Name X times clavia string
Patch and performance names
CA X times 1 byte Category
...
CC 1 byte Continuation code
01 -
02 -
03 - Next bank
04 - Next mode (patch/perf/finished)
05 - Continue with patches of bank in next block
CRC 2 Bytes Checksun




Finally:

 Start communication G2->Host?


Example:

Send message
000000 - 00 09 01 2C 41 7D 00 86 B5  
Interrupt message
000000 - 62 01 0C 00 7F 8C AD 00 00 00 00 00 00 00 00 00  b...Œ.........


Same as message Stop communication host but with parameter 00.

After this, there is a steady stream of messages comming from the G2.
...


Other messages



Adding modules


Examples

Add 2-Out Module  SlotA, Location VA
00 5b 01 28 00 30 04 01 01 00 02 00 00 01 32 2d 4f 75 74 31 00 (1)-> 52 00 03 40 00 00 (2)-> 4d 00 29 40 42 80 41 80 00 02 00 04 00 10 00 40 00 80 03 00 04 00 20 00 20 01 40 01 00 0c 00 08 00 70 00 40 04 00 02 00 24 00 10 00 5b 00 02 40 00 5a 00 0a 40 01 01 32 2d 4f 75 74 31 00 23 69
Same data found in module chunk of patch data:
(1)-> 52 00 03 40 00 00 (2)-> 4D 00 25 40 42 40 41 80 00 02 00 04 00 10 00 40 00 80 03 00 04 00 20 00 20 01 40 01 00 0C 00 08 00 70 00 40 04 00 02 00 .. .. .. .. 5B 00 02 40 00 5A 00 0A 40 01 01 32 2D 4F 75 74 31 00
Add 2 modules, different positions
Add 2-Out Module 1, slot A, Location FX, position left top
00 5b 01 28 00 30 04 00 01 00 01 00 00 01 32 2d 4f 75 74 31 00 52 00 03 00 00 00 4d 00 29 00 42 80 41 80 00 02 00 04 00 10 00 40 00 80 03 00 04 00 20 00 20 01 40 01 00 0c 00 08 00 70 00 40 04 00 02 00 24 00 10 00 5b 00 02 00 00 5a 00 0a 00 01 01 32 2d 4f 75 74 31 00 60 c5
Add 2-Out Module 2, slot A, Location FX, righ bottom
00 5b 01 28 00 30 04 00 02 03 08 00 00 01 32 2d 4f 75 74 32 00 52 00 03 00 00 00 4d 00 29 00 42 80 81 80 00 02 00 04 00 10 00 40 00 80 03 00 04 00 20 00 20 01 40 01 00 0c 00 08 00 70 00 40 04 00 02 00 24 00 10 00 5b 00 02 00 00 5a 00 0a 00 01 02 32 2d 4f 75 74 32 00 f9 17
Add OscD Module
SlotD, Location VA
00 6b 01 2b 01 30 60 01 01 00 02 00 00 00 00 4f 73 63 44 31 00 52 00 03 40 00 00 4d 00 3a 40 42 80 42 80 40 80 04 00 10 18 10 00 80 02 05 02 00 10 00 40 e0 40 02 00 08 24 08 00 40 01 05 81 00 08 00 20 d0 20 01 00 04 1e 04 00 20 00 84 40 80 04 00 10 98 10 00 80 02 5b 00 02 40 00 5a 00 09 41 01 01 4f 73 63 44 31 00 d0 94
SlotD, Location FX, left bottom
00 6b 01 2b 00 30 60 00 01 00 09 00 00 00 00 4f 73 63 44 31 00 52 00 03 00 00 00 4d 00 3a 00 42 80 42 80 40 80 04 00 10 18 10 00 80 02 05 02 00 10 00 40 e0 40 02 00 08 24 08 00 40 01 05 81 00 08 00 20 d0 20 01 00 04 1e 04 00 20 00 84 40 80 04 00 10 98 10 00 80 02 5b 00 02 00 00 5a 00 09 00 01 01 4f 73 63 44 31 00 a8 94
SlotD, Location FX, right top
00 6b 01 2b 00 30 60 00 02 03 02 00 00 00 00 4f 73 63 44 32 00 52 00 03 00 00 00 4d 00 3a 00 42 80 82 80 40 80 04 00 10 18 10 00 80 02 05 02 00 10 00 40 e0 40 02 00 08 24 08 00 40 01 05 81 00 08 00 20 d0 20 01 00 04 1e 04 00 20 00 84 40 80 04 00 10 98 10 00 80 02 5b 00 02 00 00 5a 00 09 00 01 02 4f 73 63 44 32 00 b3 7e
Add Keyb
00 3b 01 29 00 30 01 01 01 00 02 00 00 00 4b 65 79 62 6f 61 72 64 31 00 52 00 03 40 00 00 4d 00 03 40 02 80 5b 00 02 40 00 5a 00 0d 40 01 01 4b 65 79 62 6f 61 72 64 31 00 d6 d6  
Add Noise
00 52 01 2a 00 30 1f 01 01 00 01 00 00 00 4e 6f 69 73 65 31 00 52 00 03 40 00 00 4d 00 20 40 42 80 41 00 00 02 02 00 08 10 00 20 60 00 82 00 02 0a 00 08 30 00 20 e0 00 84 00 02 12 00 08 5b 00 02 40 00 5a 00 0a 40 01 01 4e 6f 69 73 65 31 00 8e a3


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command  08 + slot
VV 1 Byte Patch version counter
30 1 Byte Sub command
1 Byte ModuleType
1 Byte Location
1 Byte Module ID
1 Byte Col
1 Byte Row
1 Byte Color
1 Byte Uprate
1 Byte IsLed
X Bytes ModeInfo (depends on module type)
Clavia string Short name
X Bytes Cable chunk
X Bytes Parameter list chunk
X Bytes Parameter names chunk
X Bytes Module names chunk
CRC 2 Bytes Checksum

The meaning of the field "IsLed" is yet unknown.

I understand that Uprate means that the module goes in higher processing mode when modulated by audio. So it's a property of the module that depends on how it is patched. Maybe Isled has also some meaning like that.

Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok?
CRC 2 Bytes Checksun


After this a messages is send from the host to the G2. This probably sets the focus of the G2 display on the inserted module. It looks a bit similar with the Get focussed parameter message.


Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 3 - Expects no response
8 1 Nibble Command 08 + slot
VV 1 Byte Patch version counter
2f 1 Byte Sub command
DD 1 Bytes
LL 1 Byte Location
MM 1 Byte Module
PP 1 Byte Parameter
CRC 2 Bytes Checksum


After adding a module the G2 sends to the host the updated resources used table, message Resources used VA or  Resources used FX   for the location the module was put in and for each slot.

The host also sends the message Unknown 6 for each slot.


Adding a Cable

Examples

Add cable from Noise (ModID=1, connector type = 1(out), ConID = 0)  to 2Out (ModID=2, ConType = 0(in), ConID = 1)
00 0D 01 28 00 50 18 01 40 02 01 E5 28
Add cable from Noise (ModID=1, ConType=1, ConID=0)  to Mix4B (ModID=2, ConType = 0, ConID=3) -> module Mix4B gets uprated
00 11 01 28 00 50 18 01 40 02 03 2a 01 02 01 4d dd
Here an example where i first made a chain of Mix4B modules, alle cables are blue, then i connect a noise module to the first Mix4b in the chain-> all Mix4b's get uprated and all cables turn red
00 2f 01 28 00 50 18 05 40 01 03 2a 01 01 01 54 08 02 03 01 40 2a 01 02 01 54 08 04 01 02 40 54 08 03 03 04 01 2a 01 03 01 2a 01 04 01 7c bd


Example patch before connecting noise, all cables are blue
Before connecting noise, all cables are blue.

After connecting noise, all cables are red, modules in chain are uprated
After connecting noise, all cables are red, modules in chain are uprated


So the usb message for adding a cable looks like the following:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command  08 + slot
VV 1 Byte Patch version counter
50 1 Byte Sub command
4 Bits Unknown value = 1
1 Bit Location 0 - FX, 1 - VA
3 Bits Color 000 - Red, 001 - Blue etc.
1 Byte From module ID
2 Bits From connector type 00 - input, 01 - output
6 Bits From connector ID
1 Byte To module ID
2 Bits To connector type 00 - input, 01 - output
6 Bits To connector ID
For every module in the network that gets uprated by adding this cable:
2a 1 Byte Sub command
1 Byte Location
1 Byte Module ID
1 Byte Uprate parameter 1
For every cable in the network that has to change color:
54 1 Byte Sub command
4 Bits Unknown
1 Bit Location
3 Bits Color
1 Byte From module ID
2 Bits From connector type
6 Bits From connector ID
1 Byte To module ID
2 Bits To connector type
6 Bits To connector ID
CRC 2 Bytes Checksum


Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok?
CRC 2 Bytes Checksun



It is also important to keep the right order for the modules in the cable connection, when i put the 2-out as the "from" module and the noise as the "to" module, the clavia software
gives an eror like:

 "Version corrupted: Connector does not exist"

After adding a cable the G2 most of the time sends to the host the updated resources used table, message Resources used VA or  Resources used FX   for the location the module was put in and for each slot. Somethimes it does not, but then the clavia software makes a request for the resources used table.

The host also sends the message Unknown 6 for each slot.


Delete a Cable

Example

Patch:

Add Mix4B (Id 1)
Add Noise (Id 2)
Connect Noise to Mix4B in
Add ClassicFlt (Id 3)
Connect Mix4b out to classicFlt mod input 1 -> uprate modules in network
Disconnect Noise from Mix4b                 -> downrate modules in network

Add cable from noise out to mix4b in
00 11 01 28 00 50 18 02 40 01 03 2a 01 01 01 1e 1b => extra params 2a 01 01 01
Add cable from Mix4b out to ClassicFilt modulation in
00 11 01 28 00 50 18 01 40 03 01 2a 01 03 01 7f cf => extra params 2a 01 03 01
Disconnect cable from mix4b in - noise out
00 21 01 28 00 54 0e 01 03 02 40 51 03 02 40 01 03 2a 01 01 00 54 09 03 01 01 40 2a 01 03 00 b1 91

..54 0e 01 03 02 40 -> update color cable from module 1 (mix4b, in3) to module 2 (noise, out0) out 0 to white.
..01010100 00001110
..51 03 02 40 01 03 -> disconnect module 1 (mix4b) param 3 from module 2 (noise) param 0
..01010001 00000011..
..2a 01 01 00       -> downrate module 1 (mix4b)
..54 09 03 01 01 40 -> update cable color from nodule filter (03, in1) to mix4b(01, out0) to blue
..01010100 00001001..
..2a 01 03 00       -> downrate module 3 (filter)

Same as patch but in FX location
Add cable from noise out to mix4b in
00 11 01 28 00 50 10 02 40 01 03 2a 00 01 01 00 d4
Add cable from Mix4b out to ClassicFilt modulation in
00 11 01 28 00 50 10 01 40 03 01 2a 00 03 01 61 00
Disconnect cable from mix4b in - noise out
00 21 01 28 00 54 06 01 03 02 40 51 02 02 40 01 03 2a 00 01 00 54 01 03 01 01 40 2a 00 03 00 39 c0

..54 06 01 03 02 40
..01010100 00000110
..51 02 02 40 01 03
..01010001 00000010..
..2a 00 01 00
..54 01 03 01 01 40
..01010100 00000001..
..2a 00 03 00


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command  08 + slot
VV 1 Byte Patch version counter
51 1 Byte Sub command
7 Bits Unknown = 1
1 Bit Location 0 - FX, 1 - VA
1 Byte From module ID
2 Bits From connector type 00 - input, 01 - output
6 Bits From connector ID
1 Byte To module ID
2 Bits To connector type 00 - input, 01 - output
6 Bits To connector ID
For every module in the network that gets downrated by removing this cable:
2a 1 Byte Sub command
1 Byte Location
1 Byte Module ID
1 Byte Uprate parameter 0
For every cable in the network that has to change color:
54 1 Byte Sub command
4 Bits Unknown
1 Bit Location
3 Bits Color
1 Byte From module ID
2 Bits From connector type
6 Bits From connector ID
1 Byte To module ID
2 Bits To connector type
6 Bits To connector ID
CRC 2 Bytes Checksum

Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok?
CRC 2 Bytes Checksun


After deleting a cable the G2 most of the time sends to the host the updated resources used table, message Resources used VA or  Resources used FX   for the location the module was put in and for each slot. Somethimes it does not, but then the clavia software makes a request for the resources used table.

The host also sends the message Unknown 6 for each slot.


Delete module

Updated 27-8-2011

Example:

Send message
00 16 01 28 00 54 0e 02 00 01 40 51 01 02 00 01 40 32 01 01 f8 a7
Interrupt message
62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00


In the example a module with one cable is deleted. The send contains first a message to change the cable color to white, then to delete the cable and finally to delete the module.
So basically you have to delete alle the cables first and then delete the module.


Message:

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command  08 + slot
VV 1 Byte Patch version counter
For every cable in the network that has to change color:
541 ByteSub command
4 BitsUnknown
1 BitLocation
3 BitsColor
1 ByteFrom module ID
2 BitsFrom connector type
6 BitsFrom connector ID
1 ByteTo module ID
2 BitsTo connector type
6 BitsTo connector ID
For every cable that is connected to the module
51 1 Byte Sub command
7 Bits Unknown = 1
1 Bit Location 0 - FX, 1 - VA
1 Byte From module ID
2 Bits From connector type 00 - input, 01 - output
6 Bits From connector ID
1 Byte To module ID
2 Bits To connector type 00 - input, 01 - output
6 Bits To connector ID
For every module in the network that gets downrated by removing this cable:
2a 1 Byte Sub command
1 Byte Location
1 Byte Module ID
1 Byte Uprate parameter 0
32 1 Byte Sub command
1 Byte Location
1 Byte Module ID
CRC 2 Bytes Checksum

Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok
CRC 2 Bytes Checksun



Move module

Updated 27-8-2011

Example:

Send message
00 0c 01 28 00 34 00 01 03 02 7d 41
Interrupt message
62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00


Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version Counter
34 1 Byte Sub command
1 Byte Location
1 Byte Module ID
1 ByteColumn
1 ByteRow
CRC 2 Bytes Checksum


Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok
CRC 2 Bytes Checksun



Change module color

Updated 27-8-2011

Example:

Send message
00 0b 01 28 00 31 00 01 0a 48 0d
Interrupt message
62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00


Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version Counter
31 1 Byte Sub command
1 Byte Location
1 Byte Module ID
1 Byte Color
CRC 2 Bytes Checksum


Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok
CRC 2 Bytes Checksun




Change parameter value


Example

Change patch volume
00 0d 01 38 00 40 01 02 03 7c 00 8a 68


Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 3 - Expects no response
8 1 Nibble Command 08 + slot
VV 1 Byte Patch version counter
40 1 Byte Sub command
LL 1 Bytes Location 0 - FX, 1 - VA, 2-Patch settings
MM 1 Byte Module
PP 1 Byte Parameter
XX 1 Byte Value
VA
1 Byte
Variation
CRC 2 Bytes Checksum


No response message.

The same message is used to set the parameters for individual modules as for the patch settings.

Patch settings dialog

When changing patch settings, location is set to 2 and the module parameter identifies the function.

Location Function Parameter
PATCH_SETTINGS $02 VOLUME $02
GLIDE $03 GLIDE_TYPE $00
GLIDE_SPEED $01
BEND $04 BEND_ON_OFF $00
BEND_RANGE $01
VIBRATO $05 VIBRATO_MOD $00
VIBRATO_DEPTH $01
VIBRATO_RATE $02
ARPEGGIATOR  $06 ARP_ON_OFF $00
ARP_SPEED $01
ARP_DIRECTION $02
ARP_OCTAVES $03
SUSTAIN $07 SUSTAIN_PEDAL $07



Change mode value

Updated  7-9-2011


Special type of module parameters, for example wave shape for OscD.

Example

Change wave shape OscD
00 0c 01 28 00 2b 01 03 00 03 41 44 
Response
62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00


Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 08 + slot
VV 1 Byte Patch version counter
2b 1 Byte Sub command
LL 1 Bytes Location 0 - FX, 1 - VA, 2-Patch settings
MM 1 Byte Module
PP 1 Byte Parameter
XX 1 Byte Value
CRC 2 Bytes Checksum


Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok
CRC 2 Bytes Checksun



Assign knob

Updated  8-11-2011


Example

Assign parameter to knob
00 12 01 28 00 26 00 00 25 01 00 40 00 01 2d 00 db 88 
Response
62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00 


Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 08 + slot
VV 1 Byte Patch version counter
Deassign knob
261 ByteSub Command
001 ByteUnknown
KK1 ByteKnob number (Page * 3 + Page column) * 8 + knob
Assign knob
25 1 Byte Sub command
MM 1 Bytes Module
PP 1 Byte Parameter
L2 BitsLocation
06 BitsUnknown
001 ByteUnknown
KK1 ByteKnob number (Page * 3 + Page column) * 8 + knob
Select parameter page
2d1 ByteSub command
PP1 BytePage
CRC 2 Bytes Checksum


Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok
CRC 2 Bytes Checksun





Assign global knob

Updated  8-11-2011


Example

Assign parameter to knob
00 0f 01 28 00 1c 00 01 07 00 07 1e 00 00 94 
Response
62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00 


Deassign parameter to knob
00 0a 01 28 00 1d 00 07 3e ec 
Response
62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00 

Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 08 + slot
VV 1 Byte Patch version counter
Deassign global knob
1d1 ByteSub Command
001 Byte
KK1 ByteKnob number (Page * 3 + Page column) * 8 + knob
Assign global knob
1c 1 Byte Sub command
04 BitsUnknown
L2 BitsLocation
02 BitsUnknown
MM 1 Bytes Module
PP 1 Byte Parameter
001 ByteUnknown
KK1 ByteKnob number (Page * 3 + Page column) * 8 + knob
Select global page
1e1 ByteSub command
PP1 BytePage
CRC 2 Bytes Checksum


Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok
CRC 2 Bytes Checksun



Copy Variation

Updated  16-11-2011


Example

Copy variation from 0 to 1
00 0a 01 28 00 44 00 01 9e 75 
Response
62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00 

Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 08 + slot
VV 1 Byte Patch version counter
441 ByteCopy variation
001 ByteFrom variation
01 1 Byte To Variation
CRC 2 Bytes Checksum


Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok
CRC 2 Bytes Checksun




Change splitter bar FX/VA

Example

00 19 01 28 00 21 00 0f 00 00 00 00 00 00 00 00 40 XX 5f d0 00 00 00 e3 12

Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 3 - Expects no response
8 1 Nibble Command 08 + slot
VV 1 Byte Patch version counter
...
X Byte Patch description chunk
CRC 2 Bytes Checksum

Response

..



Upload patch to slot

Example

Send message
000000 - 05 5B 01 28 53 37 00 00 00 46 4D 20 30 31 00 21  .[.(S7...FM 01.!
000010 - 00 0F 00 00 00 00 00 00 00 00 82 BF 5F C0 00 00  ..........‚_..
000020 - 00 4A 00 3A 42 41 00 40 2C 00 40 00 70 20 00 80  .J.:BA.@,.@.p .€
000030 - 00 00 1C 0C 00 70 00 00 C1 06 00 44 02 00 06 82  .....p....D...‚
...
000530 - 74 43 68 6F 72 75 73 31 00 08 4C 66 6F 41 31 00  tChorus1..LfoA1.
000540 - 0C 45 6E 76 41 44 53 52 32 00 0E 4F 73 63 42 33  .EnvADSR2..OscB3
000550 - 00 5A 00 02 3F 00 6F 00 00 52 72                 .Z..?.o..Rr
Interrupt message
000000 - 82 01 08 40 36 00 01 4E 35 00 00 00 00 00 00 00  ‚..@6..N5.......


Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
53 1 Byte
37 1 Byte Sub command
3 Bytes Zeros
Clavia string Patch name
X Bytes Patch data
CRC 2 Bytes Checksum


Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
0c 1 Byte Response to command CMD_SYS
40 1 Bytes
36 1 Byte
SS 1 Bytes Slot
VV
1 Bye Version
CRC 2 Bytes Checksun


This response is the same as in the Get Patch/Perf version counter messages.



Select variation

Example

Send message
000000 - 00 09 01 28 01 6A 01 DB 2C                       ...(.j.,
Interrupt message
000000 - 62 01 08 01 7F 63 5C 00 00 00 00 00 00 00 00 00  b...c\.........


Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
8 1 Nibble Command 8 + Slot
VV 1 Byte Patch version counter
6a 1 Byte Sub command
VA 1 Byte Variation
CRC 2 Bytes Checksum

Respons

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok?
CRC 2 Bytes Checksun




Play note on virtual keyboard

Example

Send message
000000 - 00 0B 01 21 2C 41 56 01 20 A8 43                 ...!,AV. C
Interrupt message
000000 - 62 01 09 00 7F 67 5D 00 00 00 00 00 00 00 00 00  b...g].........

Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
c 1 Nibble Command CMD_SYS
41 1 Byte
56 1 Byte Sub command
OO 1 Bytes Note on/off
NN 1 Bytes Note
CRC 2 Bytes Checksum

Response

Value Size Remark
L 1 Nibble Embedded message length
T 1 Nibble Message type 1 - extended, 2 - embedded
R 1 Byte 01 - Response
08 1 Byte Response to command  08 + Slot
VV 1 Bytes Patch version counter
7f 1 Byte Ok?
CRC 2 Bytes Checksun



Change mode

Example

Send message
000000 - 00 0A 01 2C 41 3E 00 00 00 B3                    ...,A>...
Interrupt message
000000 - 01 00 13 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
Extended message
000000 - 01 0C 40 1F 00 36 00 04 36 01 03 36 02 03 36 03  ..@..6..6..6..6.
000010 - 03 57 01                                         .W.


Message

Value Size Remark
SS SS 2 Byte Size message
01 1 Byte

R
1 Nibble 2 - Expects response
c 1 Nibble Command CMD_SYS
41 1 Byte
3e 1 Byte Sub command
MM 1 Bytes Mode 0-perf, 1-patch
00 1 Bytes unknown
CRC 2 Bytes Checksum

Response

Value Size Remark
01 1 Byte
0c 1 Byte Response to command CMD_SYS
VV 1 Byte Patch version counter
40 1 Byte Sub command -1
1F 1 Byte
00 1 Byte
36 1 Byte
00 1 Byte Slot A
VV 1 Byte Patch version slot A
36 1 Byte
01 1 Byte Slot B
VV 1 Byte Patch version slot B
36 1 Byte
02 1 Byte Slot C
VV 1 Byte Patch version slot C
36 1 Byte
03 1 Byte Slot D
VV 1 Byte Patch version slot D
CRC 2 Bytes Checksun

For each slot the version counters.





Other messages will follow....



Messages from G2 to Host

The G2 sends messages to the host on it's on initiative, when tthis is enabled by the host with message Start communication to host.



Resources used messages

When something in a patch is changed, for example a module added or a cable deleted and so on, the G2 sends the updated resources in use table for each slot.

This is the same message that is received in response to the Resources in use message in the start up sequence.

Example

01 00 00 72 01 00 0d 00 07 02 00 00 00 04 00 02 00 0d 00 00 00 01 00 07 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 57 54  
01 01 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 28
01 02 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c d8
01 03 00 72 01 00 17 00 00 00 00 00 00 03 00 03 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 c7



Volume indicator data

When there are modules with a volume indicator in a particular slot, the G2 sends the following kind of messages:

01 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 b1

01 03 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a b0

In this case there's a patch in slot A and D and slot B anc C are empty;

It seems that in this message two bytes are reserved for each volume indicator and the position in the message corresponds to a particular module. I don't know yet how this position relates to the module id.

When a noise is connected to the an input of a Mix4b module the message changes in

01 00 00 3a 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ea 22


then when de mix is connected to a 2Out the message chages in

01 00 00 3a 00 06 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 91 11


When the volume knob on the mix module is opened up, these change in:

01 00 00 3a 00 07 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 52 be


And closing the volume controle:

01 00 00 3a 00 02 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 af ce



Appendix : Sequence of messages when making a patch


Another almost complete sequence of messages, i only left out some of the volume indicator data messages.

2Out, Mix4B, FltClassic, Noise

Example patch 1

Connect Mix4b Out to Modulation input FltClassic
Connect Noise to Mix4B in => so fltclassic and mix4b should be uprated in one go.

Add module 2-out:
>G2 00 5b 01 28 00 30 04 01 01 01 10 00 00 01 32 2d 4f 75 74 31 00 52 00 03 40 00 00 4d 00 29 40 42 80 41 80 00 02 00 04 00 10 00 40 00 80 03 00 04 00 20 00 20 01 40 01 00 0c 00 08 00 70 00 40 04 00 02 00 24 00 10 00 5b 00 02 40 00 5a 00 0a 40 01 01 32 2d 4f 75 74 31 00 aa e8
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Here we receive the resources used table
G2> 01 00 00 72 01 00 17 00 00 00 00 00 00 03 00 03 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fd 37
G2> 01 01 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 28
G2> 01 02 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c d8
G2> 01 03 00 72 01 00 17 00 00 00 00 00 00 03 00 03 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 c7
The unknown message 70
>G2 00 08 01 28 00 70 27 44
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Select module in G2
>G2 00 0c 01 38 00 2f 00 01 01 00 e4 bf
The unknown messages 70 for the other slots
>G2 00 08 01 29 00 70 10 74
G2> 62 01 09 00 7f 67 5d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2a 00 70 49 24
G2> 62 01 0a 00 7f 3e 0d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2b 00 70 7e 14
G2> 62 01 0b 00 7f 09 3d 00 00 00 00 00 00 00 00 00
Add module FltClassic
>G2 00 7f 01 28 00 30 5c 01 02 01 0b 00 00 00 46 6c 74 43 6c 61 73 73 69 63 31 00 52 00 03 40 00 00 4d 00 43 40 42 80 83 00 4b 00 00 00 20 20 32 c0 00 00 08 08 14 b0 00 00 02 02 07 2c 00 00 00 80 82 4b 00 00 00 20 20 b2 c0 00 00 08 08 34 b0 00 00 02 02 0f 2c 00 00 00 80 84 4b 00 00 00 20 21 32 c0 00 00 08 08 5b 00 02 40 00 5a 00 0f 40 01 02 46 6c 74 43 6c 61 73 73 69 63 31 00 0e 1c
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
The resources used table
G2> 01 00 00 72 01 00 39 00 1a 06 00 00 00 09 00 07 00 38 00 02 00 04 00 1a 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4e 77
G2> 01 01 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 28
G2> 01 02 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c d8
G2> 01 03 00 72 01 00 17 00 00 00 00 00 00 03 00 03 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 c7
The unknown message 70
>G2 00 08 01 28 00 70 27 44
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Select module in G2
>G2 00 0c 01 38 00 2f 00 01 02 00 b1 ec
The unknown messages 70 for the other slots
>G2 00 08 01 29 00 70 10 74
G2> 62 01 09 00 7f 67 5d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2a 00 70 49 24
G2> 62 01 0a 00 7f 3e 0d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2b 00 70 7e 14
G2> 62 01 0b 00 7f 09 3d 00 00 00 00 00 00 00 00 00
Add the Mix4B module
>G2 00 70 01 28 00 30 13 01 03 00 0d 00 00 00 4d 69 78 34 2d 31 42 31 00 52 00 03 40 00 00 4d 00 3a 40 42 80 c2 80 64 c9 93 20 00 1c 99 32 64 00 05 93 26 4c 80 00 f2 64 c9 90 00 26 4c 99 32 00 05 c9 93 26 40 00 d9 32 64 c8 00 1f 26 4c 99 00 04 64 c9 93 20 00 9c 99 32 64 00 5b 00 02 40 00 5a 00 0c 40 01 03 4d 69 78 34 2d 31 42 31 00 38 4a
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
The resources used table
G2> 01 00 00 72 01 00 39 00 21 07 00 00 00 09 00 07 00 38 00 02 00 05 00 21 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 66 9a
G2> 01 01 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 28
G2> 01 02 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c d8
G2> 01 03 00 72 01 00 17 00 00 00 00 00 00 03 00 03 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 c7
The unknown message 70
>G2 00 08 01 28 00 70 27 44
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Select module in G2
>G2 00 0c 01 38 00 2f 00 01 03 00 82 dd
The unknown messages 70 for the other slots
>G2 00 08 01 29 00 70 10 74
G2> 62 01 09 00 7f 67 5d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2a 00 70 49 24
G2> 62 01 0a 00 7f 3e 0d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2b 00 70 7e 14
G2> 62 01 0b 00 7f 09 3d 00 00 00 00 00 00 00 00 00
Add Cable from FilClassic output to 2Out left
>G2 00 0d 01 28 00 50 18 02 40 01 00 3b 86
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
 Request resources used
>G2 00 09 01 28 00 71 01 33 95
G2> 01 08 00 72 01 00 39 00 21 07 00 00 00 09 00 07 00 38 00 02 00 05 00 21 00 00 00 00 00 00 00 00 4e c8
The unkown message 70
>G2 00 08 01 28 00 70 27 44
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Add Cable from Mix4B Out to FilClassic Modulation input
>G2 00 0d 01 28 00 50 19 03 40 02 01 a2 11
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
The resources used table
G2> 01 00 00 72 01 00 39 00 35 07 00 00 00 09 00 07 00 38 00 03 00 0a 00 34 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 83 20
G2> 01 01 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 28
G2> 01 02 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c d8
G2> 01 03 00 72 01 00 17 00 00 00 00 00 00 03 00 03 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 c7
The unknown messages 70
>G2 00 08 01 28 00 70 27 44
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 29 00 70 10 74
G2> 62 01 09 00 7f 67 5d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2a 00 70 49 24
G2> 62 01 0a 00 7f 3e 0d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2b 00 70 7e 14
G2> 62 01 0b 00 7f 09 3d 00 00 00 00 00 00 00 00 00
Add the Noise module
>G2 00 52 01 28 00 30 1f 01 04 00 07 00 00 00 4e 6f 69 73 65 31 00 52 00 03 40 00 00 4d 00 20 40 42 81 01 00 00 02 02 00 08 10 00 20 60 00 82 00 02 0a 00 08 30 00 20 e0 00 84 00 02 12 00 08 5b 00 02 40 00 5a 00 0a 72 01 04 4e 6f 69 73 65 31 00 96 17
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
The resources used table
G2> 01 00 00 72 01 00 46 00 35 08 00 00 00 0d 00 09 00 45 00 03 00 0a 00 34 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 83
G2> 01 01 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 28
G2> 01 02 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c d8
G2> 01 03 00 72 01 00 17 00 00 00 00 00 00 03 00 03 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 c7
The unknown message 70
>G2 00 08 01 28 00 70 27 44
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Select the module in G2
>G2 00 0c 01 38 00 2f 00 01 04 00 1b 4a
The unknown messages 70 for the other slots
>G2 00 08 01 29 00 70 10 74
G2> 62 01 09 00 7f 67 5d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2a 00 70 49 24
G2> 62 01 0a 00 7f 3e 0d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2b 00 70 7e 14
G2> 62 01 0b 00 7f 09 3d 00 00 00 00 00 00 00 00 00
Add Cable Noise (Id 4) to Mix4b (Id 3)
>G2 00 1b 01 28 00 50 18 04 40 03 03 2a 01 03 01 54 08 02 01 03 40 2a 01 02 01 28 df => Here we get the extra params 2a 01 03 01 54 08 02 01 03 40 2a 01 02 01, but we als get the params 54 08 02 01 03 40!
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
The resources used table
G2> 01 00 00 72 01 00 7e 00 00 08 00 00 00 11 00 14 00 7c 00 00 00 00 00 00 00 00 00 00 00 00 00 01 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a4 5f
G2> 01 01 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 28
G2> 01 02 00 72 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2c d8
G2> 01 03 00 72 01 00 17 00 00 00 00 00 00 03 00 03 00 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 c7
Volume indicator data
G2> 01 00 00 3a 00 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5f fb
G2> 01 03 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a b0
The unknown messages 70
>G2 00 08 01 28 00 70 27 44
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 29 00 70 10 74
G2> 62 01 09 00 7f 67 5d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2a 00 70 49 24
G2> 62 01 0a 00 7f 3e 0d 00 00 00 00 00 00 00 00 00
>G2 00 08 01 2b 00 70 7e 14
G2> 62 01 0b 00 7f 09 3d 00 00 00 00 00 00 00 00 00
Add Cable Noise to filter audio input
>G2 00 0d 01 28 00 50 18 04 40 02 00 49 4c
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Volume indicator data
G2> 01 00 00 3a 00 04 00 00 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 06
Request resources used
>G> 00 09 01 28 00 71 01 33 95
G2> 01 08 00 72 01 00 7e 00 00 08 00 00 00 11 00 14 00 7c 00 00 00 00 00 00 00 00 00 00 00 00 00 01 53 82
The unknown messages 70
>G2 00 08 01 28 00 70 27 44
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Add Cable 2Out left to 2Out right
>G2 00 0d 01 28 00 50 18 01 00 01 01 ad d6
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Volume indicator data
Volume indicator data received
G2> 01 00 00 3a 00 04 00 04 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Request resources used
>G2 00 09 01 28 00 71 01 33 95
G2> 01 08 00 72 01 00 7e 00 00 08 00 00 00 11 00 14 00 7c 00 00 00 00 00 00 00 00 00 00 00 00 00 01 53 82
The unknown messages 70
>G2 00 08 01 28 00 70 27 44
G2> 62 01 08 00 7f 50 6d 00 00 00 00 00 00 00 00 00
Volume indicator data
G2> 01 00 00 3a 00 04 00 04 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
G2> 01 00 00 3a 00 04 00 04 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
G2> 01 00 00 3a 00 05 00 05 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
etc.