Model 8-462 ver. 2.00 SYSTEM EXCLUSIVE KOMUNIKACE 2012 CHD Elektroservis 7
Obsah strana 1. System Exclusive komunikace............................. 3 2. Struktura SysEx Messages............................... 3 3. Typy příkazů...................................... 3 4. Příkaz "Bulk Dump Data Request"........................... 4 4.1. Dotaz na systémové parametry............................. 4 4.2. Dotaz na parametry výstupů.............................. 4 5. Příkaz "Bulk Dump Data Save / Load"......................... 4 5.1. Výpis systémových parametrů............................. 5 5.2. Výpis parametrů výstupů................................ 5 6. Příkaz "Change System Parameter".......................... 6 7. Příkaz "Display"..................................... 6 7.1. Zobrazení vlastních dat "Show Data".......................... 7 7.2. Zrušení vlastního zobrazení "Cancel".......................... 7 8. Příkaz "Service"..................................... 7 Výrobce : CHD Elektroservis Nad kundratkou 27, 19000 Praha 9 Czech Republic info@chd-el.cz www.chd-el.cz 2
1. SYSTEM EXCLUSIVE KOMUNIKACE MXC-56 disponuje systémem System Exclusive komunikace umožňujícím přijímat a vysílat SysEx Messages, pomocí nichž je možno dálkově nastavovat všechny parametry zařízení (příkazy Data Load). Lze též zpětně provádět výpisy aktuálních hodnot parametrů (příkazy Data Request / Data Save) a jejich následnou archivaci např. v PC. Prostřednictvím SysEx Msg lze též ovládat displej MXC-56 je možné zobrazit vlastní text. Pro zjednodušení práce při vytváření System Exclusive Messages pro řízení Mxc-56 je na doprovodném CD-ROM k dispozici soubor softwarových generátorů těchto zpráv pracující na základě Java skriptů. S jeho pomocí lze vytvořit kteroukoliv z dále popsaných SysEx Messages. 2. STRUKTURA SYSEX MESSAGES Struktura SysEx Msg je vždy následující : F0h Start SysEx 00h 20h 21h Manufacturer ID ii Device ID (00h až 0Fh odpovídá číslu zvoleného MIDI kanálu, nebo univerzální 7Fh) 15h Model ID (platné jen pro MXC-56 ver. 2.x) cc Command (typ příkazu) aa Address (adresa paměťového prostoru) dd...dd Data (data parametrů) xx Checksum (sedmibitový kontrolní součet bytů Model ID až Checksum) F7h End SysEx Délka datového bloku "dd dd" je proměnná podle typu SysEx Msg, počet databytů v bloku může být 0 (SysEx Msg typu Data Request neobsahují žádný databyte), 1,2,4,8 nebo 16 byte (pro SysEx Msg typu"data Save / Load" a "Change System Parameter"). Kontrolní součet "xx" je vytvořen standardním způsobem - sedmibitový součet bytů SysEx Msg od "Model ID" až po "Checksum" včetně musí být roven nule. Není-li tato podmínka splněna, je SysEx Msg neplatná a je zařízením ignorována. 3. TYPY PŘÍKAZŮ Obr. 1 - Princip System Exclusive komunikace Příkaz (Command) "cc" určuje typ činnosti MXC-56 po přijetí celé SysEx Msg. Další upřesnění činnosti zařízení je pak dáno hodnotou byte "Address" - viz dále. Platné hodnoty "cc" jsou : 3
"cc" = 10h - Bulk Dump Data Request - dotaz na obsah paměťové banky "cc" = 20h - Bulk Dump Data Save / Load - odpověď na "Data Reguest" / změna paměťové banky "cc" = 30h - Change System Parameter dočasná změna hodnoty jednoho systémového parametru "cc" = 40h - Display zobrazení vlastních znaků na displeji "cc" = 50h - Service servisní a testovací procedury 4. PŘÍKAZ "BULK DUMP DATA REQUEST" Formát : F0 00 20 21 ii 15 10 aa xx F7 [hex] (kde ii = Device ID, aa = Address, xx = Checksum) Pomocí příkazu "Bulk Dump Data Request" ("cc"=10h) lze zjišťovat aktuální hodnoty parametrů v interní paměti MXC-56. Paměťový prostor určuje adresa (Address) "aa". Povolený rozsah adresy "aa" je 00h až 38h. Databyte "dd" není v tomto typu SysEx Msg vůbec používán. Bezprostředně po přijetí této SysEx Msg odpoví MXC-56 zprávou "Data Save / Load", ve které předá hodnoty požadovaných parametrů (viz [4], [5] na obr. 1). 4.1. DOTAZ NA SYSTÉMOVÉ PARAMETRY Formát : F0 00 20 21 ii 15 10 38 xx F7 [hex] (kde ii = Device ID, xx = Checksum) Je-li adresa (Address) "aa" = 38h, jedná se o dotaz na hodnoty systémových parametrů. Bezprostředně po přijetí platné SysEx Msg "Bulk Dump Data Request" odpoví MXC-56 zprávou "Bulk Dump Data Save / Load", ve které předá aktuální hodnoty systémových parametrů (viz [4] na obr. 1). 4.2. DOTAZ NA PARAMETRY VÝSTUPŮ Formát : F0 00 20 21 ii 15 10 aa xx F7 [hex] (kde ii = Device ID, aa = Address, xx = Checksum) Je-li adresa (Address) "aa" = 00h až 37h, jedná se o dotaz na hodnoty parametrů některého z výstupů. Adresa (Address) "aa" pak určuje číslo výstupu. Pro "aa" = 00h to je výstup 1, pro "aa" = 01h to je výstup 2 atd., až pro "aa" = 37h to je výstup 56. Bezprostředně po přijetí platné SysEx Msg " Bulk Dump Data Request" odpoví MCX-56 zprávou "Bulk Dump Data Save / Load", ve které předá aktuální hodnoty parametrů požadovaného výstupu (viz [5] na obr. 1). 5. PŘÍKAZ "BULK DUMP DATA SAVE / LOAD" Formát : F0 00 20 21 ii 15 20 aa dd dd xx F7 [hex] (kde ii = Device ID, aa = Address, dd dd = datablok, xx = Checksum) Vysláním příkazu "Bul Dump Data Save / Load" ("cc" = 20h) do MXC-56 lze měnit aktuální hodnoty systémových parametrů nebo parametrů některého z výstupů (podle adresy "aa", viz [2], [3] na obr. 1) nebo je tato SysEx Msg vysílána z MXC-56 jako odpověď na dotaz "Bulk Dump Data Request" (viz [4], [5] na obr. 1). Povolený rozsah adresy "aa" je 00h až 38h. V databloku dd dd se vždy přenáší hodnoty všech systémových parametrů nebo všech parametrů jednoho výstupu. 4
5.1. VÝPIS SYSTÉMOVÝCH PARAMETRŮ Formát : F0 00 20 21 ii 15 20 38 d1 d2 d3 d4 d5 d6 d7 d8 xx F7 [hex] (kde ii = Device ID, "dx" = databyte, xx = Checksum) Je-li adresa (Address)"aa" = 38h, obsahuje zpráva hodnoty všech systémových parametrů. Hodnoty parametrů jsou dány osmi datovými byty d1 d8 : d1 + d2 parametr DMX Shift Databyty obsahují sedmibitově kódovanou hodnotu parametru (d1 je LSB, d2 je MSB). Povolený rozsah hodnot je 01h (LSB) / 00h (MSB) až 49h (LSB) / 03h (MSB). d3 parametr MIDI Channel Hodnota databyte může být pouze v rozsahu 00h až 0Fh, to odpovídá rozsahu hodnot parametru 1 až 16. d4 parametr MIDI Mode Hodnota databyte může být pouze 00h nebo 01h. Hodnota 00h odpovídá nastavení parametru na Note, hodnota 01h odpovídá nastavení parametru na Controller. d5 parametr MIDI Shift" Databyte obsahuje přímo hodnotu parametru. Povolený rozsah hodnot je 00h až 48h. d6 parametr Master CC Nr." Databyte obsahuje přímo hodnotu parametru, tj.00h až 7Fh. d7 parametr Blackout CC Nr." Databyte obsahuje přímo hodnotu parametru, tj.00h až 7Fh. d8 parametr LCD Contrast Databyte obsahuje přímo hodnotu parametru, tj.00h až 20h. 5.2. VÝPIS / ZMĚNA PARAMETRŮ VÝSTUPU Formát : F0 00 20 21 ii 15 20 aa d1 d2 d3 d4 xx F7 [hex] (kde ii = Device ID, "aa" = Address, "dx" = databyte, xx = Checksum) Je-li adresa (Address) "aa" = 00h až 37h, obsahuje zpráva hodnoty všech parametrů výstupu specifikovaného adresou "aa": pro "aa" = 00h to je výstup 1, pro "aa" = 01h to je výstup 2 atd., až pro "aa" = 37h to je výstup 56. Hodnoty parametrů jsou dány čtyřmi datovými byty d1 d4 : d1 parametr Default Value Databyte obsahuje přímo hodnotu parametru, tj.00h až 7Fh. d2 parametry: Conversion Curve, Accept Master a Accept Blackout Tento databyte je organizován bitově. Má tvar: "0mbccccc" [bin]. Pět nejnižších bitů ("ccccc") obsahuje hodnotu parametru Conversion Curve : 00000 [bin] = 00h lineární převod 00001 [bin] = 01h dvoustavový převod (0/1) 00010 [bin] = 02h až 00111 [bin] = 07h logaritmická křivka 1 až 6 01000 [bin] = 08h až 01101 [bin] = 0Dh exponenciální křivka 1 až 6 01110 [bin] = 0Eh až 10010 [bin] = 12h křivka S 1 až 5 10011 [bin] = 13h až 10111 [bin] = 17h křivka Z 1 až 5 Bit "b" určuje hodnotu parametru Accept Blackout : "b"=0 znamená Off, "b"=1 znamená On Bit "m" určuje hodnotu parametru Accept Master : "m"=0 znamená Off, "m"=1 znamená On Na pozici nejvýznamnějšího bitu musí být vždy nula 5
d3 parametr Preheat Databyte obsahuje přímo hodnotu parametru, tj.00h až 7Fh. d4 parametr Limit Hodnota databyte v rozsahu 00h až 7Fh odpovídá hodnotě parametru 255 až 128. Matematický vztah pro výpočet hodnoty databyte je: d4 = 255 - (parametr) 6. PŘÍKAZ "CHANGE SYSTEM PARAMETER" Formát : F0 00 20 21 ii 15 30 aa dd dd xx F7 [hex] (kde ii = Device ID, "aa" = Address, "dd dd" = datablok, xx = Checksum) Vysláním příkazu "Change System Parameter" ("cc" = 30h) do MXC-56 lze změnit zaktuální hodnotu jednoho systémového parametru (podle adresy "aa", viz [1] na obr. 1). Nově zadaná hodnota parametru se v tomto případě neukládá do trvalé paměti a zařízení s ní pracuje pouze dočasně - do vypnutí zařízení nebo do okamžiku provedení funkce Reset. Povolený rozsah adresy "aa" je 00h až 06h. Datablok dd dd obsahuje dva byte (pro parametr DMX Shift ) nebo jeden byte (pro všechny ostatní parametry). Pro hodnoty parametrů platí totéž, co je uvedeno v kapitole 5.1. aa = 00h parametr DMX Shift Dva databyty v bloku dd dd obsahují sedmibitově kódovanou hodnotu parametru (v pořadí LSB / MSB). Povolený rozsah hodnot je 01h (LSB) / 00h (MSB) až 49h (LSB) / 03h (MSB). aa = 01h parametr MIDI Channel Jediný databyte dd obsahuje hodnotu parametru. Povolený rozsah hodnoty je 00h až 0Fh. aa = 02h parametr MIDI Mode Jediný databyte dd obsahuje hodnotu parametru. Povolený rozsah hodnoty je 00h až 01h. aa = 03h parametr MIDI Shift Jediný databyte dd obsahuje hodnotu parametru. Povolený rozsah hodnoty je 00h až 48h. aa = 04h parametr Master CC Nr. Jediný databyte dd obsahuje hodnotu parametru. Povolený rozsah hodnoty je 00h až 7Fh. aa = 05h parametr Blackout CC Nr. Jediný databyte dd obsahuje hodnotu parametru. Povolený rozsah hodnoty je 00h až 7Fh. aa = 06h parametr LCD Contrast Jediný databyte dd obsahuje hodnotu parametru. Povolený rozsah hodnoty je 00h až 20h. 7. PŘÍKAZ "DISPLAY" Formát : F0 00 20 21 ii 15 40 aa dd dd xx F7 [hex] (kde ii = Device ID, "aa" = Address, "dd dd" = datablok, xx = Checksum) Vysláním příkazu "Display" ("cc" = 40h) do MXC-56 lze změnit zobrazení na displeji zařízení podle adresy "aa" (viz [6] na obr. 1). Povolený rozsah adresy "aa" je 00h až 01h. Datablok dd dd obsahuje žádný nebo šestnáct byte. Tyto SysEx Messages jsou zařízením akceptovány pouze pokud MXC-56 pracuje v normálním pracovním režimu 6
7.1. ZOBRAZENÍ VLASTNÍCH DAT "SHOW DATA" Formát : F0 00 20 21 ii 15 40 01 dd dd xx F7 [hex] (kde ii = Device ID, "dd dd" = datablok, xx = Checksum) Je-li adresa (Address) "aa" = 01h, jedná se o povel k zobrazení vlastních dat na displeji. Datablok dd dd vždy obsahuje 16 databyte, které určují znaky na jednotlivých pozicích displeje. Pořadí je horní řádek zleva doprava (8 databyte) a pak dolní řádek zleva doprava (8 databyte). Všechny hodnoty musí být v platném rozsahu (tj. 20h až 7Dh - viz tabulku 3). Hodnoty mimo povolený rozsah jsou automaticky upraveny ne nejbližší možné platné. Tabulka 1 Znaky pro displej (ASCII) Data Znak Data Znak Data Znak Data Znak Data Znak Data Znak 20h space 30h 0 40h @ 50h P 20h 70h p 21h! 31h 1 41h A 51h Q 61h a 71h q 22h 32h 2 42h B 52h R 62h b 72h r 23h # 33h 3 43h C 53h S 63h c 73h s 24h $ 34h 4 44h D 54h T 64h d 74h t 25h % 35h 5 45h E 55h U 65h e 75h u 26h & 36h 6 46h F 56h V 66h f 76h v 27h 37h 7 47h G 57h W 67h g 77h w 28h ( 38h 8 48h H 58h X 68h h 78h x 29h ) 39h 9 49h I 59h Y 69h i 79h y 2Ah * 3Ah : 4Ah J 5Ah Z 6Ah j 7Ah z 2Bh + 3Bh ; 4Bh K 5Bh [ 6Bh k 7Bh { 2Ch, 3Ch = 4Ch L 5Ch \ 6Ch l 7Ch 2Dh - 3Dh < 4Dh M 5Dh ] 6Dh m 7Dh } 2Eh. 3Eh > 4Eh N 5Eh ^ 6Eh n 2Fh / 3Fh? 4Fh O 5Fh _ 6Fh o Pozor Zápis dat na displej je možný pouze pokud je MXC-56 v normálním pracovním módu. V ostatních případech je povel "Display" ignorován. 7.2. ZRUŠENÍ VLASTNÍHO ZOBRAZENÍ "CANCEL" Formát : F0 00 20 21 ii 15 40 00 xx F7 [hex] (kde ii = Device ID, xx = Checksum) Je-li adresa (Address) "aa" = 00h, jedná se o povel ke zrušení zobrazení vlastních dat na displeji. Databyte "dd" není v tomto typu SysEx Msg vůbec používán. Ihned po příjmu SysEx zprávy je zrušeno zobrazení vlastních dat a na displej zařízení se vrací normální zobrazení provozních stavů MXC-56. 8. PŘÍKAZ "SERVICE" Formát : F0 00 20 21 ii 15 50 aa dd xx F7 [hex] (kde ii = Device ID, "aa" = Address, "dd" = databyte, xx = Checksum) SysEx Messages tohoto typu jsou určeny pro testy a servis zařízení, jejich použití v normálním provozu se nepředpokládá. 7
7