ProffieOS 7.7 Beta (done)

Testing is progressing.
I haven’t been posting about it, but I’ve been testing one or two things per day at least.

Total is 75 out of 181 tested.

However, if I don’t count the props, then 69 out of 106 is tested, and this might be the number that matters, because I probably won’t wait around for the props to be tested once base ProffieOS is properly tested.

PS: Proffieos 7.x is coming, but it’s not the “something” that is coming. :slight_smile:

1 Like

Do you have a list so we can go a test some pieces?

Top post post of this thread…the list looks updated :slight_smile:

I’ve tested the following and they’re all working as expected:

Removed delay between Clashes (for Clash Spamming)

Removed delay for gesture ignitions on boot and after retraction

Force / Quote* Effect Available While OFF (*depending on defines)

Change to “Gesture Sleep” controls (needed to allow for new features refer to control list)

Circular Volume and Dimming menu (no max/min stop - via define)

Use both Spoken Battery Percent and Volt based on blade angle (via define)

Maybe I’m doing something wrong, @Fett263, but I can’t get into spin mode. I have a one button saber and I’m holding PWR while swinging when off. Also, when I’m not in battle mode, I can only exit multi blast mode by doing the control to enter multi blast mode. Triggering a blast or clash doesn’t exist (unless I’m in battle mode). One last thing I’ve noticed: when I edit the emitter size in Edit Menu, there is no visible indication of how big the emitter is (I think this was true back in OS6 too)

Sweet! Top post updated. Thank you!

Post your config, I’ll take a look when I get a chance.

It’s too big. Do you need the whole thing or just the defines?

#ifdef CONFIG_TOP
#include "proffieboard_v2_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 1
const unsigned int maxLedsPerStrip = 144;
#define VOLUME 1000
#define CLASH_THRESHOLD_G 3.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define KILL_OLD_PLAYERS
#define FILTER_CUTOFF_FREQUENCY 100
#define FILTER_ORDER 8
#define MOTION_TIMEOUT 60 * 15 * 1000
#define IDLE_OFF_TIME 60 * 15 * 1000
#define DISABLE_BASIC_PARSER_STYLES
#define DISABLE_DIAGNOSTIC_COMMANDS
#define ENABLE_ALL_EDIT_OPTIONS
#define DISABLE_TALKIE
#define NO_REPEAT_RANDOM
#define COLOR_CHANGE_DIRECT
#define KEEP_SAVEFILES_WHEN_PROGRAMMING
#define FETT263_EDIT_MODE_MENU
#define FETT263_SPECIAL_ABILITIES
#define FETT263_DUAL_MODE_SOUND
#define FETT263_CLASH_STRENGTH_SOUND
#define FETT263_MAX_CLASH 16
#define FETT263_ENABLE_SPIN_MODE
#define FETT263_SAY_COLOR_LIST
#define FETT263_SAY_COLOR_LIST_CC
#define FETT263_BC_SAY_BATTERY_VOLTS_PERCENT
#define FETT263_LOCKUP_DELAY 200
#define FETT263_BM_CLASH_DETECT 6
#define FETT263_SWING_ON_SPEED 250
#define FETT263_SWING_ON
#define FETT263_SWING_ON_NO_BM
#define FETT263_TWIST_ON
#define FETT263_TWIST_ON_NO_BM
#define FETT263_THRUST_ON
#define FETT263_THRUST_ON_NO_BM
#define FETT263_STAB_ON
#define FETT263_STAB_ON_NO_BM
#define FETT263_TWIST_OFF
#define FETT263_FORCE_PUSH
#define FETT263_FORCE_PUSH_LENGTH 5
#define FETT263_CIRCULAR_VOLUME_MENU
#define FETT263_CIRCULAR_DIM_MENU
#endif

#ifdef CONFIG_PROP
#include "../props/saber_fett263_buttons.h"
#endif

Is there any documentation for the special abilities, alt sounds, ignitions, retractions, and such? I looked through the POD but didn’t see anything. Maybe I missed it?

This isn’t a valid define so spin mode won’t exist :wink:

Refer to top of prop or this page for correct defines.

Thanks for the help! I’ll try that out. That define came from the config helper tool.

Ok, good to know, I’ll have a look at it too.

I have corrected in the Config tool, you’ll need to refresh the page to get update.

Will look at the multi-blast and emitter size issues when I get a chance.

I think I found the cause but don’t have time to test this morning, can you try this test fork and see if it resolves for you?

The code for EMITTER_SIZE_ARG menu looks correct in the prop, it may be your style code. Can you send the style that you’re trying with and I’ll have a look when I get a chance?

That fork fixed multi blast mode, and the proper define made spin mode work, so that can be marked off the list @profezzorn.

As for the emitter, I realized after you mentioned that, that I think I know what might be going on. I’m using a post off effect that is sized to match the emitter size, but the style itself doesn’t have an emitter. So since there’s no emitter color, the emitter size is showing the emitter color which is blank. I can adjust the size (with no visible indication) and it does correctly adjust the size of the post off, so there may not be an issue here. Just user error so to speak.

