ProffieOS7.x Fett263 Prop File Updates

I have a very long list of new features, capabilities and defines coming to my prop in OS7, this thread will be a running list as I finalize and demo.

Prop Updates

  • Removed delay between Clashes (for Clash Spamming)
  • Removed delay for gesture ignitions on boot and after retraction
  • Added OFF_OPTION_ARG to Edit Mode Menu (missing in OS6)

Control Updates / Changes

  • Force / Quote* Effect Available While OFF (*depending on defines)
  • “Quick Select” for Scroll Presets allows selection and immediate ignition of preset
  • 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)
  • Disable various mode and “on-the-fly” editing controls (via defines)
  • Support for new “Special Ability” effects (via define)
  • Support for BC control variations (via defines)
  • “Spin Mode” (via defines) - disables Clash and Lockup during spinning and flourish maneuvers
  • Use both Spoken Battery Percent and Volt based on blade angle (via define)
  • Added “Increment By” controls for Ignition/Retraction Time, Delay, Options in Edit Mode
  • Added Support for ALT_COLOR2_ARG, ALT_COLOR3_ARG, STYLE_OPTION2_ARG, STYLE_OPTION3_ARG, IGNITION_OPTION2_ARG and RETRACTION_OPTION2_ARG to Edit Mode

New Features

  • 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)

New Defines
I am adding a bunch of customization to my prop to both enable and disable features. As more defines are added I’ll list them here:

  FETT263_DISABLE_CHANGE_FONT - Disables the "on-the-fly" Change Font option
  
  FETT263_DISABLE_CHANGE_STYLE - Disables the "on-the-fly" Change Style option
  
  FETT263_DISABLE_COPY_PRESET - Disables the "on-the-fly" Copy Preset option
  
  FETT263_DISABLE_MULTI_BLAST - Disables "Multi-Blast" Mode

  FETT263_TRACK_PLAYER_NO_PROMPTS - Disables spoken voice prompts in Track Player

  FETT263_RANDOMIZE_QUOTE_PLAYER
  This will set Quote Player to randomly select quote.wav instead of playing sequentially

  FETT263_QUICK_SELECT_ON_BOOT
  Enables Preset Selection Menu on Boot (when power is first applied)
  Use Dial Menu to turn to desired preset, click PWR to select or hold PWR to select and ignite

FETT263_EDIT_SETTINGS_MENU
  Enable Edit Settings Menu (Volume, Clash Threshold, Blade Length, Gestures/Controls, Brightness) - this is a simplified editing menu that only does "Settings".
  I recommend setting USB Type = "Serial + WebUSB" under Arduino > Tools to allow for style, font, track, color editing via ProffieOS Workbench
  Cannot be combined with FETT263_EDIT_MODE_MENU
  Requires ENABLE_ALL_EDIT_OPTIONS

  FETT263_DISABLE_QUOTE_PLAYER - Disables Force/Quote player, only uses Force. This will allow Quotes to be controlled by style.
    Use FETT263_SPECIAL_ABILITIES to set EFFECT_QUOTE or EFFECT_NEXT_QUOTE in style
    Cannot be used with FETT263_RANDOMIZE_QUOTE_PLAYER and FETT263_QUOTE_PLAYER_START_ON

  FETT263_SPECIAL_ABILITIES
  This enables 8 "Special Ability" controls (style controlled), 4 while ON, 4 while OFF.
  Special Abilities are controlled by the style and can vary in every preset, they are "user" defined effects/capabilities.
  Allows "Multi-Phase" to be style based, replaces FETT263_MULTI_PHASE.
  Cannot be used with FETT263_MULTI_PHASE or FETT263_SAVE_CHOREOGRAPHY

  FETT263_SPIN_MODE
  Enables toggle for "Spin" Mode* which disables all clash/stab/lockup effects to allow for spinning and flourishes.
  Cannot be used with FETT263_SAVE_CHOREOGRAPHY or FETT263_HOLD_BUTTON_LOCKUP
  *Not the same as ENABLE_SPINS

