   analogReadResolution(12);
 
 }
-////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//
+// main loop
+//
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
 void loop() {
   while (udp.parsePacket()) {
     // First read the header to make sure it's Art-Net


ArtNodeExtended node;

//------------------------------------------ udp send ---------------------
void artnetSend(byte* buffer, int length) {
  udp.beginPacket(node.broadcastIP(), config.udpPort);
  udp.write(buffer, length);
  udp.endPacket();
}

//////////////////////////////////////// Blink test ///////////////////////////////
void blink() {
  for (int i = 0; i < 8 * NUM_PIXELS_PR_STRIP; i++) {
    LEDS.setPixel(i, 0xFFFFFFFF); //set full white

unsigned long currentMillis = 0;
unsigned long previousMillis = 0;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// octoWS setup
//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#define NUM_PIXELS_PR_STRIP 384
uint32_t dmxMemory[NUM_PIXELS_PR_STRIP * 8];
DMAMEM uint32_t displayMemory[NUM_PIXELS_PR_STRIP * 8];
