Hi there ![]()
Now I am making some tests with ARTNET node and the MADRIX Software.
I found these excellent informations here :
http://www.deskontrol.net/blog/nodo-artnet-led-pixel-basado-en-arduino/
This code works only if you compile with Arduino 0023, I compiled it and Madrix find sucessfully the ArtNet Node:
Now I Explain my problem. I have some PixelLeds with a chip compatible WS2811. I can drive perfectly these PixelLeds with Arduino 1.0.6 and this library http://fastled.io/.
The problem is this library isn't compatible with Arduino 0023.
And the ArtNet node sample works only with Arduino 0023. The problem is coming from the actualisation of the Ethernet Library form Arduino 1.0.0. So I made some modification but it doesn't work... Here I post the original code and the code I tried to modify... (Look the .ZIP file there is everything)
I replaced
#include <Udp.h>
By
#include <EthernetUdp.h>
Then I added before Void Setup()
EthernetUDP Udp;
I replaced
Udp.readPacket((uint8_t *)&packetBuffer, MAX_BUFFER_UDP, (uint8_t *)&ArtNode.remoteIp, (uint16_t *)&ArtNode.remotePort);
Udp.sendPacket(packet, size, ArtNode.broadcIastIp, ArtNode.remotePort);
by
Udp.read((uint8_t *)&packetBuffer, MAX_BUFFER_UDP);
Udp.write(packet, size);
It compiles and it loads perfectly.
But it dosen't work. The MADRIX Software don't see the artnet node.
I observed the functions readPacket, sendPacket and read, write are diferent... I dont know really how I can combine them to make it work...
Another question : I want form this code to get the byte values form one ArtNet universe. But the type isn't ARRAY[512] of byte...
size1 = packet_length;
memcpy((uint8_t *)leds, packet->data, packet_length);
This is a pointer o something like that... How I can get these real values? I can't understand this line of code...
Hope someone can help me ![]()
Regards from Mexico. (Sorry for my english I'm French
)
ArtNet NODE.zip (64.6 KB)