== BC Variations ==
  FETT263_USE_BC_MELT_STAB
  Allows MELT to be gesture controlled full-time, uses Thrust for Stab effect

  FETT263_BC_SAY_BATTERY_VOLTS_PERCENT
  Spoken Battery Level in volts and percent (point down for volts, parallel or up for percent)


New Effect Support

 *requires FETT263_SPECIAL_ABILITIES define

  EFFECT_BATTERY_LEVEL (to display/say* battery level) *requires FETT263_SAY_BATTERY_VOLTS or FETT263_SAY_BATTERY_PERCENT
  EFFECT_VOLUME_LEVEL (to display current volume level)
  EFFECT_POWERSAVE (blade dimming / powersave option)
  EFFECT_QUOTE (random quote* cannot be mixed with EFFECT_NEXT_QUOTE)
  EFFECT_NEXT_QUOTE (sequential quote)
  EFFECT_TRACK (plays previously selected Track (via Track Player) -or- preset's default track if "tracks" folder is not found)
  EFFECT_ALT_SOUND (enables Alt font selection from style)
  EFFECT_TRANSITION_SOUND (enable custom transition sounds)
  EFFECT_SOUND_LOOP (enable custom looped sound toggled on/off with each call)
  EFFECT_BEGIN_BATTLE_MODE (begin Battle Mode)
  EFFECT_END_BATTLE_MODE (end Battle Mode)
  EFFECT_BEGIN_AUTO_BLAST (begin Multi-Blast Mode)
  EFFECT_END_AUTO_BLAST (end Multi-Blast Mode)
  EFFECT_INTERACTIVE_PREON (allows prop to recognize Interactive Preon effects for primary control)
  EFFECT_INTERACTIVE_BLAST (allows prop to recognize Interactive Blast effects for primary control)
  EFFECT_ON (enable normal ignition from chained effect while OFF)
  EFFECT_FAST_ON (enable ignition without preon from chained effect while OFF)
  EFFECT_OFF (enable normal retraction from chained effect while ON)
  EFFECT_FAST_OFF (enable retraction without pstoff from chained effect while ON)
  EFFECT_SECONDARY_IGNITION (to enable separate "secondary" blade ignition control)
  EFFECT_SECONDARY_RETRACTION (to enable separate "secondary" blade retraction control)

----- Available Mini Game EFFECTs -----

   EFFECT_GAME_START (begin game effects)
   EFFECT_GAME_ACTION1 (game action 1)
   EFFECT_GAME_ACTION2 (game action 2)
   EFFECT_GAME_CHOICE (interactive choice based on action)
   EFFECT_GAME_RESPONSE1 (available response for action 1)
   EFFECT_GAME_RESPONSE2 (available response for action 2)
   EFFECT_GAME_RESULT1 (result of choice for action 1)
   EFFECT_GAME_RESULT2 (result of choice for action 2)
   EFFECT_GAME_WIN (end game with win)
   EFFECT_GAME_LOSE (end game with loss)

I have a ton of changes coming to my prop file to allow the highest level of customization for your Proffie saber to date. With each OS release we have gained more and more features and mapping those new features to controls with only 1 or 2 buttons has gotten more challenging, well for OS7 I am introducing a new concept to my prop, Style Based Controls. This will allow each preset to have it’s own unique features so you can add what matters to you and omit what doesn’t using the new “Special Abilities” and style code you can set up each preset to act differently or contain different features and abilities. This expansion also allows for even more new features to be available now.

#1 Expanded “Special Abilities”

I am expanding the “Special Abilities” in my prop to allow for even more customization at the style level. This will allow you to set up completely different experiences in each preset and be able to fully show off ALL of the functionality Proffie offers. Instead of being locked in to the same controls and features for each preset you can now have each preset act like it’s own unique “video game” with completely different interactions, controls and experiences. You can mix and match the features you want and omit the ones you don’t. And the expanded features allow you do even more in each preset than ever before.
In addition, these expanded capabilities can be used together with all of the new functionality to make your saber truly yours and make every preset feel like a brand new saber and experience each time you pick it up.
With the new style and “alt font” capabilities we can now recreate the Fallen Order type Kyber Crystal selection from the game in real-time on your saber in a single preset. This uses the ColorSelect capability in addition to multiple new functions, however, the previous methods for ColorSelect only allowed you to advance forward. I have added a new function and control in my prop to allow you to also go in reverse. Now you can set up different blade colors with unique sounds (via alt font) and scroll through them in real-time forward and reverse without changing presets or re-initializing the blade. Giving you many “blades” in a single preset.

In addition, these new controls can be set up as “Special Abilities” so you can pick the controls to use in each preset and leave them out if your preset doesn’t need.

#2 Up to 5 Unique On-Demand Ignitions

With ProffieOS we can have so many ignition possibilities why opt for just one? Now using the 4 new OFF “Special Abilities” plus your base ignition you can set up to 5 unique ignition effects with unique sounds that you can use on-demand.
In addition, with our new “Chained” effect capabilities we can also build out “scripted” ignitions that can use quotes or your default track as a special “preon” (in addition to normal or interactive preon effect)

#3 New “States” abilities - Rain Effects (audio and visual) and more…

Combining “Special Abilities” with several new features in prop we are now able to have on-demand control over various “states” on our saber. In the past, if you wanted to recreate a “rain” blade you would need a separate preset or a timed effect but you could never have full control over it. Now, with the new “States” abilities we’re able to activate and deactivate a looped rain sound effect (new transition sound capability) and the visual effects to have an on-demand rain blade. This capability can be expanded to many uses and you can set up multiple “states” in your preset with unique “Special Ability” controls. The rain effect is only the first example, I have many more planned :wink:

#4 New Quote Capabilities / Custom Controls

In OS6 I originally added quote support to my prop sharing the control with Force using a toggle, for OS7 I am giving users the ability to set up Quotes multiple ways with custom controls. You can choose to have quotes play randomly in one preset using any of the “Special Ability” controls and then in another preset you can have the quotes play sequentially. Or if you’re the type of person who doesn’t want or use quotes, you can now set up other capabilities in your presets -or- you can set up a preset that uses all of the quote functionality and others that don’t and have the best of both worlds.

And now in OS7 using a combination of the new font capabilities and “Special Abilities” controls you can now set up quotes into groups by mood, situation, character, etc. and have your saber act like a mini-“micom” by setting up controls for each group but still have it randomly select the actual quote. This allows a whole new level of interaction and control over the quotes and lets you set up situations or conversations that you can control all in your font and then control them your way in the style code.

You can also now “script” scenes in your presets using a combination of the chained effects and “special abilities” controls (combined with set up in the font to support) to recreate your favorite interactions from the screen or video games.

#6 Circular Volume Menu with Visual Effect Option

I believe Brian showed this, Fredrik had suggested including a VolumeLevel function to make volume settings available for styles. In OS7 I have added a new “circular” menu as an option for Edit Volume, this will allow you to continuously turn the dial instead of stopping at min/max. You can now combine either the old or new volume menu with a visual effect if you want by adding EFFECT_VOLUME_LEVEL to your style.

And there’s still a lot more coming…

4 Likes

Looks great. Do people really want to disable the multi-blast mode?

Can you highlight the differences (other than that it’s quote-specific) between FETT263_RANDOMIZE_QUOTE_PLAYER and NO_REPEAT_RANDOM? Doesn’t the latter apply to quotes/force sounds the same way?

Kudos on the new stuff!

There’s a lot more coming before you can see a complete picture.
Multi-Blast isn’t necessarily needed if you use Interactive Blast so we can save a little memory disabling.
Quotes are undergoing a big change if you see above.
In OS6 quotes play sequentially in my prop, that define changes them to random, however, to use the above capabilities there’s a new define that will disable the OS6 quote player so that define is only for users who like OS6 implementation but wanted it random instead of sequential. The other new defines aren’t merged yet so you’re not seeing a full picture of how it all fits together :wink:.

Thanks for the clarification.

Looking forward to what’s to come. The innovation in this OS update is really ground-breaking.

Will Multi-Phase still operate the way it does in OS6? I really like using that, especially to go forward and backward in preset. Thanks!

It will if you want, disabling existing features will be optional via define. Although current Multi-Phase will not work with “Special Abilities” listed above, so you’d have to pick.

1 Like

NO_REPEAT_RANDOM is a system wide feature that eliminates the same random effect from be played back-to-back. They’re still chosen randomly, but then checked if it was the last to have just played. If yes, a different random selection is made, checked, etc…

2 Likes

Where in the Style Editor is EFFECT_VOLUME_LEVEL? Will that be added once OS7 is released, or is that available in OS6? Thanks!

The Style Editor page was last updated for OS 5.9 I believe.
While there are a few things it accepts, but just doesn’t have a quick button for per se, that is not one of them. EFFECT_VOLUME_LEVEL is on target for OS 7, so you’ll need to sub something else while in there for testing like EFFECT_NEWFONT or something that is not already used elsewhere in the style.
Until the Editor is updated with the newer OS version that is.
I’d assume it’s a good amount of work to convert the code for web use so it’s likely a ‘someday’ thing, which is totally understandable IMO.

@Fett263 I think I saw Tom had this error before, and with the latest update from the Master, I’m also getting it

saber_fett263_buttons.h:4439:4: error: expected ';' after class definition

Fixed now…

@profezzorn or @NoSloppy
Just got that error message also.
So download the master as of today correct? (To resolve the issue.)

That is correct.

Thank you.

@Fett263, will you make that effect available in your style library for all styles?

After the OS releases there will be a ton of updates coming to the library.

Without a doubt. I look forward to it.

Happy Thanksgiving

I have been briefly testing OS7, and I already love some of the new defines. I am a fan of the defines restricting on-the-fly font, style, and preset adjustment.

One thing I’m noticing is I cannot get multi-blast to work as it did in OS6. I know you are making some adjustments, so checking with you before I go down a rabbit hole. I have the FETT263_MULTI_BLAST define on my config. Thanks.

There’s a number of changes that are only partially merged for my prop. In order to keep review small I am doing little pieces one-at-a-time so it’s possible something is incomplete.
I’m not really expecting testing on my prop until we kick off Alpha testing TBH.

I’ll hold off on the feedback until we get there. Excited for what’s to come.

Submitted a few more define updates for OS7:

  FETT263_EDIT_SETTINGS_MENU
  Enable Edit Settings Menu (Volume, Clash Threshold, Blade Length, Gestures/Controls, Brightness) - this is a simplified editing menu that only does "Settings".
  I recommend setting USB Type = "Serial + WebUSB" under Arduino > Tools to allow for style, font, track, color editing via ProffieOS Workbench
  Cannot be combined with FETT263_EDIT_MODE_MENU
  Requires ENABLE_ALL_EDIT_OPTIONS

  FETT263_DISABLE_QUOTE_PLAYER - Disables Force/Quote player, only uses Force. This will allow Quotes to be controlled by style.
    Use FETT263_SPECIAL_ABILITIES to set EFFECT_QUOTE or EFFECT_NEXT_QUOTE in style
    Cannot be used with FETT263_RANDOMIZE_QUOTE_PLAYER and FETT263_QUOTE_PLAYER_START_ON

== BC Variations ==
  FETT263_USE_BC_MELT_STAB
  Allows MELT to be gesture controlled full-time, uses Thrust for Stab effect

  FETT263_BC_SAY_BATTERY_VOLTS_PERCENT
  Spoken Battery Level in volts and percent (point down for volts, parallel or up for percent)

More to come…

2 Likes

A few more additions:

  FETT263_SPECIAL_ABILITIES
  This enables 8 "Special Ability" controls (style controlled), 4 while ON, 4 while OFF.
  Special Abilities are controlled by the style and can vary in every preset, they are "user" defined effects/capabilities.
  Allows "Multi-Phase" to be style based, replaces FETT263_MULTI_PHASE.
  Cannot be used with FETT263_MULTI_PHASE or FETT263_SAVE_CHOREOGRAPHY

  FETT263_SPIN_MODE
  Enables toggle for "Spin" Mode* which disables all clash/stab/lockup effects to allow for spinning and flourishes.
  Cannot be used with FETT263_SAVE_CHOREOGRAPHY or FETT263_HOLD_BUTTON_LOCKUP
  *Not the same as ENABLE_SPINS
1 Like