Update on my NeoPixel Ring/Donut Chart of three variables project.

Update on my NeoPixel Ring/Donut Chart of three variables project. I now have three colors displaying in correct proportions, however, they are jittery and I realize this is because they are not a colorfill, but more of a moving dot version. I figured that out when I added a delay. So, is there a way to use a colorfill command in this instance? I’ve attached my code in a gist.

I’m soo sad @Leslie_Birch What are we going to do now without the show I miss talking about our projects going on!

@Scottie_D369 I don’t know, maybe we can post in the wearables group on Adafruit’s site.

Well yeah of course but I was more meaning of the chat and others. You know it’s nice to share our projects and stuff but it’s a ton of fun talking to others in a live chat about it. Sure there are the other shows but Wearables was the best and had a great community.

I agree, but things always change in life. Just keep making. :slight_smile: Anyway, leave this area free because I have less than 24 hrs. left to figure this problem out.

Try removing all but the last call to FastLED.show(); maybe?

@Jason_Coon Actually I added a delay at the end and also added a decorative single moving pixel in the beginning that loops twice. Jitter gone–woot! TY for checking out my code and I’m pretty impressed with the capabilities of this library. My next step will be to do JSON info. I’m sure there will be more questions tomorrow. :slight_smile:

@Leslie_Birch the jitter is coming from the fact you are updating the LEDs 3 times a loop. As @Jason_Coon suggests, removing all but the last show() will improve matters, you you need to provide additional damping (only update if changed).

I’m guessing you have three potentiometers? Hard to tell from just the main loop().

Curious, was the delay you added significant or something really tiny like only a few milliseconds?

As Jason suggested, I would also have thought to remove all but the last show(). However if you had a delay after each for loop (so as to display the pixels in each section sequentially for example) then you would need a show() for each section. But if all the pixels get displayed at the same time you should only need one show() after you’ve assigned all your pixel values. And if that’s the case I don’t think you need the clear() at the beginning either. As long as all pixels are being drawn each time you call show() you can skip clearing them every time and just overwrite their previous values.

Glad (it sounds like) you got something working. In the end that’s all that matters when you only have 24 hours! :slight_smile:

@Stuart_Taylor It’s actually three pieces of information coming from a crunch of numbers on the web representing three characteristics found in text. I’ll be figuring out how to get the real numbers into my program with JSON today. @marmil I had hoped to have a pause for each color of lights to come up. However, due to the way the map command works, for the second grouping of numbers I can’t change the end point. So, I’m forced to fill up to the 24 pixels of my ring. The last color then just finds the starting point with some math and fills the rest. So it isn’t exactly artistically what I want, but for now it works. In the future the PixelSet will be available for Photon and then I’ll be able to do it easily and correctly.