ProffieOS v7.x feature requests

Proffie Workbench function:

When Copying a preset, have that preset appear directly after the cloned preset, instead of last? Just a thought, not really ProffieOS related.

1 Like

Getting a deep sleep function to work Proffie V2s (and V1.5s), that would the ultimate update for me.

1 Like

Almost time for a poll? :slight_smile:

1 Like

How about multiple selectable user defined blade lengths? I know Fett263 prop for OS6 allows for adjustable blade length via the edit menu which is fantastic, but it might be usefull if you could define a few different lengths in the config and then be able to select which one you want outside of edit mode.

2 Likes

Like edit mode presets?

1 Like

Compatibility for TFT screens.

1 Like

Sounds like you just want a way to switch blade config on the fly.
(without using blade ID and/or blade detect.)

Yes. It would be cool to be able to set up 3 or 4 blade configs for common lengths with typical pixel counts and be able to select them outside of edit mode.

Why outside of edit mode?
Seems to me that having a menu for selecting a different blade config would fit perfectly within the remit of edit mode.

What would make sense to me would be for ProffieOS to add a global dynamic setting for blade ID.
Basically, we would have two new defines:

#define ENABLE_BLADE_ID_OVERRIDE
#define SAVE_BLADE_ID_OVERRIDE

And some new commands:

set_blade_id_override
get_blade_id_override
list_available_blade_ids

If the blade id override is -1, then it will use normal blade ID.
If it is something else, it would use that value instead to look up the right blade config.
This would let you set up blade configs for all blades you have and then switch between blades either using edit mode, the proffieOS workbench, or with some custom button setup.

One major advantage over just setting the blade length would be that if your blades have different byte orders, or some of them use RGBW LEDs, this would still work.

3 Likes

have a copy of the config file saved to the SD card and all edited blade styles get auto saved to the config file.
might help with sharing blade styles or for back ups.

With the ability to run things faster/better now with what 6.5 has brought out I have another thought that I miss using given I have friends that do POI/FLOW/FLAMEā€¦

Can we please revisit the POV? Update the old stuff and try it out with the new syntax and new functions. I think itā€™s worth applying the new stuff to the old ideas and resurrecting this one to try again. Maybe we can get things good enough that you donā€™t tear a wrist or arm muscle trying to spin it fast.

ADVISORY: TURN THE SOUND DOWN.

A bit ā€œthrow-backā€ but Iā€™ll bet thereā€™s a bunch of us old-crew that would have fun with it again.

Neopixels arenā€™t fast enough to do that.

You need APA102 / dotstar pixels, which are ~25 times faster than neopixels for that. For maximum performance we would also need a board with faster SD access, like a Proffieboard V3, otherwise the SD read speed will quickly become the bottleneck.

It would also need a bit of coding since the dotstar support in proffieos isnā€™t all that great right now.

Thatā€™s the tricky part. I do install these on some of my props. It is critical to use a smart charging circuit. Not only one that cuts off to the battery, but one that cuts off the wireless receiver when the battery is full.

Funny you should say that. Thatā€™s been my week.

1 Like

Would love this. Spinning is when I feel most ā€œjediā€.

1 Like

Unless I missed something while I am learning all that Edit Mode offers I 'd like to be able to edit pre-on spark colors while in EditMode for 7.0. For that matter being able to edit the melt and drag colors (as multiple colors, like I mention taking green and blue to say white and red, or white and orange) too would be sweet since I always customized them in the past to the theme of the bladestyle and font used. I figure everyone will be able to edit all the other stuff what not make these editable too? re:

/* copyright Fett263 ShimmerBlade (Primary Blade) OS6 Style
https://fett263.s3.us-east-2.amazonaws.com/fett263-proffieOS6-style-library.html#ShimmerBlade
OS6.5 v1.014
This Style Contains 4 Unique Combinations
Base Style: Interactive Shimmer Blade
 
--Effects Included--
Preon Effect: Rey TROS Spark
Ignition Effect: Standard Ignition
Retraction Effect Options: Default (0): Standard Retraction, 1: Cycle Down, 2: Glitch Off, 3: Metal Forge (Cool Down)
PostOff Effect: Emitter Cool Off (Preon Size)
Lockup Effect: Intensity Lockup V1
LightningBlock Effect: Responsive Lightning Block
Drag Effect: Intensity Sparking Drag
Melt Effect: Intensity Melt
Blast Effect: Blast Wave (Random)
Clash Effect: DUNE Shield Clash
Swing Effect: Force Boost Aura
*/
 
//StylePtr<Layers<Mix<HoldPeakF<SwingSpeed<200>,Int<300>,Scale<SwingSpeed<200>,Int<8000>,Int<24000>>>,Mix<Int<16384>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RandomFlicker<Mix<Int<16384>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,StripesX<Int<16000>,Scale<HoldPeakF<SwingSpeed<200>,Scale<SwingSpeed<200>,Int<1000>,Int<4000>>,Scale<SwingSpeed<200>,Int<4000>,Int<8000>>>,Int<-100>,Int<-3000>>,Mix<Int<24576>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>,Mix<Int<8192>,Black,RgbArg<BASE_COLOR_ARG,Rgb<255,0,0>>>>>>,TransitionEffectL<TrConcat<TrExtend<30000,TrFade<300>>,AudioFlickerL<RgbArg<SWING_COLOR_ARG,Rgb<255,255,255>>>,TrFade<300>>,EFFECT_FORCE>,MultiTransitionEffectL<TrWaveX<RgbArg<BLAST_COLOR_ARG,Rgb<255,255,255>>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Int<100>,Scale<EffectRandomF<EFFECT_BLAST>,Int<100>,Int<400>>,Scale<EffectRandomF<EFFECT_BLAST>,Int<28000>,Int<8000>>>,EFFECT_BLAST>,TransitionEffectL<TrConcat<TrExtendX<Scale<ClashImpactF<>,Int<100>,Int<600>>,TrCenterWipeX<Int<150>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>>,AlphaL<Remap<CenterDistF<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>,StripesX<Int<16000>,Scale<ClashImpactF<>,Int<3000>,Int<10000>>,Mix<IsGreaterThan<ClashImpactF<>,Int<23000>>,Rgb<0,20,128>,Rgb<128,0,0>>,Mix<IsGreaterThan<ClashImpactF<>,Int<23000>>,DodgerBlue,Red>,Mix<IsGreaterThan<ClashImpactF<>,Int<23000>>,Rgb<0,10,80>,Rgb<90,0,0>>>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<20000>,Int<50000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<600>>>>,EFFECT_CLASH>,LockupTrL<AlphaMixL<Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<SwingSpeed<100>,Int<14000>,Int<18000>>>,BrownNoiseFlickerL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Int<200>>,StripesX<Int<1800>,Scale<NoisySoundLevel,Int<-3500>,Int<-5000>>,Mix<Int<6425>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<12850>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>>>,TrConcat<TrExtend<50,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Scale<ClashImpactF<>,Int<20000>,Int<60000>>>>>,TrExtend<3000,TrFade<300>>,AlphaL<AudioFlicker<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<10280>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>>,Bump<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>,Int<13000>>>,TrFade<3000>>,TrConcat<TrInstant,AlphaL<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Int<0>>,TrSelect<Scale<IsLessThan<ClashImpactF<>,Int<20000>>,Int<1>,Int<0>>,TrWaveX<RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Scale<ClashImpactF<>,Int<50>,Int<400>>,Int<100>,Scale<ClashImpactF<>,Int<500>,Int<300>>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>,TrSparkX<Remap<CenterDistF<Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>,Stripes<1200,-3600,Mix<Int<6425>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>,Mix<Int<12850>,Black,RgbArg<LOCKUP_COLOR_ARG,Rgb<255,255,255>>>>>,Int<30>,Scale<Sum<ClashImpactF<>,SwingSpeed<600>>,Int<100>,Int<400>>,Scale<BladeAngle<>,Scale<BladeAngle<0,16000>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-12000>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<10000>>>,Sum<IntArg<LOCKUP_POSITION_ARG,16000>,Int<-10000>>>>>>,SaberBase::LOCKUP_NORMAL>,ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,AudioFlicker<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Blue>,50,1>,TrConcat<TrInstant,AlphaL<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<RgbArg<LB_COLOR_ARG,Rgb<255,255,255>>,Int<16000>>,30>,TrSmoothFade<600>>>,LockupTrL<AlphaL<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>>,SmoothStep<IntArg<DRAG_SIZE_ARG,26000>,Int<3000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,Rgb<255,255,255>>,Int<300>>,SmoothStep<IntArg<DRAG_SIZE_ARG,26000>,Int<3000>>>,TrFade<4000>>,TrFade<300>,SaberBase::LOCKUP_DRAG>,LockupTrL<AlphaL<Remap<Scale<RampF,Int<65536>,Int<0>>,StaticFire<Mix<TwistAngle<>,OrangeRed,DarkOrange>,Mix<TwistAngle<>,OrangeRed,Orange>,0,3,5,3000,10>>,SmoothStep<IntArg<MELT_SIZE_ARG,26000>,Int<4000>>>,TrConcat<TrWipeIn<100>,AlphaL<Red,SmoothStep<IntArg<MELT_SIZE_ARG,26000>,Int<4000>>>,TrExtend<4000,TrFade<300>>,AlphaL<Mix<TwistAngle<>,Red,Orange>,SmoothStep<IntArg<MELT_SIZE_ARG,26000>,Int<4000>>>,TrFade<4000>>,TrWipe<200>,SaberBase::LOCKUP_MELT>,InOutTrL<TrWipeX<IgnitionTime<300>>,TrSelect<IntArg<RETRACTION_OPTION_ARG,0>,TrWipeInX<RetractionTime<0>>,TrColorCycleX<RetractionTime<0>>,TrConcat<TrExtendX<Mult<RetractionTime<0>,Int<16384>>,TrWipeInX<Mult<RetractionTime<0>,Int<16384>>>>,Mix<SmoothStep<NoisySoundLevel,Int<-1>>,Black,RgbArg<RETRACTION_COLOR_ARG,Rgb<255,255,255>>>,TrWipeInX<Mult<RetractionTime<0>,Int<16384>>>>,TrConcat<TrFadeX<RetractionTime<0>>,White,TrFadeX<RetractionTime<0>>,DarkOrange,TrFadeX<RetractionTime<0>>,Red,TrFadeX<RetractionTime<0>>>>,Black>,TransitionEffectL<TrConcat<TrExtendX<Int<100>,TrInstant>,AlphaL<Green,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-2000>>>,TrWipe<300>,AlphaL<DodgerBlue,SmoothStep<IntArg<PREON_SIZE_ARG,2000>,Int<-2000>>>,TrDelayX<WavLen<EFFECT_PREON>>>,EFFECT_PREON>,TransitionEffectL<TrConcat<TrInstant,AlphaL<White,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-4000>>>,TrFadeX<Mult<WavLen<>,Int<10923>>>,AlphaL<Orange,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-4000>>>,TrFadeX<Mult<WavLen<>,Int<10923>>>,AlphaL<Red,SmoothStep<IntArg<EMITTER_SIZE_ARG,2000>,Int<-2000>>>,TrFadeX<Mult<WavLen<>,Int<10923>>>>,EFFECT_POSTOFF>>>(), "Shimmer"},```

Ditto, and thereā€™s a bunch of us of the same mindset. The flow is meditative, POVā€™s are a distraction but fun nonetheless.

1 Like

I would like to see some way of changing blade configs. (length mostly)

Blade ID resistors are tough because most blades ship pretty stock. Editing the blade length with @Fett263 is slow at best. I have the bluetooth board so doing some work with the ForceSync app would be ideal, but I can see the need to figure out something in software controllable by buttons.

Time put into ForceSync and Proffie seems to be well worth it as complexity increases. I could see backups of configs, sharing of such etc etc

Seeing as the os compiles code so having duplicates of the same effect do not take up any extra memory, would it be possible to just have all the effects loaded, separate from bladestyles?

Then, one uses web USB or edit mode to customize as they see fit?

1 Like