I've been digging through some old files and I forgot about this colorwipe method

I’ve been digging through some old files and I forgot about this colorwipe method that @Stefan_Petrick came up with. Details are in the video description. Enjoy
http://www.youtube.com/watch?v=AUrM6JEgC4k

I forgot about it, too. Looks nice on a strip!

Oooh, me likey!

The somewhat hypnotic motion of that strip reminds me of the lights around the edge of the “mother ship” in Close Encounters of the Third Kind - https://www.youtube.com/watch?v=j0bBUmZHb8o - that said, if the props dept. had access to pixels and FastLed back then, it could have been a whole lot more awesome

So far, the code only uses one palette to grab colors from, RainbowStripeColors_p; The effect is from the CRGB::Black spaces in the palette.

Question: @Mark_Kriegsman

void Stripe_Palette() {
// ‘black out’ all 16 palette entries…
fill_solid( currentPalette, 16, CRGB::Black);
// and set every fourth one to random color.
currentPalette[0] = CHSV( random8(), 255, 255),
currentPalette[4] = CHSV( random8(), 255, 255),
currentPalette[8] = CHSV( random8(), 255, 255),
currentPalette[12] = CHSV( random8(), 255, 255);
}

Without using your ChangePaletteAndSettingsPeriodically() code, what is a way to ensure that this code only runs once? I can’t think of an easy way to ensure this behavior.

Can you just call it from setup(); ?

That would work if I just wanted to call it once, ever.

I think I just need to setup some sort of flag system (for lack of better word). I want to be able to call the function to randomize the current palette being shown.

I want to be able to setup a palette like the way you set a gradient palette. Except that you can only call up gradient palette’s but not change their variables on the fly?

Looks sweet! Sorry for the noob questions, but what base code did you use the crosswipe animation with. I checked out Stefan’s github projects and they seem to be for matrix arrays rather than strips.

@Michael_Whitley I used the matrix code as if it were on a serpentine layout. The matrix setup in the code was was half the length of the LED bar. You can get really different looks when you use code intended for a matrix on strips, give it a try.

@Jon_Burroughs Thanks! I will give it a go then. Nice job again!

@Michael_Whitley A strip is basically a matrix with just one row. :slight_smile: That means you could use matrix code and only use the x values it spites out while setting the y parameters to a fixed number. Or you try to understand the code, ask questions about it if needed and rewrite it then for a strip. In case you need any help or explanations you´re welcome!

@Stefan_Petrick Thanks for the pointers. It makes perfect sense; I can’t believe I hadn’t thought of it that way. I’ll give it a go now. Thanks again.

Maybe late to see this but I have a Teensy3.1 as well. Where can I find the source code that’s running here? This is just spectacular!

code is in the video description on YouTube!

I see the crossnoise and crossmapping routines in the github link. Is that what you mean? Or is the full code main() somewhere I’m just not seeing? Thanks.

@James_Minihane That, is the code!

OK. Thanks, Jon. Now I get to play around a little. :slight_smile:

How would I adapt this to work on arduino?

@Nick_Tracy The code itself for the animation is transferable to arduino. Just add the necessary items in setup () for your specific needs.

@Jon_Burroughs Thanks, I think I’m getting it sorted out. Having to add in declarations for all the variables not declared in the functions is a little confusing, full code would have been easier to work with but I’m figuring it out as I go.

Can not get it to work, missing big chunks of code needed to make this work on arduino i guess. declarations for many of the variable are missing even when popping it in to the noise with pallet example. hit a point where i couldn’t figure out how to get the debug errors to go away with the array “noise”.