/* This is similar to ArtnetReceive but uses a callback to read the data. This example may be copied under the terms of the MIT license, see the LICENSE file for details */ #include #include #include #include Artnet artnet; // Change ip and mac address for your setup byte ip[] = {192, 168, 2, 2}; byte mac[] = {0x04, 0xE9, 0xE5, 0x00, 0x69, 0xEC}; void setup() { Serial.begin(115200); artnet.begin(mac, ip); // this will be called for each packet received artnet.setArtDmxCallback(onDmxFrame); } void loop() { // we call the read function inside the loop artnet.read(); } void onDmxFrame(uint16_t universe, uint16_t length, uint8_t sequence, uint8_t* data) { // print out our data Serial.print("universe number = "); Serial.print(universe); Serial.print("\tdata length = "); Serial.print(length); Serial.print("\tsequence n0. = "); Serial.println(sequence); Serial.print("DMX data: "); for (int i = 0 ; i < length ; i++) { Serial.print(data[i]); Serial.print(" "); } Serial.println(); Serial.println(); }