Salut le monde,
Question :
Avec comport, comment différencier simplement les valeurs du DMX récupérées?
En effet comport me renvoie tout ce qu'il faut, mais sans index...
Le fameux 231 signant la fin du msg dmx peux-t-il être pris comme départ de chaine? (i.e c'est pas possible de le retrouver dans la trame???[car de 0 à 255])
Y-a-t-il moyen de récupérer une liste plutôt que des valeurs non indexées?
Merci!
Hors ligne
Attention 0xE7 (231) indique la fin du message transmis de l'USBDMXPRO à PureData.
Tu as sans doute récupéré la doc chez Enttec pour bien comprendre :
http://www.enttec.com/docs/dmx_usb_pro_api_spec.pdf
La valeur du canal que tu souhaites récupérer doit être la (canal + 5) ème
0x7E / 0x05 / LSB de la taille du message / MSB de la taille du message / 0x00 / Canal0 / Canal1 / ... /Canal512 / 0xE7
Je n'ai jamais utilisé le boitier en réception, mais ce doit être quelque chose comme cela.
Pour un peu d'explication :
http://wiki.labomedia.org/index.php/Pur … Enttec_Pro
Bon code
Dernière modification par Mushussu (2012-12-10 14:01:25)
Hors ligne
C'est exactement ça...
Mon pb es que comport n'envoie aucune valeur indexée, et caler un compteur avec ce flux d'info ça me plait guère..
Hors ligne
C'est simple tu fais un test sur la valeur 0X7E dès que tu la reçois tu mets en place un compteur. Il faut récupérer dans un coin la longueur de la trame. Quand le compteur a atteint le canal que tu souhaites observer, tu le stockes. Tu laisse le compteur défiler et quand il atteint la taille de la trame tu lis la valeur et elle doit être 0xE7. Si ce n'est pas le cas tu sautes la valeur suivante ( la fausse début de trame) et tu lis jusqu'à ce que tu trouves la prochaine valeur 0x7E.
C'est assez facile a mettre en oeuvre sous Processing.
C'est à défricher sous PureData.
Bon courage.
Hors ligne
Merci Mushussu pour tes réponses, en fait c'était comme ça que je l'avais envisagé à la base;
je me demandais juste s'il y avait pas de solution plus élégante prenant en compte le comport....
Hors ligne