The host device acts as a slave and has address 1, all clients are I2C masters
Initialization
When a client powers on, it repeatedly (until it receives an answer) sends a message to the host, consisting of
The host then allocates a continuous block of nc
controls for the device and responds with
The device then enables the next device, either by pulling its RESET line high or enabling VCC
MIDI messages are constructed by the clients and sent as-is. The host will buffer them until it has received the STOP, then forward them over USB. As all MIDI commands start with a set bit, this is an easy way to separate management and MIDI messages.
A preliminary command table, with each length including the command byte
Request | Length | Response | Length | Description |
0b00000000 | 2 | 0b00000001 | 3 | Initialization |
0b1xxxxxxx | According to the MIDI spec | None | 0 | MIDI message |