Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2013-06-24 15:33:44 Pilotage lumière par Artnet

Marty
membre
Date d'inscription: 2012-04-27
Messages: 143

Pilotage lumière par Artnet



Bonjour,

J'essaie de faire communiquer mon appli openFrameworks avec une GrandMA à travers un réseau Artnet.

J'ai bien lu les spécifications du protocole : http://www.artisticlicence.com/WebSiteM … rt-net.pdf

J'ai récupéré un addon : https://github.com/tobiasebsen/ofxArtNet

mais impossible de comprendre soit comment cet addon fonctionne (comment formatter la data) et/ou comment renseigner les settings du réseau sur cet addon.

dans l'idée, j'aimerais envoyer la valeur 255 à un fader de la GrandMA (IP 2.145.7.22). Le fader est à l'adresse DMX 1 du subnet 16 univers 3.

pour l'instan j'ai ça :

artnetNode.init("2.145.7.22", true);	
artnetNode.setNodeType(ARTNET_TYPE_SERVER); //node sends data
artnetNode.setShortName("My NODE");
artnetNode.setLongName("My SENDER TEST NODE");
artnetNode.setSubNet(16);
artnetNode.setPortType(6454, ARTNET_PORT_ENABLE_OUTPUT, ARTNET_DATA_DMX); //Output mode and DMX512 protocole
artnetNode.setPortAddress(6454, ARTNET_PORT_OUTPUT, 0xF3); //port 6454 output mode on subnet 16 universe 3

ceci dit déja ici je ne sais pas si je dois renseigner tout cela !

ensuite, quand j'appuie sur une touche ou un bouton j'imagine que pour envoyer une commande artnet il faut faire un sendDmx() mais je ne comprend pas quel est le type et le contenu des données à envoyer, sauf le port qui doit être le port par défaut, ici 6454. ci dessous le prototype de la méthode :

artnetNode.sendDmx(int port, void *data, int size)

si quelqu'un connait bien artnet je serais ravi d'en savoir plus.
Et si quelqu'un à déja utilisé cet addon c'est vraiment top !

merci à vous car je suis bloqué...

Hors ligne

 

#2 2013-06-29 13:30:35 Re : Pilotage lumière par Artnet

Marty
membre
Date d'inscription: 2012-04-27
Messages: 143

Re: Pilotage lumière par Artnet



Ok j'ai fini par y arriver.
En fait il y a plusieurs choses : comprendre le protocole ET comprendre la librairie !
Vous me direz cela semble logique mais la ou cela se corse, c'est que l'addon n'emploie pas les même termes que le protocole !!! d'ou mes difficultés.

Sans compter aussi que la librairie fournie (LibArtnet en C) semblait avoir un pb, je n'arrivait pas à me connecter au réseau avec. En téléchargeant la dernière librairie tout est ok.

Donc dans l'addon on parle Port, subnet, univers etc... sauf que :

- Port (dans l'addon) = Univers (selon les spécifications du protocole)
- Subnet = Subnet
- Univers = portAddress

Il y a aussi des subtilités :
Il faut se placer côté GrandMA. Et il faut traiter notre machine (l'application) comme un Node qui recoit du DMX et envoie du Artnet. On a donc :

- dans la méthode setup(), il faut spécifier l'adresse IP de notre machine, pas celle de la GrandMA.
- dans la méthode setPortType() on configure le port en INPUT et on traite des données DMX
- et setPortAddress() on est donc en INPUT aussi et le port_addr est la combinaison Subnet (sur 4 bits) + Univers (sur 4 bits) soit par exemple en Hexadécimal le portAddress 0xFD est le Subnet 16 Univers 13.

Voila en espérant que cela soit utile à d'autres.

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024