Hmm, I’ll have a look to see if there’s a way to detect if the EMITTER_COLOR_ARG is missing in the menu and/or for the library to include if EMITTER_SIZE_ARG is used and how to best handle.

1 Like

I’m not quite sure what I’m doing wrong, but since this is new, I wanna ask here:
I did this in the config:

Preset presets[] = { 
  {"Blaster/Dredgen/E-11D;common", "tracks/mars.wav",
		StylePtr<BarrelBlade>("12288,50176,0", "16384,54272,65535","","","","","","","65535,24576,8192"),
		StylePtr<BarrelBlade>(),
		StylePtr<ClipOnIndicator>(),
		"E-11D"
	}
}


#ifdef CONFIG_STYLES
using BarrelBlade =	Lockup<BlastFadeout<BlastFadeout<Black,AudioFlicker<Black,RgbArg<BLAST_COLOR_ARG,Rgb<255,64,0>>>,250,EFFECT_FIRE>,AudioFlicker<Black,RgbArg<ALT_COLOR_ARG,Rgb<0,0,255>>>,1500,EFFECT_STUN>,AudioFlicker<Black,RgbArg<BASE_COLOR_ARG,Rgb<196,128,0>>>>;
#endif

And I’m getting the following error at compile time:

In file included from D:\Sabers\ProffieOS-7.x\ProffieOS\ProffieOS.ino:617:
D:\Sabers\ProffieOS-7.x\ProffieOS\config\OS7_blaster_1.h:168:98: error: no matching function for call to 'StylePtr<BarrelBlade>(const char [14], const char [18], const char [1], const char [1], const char [1], const char [1], const char [1], const char [1], const char [17])'
  168 |   StylePtr<BarrelBlade>("12288,50176,0", "16384,54272,65535","","","","","","","65535,24576,8192"),
      |                                                                                                  ^
In file included from D:\Sabers\ProffieOS-7.x\ProffieOS\styles\fire.h:4,
                 from D:\Sabers\ProffieOS-7.x\ProffieOS\ProffieOS.ino:465:
