These are chat archives for Makuna/NeoPixelBus

31st
May 2015
matroll
@matroll
May 31 2015 06:52
hey guys. so on my end, it looks like the second setup (esp-201 powered through 3.3 vreg) works fine as well with the same code i used for the esp-01 powered by 3.7lipo. i still get the green light on/flickering with another code though. and not sure where the problem comes from, especially since the problem appears right away and the whole setup() function is a copy/paste of the other project (the part where the esp is searching for the network and connecting to it: during that time, i have the pixels going around the pixel stick. in one code, it works fine, in the other, the 1st green one is on all the time). i did a side-by-side comparison of the code and can't see a difference. i'll look more into it. but will be out of town all of next week. good luck and thanks again makuna for the great lib.
sticilface
@sticilface
May 31 2015 11:44
hi, so I'm beginning to thing a little like @matroll here! I've been flashing the same ESP, over and over, with slight variations in an animation sequence. Trying to get squares, and faces, fading in and out and i've been successful! These animation are all dealt with using switch cases... so the same code, almost identical except maybe a variable change from a 5 to a 4, when flashed once gives a first pixel that does not flash, burn is again, with a variable change and boom, it now flashes constantly... so something very weird is going on... i'll try and see if i can spot a pattern.. I agree with @matroll though it appears immediately after starting, and before the switch case statement has done anything apart from turn the strip off, using pixelsetcolor(i,0)...
sticilface
@sticilface
May 31 2015 12:18
Other observations... when there is no green flickering of the first pixel, the first pixel is stable when there are colours being present... when there is lots of green flickering of the first pixel.. the first pixel is quite unstable even when colours are being sent it...
Michael Miller
@Makuna
May 31 2015 16:00
I wish I see this when I run so I could diagnose, but I don't.
Ok, next thing to try, modify send_pixels_800 by putting inserting the line of code as follows
    uint32_t cyclesStart;

    // this set low will help cleanup the first bit
    GPIO_REG_WRITE(GPIO_OUT_W1TC_ADDRESS, pinRegister);
    __asm__ __volatile__("isync"); // add this here

    cyclesStart = ESP.getCycleCount() + CYCLES_800;
sticilface
@sticilface
May 31 2015 17:14
I'll give it a go when i get a chance... away at the moment so this evening...
given the nature of things, it will take a bit of time with it to let you know if it has worked.... (that is if it doesn't just do it immediately)
Michael Miller
@Makuna
May 31 2015 17:55
thanks let me know.
matroll
@matroll
May 31 2015 19:57
that worked for me. don't have a chance to test extensively but the particular code that was having issues doesn't any more (and the one that was working still does).
hopefully, that doesn't break anything else :)
otherwise something weird i noticed but might be completely unrelated is that the % modulo opearation as in x = (i+1) % numpixels does not work. i have to do i++; if (i==numpixels) i=0;
on that note, thanks for the fix and good luck in the week to come, i'll check back in the week after that. cheers.