Sida 1 av 1
Förskjuten adressering
Postat: fre 04 maj 2007, 18:13
av Daniel Ekstam
Försökte få in 4st StairVille Scrollers i bordet idag, men jag fick inte kontakt med dem från ljusbordet! Felsökte allt från kablar till PCU till dmx-swtich. Det visade sig sedan att adresseringen var förskjuten en kanal. Jag hade använt mig av Martin Dip-switch programmet när jag adresserade.
Varför blev adresseringen förskjuten? Vad beror det på?
Postat: fre 04 maj 2007, 18:22
av Nicke Löfgren
det troliga vat att du glömde räkna 0, jag har för mig att martin räknar med 0 i adressen
Postat: fre 04 maj 2007, 18:58
av Daniel Ekstam
okej. så då ska man alltså skriva in 299 om man vill ha ut 300 i dipswitchen?
Postat: fre 04 maj 2007, 21:16
av Anders Ericsson
SGM Har samma "problem" med sina maskiner. Vet själv inte varför.......
Postat: fre 04 maj 2007, 23:51
av Magnus Lindgren
Har för mig att HighEnd och/eller NSI är likadant...
Postat: lör 05 maj 2007, 00:26
av Ian Delahorne
Anders Ericsson skrev:SGM Har samma "problem" med sina maskiner. Vet själv inte varför.......
På Victory med muspiano (DIP-switchar), ja. På Galileo (LED-fönster) och Flasher (rattar), nej.
Varför? Det är lättare och billigare att implementera i hårdvara utan programmerbar logik, man behöver muspiano, 8 OR-grindar, räknare och delaylina. Adress 0 är ogiltigt (adress 1 är första paketet på linan efter MARK och startkod), så man klockar från paket 1 istället för startkoden när man räknar uppåt.
(Ok, alla som inte har designat elektronik förstår nog inte varför, men jag förstår)
Postat: lör 05 maj 2007, 07:38
av Marcus Sandberg
En sak som e värt att kolla när det e försjutet e om det värkeligen e 512 adresser. Jag vet på Fagerhuts DMX konverter till sina spottar så är det igenteligen bara 511 adresser. Det beror på att pobramkonstruktörerna fick inte elektroniken att förstå att första kannalen va 1 utan blev bara 0 hella tiden det för att en kannal tappas för att ljusborden skickar ju inte kannal 0. Men de la in en försjutning i elektoniken istället som gjorde att siffer adreseringen blev rätt.
Postat: lör 05 maj 2007, 19:57
av Per Clementz
Det är inte fel, utan mer en fråga om hur man tänker när man har gjort programmet. En BYTE är 8 bitar lång och den räknar man från 0-7.
DMX arbetar med 9 bitars adress, vilket gör att man räknar från 0-8 bitar.
Jättesnurrigt, ja.
Postat: lör 05 maj 2007, 20:13
av Daniel Ekstam
Men det är ju olika på olika armaturer. Vissa är förskutet och vissa inte. Är det något man får hålla reda på eller står det någonstans så man enkelt kan hitta, så man slipper slösa bort 2 timmar på felsökning varje gång man använder en ny armatur

Postat: lör 05 maj 2007, 21:50
av Ian Delahorne
Per: Nja. DMX skickar bara ut värden, inte adresser, på tråden. Det funkar som så att man skickar först ut BREAK, sedan MARK, sedan STARTCODE. Därefter så skickar man ut värdena i följd. När armaturen ser BREAK så nollställer armaturen en räknare, sen för varje start-bit som kommer räknar räknaren uppåt. När räknaren har nått adressen för armaturen, börjar man läsa vilka värden som kommer som man är intresserad av.
Huruvida man börjar räkna från 0 (till 255) eller 1 (till 256) är en smaksak. För folk som jobbar mycket med digitalelektronik och datorer är det oftare man använder 0 som första siffra, för andra är det 1 som gäller
Postat: lör 05 maj 2007, 22:42
av Per Clementz
Ian, jag vet mycket väl hur DMX-protokollet är uppbyggt, då jag själv har utvecklat styrenheter.
Det jag menade är att för den som inte är insatt digitalteknik, kan det verka förvirrande när 0-biten blir 1. Då kan det upplevas som en förskjutning.