Entrons dans le vif du sujet: le détail du protocole!
Comme annoncé dans mon article précédent, le controleur et le DAW (STAN en français) dialoguent entre eux via MIDI, et plus particulièrement via des messages de controle MIDI ou des SysEx.
Si les données transmises ou reçues font plus que 3 bytes, alors le protocole utlisera des SysEx, sinon des messages MIDI «standards» seront utilisés.
Tout les bytes transmis sont noté en utilisant le format Hexadécimal (0xF0, 0x6C par exemple). Toutes les infos que je présente ici sont dispo en anglais, et peut-être un peu moins détaillée dans le Manuel LogicControl
Les messages SysEx
Ceux-ci commencent par un 0xF0 indiquant un début de trame.
La trame commence par un header de 5 bytes comme par exemple F0 00 00 66 00 :
- F0 : début de la trame SysEx,
- 00 00 66 : id du fabricant (mackie)
- 00 : id du produit (je suppose)
Dans la suite de cet article, je simplifierai ce header en <hdr>
Afficher des données sur l’écran LCD
- Tous les messages concernant le LCD commencent par le <hdr> suivi du byte 0x12.
- Le byte suivant détermine la position à laquelle le message devra être affiché.
- Le texte du message arrive ensuite (généralement 6 caractères)
- Enfin, le message SysEx termine avec le byte 0xF7.
La surface MCU possède 8 pistes à controler et un écran LCD sur lequel il est possible d’afficher 2 lignes de 56 caractères. Un rapide calcul nous permet de determiner que chaque piste nous permettra d’afficher 7 caractères.
Chaque position de caractère est identifié par une valeur Hexa:
- allant de 0x00 à 0x37 (soit 56 valeurs) pour la première ligne,
- et de 0x38 à 0x6F pour la seconde ligne.
Soit une représentation:

Prenons l’exemple d’un SysEx:
F0 00 00 66 00 12 38 ***4C 35 30 52 35 30 20*** FC <hdr> | \_position \_end of SysEx LCD message
- 5 chars : F0 00 00 66 00 qui correspond à l’identifiant du device,
- 12 : qui indique le début du message LCD
- Puis : 38 4C 35 31 52 34 39 20 8
- Donc: à partir de l’offset 38 (2e ligne, 1er caractère) on doit donc afficher :
SysEx | 4C | 35 | 31 | 52 | 34 | 39 | 20 |
Affiche | L | 5 | 1 | R | 4 | 9 | (espace) |
Si vous suivez jusque là, on a donc un affichage de Panoramique (PAN) sur la 2e ligne, 1er afficheur : L51 R49 (j’ai du me rater dans le DAW pour faire un PAN pareil )
La suite la prochaine fois avec un peu de mise en pratique! 😀