ArtNet to WS2812 (directly via SPI) - Multiple Universes

I´m currently using this code with an Arduino Uno and a W5100, but unfortunately, the device isn´t receiving more than 1 universe.

With <170 LEDs the code/setup works great with Jinx!, no problems at all, however:

When i set the num_Leds to a value above 170, the device won't even run the inittest() anymore.
To eliminate any problems in the inittest void which would prevent the arduino to complete initialization/setup, i've also tried with the inittest commented out but unfortunately this doesn't work.

I'm driving the Leds with Jinx! with the device settings as seen in the attached image.

Does any of you see any problems/errors in the code? The original code comes from:

The code i'm currently using is:

/*
This example will receive multiple universes via Artnet and control a strip of ws2811 leds via 
Adafruit's NeoPixel library: https://github.com/adafruit/Adafruit_NeoPixel
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>
#include <Adafruit_NeoPixel.h>

// Neopixel settings
const int numLeds = 170; // change for your setup
const int numberOfChannels = numLeds * 3; // Total number of channels you want to receive (1 led = 3 channels)
const byte dataPin = 2;
Adafruit_NeoPixel leds = Adafruit_NeoPixel(numLeds, dataPin, NEO_RGB + NEO_KHZ800);

const int dtS = 12; //750/numLeds; // Short delay time (used for test/boot program)
const int dtL = 750; // Long delay time (used for test/boot program)
const int delayLeds = 10; // Amount of leds to be on simultaniously in last step of inittest()

// Artnet settings
Artnet artnet;
const int startUniverse = 0; // CHANGE FOR YOUR SETUP most software this is 1, some software send out artnet first universe as 0.

// Check if we got all universes
const int maxUniverses = numberOfChannels / 512 + ((numberOfChannels % 512) ? 1 : 0);
bool universesReceived[maxUniverses];
bool sendFrame = 1;
int previousDataLength = 0;

// Change ip and mac address for your setup
byte ip[] = {192,168,178,77};
byte mac[] = {0x04, 0xE9, 0xE5, 0x00, 0x69, 0xEC};
byte broadcast[] = {10, 0, 1, 255};
void setup()
{
  //Serial.begin(115200);
  artnet.begin(mac, ip);
  leds.begin();
  artnet.setBroadcast(broadcast);
  initTest();

  // 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)
{
  sendFrame = 1;
  // set brightness of the whole strip 
  if (universe == 15)
  {
    leds.setBrightness(data[0]);
    leds.show();
  }

  // Store which universe has got in
  if ((universe - startUniverse) < maxUniverses)
    universesReceived[universe - startUniverse] = 1;

  for (int i = 0 ; i < maxUniverses ; i++)
  {
    if (universesReceived[i] == 0)
    {
      //Serial.println("Broke");
      sendFrame = 0;
      break;
    }
  }

  // read universe and put into the right part of the display buffer
  for (int i = 0; i < length / 3; i++)
  {
    int led = i + (universe - startUniverse) * (previousDataLength / 3);
    if (led < numLeds)
      leds.setPixelColor(led, data[i * 3], data[i * 3 + 1], data[i * 3 + 2]);
  }
  previousDataLength = length;     
  
  if (sendFrame)
  {
    leds.show();
    // Reset universeReceived to 0
    memset(universesReceived, 0, maxUniverses);
  }
}

void initTest()
{
  for (int i = 0 ; i < numLeds ; i++)
    leds.setPixelColor(i, 127, 0, 0);
  leds.show();
  delay(dtL);
  for (int i = 0 ; i < numLeds ; i++)
    leds.setPixelColor(i, 0, 127, 0);
  leds.show();
  delay(dtL);
  for (int i = 0 ; i < numLeds ; i++)
    leds.setPixelColor(i, 0, 0, 127);
  leds.show();
  delay(dtL);

    for (int i = 0 ; i < numLeds ; i++)
    leds.setPixelColor(i, 0, 0, 0);
  leds.show();
  
  for (int i = 0 ; i < numLeds+delayLeds ;){
    leds.setPixelColor(i-delayLeds, 0, 0, 0);
    leds.setPixelColor(i, 100, 0, 0);
    leds.show();
    delay(dtS);
    i++;
  }

  for (int i = 0 ; i < numLeds+delayLeds ;){
    leds.setPixelColor(i-delayLeds, 0, 0, 0);
    leds.setPixelColor(i, 0, 100, 0);
    leds.show();
    delay(dtS);
    i++;
  }

    for (int i = 0 ; i < numLeds+delayLeds ;){
    leds.setPixelColor(i-delayLeds, 0, 0, 0);
    leds.setPixelColor(i, 0, 0, 100);
    leds.show();
    delay(dtS);
    i++;
  }

    for (int i = 0 ; i < numLeds+delayLeds ;){
//    leds.setPixelColor(i-delayLeds, 0, 0, 0);
    leds.setPixelColor(i, 255, 255, 255);
    leds.show();
    delay(dtS);
    i++;
  }
  delay(2000);
//      for (int i = 0 ; i < numLeds+delayLeds ;){
//    leds.setPixelColor(i-delayLeds, 0, 0, 0);
//    leds.setPixelColor(i, 0, 0, 100);
//    leds.show();
//    delay(dtS);
//    i++;
//  }


  for (int i = 0 ; i < numLeds ; i++)
    leds.setPixelColor(i, 0, 25, 0);
  leds.show();
  
}