These are chat archives for Makuna/NeoPixelBus

21st
Aug 2015
Michael Miller
@Makuna
Aug 21 2015 06:24
@sticilface I added methods to check the interrupt state register, ETS_INTR_PENDING() inside of ets.sys.h
sticilface
@sticilface
Aug 21 2015 10:07
That might permit what I was trying to do. Cheers. Although I've no idea how to use it. Does it return 1 if there is the specific wifi interrupt pending? The one @bbx10 identified, 1 I think.
Michael Miller
@Makuna
Aug 21 2015 15:20
It returns a unint32 that is a bit field for every interrupt, 0 bit is the first interrupt, 1 bit the next. I don't know the bit for the hidden problematic interrupt, but if you mask out the first two bits and then just check for non zero would be a start.
''' uint32_t intstate = ETS_INTR_PENDING ();
if (intstate & 0xfffffffc) break
Michael Miller
@Makuna
Aug 21 2015 15:37
P.s. should be back from vacation by Monday, so I can be a little more involved again.
sticilface
@sticilface
Aug 21 2015 16:26

I'll give that a go... I was also thinking of doing three things...
1) wrapping up each pixel so that you send the three bytes together... and having interrupts out side that. it might be better when combined with the break so that pixels stay in sync...
2) not sure about this one.. but adjusting the timing.. can we push it out faster and have a bigger inter pixel wait where interrupts can fire..
3) lodge a bug with expressive so they can undo whatever they have done!

enjoy ur holiday! i've got exams in 2 weeks so the procrastination should really stop!

sticilface
@sticilface
Aug 21 2015 18:03
@Makuna You'll laugh.. i combined @bbx10 interrupt #define thingy...couldn't find your addition to gets.sys.h.. so it breaks if there is a pending interrupt.. but it only checks after it has sent out a whole pixel... and well... i have one pixel that lights up nicely... !! so it is breaking after every pixel!
bbx10
@bbx10
Aug 21 2015 18:17
@sticliface I think bit 0 is the WiFi interrupt so I would try if (intstate & 0x1) break.
sticilface
@sticilface
Aug 21 2015 18:35
Cheers I'll give that a go:)
sticilface
@sticilface
Aug 21 2015 22:16
I might be on to something chaps.. I'm going to test it a bit more... so maybe later this weekend...
sticilface
@sticilface
Aug 21 2015 23:33
@Makuna how do I call Dirty() from within the send function? Can't seem to do it. I want dirty if the strip did not complete due to pending wifi interrupt?