OctoWS2811 with Jinx

Status
Not open for further replies.

seesoe

Member
For testing purposes I have a 22 pixel WS2812B strip connected to a OctoWS2811. Using the sample programs, i'm able to to easily get the rainbow program to work.

My goal is to ARTNet control the Teensy with Jinx, but the ethernet module comes in next week. I flashed a modified version of the ARTNet sample program that flashes the onboard LED based on serial traffic. When I start Jinx output I can see the LED flashing, and when I stop Jinx output it stops. However I'm not seeing any output/flicker to the strip. Is there some basic step that I'm missing?

Code:
#include <OctoWS2811.h>

const int ledsPerStrip = 22;
const int NUM_LEDS = 22;

DMAMEM int displayMemory[ledsPerStrip*6];
int drawingMemory[ledsPerStrip*6];

const int config = WS2811_GRB | WS2811_800kHz;
OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);

void setup() {
  leds.begin();
  leds.show();

  pinMode(13, OUTPUT); 
  digitalWrite(13, LOW);
}

int serialGlediator() {
  while (!Serial.available()) {}
  return Serial.read();
}

void loop() {
  byte r,g,b;
  int i;

  while (serialGlediator() != 1) {}

  digitalWrite(13, HIGH);

  for (i=0; i < NUM_LEDS; i++) {
    b = serialGlediator();
    r = serialGlediator();
    g = serialGlediator();

    leds.setPixel(i, Color(r,g,b));
  }

  leds.show();
  digitalWrite(13, LOW);
}

/* Helper functions */
// Create a 24 bit color value from R,G,B
unsigned int Color(byte r, byte g, byte b) {
  return (((unsigned int)b << 16) | ((unsigned int)r << 8) | (unsigned int)g);
}
 
Replace this

const int ledsPerStrip = 22;
const int NUM_LEDS = 22;

with this

const int ledsPerStrip = 22;
const int NUM_LEDS = 176;
 
Changing the var and double checking the patch setup fixed it. Knew I missed something basic.

Now question, I understand 8 for the 8 outputs of the Octo, What would be the limit per channel? The lib must be setup in that manner where each of the 8 channels is addressed?

My setup has 6 strips of 308 pixel strips (1848 ws2812b's, I was hoping to snake wire a single data line for the display. But doesn't seem like I would be able to do this?
 
Changing the var and double checking the patch setup fixed it. Knew I missed something basic.

Now question, I understand 8 for the 8 outputs of the Octo, What would be the limit per channel? The lib must be setup in that manner where each of the 8 channels is addressed?

My setup has 6 strips of 308 pixel strips (1848 ws2812b's, I was hoping to snake wire a single data line for the display. But doesn't seem like I would be able to do this?

Your limit will be memory and what refresh rate you desire. If using jinx your set to 25 FPS. With my setup I can get 680 pixels per octo at refresh rate up to 40 FPS. I use the fastLED library and Octws2811, This setup however uses 3 buffers which starts to run out of memory if I go more than the 680 / per port etc. I use SACN (e1.31) 32 universe setup in jinx and I am able to frame each of the 8 Octo pins without issue.
 
Crees, Nice display, I've read all your other posts and writeups, great work.

I decided to just wire each of the 6 strips to an octo channel and be done with it (have to run a bunch of power wires anyways). Everything seems to work correctly for proof of concept with RxTx lib on my setup.

However I was previously using an ESP as an ArtNet node and I was able to strobe the strips at the highest Jinx frequency, but with RxTx, It doesn't work unless frequency slider is at about 50%.
https://github.com/mtongnz/ESP8266_ArtNetNode_v2

Things should def speed up with with the proper ethernet lib the W5500 that arrives in the mail tomorrow.
 
Crees, Nice display, I've read all your other posts and writeups, great work.

I decided to just wire each of the 6 strips to an octo channel and be done with it (have to run a bunch of power wires anyways). Everything seems to work correctly for proof of concept with RxTx lib on my setup.

However I was previously using an ESP as an ArtNet node and I was able to strobe the strips at the highest Jinx frequency, but with RxTx, It doesn't work unless frequency slider is at about 50%.
https://github.com/mtongnz/ESP8266_ArtNetNode_v2

Things should def speed up with with the proper ethernet lib the W5500 that arrives in the mail tomorrow.

Were you able to bridge the gap with artnet and the large quantity of led's?
 
I actually ended up going with a Teensy and OctoWS2811 board with ethernet module.

Yea that's what I'm working with now, I just haven't bridged the gap with artnet yet. Are you using the ether net module with a router then having your computer connect to that routers wifi for artnet?
 
Ya exactly, ethernet module puts the teensy onto the network that my computers/tablets are on for control. One recommended alternative to get the project goign iis if you can drive the array with jinx on a computer. You can use simple serial sketch link. Takes away from the idea of wifi/esp/artnet, however direct serial link is more reliable on larger arrays.
 
Ya exactly, ethernet module puts the teensy onto the network that my computers/tablets are on for control. One recommended alternative to get the project goign iis if you can drive the array with jinx on a computer. You can use simple serial sketch link. Takes away from the idea of wifi/esp/artnet, however direct serial link is more reliable on larger arrays.

So I've been having a heck of a time getting a straight road to travel on forums (as I'm also such a novice that I don't quite know where to start). So to start, the router/pc settings and how to have the teensy recognized is my present issue.
Connection is PC=>WIFI=>ROUTER=>w5500+octows+teensy(assembled as instructed on pjrc)

Router settings:
LAN-
MAC: AC:84:C6:B0:59:4E
IP: 10.0.0.1
Subnet: 255.255.0.0

WAN-
MAC: AC:84:C6:B0:59:4E
IP: 2.0.0.2 (static)
Subnet: 255.255.255.0
Default gateway: 2.0.0.1
DNS: 2.0.0.1 0.0.0.0

PC Settings: (via ipconfig)
Ipv4: 10.0.0.3
Subnet: 255.0.0.0
Default gateway: blank (even though I'm connected to router)

Teensy uploaded sketch: artnet+octows2811 example sketch
Settings I changed:
Ip 10.0.0.3
Mac 0xe8, 0x4e, 0x06, 0x5e, 0x82, 0x65

I know a series of these has to match up but I'm unsure of which ones.

The connection to jinx I couldn't understand either (although I've been able to get it to work fine with a direct USB connection). I can't find the teensy as an output device, scan also does not work.

Thank you for any help you can offer 🙏
 
Hi !

I have a small question - what should I do to get the Jinx scanner to find Teensy Octo? Or how insert node name to an example from Arduino IDE ??
 
Status
Not open for further replies.
Back
Top