Suggestion for Fett's styles

I noticed today (or maybe I just didn’t find it) that there’s no way to setup a blade style that goes treats a strip like a ring. I’m trying to do a simple rotating light around one of Dmitry’s led rings and coming up short.

Admittedly my skill with blade styles still needs work, but is there a way to do this where the rotating pixel is always displayed? Closest I can find seems to have an all-off state between the last pixel and first.

1 Like

Accent LEDs/PCB styles > set ON behavior to “Custom” (you can choose OFF behavior as well) and choose a moving effect, if your ring is wired sequentially the will rotate in a circle, if they’re split you’ll need to determine the correct SubBlade set up. The library can only preview linear but the OS will rotate them IF they are wired that way.

1 Like

I’ve done that, but I don’t see a style that’s like the Kitt or cylon styles where I can just have one pixel start, go to the end, then start at the beginning. Turbine is many pixels and the ones I’ve mentioned go back and forth. I just want a single color to rotate around.

Something like a basic ColorCycle, no?
StylePtr<ColorCycle<Black,0,1,Cyan,5,60,1000>>()

There’s literally a “K.I.T.T. Scanner” and multiple “Cylon” styles in the dropdown :wink:

That’s what I’m saying.

The Kitt and Cylon styles go back and forth, they don’t go in a ring. I’m looking for that, but something like 1, 2, 3, … 11, 1, 2, 3, … 11, 1 2 etc. Not 1 2 3 … 10 11 10 9 8 …

@NoSloppy that’s pretty much what I’m looking for, just not sure how to translate that into the new style codes.

I’ll look at adding more in the OS7 Library down the line. In the Interim you can use something like this:

Mix<LinearSectionF<Saw<Int<100>>,Int<3000>>,Black,Red>

You can adjust speed Int<100> and size Int<3000> to your liking.

1 Like

What do you meant new style codes?
Do you want to be able to change the color in edit mode or something?

I guess I just mean all the weird rgbarg stuff i don’t understand yet.

This is super close but only works when the blade is on. I actually want something that will pulse slow when off and fast when on. Not sure how to make colorcycle work opposite of normal.

ColorCycle<Black,0,30,Blue,20,50,1000>

1 Like

Throw it into the style editor to see what’s going on.
Just change the when off and when on parts to your liking.
You would change the off color to be the same (blue in your example), the percentage to be the same, just the speeds would be different. The transition time from off to on is up to you.

1 Like

Set “Cycle (Accel On, Decel Off)” for both your ON and OFF behavior in library, they pair together to accomplish what you’re after :wink:

1 Like

I’m trying to understand how it all goes together but for some reason it refuses to click.

So this works in the old style editor:

InOutTr<Mix<LinearSectionF<Saw<Int<100>>,Int<3000>>,Black,Blue>,TrColorCycle<10>,TrFade<10>,Mix<LinearSectionF<Saw<Int<40>>,Int<2000>>,Black,Blue>>(),

but not when i build:

Compilation error: cannot convert 'InOutTr<Mix<LinearSectionF<SingleValueAdapter<SawSVF<SingleValueAdapter<IntSVF<100> >, SingleValueAdapter<IntSVF<0> >, SingleValueAdapter<IntSVF<32768> > > >, SingleValueAdapter<IntSVF<3000> > >, Rgb<0, 0, 0>, Rgb<0, 0, 255> >, TrColorCycleX<SingleValueAdapter<IntSVF<10> >, 0, 6000>, TrFadeX<SingleValueAdapter<IntSVF<10> > >, Mix<LinearSectionF<SingleValueAdapter<SawSVF<SingleValueAdapter<IntSVF<40> >, SingleValueAdapter<IntSVF<0> >, SingleValueAdapter<IntSVF<32768> > > >, SingleValueAdapter<IntSVF<2000> > >, Rgb<0, 0, 0>, Rgb<0, 0, 255> > >' {aka 'Layers<Mix<LinearSectionF<SingleValueAdapter<SawSVF<SingleValueAdapter<IntSVF<100> >, SingleValueAdapter<IntSVF<0> >, SingleValueAdapter<IntSVF<32768> > > >, SingleValueAdapter<IntSVF<3000> > >, Rgb<0, 0, 0>, Rgb<0, 0, 255> >, InOutTrL<TrColorCycleX<SingleValueAdapter<IntSVF<10> >, 0, 6000>, TrFadeX<SingleValueAdapter<IntSVF<10> > >, Mix<LinearSectionF<SingleValueAdapter<SawSVF<SingleValueAdapter<IntSVF<40> >, SingleValueAdapter<IntSVF<0> >, SingleValueAdapter<IntSVF<32768> > > >, SingleValueAdapter<IntSVF<2000> > >, Rgb<0, 0, 0>, Rgb<0, 0, 255> >, true> >'} to 'StyleFactory*' in initialization

Not sure what “Opposite of normal” means. You can just set the speeds for both states to whatever you want (slow when off, faster when on).

Maybe this explanation makes it “click” for you.

The template for ColorCycle is
<color when off,
percentage of blade lit when off,
rotation speed when off,
color when on,
percentage of blade lit when on,
rotation speed when on,
time to transition between on and off>

So:
ColorCycle<Blue,5,50,Blue,5,150,1000>
is always Blue, and 5% of the blade (adjust to make a single pixel if that’s what you want).
It has a speed of 50 when off and 150 when on, and takes 1 second to transition between on and off.

If you want to be able to change the colors with edit mode or the ProffieOS Workbench, you would substitute the hard coded colors for editable arguments like this:

ColorCycle<RgbArg<OFF_COLOR_ARG,Blue>,5,50,RgbArg<BASE_COLOR_ARG,Blue>,5,150,1000>

2 Likes

Not sure where that came from.
It’s not a complete style, as it’s missing the StylePtr< beginning,

1 Like

FYI the base color and off color ARGs are reversed in the generated style.

1 Like

Thanks, I’ll have a look when I get time.

This did the trick for me. Thanks guys. I’ll parse out your post when I’ve got some focus-in time. I really want to grok this, if for no other reason than i can use it to help people.

StylePtr<Layers<Mix<LinearSectionF<Saw<Int<100>>,Int<3000>>,Black,Blue>,InOutTrL<TrColorCycle<10>,TrFade<10>,Mix<LinearSectionF<Saw<Int<40>>,Int<2000>>,Black,Blue>>>>(),

Good to hear. It’s pretty straightforward if you look at the parts individually.