
Minden mező kitöltése kötelező!
DMX érdekességek - szoftverfejlesztő szemmel
DMX érdekességekDátum: 2009. május 4. 10:29, hétfő - nysoft
A fénytechnikában kicsit is járatosak tudják, hallottak róla, mi is az a DMX jel, mire való. A neten rákeresve számos magyar nyelvű leírás is megtalálható. Nem is erről – kialakulásáról, elterjedéséről, magáról a protokollról – szeretnék beszélni, hanem néhány érdekességet osztanák meg.
A fénytechnikában kicsit is járatosak tudják, hallottak róla, mi is az a DMX jel, mire való. A neten rákeresve számos magyar nyelvű leírás is megtalálható, többek között az XLR magazin elődjében, a Diszkrónikában is jelent meg erről írás több ízben. Nem is erről – kialakulásáról, elterjedéséről, magáról a protokollról – szeretnék beszélni, hanem néhány érdekességet osztanák meg.
A DMX, mint adatátviteli szabvány megjelenésekor a kor követelményeihez képest is előremutató dolognak számított, bár eredetileg dimmer csatornák vezérléséhez találták ki, később egyéb feladatokra is használták. Felépítésében tág határokat hagy a fejlesztőknek, ugyanakkor az évek során több módosításon átesett, és több paraméterét is megváltoztatták. Az idő előre haladtával egyre több gyártó jelent DMX adó- vagy fogadó berendezéssel, és bizony nem mindenki tartja maradéktalanul be a szabványokat. Másik érdekesség, hogy azok között a - akár nagynevű - cégek között is furcsa megoldást találhatunk, akik ugyan a szabvány határait figyelembe vették, de azon belül nem tűnnek következetesnek. Mindezek összesen érdekes kihívás elé állítják azokat a fejlesztőket, akik DMX adó-, vagy vevő berendezéshez állnak neki a szoftveres megvalósításhoz.
Adó oldalról megközelítve olyan DMX jelet kell előállítani, amely minden típusú vevőberendezés számára értelmezhető. Vevő oldalról fel kell készülni a változó paraméterű DMX jel fogadására, beleértve a hibakezelés megvalósítását.
A DMX jel ismétlődő csomagokat tartalmaz. Minden egyes elemére a szabvány előír minimális és maximális időket, mennyiségeket. Például a csomagoknak minimálisan 24 byte információt kell tartalmazni a kötelező START byte-on kívül, és maximálisan 512-őt.
Elvileg úgy nézne ki egy DMX adó, hogy a szabvány által megengedhető legkisebb időzítő értékekkel dolgozzunk, a vevő pedig a lehető legnagyobb időket figyelembe véve is képes legyen dolgozni. Mindez azonban csak elmélet, a gyakorlatban ez nem igazán alkalmazható.
Ebben a táblázatban három komolyabb kategóriájú fényvezérlő pult DMX paraméterei olvashatók. Meglepő, hogy milyen szélsőséges értékek jöttek ki, és még egy pulton belül is a DMX csomag paraméterei mekkora szórást mutatnak. A méréseket Goddard Design teszterével végeztem, és 60 másodperces intervallumot vizsgáltam.
|
|
minimum |
pillanatnyi |
maximum |
|
SGM Regia 2048 Opera |
|
|
|
|
Refresh rate |
40 Hz |
40 Hz |
41 Hz |
|
Break To Break |
24,9 ms |
|
25 ms |
|
MAB |
52 us |
53 us |
56 us |
|
Break |
352 us |
352 us |
352 us |
|
Grand MA Lighting |
|
|
|
|
Refresh rate |
30 Hz |
30 Hz |
31 Hz |
|
Break To Break |
32,9 ms |
|
33,8 ms |
|
MAB |
123 us |
165 us |
336 us |
|
Break |
104 us |
122 us |
171 us |
|
COMPULITE SPARK 4D |
|
|
|
|
Refresh rate |
18 Hz |
18 Hz |
19 Hz |
|
Break To Break |
54,0 ms |
|
55,4 ms |
|
MAB |
27,9 ms (!) |
28,1 ms |
28,5 ms (!) |
|
Break |
104 us |
105 us |
108 us |
A DMX-es vevőberendezéseknek kétfajta effektje van. Egyik csak bizonyos időközönként kap új értéket a DMX vonalról, beáll a kapott értékre programozott pozícióra, és várakozik a következő új értékre. Ilyen pl. egy gobó effekt. A másik fajta effekt folyamatos változást kap a vezérlőtől, és ezt dolgozza fel. Ilyen például a tükör, vagy fejmozgás.
Nagyon fontos tudni, hogy a fénycsóva pozíciók esetében a pult nem azt az értéket adja át a vonalon, hogy hova kell majd világítani a lámpának, hanem mindig pillanatnyi pozíciót ad meg.
Ezeknek az ismereteknek a tudatában tűnik furcsának, hogy komoly minőségű pultok mennyire változó csomag idejű DMX adatokkal dolgoznak! Természetesen egy komoly minőségű moving head DMX vételéért felelős szoftver is nagyon komoly minőségű, azaz komoly átlagolási technikákkal nagyon szép, és ennek ellenére rövid reakció idejű mozgást fog produkálni.
Személyes tapasztalatok:
Egy nevesincs kínai gyártmányú tükrös scanner nem működött az általunk fejlesztett pultokról. Ezt a panaszt kaptuk, valamint egy példányt a lámpából. Kipróbáltuk, valóban nem reagált. Az állítás szerint legalább ötfajta más gyártmányú pulttal gond nélkül működött.
Hosszabb vizsgálódás után kiderítettük, hogy ha a DMX adásban a bájtok között az előírt 0 időhöz képest még hagyunk fél bitidőnyit (2u s), akkor működik. Visszajeleztünk, hogy a vezérlő rendben van, a lámpa szoftvere a hibás. Elutasítás volt a válasz. Ha megy a többi pulttal, akkor menni kell ezekkel is! Ennek következtében megmódosítottuk a DMX protokollunkat úgy, hogy minden adat között hagyunk egy kis időt. Ennek következtében persze nem tudtuk tartani a DMX szabvány által maximálisan megengedett 44 Hz-et, lejjebb kellett mennünk. Eredetileg igyekeztünk tartani magunkat a leggyorsabb átvitelhez, elérve ezzel a gyengébb képességű lámpákon minél jobb tükörmozgás minőséget, azonban erről emiatt le kellett mondani. Látva azonban a több nagynevű pult DMX adás minőségét, már nem tűnik olyan tragikusnak a dolog.
A Martin cég egy kisebb scennere néha megbolondul a vezérlőnkkel. Kaptunk egy példányt, és csak hosszabb vizsgálódás után sikerült előidéznünk a jelenséget. Az történt, hogyha a lámpa minden effektjét elindítottuk, azaz a color és gobó csatornán a forgatást, strobo csatornán villogást, stb., akkor a lámpa „megbolondult”, és többé nem lehetett vezérelni, csak újraindítás után. Ez persze minden egyéb más pulton is jelentkezett. Ebben az esetben arról volt szó, hogy valószínűleg az olcsóság miatt nagyon kis teljesítményű processzorral oldották meg az elektronika vezérlését, és amikor nagyon sok feladattal kellett megbirkózni az elektronikának, akkor az nem bírta a lépést tartani, és tévútra szaladt.
Kattints arra a csillagra, amennyire értékeled a cikket! Köszönjük!





