D:\Sabers\ProffieOS-7.x\ProffieOS\styles\style_ptr.h:100:16: note: candidate: 'StyleFactory* StylePtr() [with STYLE = Layers<Layers<Layers<Layers<Rgb<0, 0, 0>, AlphaL<Layers<Rgb<0, 0, 0>, AlphaL<RgbArg<9, Rgb<255, 64, 0> >, SingleValueAdapter<NoisySoundLevelCompatSVF> > >, BlastFadeoutF<250, EffectType::EFFECT_FIRE> > >, AlphaL<Layers<Rgb<0, 0, 0>, AlphaL<RgbArg<2, Rgb<0, 0, 255> >, SingleValueAdapter<NoisySoundLevelCompatSVF> > >, BlastFadeoutF<1500, EffectType::EFFECT_STUN> > >, LockupL<Layers<Rgb<0, 0, 0>, AlphaL<RgbArg<1, Rgb<196, 128, 0> >, SingleValueAdapter<NoisySoundLevelCompatSVF> > >, Layers<Rgb<0, 0, 0>, AlphaL<RgbArg<1, Rgb<196, 128, 0> >, SingleValueAdapter<NoisySoundLevelCompatSVF> > >, SingleValueAdapter<IntSVF<32768> >, SmoothStep<SingleValueAdapter<IntSVF<28671> >, SingleValueAdapter<IntSVF<4096> > >, LayerFunctions<Bump<ScaleBase<SlowNoise<SingleValueAdapter<IntSVF<2000> > >, SingleValueAdapter<IntSVF<3000> >, SingleValueAdapter<IntSVF<16000> > >, ScaleBase<BrownNoiseF<SingleValueAdapter<IntSVF<10> > >, SingleValueAdapter<IntSVF<14000> >, SingleValueAdapter<IntSVF<8000> > > >, Bump<ScaleBase<SlowNoise<SingleValueAdapter<IntSVF<2300> > >, SingleValueAdapter<IntSVF<26000> >, SingleValueAdapter<IntSVF<8000> > >, SingleValueAdapter<ScaleSVF<NoisySoundLevelSVF, SingleValueAdapter<IntSVF<5000> >, SingleValueAdapter<IntSVF<10000> > > > >, Bump<ScaleBase<SlowNoise<SingleValueAdapter<IntSVF<2300> > >, SingleValueAdapter<IntSVF<20000> >, SingleValueAdapter<IntSVF<30000> > >, ScaleBase<IsLessThanBase<SlowNoise<SingleValueAdapter<IntSVF<1500> > >, SingleValueAdapter<IntSVF<8000> > >, SingleValueAdapter<ScaleSVF<NoisySoundLevelSVF, SingleValueAdapter<IntSVF<5000> >, SingleValueAdapter<IntSVF<0> > > >, SingleValueAdapter<IntSVF<0> > > > > > > >]'
  100 | StyleAllocator StylePtr() {
      |                ^~~~~~~~
D:\Sabers\ProffieOS-7.x\ProffieOS\styles\style_ptr.h:100:16: note:   candidate expects 0 arguments, 9 provided
D:\Sabers\ProffieOS-7.x\ProffieOS\styles\style_ptr.h:124:16: note: candidate: 'StyleFactory* StylePtr(const char*) [with STYLE = Layers<Layers<Layers<Layers<Rgb<0, 0, 0>, AlphaL<Layers<Rgb<0, 0, 0>, AlphaL<RgbArg<9, Rgb<255, 64, 0> >, SingleValueAdapter<NoisySoundLevelCompatSVF> > >, BlastFadeoutF<250, EffectType::EFFECT_FIRE> > >, AlphaL<Layers<Rgb<0, 0, 0>, AlphaL<RgbArg<2, Rgb<0, 0, 255> >, SingleValueAdapter<NoisySoundLevelCompatSVF> > >, BlastFadeoutF<1500, EffectType::EFFECT_STUN> > >, LockupL<Layers<Rgb<0, 0, 0>, AlphaL<RgbArg<1, Rgb<196, 128, 0> >, SingleValueAdapter<NoisySoundLevelCompatSVF> > >, Layers<Rgb<0, 0, 0>, AlphaL<RgbArg<1, Rgb<196, 128, 0> >, SingleValueAdapter<NoisySoundLevelCompatSVF> > >, SingleValueAdapter<IntSVF<32768> >, SmoothStep<SingleValueAdapter<IntSVF<28671> >, SingleValueAdapter<IntSVF<4096> > >, LayerFunctions<Bump<ScaleBase<SlowNoise<SingleValueAdapter<IntSVF<2000> > >, SingleValueAdapter<IntSVF<3000> >, SingleValueAdapter<IntSVF<16000> > >, ScaleBase<BrownNoiseF<SingleValueAdapter<IntSVF<10> > >, SingleValueAdapter<IntSVF<14000> >, SingleValueAdapter<IntSVF<8000> > > >, Bump<ScaleBase<SlowNoise<SingleValueAdapter<IntSVF<2300> > >, SingleValueAdapter<IntSVF<26000> >, SingleValueAdapter<IntSVF<8000> > >, SingleValueAdapter<ScaleSVF<NoisySoundLevelSVF, SingleValueAdapter<IntSVF<5000> >, SingleValueAdapter<IntSVF<10000> > > > >, Bump<ScaleBase<SlowNoise<SingleValueAdapter<IntSVF<2300> > >, SingleValueAdapter<IntSVF<20000> >, SingleValueAdapter<IntSVF<30000> > >, ScaleBase<IsLessThanBase<SlowNoise<SingleValueAdapter<IntSVF<1500> > >, SingleValueAdapter<IntSVF<8000> > >, SingleValueAdapter<ScaleSVF<NoisySoundLevelSVF, SingleValueAdapter<IntSVF<5000> >, SingleValueAdapter<IntSVF<0> > > >, SingleValueAdapter<IntSVF<0> > > > > > > >]'
  124 | StyleAllocator StylePtr(const char* default_arguments) {
      |                ^~~~~~~~
D:\Sabers\ProffieOS-7.x\ProffieOS\styles\style_ptr.h:124:16: note:   candidate expects 1 argument, 9 provided
exit status 1
Error compiling for board Proffieboard V2.

I only get the error when I put the parameters.

Remove the commas between " " and add a space inside the “” after each color.

The arguments are separated by a single space only and if you have no argument or want to use a default you need to use “~”.

Example:

StylePtr<...>("12288,50176,0 16384,54272,65535 ~ ~ ~ ~ ~ ~ 65535,24576,8192")

1 Like

I added a “default-to-Red” if there isn’t an argument color when editing an effect like EMITTER_SIZE_ARG, can you test with the style you mentioned?

That works great! Thanks!

You can mark these of the list @profezzorn , I’ve tested these:

“Quick Select” for Scroll Presets allows selection and immediate ignition of preset

Support for BC control variations (via defines)

“Spin Mode” (via defines) - disables Clash and Lockup during spinning and flourish maneuvers

Edit Setting Menu (via define) - allows a “Settings only” menu system in place of full Edit Mode

Quick Select on Boot (via define) - saber starts in Select Preset Mode on boot up for faster preset selection

“Quiet” Track Player (remove spoken prompts via define)

FETT263_TRACK_PLAYER_NO_PROMPTS

FETT263_QUICK_SELECT_ON_BOOT

FETT263_EDIT_SETTINGS_MENU

FETT263_DISABLE_QUOTE_PLAYER

FETT263_QUOTE_PLAYER_START_ON

FETT263_USE_BC_MELT_STAB

FETT263_BC_SAY_BATTERY_VOLTS_PERCENT