Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 5 of 5

Thread: Teensy 3.5 , and Octows2811 no Lights on string 7 and 8

  1. #1

    Teensy 3.5 , and Octows2811 no Lights on string 7 and 8

    I am trying to make a mega-tree with 8 Strings of a 100 but nothing is output to string 7 or 8. I have tested with the basic test works fine , DHCP printer works good and 8 strings up to 80 works good. But anythings over 80 and I loose the the last 2 strings .I have tried a couple of examples Artnet Octows2811 and Artnet. Realize I am very new to teensy product but I was understanding that the teensy 3.5 could control 4000 Leds.

    Is this right?
    8 Strips of 100 =800 Leds?pixels times 3 which equals 2400 channels on 8 universes.
    Any pointers would be great.

    The code I am using:

    // Receive multiple universes via Artnet and control a strip of ws2811 leds via OctoWS2811
    //
    // This example may be copied under the terms of the MIT license, see the LICENSE file for details
    // https://github.com/natcl/Artnet
    //
    // http://forum.pjrc.com/threads/24688-...ll=1#post55589

    #include <Artnet.h>
    #include <Ethernet.h>
    #include <EthernetUdp.h>
    #include <SPI.h>
    #include <OctoWS2811.h>

    // Ideas for improving performance with WIZ820io / WIZ850io Ethernet:
    // https://forum.pjrc.com/threads/45760...t-improvements

    // OctoWS2811 settings
    const int ledsPerStrip = 100; // change for your setup
    const byte numStrips= 8; // change for your setup
    DMAMEM int displayMemory[ledsPerStrip*6];
    int drawingMemory[ledsPerStrip*6];
    const int config = WS2811_RGB | WS2811_800kHz;
    OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);

    // 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 zero.
    const int numberOfChannels = ledsPerStrip * numStrips * 3; // Total number of channels you want to receive (1 led = 3 channels)
    byte channelBuffer[numberOfChannels]; // Combined universes into a single array

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

    // Change ip and mac address for your setup
    byte ip[] = {192, 168, 1, 150};
    byte mac[] = {0x04, 0xE9, 0xE5, 0x00, 0x69, 0xEC};

    void setup()
    {
    Serial.begin(115200);
    artnet.begin(mac, ip);
    leds.begin();
    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;

    // Store which universe has got in
    if (universe < maxUniverses)
    universesReceived[universe] = 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 ; i++)
    {
    int bufferIndex = i + ((universe - startUniverse) * length);
    if (bufferIndex < numberOfChannels) // to verify
    channelBuffer[bufferIndex] = byte(data[i]);
    }

    // send to leds
    for (int i = 0; i < ledsPerStrip * numStrips; i++)
    {
    leds.setPixel(i, channelBuffer[(i) * 3], channelBuffer[(i * 3) + 1], channelBuffer[(i * 3) + 2]);
    }

    if (sendFrame)
    {
    leds.show();
    // Reset universeReceived to 0
    memset(universesReceived, 0, maxUniverses);
    }
    }

    void initTest()
    {
    for (int i = 0 ; i < ledsPerStrip * numStrips ; i++)
    leds.setPixel(i, 127, 0, 0);
    leds.show();
    delay(500);
    for (int i = 0 ; i < ledsPerStrip * numStrips ; i++)
    leds.setPixel(i, 0, 127, 0);
    leds.show();
    delay(500);
    for (int i = 0 ; i < ledsPerStrip * numStrips ; i++)
    leds.setPixel(i, 0, 0, 127);
    leds.show();
    delay(500);
    for (int i = 0 ; i < ledsPerStrip * numStrips ; i++)
    leds.setPixel(i, 0, 0, 0);
    leds.show();
    }

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    23,431
    Do those pins work if you use File > Examples > OctoWS2811 > BasicTest ?

    In other words, does the problem only happen when all those libraries and network communication are used together? (which I can't reproduce here... no Artnet software) Or can it be reproduced with a simpler setup? (which I can very easily test here)

  3. #3
    Quote Originally Posted by PaulStoffregen View Post
    Do those pins work if you use File > Examples > OctoWS2811 > BasicTest ?

    In other words, does the problem only happen when all those libraries and network communication are used together? (which I can't reproduce here... no Artnet software) Or can it be reproduced with a simpler setup? (which I can very easily test here)
    Basic test works except output 7 pin 21......its just white lights on 21. I just tried ethernet E131 with this error:
    Arduino: 1.8.13 (Windows 10), TD: 1.53, Board: "Teensy 3.5, Serial, 120 MHz, Faster, US English"

    In file included from C:\Users\MAINOF~1\AppData\Local\Temp\arduino_modif ied_sketch_370372\Ethernet_FastLED.ino:24:0:

    C:\Users\Main Office\Documents\Arduino\libraries\E131/E131.h:146:5: error: '_UDP' does not name a type

    _UDP udp; /* UDP handle */

    ^

    C:\Users\Main Office\Documents\Arduino\libraries\E131/E131.h: In member function 'uint16_t E131:arsePacket()':

    C:\Users\Main Office\Documents\Arduino\libraries\E131/E131.h:209:20: error: 'udp' was not declared in this scope

    int size = udp.parsePacket();

    ^

    C:\Users\Main Office\Documents\Arduino\libraries\E131/E131.h:219:50: error: 'htons' was not declared in this scope

    universe = htons(packet->universe);

    ^

    C:\Users\Main Office\Documents\Arduino\libraries\E131/E131.h: In member function 'e131_error_t E131::validate()':

    C:\Users\Main Office\Documents\Arduino\libraries\E131/E131.h:244:38: error: 'htonl' was not declared in this scope

    if (htonl(pwbuff->root_vector) != VECTOR_ROOT)

    ^

    C:\Users\Main Office\Documents\Arduino\libraries\E131/E131.h:246:39: error: 'htonl' was not declared in this scope

    if (htonl(pwbuff->frame_vector) != VECTOR_FRAME)

    ^

    In file included from C:\Users\MAINOF~1\AppData\Local\Temp\arduino_modif ied_sketch_370372\Ethernet_FastLED.ino:25:0:

    C:\Users\Main Office\Documents\Arduino\libraries\FastLED/FastLED.h: At global scope:

    C:\Users\Main Office\Documents\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.003.003

    # pragma message "FastLED version 3.003.003"

    ^

    Ethernet_FastLED: In function 'void setup()':

    Ethernet_FastLED:39: error: no matching function for call to 'E131::begin(byte [6])'

    e131.begin(gmac);

    ^

    In file included from C:\Users\MAINOF~1\AppData\Local\Temp\arduino_modif ied_sketch_370372\Ethernet_FastLED.ino:24:0:

    C:\Users\Main Office\Documents\Arduino\libraries\E131/E131.h:164:10: note: candidate: void E131::begin(e131_listen_t, uint16_t, uint8_t)

    void begin(e131_listen_t type, uint16_t universe = 1, uint8_t n = 1);

    ^

    C:\Users\Main Office\Documents\Arduino\libraries\E131/E131.h:164:10: note: no known conversion for argument 1 from 'byte [6] {aka unsigned char [6]}' to 'e131_listen_t'

    Multiple libraries were found for "FastLED.h"

    Used: C:\Users\Main Office\Documents\Arduino\libraries\FastLED

    Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D

    Multiple libraries were found for "Ethernet.h"

    Used: C:\Users\Main Office\Documents\Arduino\libraries\Ethernet

    Not used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Ethern et

    Not used: C:\Users\Main Office\Documents\Arduino\libraries\EthernetENC

    no matching function for call to 'E131::begin(byte [6])'



    And the artnet and Artnet Octows2811 First 600 leds works great but nothing after that.

  4. #4
    I just built another new circuit exactly like the OctoWS2811 library new 3.2 teensy , no Octo board. wiznet 5100. Basic test worked great all around but once I put in the original code I loose op's 7 and 8 again

  5. #5
    Should I be using different code to use this for a megatree?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •