That's an odd one, I'm surprised this came up. Although I seem to recall I may have experienced the odd flicker even with WS2811 - it could possibly be an interrupt thing.
One thing you could try - before the neopixel library, the code we used for sending looked like:
SPI1.setup({baud:3200000, mosi:B5});
var arr = new Uint8Array(57*3);
var pos = 0;
function getPattern() {
pos+=0.04;
var c;
for (var i=0;i<arr.length;i+=3) {
c = 10+Math.sin((i+pos)*0.1324)+Math.sin((i+pos)*0.1)+Math.sin(pos)*0.2;
c = E.HSBtoRGB(c-(0|c),1,1);
arr[i ] = c;
arr[i+1] = c>>8;
arr[i+2] = c>>17; // blue too bright
}
}
function onTimer() {
getPattern();
SPI1.send4bit(arr, 0b0001, 0b0011);
}
setInterval(onTimer, 50);
So I guess you could try SPI1.send4bit(arr, 0b0001, 0b0111); which should add 50% to the time for a '1' - and see if that helps
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
That's an odd one, I'm surprised this came up. Although I seem to recall I may have experienced the odd flicker even with WS2811 - it could possibly be an interrupt thing.
One thing you could try - before the
neopixel
library, the code we used for sending looked like:So I guess you could try
SPI1.send4bit(arr, 0b0001, 0b0111);
which should add 50% to the time for a '1' - and see if that helps