little_cat.exe
Documentation

(réception de data en UDP par le réseau et émission de dmx)

suite logicielle schwartzpeter
http://karistouf.free.fr/schwartzpeter.html


Little_cat  permet de recevoir les niveaux de 0 à 255 envoyés en UDP par un programme tiers ( vvvv, puredata, max,...).
Little_cat communique avec le hardware DMX choisi et retransmet ces niveaux.

Little_cat écoute un client UDP, que ce dernier soit sur  -  la machine qui l'héberge
                                                                                 -  une autre machine du réseau

Little_cat est donc ce que l'on nomme un serveur.
Little_cat est l'export du dialogue avec le hardware de schwartzpeter.
Il est mis gracieusement à disposition de la communauté des arts de la scène, dans une idée d'inter-opérabilité et de coopération.


Little_cat fonctionne en 2 modes:
écoute d'un signal RAW UDP ( facile à créer sous PD, VVVV, MAX etc) ou un signal Art-Net.





*Configuration :

Paramétrer little_cat.exe

Ouvrir le fichier config_little_cat.txt

interface=4
udpport=11059
remote=0
artnet=1
universe=0

5 paramètres:

*Le numéro d'interface à paramétrer fonction du hardware choisi:
1    Soundlight USBDMX 1 et 2, et toutes les interfaces utilisant la dll Dashard.dll
2    ENTTEC OPENDMX
3    LPTDMX ( ELEKTOR)
4    ENTTEC PRO
5    DMX512-ONLINE.NET
6    SUNLITE et toutes les interfaces utilisant la dll Dashard2006.dll
7    USBDMX.COM
8    DMX4ALL
9    VELLEMAN K8062D

*Le port UDP à écouter si vous n' êtes pas en artnet, vous devez bien sûr émettre depuis le client vers le même numéro de port.

*Remote: si little_cat est remotable/controllable ou non depuis le client. 0 pour ne pas être en remote. 1 pour l'être.

*Artnet: si Artnet est mis à 1, vous attendez le protocle artnet ( émis par schwartzpeter ou vvvv ou autre ). Le port se fait autmatiquement sur le port par défaut Art-Net (6454).

*Univers: uniquement en artnet, permet d'écouter uniquement l'univers choisi ( de 0 à 15). Les subs nets ne sont pas portés


Ne pas mettre d'espace, ou de return à la fin du dernier paramètre.




*Utilisation :




*Lancer little_cat:

-Remote=0

Little_cat va chercher la dll, puis le hardware spécifié et l'ouvrir.
Si cette procédure ne peut fonctionner, un bip sonore se fait. Bien vérifier au démarrage que vous avez une informationindiquant que l'interface est branchée et trouvée.
Pour quitter frapper n'importequ'elle touche du clavier.

-Remote=1
C'est un mode de sécurisation.
Little-cat s'ouvre et attend de recevoir des ordres en UDP afin de pouvoir dialoguer avec le hardware:
Init        Initialisation du hardware ( recherche dll, ouverture interface, lancement du mode émission de dmx)
Close     Arrêt d'envoi de data, Fermeture du hardware, déchargement de la dll
Quit       Fermer le programme little_cat
Le mode remote est expérimental ( version septembre 2008). Des améliorations ne sauraient tarder.
A réception d'une trame de 512 circuits, un petit * est affiché.
L'envoi de dmx se fait à chaque réception de data.

*Quitter Little_cat: taper Escape

*ArtNet:
A réception d'une trame de 512 circuits, un petit . est affiché.





INTERFACES DMX Petite Subtilité:

De nombreux constructeurs  ont suivi ENTTEC dans son choix de chipset pour faire du dmx.
On se retrouve donc avec plétore d'interfaces utilisant les procédures de FTDI, via le port VCOM.
Donc si vous utilisez une Enttec Pro et tapez le numéro d'une USBDMX.COM, la ENTTEC PRO apparaitra comme reconnue. Mais rien se produira dans l'envoi de data.
Les interfaces suivantes utilisent le VCOM: Enttec Open / Enttec PRO / DMX512-ONLINE.NET / USBDMX.COM / DMX4ALL

Concernant l'interface Velleman, pour pallier à sa lenteur, on règle dans le fichier VELLEMAN_K8062D.txt le nombre maximum de gradas qui seront envoyés.
On peut considérer que celle-ci est ok pour un envoi d'a peu près 48 circuits différents par trame, avant de voir un effet de crénelage.
Si on définit le nombre max de gradateurs à 24 par exemple, la trame envoyée n'enverra pas les états de 25 à 512.


*Programmes  tiers:

Créer un client pour little_cat est extrêment simple et peut se faire depuis un vvvv, un Pd ou un Max... ou du flash, ou du  java, ou du C, ou du python, etc  ...

VVVV :

trois  patchs sont fournis en exemple:

pour envoyer du data simplement, en remote=0:
from_vvvv_To_little_cat_udpsender ( DMX ).v4
To_little_cat_udpsender_globalwave.v4

pour envoyer des ordres, en remorte=1:
To_little_cat_udpsender_Order_sample.v4


Autres programmes, spécifications :

Envoi de data UDP RAW:
little_cat attend en UDP un tableau  unsigned char Data[512]
0 est donc le circuit 1, et 512 le circuit 512
Ex. le circuit 12 à 100%: Data[12]=255

Envoi d'ordres:
little_cat attend en UDP un tableau unsigned char Order[10]
où les ordres sont du simple string:
Init
Close
Quit
ou bien C/ C++:
Order={'Init'}

Le tableau order[10] est créé pour pouvoir abriter le cas échéant d'autres infos ( univers et autres ? ).