lorenzofattori
Well-known member
I'm currently testing some Artnet input for teensy using my teensy 3.6 with Wiz850io.
Software is the one in the examples of the artnet library: ArtnetReceive with some basic changes to make it work for me
I'm experiencing two things which I would like some opinions. I observed this behavior using wireshark
- Wiz850io is not handling multicast messages
My lighting software is configure to output 1 Artnet universe as broadcast (unfortunately common standard for Artnet) and is sending out artnet messages to 2.255.255.255. The software is not displaying received message via serial port.
If I set my lighting software to output unicast messages to my teensy, then teensy shows received messages over serial.
Is there any limitation of incoming multicast / broadcast messages with the W5500 chip or is something in the Artnet library?
Personally I prefer like this because I want to filter out artnet if my teensy is used in big stages with lots of universes used and this can be a easy way to achieve it, but I would like to know if this is the case and why.
- Wiz850io is not answering to ARP messages
I connect my devices via ethernet, I turn on the software outputting artnet unicast, I turn on teeny.
Everything is working fine and I'm getting my artnet data into the serial.
Now I disconnect the ethernet cable and then reconnect it.
Now my lighting software is sending out ARP looking for teensy (who has 2.0.0.2?)
No reply at all from teensy / wiz850io.
if I reboot teensy then is starting to work properly.
Do I need to do something in my code to handle this kind of situations? is because I'm using a fixed IP and is configuring ethernet only at startup?
this is a quite important bug and I hope is something wrong in the example code because I need to have it work.
I'm using teensy 3.6 @ 180Mhz with Arduino 1.8.3 and Teensyduino 1.37
Thank you for your time
Lorenzo
Software is the one in the examples of the artnet library: ArtnetReceive with some basic changes to make it work for me
Code:
/*
This is a basic example that will print out the header and the content of an ArtDmx packet.
This example uses the read() function and the different getter functions to read the data.
This example may be copied under the terms of the MIT license, see the LICENSE file for details
*/
#include <Artnet.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <SPI.h>
Artnet artnet;
// Change ip and mac address for your setup
byte ip[] = {2, 0, 0, 2};
byte mac[] = {0x04, 0xE9, 0xE5, 0x00, 0x69, 0xEC};
void setup()
{
pinMode(10, OUTPUT); // Ethernet
SPI.setSCK(14);
digitalWrite(10, LOW); // Ethernet Enabled
Serial.begin(115200);
artnet.begin(mac, ip);
Serial.println("ready");
}
void loop()
{
if (artnet.read() == ART_DMX)
{
// print out our data
Serial.print("universe number = ");
Serial.print(artnet.getUniverse());
Serial.print("\tdata length = ");
Serial.print(artnet.getLength());
Serial.print("\tsequence n0. = ");
Serial.println(artnet.getSequence());
Serial.print("DMX data: ");
for (int i = 0 ; i < artnet.getLength() ; i++)
{
Serial.print(artnet.getDmxFrame()[i]);
Serial.print(" ");
}
Serial.println();
Serial.println();
}
}
I'm experiencing two things which I would like some opinions. I observed this behavior using wireshark
- Wiz850io is not handling multicast messages
My lighting software is configure to output 1 Artnet universe as broadcast (unfortunately common standard for Artnet) and is sending out artnet messages to 2.255.255.255. The software is not displaying received message via serial port.
If I set my lighting software to output unicast messages to my teensy, then teensy shows received messages over serial.
Is there any limitation of incoming multicast / broadcast messages with the W5500 chip or is something in the Artnet library?
Personally I prefer like this because I want to filter out artnet if my teensy is used in big stages with lots of universes used and this can be a easy way to achieve it, but I would like to know if this is the case and why.
- Wiz850io is not answering to ARP messages
I connect my devices via ethernet, I turn on the software outputting artnet unicast, I turn on teeny.
Everything is working fine and I'm getting my artnet data into the serial.
Now I disconnect the ethernet cable and then reconnect it.
Now my lighting software is sending out ARP looking for teensy (who has 2.0.0.2?)
No reply at all from teensy / wiz850io.
if I reboot teensy then is starting to work properly.
Do I need to do something in my code to handle this kind of situations? is because I'm using a fixed IP and is configuring ethernet only at startup?
this is a quite important bug and I hope is something wrong in the example code because I need to have it work.
I'm using teensy 3.6 @ 180Mhz with Arduino 1.8.3 and Teensyduino 1.37
Thank you for your time
Lorenzo
Last edited: