Blade Battery Indicator no longer working after Custom Fonts Installed

I looked around and noticed someone had this same problem HERE

I installed a bunch of new fonts onto my Sabertrio, and now the aux button no longer shows me the battery level on the blade. Going by the advice in that other post, I have this as the end of the font code:

TransitionEffectL<TrConcat<TrInstant,AlphaL<BrownNoiseFlicker<Black,RotateColorsX<Variation,Rgb16<65535,42753,42753>>,150>,SmoothStep<Scale<NoisySoundLevel,Int<-1500>,Trigger<EFFECT_PREON,WavLen<EFFECT_PREON>,Int<0>,Int<0>>>,Int<-8000>>>,TrDelayX<WavLen<EFFECT_PREON>>>,EFFECT_PREON>,
  AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>
  >>(),
   },

and in Arduino I get this error:

In file included from C:\Users\ajbur\Desktop\LIGHTSABER FILES\My Aria Sabertrio\extra\ProffieOS\ProffieOS.ino:627:
C:\Users\ajbur\Desktop\LIGHTSABER FILES\My Aria Sabertrio\extra\ProffieOS\config\s3config_v3.h:121:6: error: expected primary-expression before ')' token
  121 |   >>()
      |      ^

exit status 1

Compilation error: expected primary-expression before ')' token

Anyone know what i did wrong?

I’m guessing that you pasted too much/little, and the < and > aren’t balanced anymore.

If you post your config file, we can take a look.

I honestly don’t know what the heck you’re talking about, LOL. So here’s the config file:

No access.

Yep, just fixed that

There is some confusion here. I think this was meant to be added to the preon layer, not as it’s own layer.

@Fett263 this comes from something you recommended. I’m fairly certain you meant this to go somewhere else, right?

It’s a layer that is added to a style in the library for the On Demand Battery option, but the styles look like someone “Frankenstein-ed” it without understanding the various parts. The styles also mix old and new syntaxes, so they don’t really make a lot of sense. My recommendation would be to re-generate the styles in the library so they are set up properly, and they’ll be a lot more efficient in terms of memory.

https://www.fett263.com/fett263-proffieOS7-style-library.html#fett263

@Streen It looks like you are using Sabertrio’s modded OS7.12 for this? I see what you’re trying to do. While I don’t have an official Aria config to look at yet here’s a Sabertrio V3 example config that uses Greyscale’s offerings and is roughly 51% in file size. From there all you would have to do is edit in any bladestyles/font naming not included. ie: I haven’t picked up Defect yet so I can’t plug it in for ya.

Note, if you have the new lit RGB button option just change the

StylePtr<WHITE>(), 

out for something different.

MTFBWY! :smiley:

“Frankensteined” is an appropriate word, LOL.

I appreciate you going through all the trouble to write me a better Config file, but I ran into so many other problems along the way (Arduino was not havin’ it) and I kind of gave up.

I’m not a great coder, so a lot this is over my head. But I was fortunate to get a config working (even if I can’t test the battery level), so I can’t complain much :confused:

Thank you anyway for your time :slight_smile:

You don’t need to “code”, just use my library and config tool and it does all the heavy lifting and “coding” for you, just use the menues and dropdowns to select what you want and all the “coding” is handled.

https://www.fett263.com/fett263-proffieOS7-style-library.html

Be sure to watch videos and read selections and it will set your config up properly and prvide a custom Button/Control List based on the selections you choose :wink:

Okay so maybe ““coding”” wasn’t the right word to use.

Anyway… I’ve been to the library and the Config Helper, but it doesn’t help me to just point at a website and say, “Go here and do it.”

I came here, not so I had to rewrite all 19 of the fonts I have on my saber, but to figure out why the battery indicator stopped working. I thought, maybe, someone might know. If not, that’s okay.

On another note, I went here to the ProffieOS Style Editor, and noticed under “Select more Effects” there was an option for “BATTERY_LEVEL”, though honestly I don’t know how to add that to the config.

Maybe I’m a moron. I can live with that. But your help is not really help.

The battery indicator probably stopped working because you’re not using the s3 prop file.

Fair enough, I got pulled in due a piece of my code getting chopped up into other styles that weren’t really in the right syntax so the resolution from my point of view, the way to fix is to generate code in the library that’s properly set up and intended to work together.

If you’re coming from another prop, especially a custom one that’s not part of the main OS I can’t really help. Just like when someone chopped up my code I don’t know what they did or why they did it.

The easiest fix is to get the modded OS and prop from your installer and upload it with the original config, that would revert to original set up.

If you want to use the main OS and my prop I would recommend regenerating the styles so they work as intended.

Nobody’s saying that, nor is it meant to be insinuated. I can’t really help with mods someone else did. I know my code works in the main OS as intended and I can easily troubleshoot, once its chopped up and used in modded versions of the OS with custom prop files I can’t really help anymore.

@Streen
This is easy to explain and easy to fix, please don’t be discouraged.
You’re missing the first part of a complete layer.
Let me explain.

Somebody copy and pasted a single line of style code, probably looking to add the battery level layer. However, in the default s3config file (where I suspect it was copied from), the battery level layer text was split across 2 lines.
So since only the second line was copied and tried to be reused, only half of the layer was pasted.

It should start with TransitionEffectL< and end with EFFECT_BATTERY_LEVEL>

First, to make life much easier to read your config file, I suggest that you use a text editor that is code friendly, not just a sea of black-text-on-white-page like Notepad++ or something would do.
SublimeText is a great free option.

Open your config and look at your first and second presets, Defect and SteelAndFire.

Look at the last line of SteelAndFire:

TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<BatteryLevel,Orange,Green>,Bump<BatteryLevel,Int<10000>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Orange,Green>,Bump<BatteryLevel,Int<10000>>>,TrFade<1000>>,EFFECT_BATTERY_LEVEL>

That’s complete.
But up in Defect (where the error is occuring) you only have this for the last layer:

AlphaL<Mix<BatteryLevel,Red,Green>,SmoothStep<BatteryLevel,Int<-10>>>,TrWipeIn<1000>>,EFFECT_BATTERY_LEVEL>

Notice how that is just like the second half of the complete layer (with a slightly different look to the effect, but still a similar AlphaL color to show battery level).
You can see it better if you split the complete version with a line return like this:

TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<BatteryLevel,Orange,Green>,Bump<BatteryLevel,Int<10000>>>,TrDelay<2000>, AlphaL<Mix<BatteryLevel,Orange,Green>,Bump<BatteryLevel,Int<10000>>>,TrFade<1000>>,EFFECT_BATTERY_LEVEL>

Or @Streen can just use the already written config example I posted a link to. It’s been verified and tested. The battery meter already comes in the bladestyles Greyscale gives with their font downloads. All of it is there just flash the config over and go. Then when ready play around with learning how to change stuff.

As far as the Frankenstein stuff I don’t know and honestly immediately tossed it out.

@Streen here, you can either just use this or refer to the updated config that I linked with Defect now in it. I based the structure on what Greyscale Fonts usually does for the bladestyles.

*If ya ever want an assist, like a walk-thru since I know it takes having learned some of the stuff before you can just follow a video along just speak up. One of us can always find a time that works to do a remote-in. It’s what I did the first week and a few times after and it made a ton more sense.

{"Defect;common", "tracks/none.wav",
StylePtr<Layers<
    
  //Fett263 HumpFlicker with Erratic Swing
  Mix<SwingSpeed<400>,HumpFlicker<RotateColorsX<Variation,Red>,RotateColorsX<Variation,Rgb<128,0,0>>,50>,HumpFlicker<RotateColorsX<Variation,DarkOrange>,RotateColorsX<Variation,Rgb<128,0,0>>,30>>,
  
  //Ripple swing effect using Fett263's scaled responsive swing
  AlphaL<AlphaL<Stripes<2000,-2250,RotateColorsX<Variation,DarkOrange>,RotateColorsX<Variation,Rgb<60,30,0>>,Pulsing<RotateColorsX<Variation,Rgb<30,15,0>>,Black,800>>,HoldPeakF<Scale<IsLessThan<SwingSpeed<850>,Int<13600>>,Scale<SwingSpeed<850>,Int<-19300>,Int<32768>>,Int<0>>,Int<550>,Scale<SwingAcceleration<100>,Int<20000>,Int<10000>>>>,SmoothStep<Scale<Scale<IsLessThan<SwingSpeed<600>,Int<13600>>,Scale<SwingSpeed<600>,Int<-19300>,Int<32768>>,Int<0>>,Int<15000>,Int<5000>>,Int<-16000>>>, 
  
  //Fett263 Unstable Ignition
  TransitionEffectL<TrConcat<TrInstant,Stripes<3000,-1550,White,RandomPerLEDFlicker<Rgb<60,60,60>,Black>,BrownNoiseFlicker<White,Rgb<30,30,30>,200>,RandomPerLEDFlicker<Rgb<80,80,80>,Rgb<30,30,30>>>,TrFadeX<Percentage<WavLen<EFFECT_IGNITION>,15>>>,EFFECT_IGNITION>,
  
  //HumpFlicker Bright Retraction
  TransitionEffectL<TrConcat<TrFadeX<WavLen<EFFECT_RETRACTION>>,HumpFlicker<RotateColorsX<Variation,Rgb16<65535,42753,42753>>,RotateColorsX<Variation,White>,50>,TrInstant>,EFFECT_RETRACTION>,
  
  //Fett263 Responsive Intensity Lockup with Unstable End
  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,White>,Int<200>>,StripesX<Int<1800>,Scale<NoisySoundLevel,Int<-3500>,Int<-5000>>,Mix<Int<6425>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>,RgbArg<LOCKUP_COLOR_ARG,White>,Mix<Int<12850>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>>,
  TrConcat<TrExtend<50,TrInstant>,Mix<IsLessThan<ClashImpactF<>,Int<26000>>,RgbArg<LOCKUP_COLOR_ARG,White>,AlphaL<RgbArg<LOCKUP_COLOR_ARG,White>,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,White>,Mix<Int<10280>,Black,RgbArg<LOCKUP_COLOR_ARG,White>>>,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,White,TrFade<650>,BrownNoiseFlicker<RotateColorsX<Variation,Rgb16<65535,11439,0>>,Black,300>,TrFade<1000>,AudioFlickerL<BrownNoiseFlicker<RotateColorsX<Variation,Red>,Black,300>>,TrFade<1200>>,SaberBase::LOCKUP_NORMAL>,
  
  //Fett263 Responsive Lightning Block
  ResponsiveLightningBlockL<Strobe<RgbArg<LB_COLOR_ARG,White>,AudioFlicker<RgbArg<LB_COLOR_ARG,White>,Blue>,50,1>,TrConcat<TrInstant,AlphaL<RgbArg<LB_COLOR_ARG,White>,Bump<Int<12000>,Int<18000>>>,TrFade<200>>,TrConcat<TrInstant,HumpFlickerL<AlphaL<RgbArg<LB_COLOR_ARG,White>,Int<16000>>,30>,TrSmoothFade<600>>>,
  
  //Fett263 Responsive flame emitter effect, point the blade up to speed up the flame
  AlphaL<Mix<Scale<BladeAngle<19000>,Int<32768>,Int<0>>,StyleFire<Gradient<RotateColorsX<Variation,White>,RotateColorsX<Variation,Rgb16<65535,42753,42753>>,RotateColorsX<Variation,Rgb16<65535,42753,42753>>,RotateColorsX<Variation,Rgb16<65535,42753,42753>>>,RotateColorsX<Variation,Rgb<30,30,30>>,0,2,FireConfig<0,2000,5>,FireConfig<0,2000,5>,FireConfig<0,2000,5>,FireConfig<0,2000,5>>,StyleFire<Gradient<RotateColorsX<Variation,Rgb16<65535,42753,42753>>,RotateColorsX<Variation,White>,RotateColorsX<Variation,White>,RotateColorsX<Variation,White>>,RotateColorsX<Variation,Rgb<30,30,30>>,0,1,FireConfig<0,2000,5>,FireConfig<0,2000,5>,FireConfig<0,2000,5>,FireConfig<0,2000,5>>>,SmoothStep<Scale<SlowNoise<Int<3000>>,Int<1750>,Int<4125>>,Int<-3500>>>,
  
  //Responsive Stab
  ResponsiveStabL<AudioFlickerL<RgbArg<STAB_COLOR_ARG,Yellow>>,TrWipeInX<Percentage<WavLen<EFFECT_STAB>,50>>,TrFadeX<Percentage<WavLen<EFFECT_STAB>,50>>>,
  
  //Fett263 Multi-blast, blaster reflect cycles through different responsive effects
  EffectSequence<EFFECT_BLAST,ResponsiveBlastL<RgbArg<BLAST_COLOR_ARG,White>,Int<400>,Scale<SwingSpeed<200>,Int<100>,Int<400>>,Int<400>>,LocalizedClashL<RgbArg<BLAST_COLOR_ARG,White>,80,30,EFFECT_BLAST>,ResponsiveBlastWaveL<RgbArg<BLAST_COLOR_ARG,White>,Scale<SwingSpeed<400>,Int<500>,Int<200>>,Scale<SwingSpeed<400>,Int<100>,Int<400>>>,BlastL<RgbArg<BLAST_COLOR_ARG,White>,200,200>,ResponsiveBlastFadeL<RgbArg<BLAST_COLOR_ARG,White>,Scale<SwingSpeed<400>,Int<6000>,Int<12000>>,Scale<SwingSpeed<400>,Int<400>,Int<100>>>,ResponsiveBlastL<RgbArg<BLAST_COLOR_ARG,White>,Scale<SwingSpeed<400>,Int<400>,Int<100>>,Scale<SwingSpeed<400>,Int<200>,Int<100>>,Scale<SwingSpeed<400>,Int<400>,Int<200>>>>,
  
  //Fett263 Real Clash
  Mix<IsLessThan<ClashImpactF<>,Int<26000>>,TransitionEffectL<TrConcat<TrInstant,AlphaL<RgbArg<CLASH_COLOR_ARG,Rgb<255,187,108>>,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<12000>,Int<60000>>>>,TrFadeX<Scale<ClashImpactF<>,Int<200>,Int<400>>>>,EFFECT_CLASH>,TransitionEffectL<TrWaveX<RgbArg<CLASH_COLOR_ARG,Rgb<255,187,108>>,Scale<ClashImpactF<>,Int<100>,Int<400>>,Int<100>,Scale<ClashImpactF<>,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>>>>,EFFECT_CLASH>>,
  
  //Fett263 Intensity Drag
  LockupTrL<AlphaL<RandomPerLEDFlickerL<RgbArg<DRAG_COLOR_ARG,White>>,SmoothStep<IntArg<DRAG_SIZE_ARG,27500>,Int<5000>>>,TrConcat<TrExtend<4000,TrWipeIn<200>>,AlphaL<BrownNoiseFlickerL<RgbArg<DRAG_COLOR_ARG,White>,Int<300>>,SmoothStep<IntArg<DRAG_SIZE_ARG,29250>,Int<5000>>>,TrFade<4000>>,TrFade<300>,SaberBase::LOCKUP_DRAG>,
  
  //Fett263 Responsive Intensity Melt
  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<6000>>>,TrConcat<TrWipeIn<100>,AlphaL<Red,SmoothStep<Int<29000>,Int<8000>>>,TrExtend<2000,TrFade<300>>,AlphaL<Mix<TwistAngle<>,Red,Orange>,SmoothStep<Int<29000>,Int<8000>>>,TrFade<3000>>,TrFade<250>,SaberBase::LOCKUP_MELT>,
  
  //Fett263 Power Save, if using his prop file hold Aux and click PWR while ON (pointing up) to dim blade in 25% increments.
  EffectSequence<EFFECT_POWERSAVE,AlphaL<Black,Int<8192>>,AlphaL<Black,Int<16384>>,AlphaL<Black,Int<24576>>,AlphaL<Black,Int<0>>>,

  //Fett263 Spark Tip Ignition and Retraction
  InOutTrL<TrJoin<TrWipeX<Percentage<WavLen<EFFECT_IGNITION>,5>>,TrSparkX<White,Int<400>,Percentage<WavLen<EFFECT_IGNITION>,5>,Int<0>>>,TrJoin<TrWipeInX<WavLen<EFFECT_RETRACTION>>,TrSparkX<White,Int<400>,WavLen<EFFECT_RETRACTION>,Int<32768>>>>,
  
  //Noise Responsive Sparky Hilt Postoff
  TransitionEffectL<TrConcat<TrInstant,AlphaL<BrownNoiseFlicker<Black,RotateColorsX<Variation,Rgb16<65535,42753,42753>>,150>,SmoothStep<Scale<NoisySoundLevel,Int<-1000>,Int<9500>>,Int<-7000>>>,TrFadeX<WavLen<EFFECT_POSTOFF>>>,EFFECT_POSTOFF>,
  
  //Fett263 optional/alternate Passive Battery Monitor: on boot (1st line) or font change (2nd line) you will get a visual indicator at the emitter of your current battery level. This also works without a blade if you have a lit emitter or blade plug. Green is Full, Red is Low (the color will blend from Green to Red as the battery is depleted), the indicator will fade out after 3000 ms and not display again until powered down and back up or fonts change.
  //TransitionEffectL<TrConcat<TrDelay<1500>,Black,TrFade<1000>,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<Int<0>,Int<6000>>>,TrFade<3000>>,EFFECT_BOOT>,
  //TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<Int<0>,Int<6000>>>,TrFade<3000>>,EFFECT_NEWFONT>,
  
  //Fett263 On-Demand Battery Level: if using Fett263's prop file Hold AUX and click PWR while OFF, the battery level is represented by the location on the blade; tip = full, hilt = low and color; green = full, yellow = half, red = low
  TransitionEffectL<TrConcat<TrInstant,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<BatteryLevel,Int<10000>>>,TrDelay<2000>,AlphaL<Mix<BatteryLevel,Red,Green>,Bump<BatteryLevel,Int<10000>>>,TrFade<1000>>,EFFECT_BATTERY_LEVEL>,
  
  //Ripple Out Preon
  TransitionEffectL<TrConcat<TrFadeX<Percentage<WavLen<EFFECT_PREON>,10>>,TransitionLoopL<TrWaveX<RotateColorsX<Variation,Rgb16<65535,42753,42753>>,Int<125>,Int<350>,Int<315>,Int<0>>>,TrDelayX<Percentage<WavLen<EFFECT_PREON>,90>>>,EFFECT_PREON>>>(),

  StylePtr<WHITE>(), "Defect"},

I really appreciate everyone’s help. You’ve gone through a lot of trouble for me. Unfortunately, I just can’t seem to get it to work, no matter how the font is written. I use Notepad++, which really helps, but I just can’t figure out what I’m doing wrong.

Anyway, thanks to all :slight_smile: I can’t really ask for any more help. May the Force be with you :smiley: