# ProffieOS 7.7 Beta (done)

**URL:** <https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911>\
**Category:** ProffieOS\
**Created:** [February 6, 2023, 8:34am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911 "2023-02-06T08:34:27Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [February 6, 2023, 8:34am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/1 "2023-02-06T08:34:29Z")

</div>

ProffieOS 7.x is moving to beta stage.  
That means that it’s time to start testing features.  
Once everything has been tested, the actual release will begin.

ProffieOS 7.7 beta can be downloaded here:

[https://fredrik.hubbe.net/lightsaber/ProffieOS-v7.7.zip](https://fredrik.hubbe.net/lightsaber/ProffieOS-v7.7.zip)

To help with testing, all new features (listed below) have been documented, and that documentation can be found in the [ProffieOS 7.x Documentation wiki thread](https://crucible.hubbe.net/t/proffieos-7-x-documentation/2936)

Please help, try it out and let me know which features you have tried by posting a reply to this thread below!

# Features:

- New code for reading/writing ini files. Should cut down on SD card corruption significantly. - tested by Everybody
- Better Teensy4 support, including WS281x support. - testing optional
- Alternate sound files: altNNN/ - tested by NoSloppy
- Sound file sub-sub directories: hum/001/001.wav - tested by Profezzorn
- Updated clash detection - tested by everyone
- StylePtr default arguments - tested by Baldusi
- Bendable time in most transitions - tested by NoSloppy
- Most “help” command text moved to wiki page to save memory. - tested by Profezzorn
- Support for sorted track/font menus.
- OLED error messages - tested by Baldusi
- low-power OLED mode - tested by NoSloppy
- Most OLED images can now use the length of the corresponding wav to decide how long to show the image or animation. - tested by NoSloppy
- Dynamic mixer bugfix -tested by everyone
- New config file section: CONFIG\_STYLES - tested by Baldusi
- All config.ini files in the font search path are now read. - tested by NoSloppy & Sabersense
- New prop file: saber\_caiwyn\_buttons.h
- TrConcat can now be used without putting colors between transitions. - tested by NoSloppy
- Experimental ESP32-S3 support. - testing optional

### New font config variable:

- ProffieOSHumDelay - tested by NoSloppy
- ProffieOSSmoothSwingHumstart - tested by cbrsawyer

### New defines:

- BOOT\_VOLUME - tested by Revo
- AUDIO\_CLASH\_SUPPRESSION\_LEVEL - tested by Bruinrogue
- DISABLE\_TALKIE - tested by NoSloppy
- BLADE\_ID\_SCAN\_MILLIS - tested by Baldusi
- KILL\_OLD\_PLAYERS - tested by Revo
- POV\_INCLUDE\_FILE - tested by NoSloppy
- BLADE\_ID\_TIMES - tested by Baldusi

### New sound effects:

- altchng - tested by NoSloppy

### New OLED images

- preon - tested by NoSloppy
- in - tested by NoSloppy
- out - tested by NoSloppy
- pstoff - tested by NoSloppy

### New blade wrapper:

- SubBladeZZ - tested by Afrobaron

### New EFFECT\_\* values:

- EFFECT\_VOLUME\_LEVEL - just a number, does not need testing
- EFFECT\_ON - just a number, does not need testing
- EFFECT\_QUOTE - just a number, does not need testing
- EFFECT\_SECONDARY\_IGNITION - just a number, does not need testing
- EFFECT\_SECONDARY\_RETRACTION - just a number, does not need testing
- EFFECT\_OFF - just a number, does not need testing
- EFFECT\_FAST\_OFF - just a number, does not need testing
- EFFECT\_OFF\_CLASH - just a number, does not need testing
- EFFECT\_NEXT\_QUOTE - just a number, does not need testing
- EFFECT\_INTERACTIVE\_PREON
- EFFECT\_INTERACTIVE\_BLAST
- EFFECT\_TRACK - just a number, does not need testing
- EFFECT\_BEGIN\_BATTLE\_MODE - just a number, does not need testing
- EFFECT\_END\_BATTLE\_MODE - just a number, does not need testing
- EFFECT\_BEGIN\_AUTO\_BLAST - just a number, does not need testing
- EFFECT\_END\_AUTO\_BLAST - just a number, does not need testing
- EFFECT\_ALT\_SOUND
- EFFECT\_TRANSITION\_SOUND - just a number, does not need testing
- EFFECT\_SOUND\_LOOP - just a number, does not need testing
- EFFECT\_GAME\_START - just a number, does not need testing
- EFFECT\_GAME\_ACTION1 - just a number, does not need testing
- EFFECT\_GAME\_ACTION2 - just a number, does not need testing
- EFFECT\_GAME\_CHOICE - just a number, does not need testing
- EFFECT\_GAME\_RESPONSE1 - just a number, does not need testing
- EFFECT\_GAME\_RESPONSE2 - just a number, does not need testing
- EFFECT\_GAME\_RESULT1 - just a number, does not need testing
- EFFECT\_GAME\_RESULT2 - just a number, does not need testing
- EFFECT\_GAME\_WIN - just a number, does not need testing
- EFFECT\_GAME\_LOSE - just a number, does not need testing
- EFFECT\_USER5 - just a number, does not need testing
- EFFECT\_USER6 - just a number, does not need testing
- EFFECT\_USER7 - just a number, does not need testing
- EFFECT\_USER8 - just a number, does not need testing
- EFFECT\_SD\_CARD\_NOT\_FOUND
- EFFECT\_FONT\_DIRECTORY\_NOT\_FOUND
- EFFECT\_ERROR\_IN\_FONT\_DIRECTORY
- EFFECT\_ERROR\_IN\_BLADE\_ARRAY

### New off type:

- OFF\_FAST

### Styles:

- LockupTrL has a new argument: CONDITION
- StylePOV - tested by NoSloppy
- ContinuousPOV - tested by NoSloppy
- ChargingStylePtr - tested by Sabersense
- TransitionPulseL - tested by Profezzorn

### New Functions:

- ClampF / ClampFX - tested by Profezzorn
- Divide - tested by Profezzorn
- IsBetween - tested by Profezzorn
- Subtract - tested by Profezzorn
- TwistAcceleration - tested by Profezzorn
- AltF - tested by NoSloppy
- SyncAltToVarianceF - tested by Profezzorn
- LockupPulseF - tested by Profezzorn
- ModF - tested by Profezzorn
- VolumeLevel - tested by Profezzorn
- HumpFlickerFX - tested by Profezzorn

### New Transitions:

- TrBlink(X) - tested by Profezzorn
- TrDoEffect(X) - tested by NoSloppy
- TrDoEffectAlways(X)
- TrLoop - tested by Profezzorn
- TrLoopN(X) - tested by Profezzorn
- TrLoopUntil - tested by Profezzorn

### Sound library addition:

- moffopt.wav

### New style arguments:

- ALT\_COLOR2\_ARG
- ALT\_COLOR3\_ARG
- STYLE\_OPTION2\_ARG
- STYLE\_OPTION3\_ARG
- IGNITION\_OPTION2\_ARG
- RETRACTION\_OPTION2\_ARG

### New pairable sound transitions

- lock → endlock - tested by NoSloppy
- armhum → endarm - tested by NoSloppy
- auto → endauto - tested by NoSloppy
- lb → endlb - tested by NoSloppy
- melt → endmelt - tested by NoSloppy
- drag → enddrag - tested by NoSloppy

# Fett263 prop changes:

- Removed delay between Clashes (for Clash Spamming) - tested by Jakmar
- Removed delay for gesture ignitions on boot and after retraction - tested by Jakmar

### Control Updates / Changes

- Force / Quote\* Effect Available While OFF (\*depending on defines) - tested by Jakmar
- “Quick Select” for Scroll Presets allows selection and immediate ignition of preset - tested by Jakmar
- Change to “Gesture Sleep” controls (needed to allow for new features refer to control list) - tested by Jakmar
- Circular Volume and Dimming menu (no max/min stop - via define) - tested by Jakmar
- 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) - tested by Jakmar
- “Spin Mode” (via defines) - disables Clash and Lockup during spinning and flourish maneuvers - tested by Jakmar
- Use both Spoken Battery Percent and Volt based on blade angle (via define) - tested by Jakmar
- 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 - tested by Jakmar
- Quick Select on Boot (via define) - saber starts in Select Preset Mode on boot up for faster preset selection - tested by Jakmar
- “Quiet” Track Player (remove spoken prompts via define) - tested by Jakmar

### New Defines

- FETT263\_DISABLE\_CHANGE\_FONT - tested by MegtoothSith
- FETT263\_DISABLE\_CHANGE\_STYLE - tested by MegtoothSith
- FETT263\_DISABLE\_COPY\_PRESET - tested by MegtoothSith
- FETT263\_DISABLE\_MULTI\_BLAST - tested by Cyroceon
- FETT263\_TRACK\_PLAYER\_NO\_PROMPTS - tested by Jakmar
- FETT263\_RANDOMIZE\_QUOTE\_PLAYER - tested by cbrsawyer
- FETT263\_QUICK\_SELECT\_ON\_BOOT - tested by Jakmar
- FETT263\_EDIT\_SETTINGS\_MENU - tested by Jakmar
- FETT263\_DISABLE\_QUOTE\_PLAYER - tested by Jakmar
- FETT263\_QUOTE\_PLAYER\_START\_ON - tested by Jakmar
- FETT263\_SPECIAL\_ABILITIES
- FETT263\_SPIN\_MODE - tested by LyleStyle

### BC Variations

- FETT263\_USE\_BC\_MELT\_STAB - tested by Jakmar
- FETT263\_BC\_SAY\_BATTERY\_VOLTS\_PERCENT - tested by Jakmar

### New Effect Support

\*requires FETT263\_SPECIAL\_ABILITIES define

- EFFECT\_BATTERY\_LEVEL
- EFFECT\_VOLUME\_LEVEL
- EFFECT\_QUOTE
- EFFECT\_NEXT\_QUOTE
- EFFECT\_TRACK
- EFFECT\_ALT\_SOUND
- EFFECT\_TRANSITION\_SOUND
- EFFECT\_SOUND\_LOOP
- EFFECT\_BEGIN\_BATTLE\_MODE
- EFFECT\_END\_BATTLE\_MODE
- EFFECT\_BEGIN\_AUTO\_BLAST
- EFFECT\_END\_AUTO\_BLAST
- EFFECT\_INTERACTIVE\_PREON
- EFFECT\_INTERACTIVE\_BLAST
- EFFECT\_ON
- EFFECT\_FAST\_ON
- EFFECT\_OFF
- EFFECT\_FAST\_OFF
- EFFECT\_SECONDARY\_IGNITION
- EFFECT\_SECONDARY\_RETRACTION

### Available Mini Game EFFECTs

- EFFECT\_GAME\_START
- EFFECT\_GAME\_ACTION1
- EFFECT\_GAME\_ACTION2
- EFFECT\_GAME\_CHOICE
- EFFECT\_GAME\_RESPONSE1
- EFFECT\_GAME\_RESPONSE2
- EFFECT\_GAME\_RESULT1
- EFFECT\_GAME\_RESULT2
- EFFECT\_GAME\_WIN
- EFFECT\_GAME\_LOSE

# BC prop

- Spoken Battery level in volts or percentage. Both always available. - tested by NoSloppy
- Live toggle between sequential or random quote play added. - tested by NoSloppy
- Twist to select presets added. - tested by NoSloppy
- `#define BC_NO_BM` to disable battle mode features. - tested by NoSloppy
- Bypass postoff by Turn off while pointing up. - tested by NoSloppy

## Volume menu updates

- Removed “cycle through”, added Quick MAX and MIN vol instead.
- Twist to change volume added.
- EFFECT\_VOLUME\_LEVEL

# Caiwyn prop

- New prop file: saber\_caiwyn\_buttons.h

### New defines:

- CAIWYN\_BUTTON\_CLASH
- CAIWYN\_BUTTON\_LOCKUP
- CAIWYN\_SAVE\_TRACKS
- CAIWYN\_SAVE\_TRACK\_MODE
- DISABLE\_COLOR\_CHANGE

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [February 6, 2023, 8:36am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/2 "2023-02-06T08:36:10Z")

</div>

@Fett263, @NoSloppy, @Caiwyn: I need a list of updates in your props in a similar format to the post above so that I can add it to the list. It doesn’t have to have any explanations for what the features are. I just want a list of defines and features so that we can get people to test them.

---

<div class="post-metadata">

**Author:** ![Fett263](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/fett263/32/214_2.png) [@Fett263](https://crucible.hubbe.net/u/Fett263)\
**Post date:** [February 6, 2023, 1:25pm UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/3 "2023-02-06T13:25:51Z")

</div>

Here you go, I also have a thread here with additional info:

> [@ProffieOS7.x Fett263 Prop File Updates](https://crucible.hubbe.net/t/proffieos7-x-fett263-prop-file-updates/2556):
>
> 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,…

**Prop Updates**

- Removed delay between Clashes (for Clash Spamming)
- Removed delay for gesture ignitions on boot and after retraction

**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:

```auto
  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)

```

---

<div class="post-metadata">

**Author:** ![NoSloppy](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/nosloppy/32/3865_2.png) [@NoSloppy](https://crucible.hubbe.net/u/NoSloppy)\
**Post date:** [February 6, 2023, 2:14pm UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/4 "2023-02-06T14:14:06Z")

</div>

**saber\_BC\_buttons updates:**

- Spoken Battery level in volts or percentage. Both always available.
- Live toggle between sequential or random quote play added.
- Twist to select presets added.
- `#define BC_NO_BM` to disable battle mode features.
- Bypass postoff by Turn off while pointing up.

_-Volume menu updates-_

- Removed “cycle through”, added Quick MAX and MIN vol instead.
- Twist to change volume added.
- EFFECT\_VOLUME\_LEVEL visual on blade support added.

I think that’s about it

---

<div class="post-metadata">

**Author:** ![Caiwyn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/caiwyn/32/2892_2.png) [@Caiwyn](https://crucible.hubbe.net/u/Caiwyn)\
**Post date:** [February 6, 2023, 5:35pm UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/5 "2023-02-06T17:35:39Z")

</div>

Is this enough? The entire prop file is new… let me know if you need anything else.

Features:

- New prop file: saber\_caiwyn\_buttons.h

New defines:

- CAIWYN\_BUTTON\_CLASH
- CAIWYN\_BUTTON\_LOCKUP
- CAIWYN\_SAVE\_TRACKS
- CAIWYN\_SAVE\_TRACK\_MODE
- DISABLE\_COLOR\_CHANGE (not new, but my prop uses it)

---

<div class="post-metadata">

**Author:** ![A\_Rogue\_Child](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/a_rogue_child/32/4449_2.png) [@A\_Rogue\_Child](https://crucible.hubbe.net/u/A_Rogue_Child)\
**Post date:** [February 6, 2023, 6:15pm UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/6 "2023-02-06T18:15:36Z")

</div>

@NoSloppy I just re-validated KILL\_OLD\_PLAYERS works as it should across 4 boards.

@Fett263 Can you clarify for me what you mean by “On the fly.”

re:

```auto
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

```

As-in that using these defines the process it limited to in EditMode only, correct?

No more accidental changes in standard button use, correct? Thx

---

<div class="post-metadata">

**Author:** ![Fett263](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/fett263/32/214_2.png) [@Fett263](https://crucible.hubbe.net/u/Fett263)\
**Post date:** [February 6, 2023, 6:40pm UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/7 "2023-02-06T18:40:55Z")

</div>

These defines disable the individual controls for those features outside of Edit Mode. In OS6 they were default whether you had Edit Mode or not and multiple users reported accidentally triggering so now those can be disabled. They do not affect Edit Mode if it is enabled.

---

<div class="post-metadata">

**Author:** ![BK\_Saber](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/bk_saber/32/2246_2.png) [@BK\_Saber](https://crucible.hubbe.net/u/BK_Saber)\
**Post date:** [February 6, 2023, 6:48pm UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/8 "2023-02-06T18:48:28Z")

</div>

Question regarding ProffieOSHumDelay for OS7

As discussed from the Pre-alpha thread:  
_“This basically does the same thing as humstart. humstart sets how long before the end of the “out.wav” ends that the hum should start. ProffieOSHumDelay starts from the beginning of the “out.wav” instead. You can use either one, but not both.”_

So the question is, If someone buys a sound font with this ProffieOSHumDelay parameter in the included config file (as most sound font makers include font\_config files in their packages), …what will happen if someone loaded this font into a saber that didnt have OS7 and was running an older OS? Does the hum simply just start at 0ms?

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [February 7, 2023, 12:15am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/9 "2023-02-07T00:15:37Z")

</div>

I guess I should be more specific…  
If ProffieOSHumDelay AND humStart are both specified, ProffieOSHumDelay is used, not humStart.  
An older proffieOS installation would only see the humStart, so it would use that one.

---

<div class="post-metadata">

**Author:** ![profezzorn](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/profezzorn/32/8_2.png) [@profezzorn](https://crucible.hubbe.net/u/profezzorn)\
**Post date:** [February 7, 2023, 6:23am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/10 "2023-02-07T06:23:31Z")

</div>

I updated the top post with all the new prop stuff.  
I removed most of the descriptions of what stuff does to make room for “tested by …”.  
Let me know if I missed anything.

---

<div class="post-metadata">

**Author:** ![NoSloppy](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/nosloppy/32/3865_2.png) [@NoSloppy](https://crucible.hubbe.net/u/NoSloppy)\
**Post date:** [February 7, 2023, 11:37am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/11 "2023-02-07T11:37:01Z")

</div>

altNNN and altchng.wav working.

[![](https://img.youtube.com/vi/jeN0CIvICtw/maxresdefault.jpg "alt") ](https://www.youtube.com/watch?v=jeN0CIvICtw)

---

<div class="post-metadata">

**Author:** ![Fett263](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/fett263/32/214_2.png) [@Fett263](https://crucible.hubbe.net/u/Fett263)\
**Post date:** [February 8, 2023, 1:21pm UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/12 "2023-02-08T13:21:44Z")

</div>

Join profezzorn (Fredrik) and I tomorrow (Thursday, February 9, 10PM EST (7:00PM PST)) as we discuss some of the new features and answer questions for ProffieOS7 Alpha.

> **[ProffieOS7 Alpha Kick Off with Profezzorn](https://www.youtube.com/live/fyffOtqscag)**
>
> Join profezzorn (Fredrik) and I as we discuss some of the new features and answer questions for ProffieOS7. Alpha testing is now underway, to learn more vis...

---

<div class="post-metadata">

**Author:** ![Fett263](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/fett263/32/214_2.png) [@Fett263](https://crucible.hubbe.net/u/Fett263)\
**Post date:** [February 8, 2023, 3:12pm UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/13 "2023-02-08T15:12:31Z")

</div>

For users who haven’t used github before, if you’re wanting to test OS7 use link below.

- Click Green “Code” button
- Select “Download ZIP”
- Extract contents to a folder on you computer.
- Rename the main folder from “ProffieOS-master” to “ProffieOS”
- Put a copy of your config in the /config folder
- Open ProffieOS.ino and define your config
- Upload as normal  
If you successfully test a feature from first post -or- have questions or encounter any issues report in this thread and provide your config and as much detail as possible.

> **[GitHub - profezzorn/ProffieOS: Lightsaber Controller Software](https://github.com/profezzorn/ProffieOS)**
>
> Lightsaber Controller Software. Contribute to profezzorn/ProffieOS development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![Afrojedi](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/afrojedi/32/218_2.png) [@Afrojedi](https://crucible.hubbe.net/u/Afrojedi)\
**Post date:** [February 9, 2023, 12:18am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/14 "2023-02-09T00:18:00Z")

</div>

COUNT ME IN. I’ll monitor the list above

---

<div class="post-metadata">

**Author:** ![NoSloppy](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/nosloppy/32/3865_2.png) [@NoSloppy](https://crucible.hubbe.net/u/NoSloppy)\
**Post date:** [February 9, 2023, 1:55am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/15 "2023-02-09T01:55:03Z")

</div>

> [ProffieOS 7.7 Beta (done) - #11 by NoSloppy](https://crucible.hubbe.net/t/proffieos-7-x-alpha/2911/11)

In addition to the altNNN sounds test, this video posted also shows successful testing for AltF, as it was used to select the blade animations as well.

```auto
Layers<
MultiTransitionEffectL<TrSelect<AltF,
    TrConcat<TrWipe<150>,Red,TrWipe<100>>,
    TrConcat<TrWipe<200>,Stripes<1000,-2000,Cyan,Blue>,TrWipe<100>>>,
EFFECT_BLAST>>,
                          
TransitionEffectL<
    TrDoEffectX<TrInstant, EFFECT_ALT_SOUND,                 
    EffectIncrementF<EFFECT_FORCE, Int<2>, Int<1>>>,
EFFECT_FORCE>
>

```

---

<div class="post-metadata">

**Author:** ![Fett263](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/fett263/32/214_2.png) [@Fett263](https://crucible.hubbe.net/u/Fett263)\
**Post date:** [February 10, 2023, 6:05pm UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/16 "2023-02-10T18:05:19Z")

</div>

@profezzorn These are probably good to link to for users to look through as they test and as a start point for “documentation”.

> [@ProffieOS7.x "Alt Font" pre-alpha discussion](https://crucible.hubbe.net/t/proffieos7-x-alt-font-pre-alpha-discussion/2519):
>
> In ProffieOS7 the “Alt Font” capability will allow style code to change the font sounds being used by setting up “altNNN” folders within the font. This may not look like much on the surface, but this is a key piece to a whole new level of synergy between styles and fonts. In OS7, style code will now be able to change the sounds your font is using in real-time. “Alt” font is a new way to set up your fonts to work with styles so that you can change any and all sounds in the font to match to the visual effects. Here are some demos I’ve shot so far but there are many more uses. Alt Font can be used with Kyber Select styles to allow the change in color/effect to also align to a specific “alt” folder in your current font. [[ProffieOS7 Visual and Sound Effect Synergy Demo (1 of 11) - Kyber Select 2.0] ](https://www.youtube.com/watch?v=Jq7SdbDuk_8) Alt Font can be used with ColorSelect\<\> styles for Dual Phase or Multi Phase blades so each color/effect aligns to a specific “alt” folder. [[ProffieOS7 Visual and Sound Effect Synergy Demo (2 of 11) - "Pull to the Darkness" with alt Font] ](https://www.youtube.com/watch?v=W30sOvwuJDA)[[ProffieOS7 Visual and Sound Effect Synergy Demo (3 of 11) - Corran Horn Dual Phase] ](https://www.youtube.com/watch?v=egSKzrYglzU) Alt Font can also be used with “interactive” styles to create “states” in your blade styles that not only change how the blade looks but how it sounds for a temporary or toggled effect [[ProffieOS7 Visual and Sound Effect Synergy Demo (4 of 11) - Interactive Ice Blade 2.0] ](https://www.youtube.com/watch?v=5P6dLmLZGMU)[[ProffieOS7 Visual and Sound Effect Synergy Demo (5 of 11) - Interactive DOOM Crucible Blade 2.0] ](https://www.youtube.com/watch?v=T0NImOMPLpo) In order to implement you will need to set up “alt” folders in your font for the sounds you want to toggle/synchronize and then include the necessary transitions (coming soon) in the style code to interact with the font. Setting Up “alt” sounds in your font. What this means is you can set up any of the sounds you want to change via the style code in an “altXXX” folder. So let’s say we want to change the hum, in, out, swingh, swingl and swng sounds in our current font to match to visual changes in the style code. We would set up the font like so: \<root\> alt000/ alt001/ alt002/ alt003/ alt004/ bgndrag/ bgnlb/ bgnlock/ bgnmelt/ blst/ boot/ clsh/ drag/ enddrag/ endlb/ endlock/ endmelt/ font/ force/ lb/ lock/ melt/ quote/ ... you’ll then put the hum, in, out, swingh, swingl, swng sounds into the “altXXX” folders, this will allow these sounds to be selected by the style code \<root\> alt000/ hum/ in/ ou…

> [@ProffieOS7.x "Randomization of Selected Sounds" pre-alpha discussion](https://crucible.hubbe.net/t/proffieos7-x-randomization-of-selected-sounds-pre-alpha-discussion/2521):
>
> This allows for the randomization of selected sounds. This can be used for any effect but is especially important for Transition Sounds here: [ProffieOS7.x "Transition Sounds" pre-alpha discussion](https://crucible.hubbe.net/t/proffieos7-x-transition-sounds-pre-alpha-discussion/2520) The Transition Sound is a selected sound, meaning the style code will select the exact sound file to play. In order to prevent monotony Fredrik has added this new way to randomize sounds. If I set up a “Lightning” bolt sound, an explosion sound, a fireball sound, etc. for use in transition animations, the style code would select and play that sound by it’s number so say it’s: tr000.wav for lightning tr001.wav for explosion tr002.wav for fireball When I want the lightning sound to trigger the style code calls sound “0” (which = 000), for explosion it would call “1” and fireball it would call “002”. Now if I wanted to have multiple sounds for each to get more diversity in the sounds I would set up the tr sounds like so: \<root\> tr/ 000/ 000.wav 001.wav 002.wav 003.wav 004.wav 001/ 000.wav 001.wav 002.wav 003.wav 004.wav 002/ 000.wav 001.wav 002.wav 003.wav 004.wav Then when the 0 sound is called the OS will randomly select from the 000.wav, 001.wav, 002.wav, 003.wav or 004.wav available. NOTE: all sounds must have the same number of sub files or you will get an error in font directory. This allows the style to pick the right sound but still have some randomization in what’s played.

> [@ProffieOS7.x "Transition Sounds" pre-alpha discussion](https://crucible.hubbe.net/t/proffieos7-x-transition-sounds-pre-alpha-discussion/2520/3):
>
> You’ll need a prop that supports the sound for it to work, the base OS doesn’t support.

> [@ProffieOS7.x "Accelerating / Decelerating Transitions (BEND TIME)" pre-alpha discussion](https://crucible.hubbe.net/t/proffieos7-x-accelerating-decelerating-transitions-bend-time-pre-alpha-discussion/2524/1):
>
> This is the accelerating/decelerating transition effects capability. [[Sneak Peek / Proof of Concept - New Accelerating / Decelerating Ignition and Retraction Effects] ](https://www.youtube.com/watch?v=INkuR66y9P8)[[Sneak Peek - Demo - Accelerating / Decelerating SparkTip Ignition and Retraction for ProffieOS] ](https://www.youtube.com/watch?v=j4E3fTb-ax4) Usage: When “Bend” Time is less than 32768 the transition will start fast and decelerate at the end, when it is above 32768 it will start slow and accelerate to the end. You can use IgnitionTime\<0\>, RetractionTime\<0\> or WanLen\<\> to auto time the transition to the sound. In testing thus far you need longer transition times to show the accel or decel well. Best bend values to start are either Int\<10992\> and Int\<98304\> but you can play with values to adjust accel/decel times. The BEND values will be editable via Edit Mode and ProffieOS Workbench using below arguments so you will be able to test and adjust on the saber when OS7 releases wink IGNITION\_OPTION2\_ARG RETRACTION\_OPTION2\_ARG TrWipeX\< BendTimePowX\< IgnitionTime\<0\>, Int\<10992\>\> \> TrWipeInX\< BendTimePowX\< RetractionTime\<0\>, Int\<98304\>\> \>

> [@ProffieOS7.x "Mini Games & Advanced Interactive Styles" pre-alpha discussion](https://crucible.hubbe.net/t/proffieos7-x-mini-games-advanced-interactive-styles-pre-alpha-discussion/2525):
>
> These effects are primarily intended for use in “mini game” styles or more advanced interactive styles, like Interactive Blast. On their own they won’t actually trigger anything, when used in combination with my prop and styles using they can be put together to allow for mapping the branches in a mini-game (more to come). [[ProffieOS7 Proof of Concept - ANH Training Remote "Mini Game"] ](https://www.youtube.com/watch?v=IoIgQ4Bzdiw)[[ProffieOS7 Proof of Concept - Interactive Blaster Deflection] ](https://www.youtube.com/watch?v=EKxhKoAzYBw)

> [@ProffieOS7.x "Conditional Effects" pre-alpha discussion](https://crucible.hubbe.net/t/proffieos7-x-conditional-effects-pre-alpha-discussion/2523):
>
> These are used for “Conditional” effects within style code, they allow for us to set up specific conditions in which an effect is triggered; i.e. BladeAngle\<\>, SwingSpeed\<\>, etc. This is especially helpful for Staff or Dual bladed sabers running on a single board but can also be applied to multiple other uses. [[Proof of Concept - Conditional Lockup Effects for Dual Blade / Staff Sabers] ](https://www.youtube.com/watch?v=NKdN9LpGeT4)

> [@ProffieOS7.x "Secondary Blade Effects for Staff/Dual Blade Saber" pre-alpha discussion](https://crucible.hubbe.net/t/proffieos7-x-secondary-blade-effects-for-staff-dual-blade-saber-pre-alpha-discussion/2522):
>
> These effects will require my prop and new style code to enable Dual blades or Staff sabers to have individually controlled/triggered ignitions and retractions. [["Proof of Concept" Secondary Ignition/Retraction Effect for Staff / Dual Blade Sabers for ProffieOS7] ](https://www.youtube.com/watch?v=KKwA6jlrihw) \<code for this is not merged yet, will expand explanation when available\>

---

<div class="post-metadata">

**Author:** ![MegtoothSith](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/megtoothsith/32/659_2.png) [@MegtoothSith](https://crucible.hubbe.net/u/MegtoothSith)\
**Post date:** [February 11, 2023, 12:13am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/17 "2023-02-11T00:13:00Z")

</div>

I’ve got my Transcendence test saber Proffie 1.5 loaded with OS7.??. I’ll begin testing on Fernando’s prop, then I’ll try out the new prop and BC’s prop. The other stuff looks to be quite beyond my capacity.

Battery level not working in idle on Fernando’s prop.

I did add several defines:

```auto
#define FETT263_DISABLE_CHANGE_STYLE
#define FETT263_DISABLE_COPY_PRESET

```

Entire config top if needed:

```auto
#include "proffieboard_v1_config.h"
#define NUM_BLADES 1
#define NUM_BUTTONS 2
#define VOLUME 2300
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 2.2
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define FETT263_EDIT_MODE_MENU
#define ENABLE_ALL_EDIT_OPTIONS
#define FETT263_DUAL_MODE_SOUND
#define FETT263_CLASH_STRENGTH_SOUND
#define FETT263_MAX_CLASH 16
#define FETT263_SAY_BATTERY_VOLTS
#define FETT263_TWIST_OFF
#define FETT263_TWIST_ON
#define FETT263_TWIST_ON_NO_BM
#define FETT263_THRUST_ON
#define FETT263_SWING_ON
#define FETT263_SWING_ON_SPEED 350
#define FETT263_DISABLE_CHANGE_FONT
#define FETT263_DISABLE_CHANGE_STYLE
#define FETT263_DISABLE_COPY_PRESET
#define FETT263_HOLD_BUTTON_OFF
#define FETT263_HOLD_BUTTON_LOCKUP
#define FETT263_SAY_COLOR_LIST
#define FETT263_SAY_COLOR_LIST_CC
#define FETT263_SAY_BATTERY_VOLTS
#define MOTION_TIMEOUT 60 * 15 * 1000
#define IDLE_OFF_TIME 60 * 10 * 1000
#define SAVE_STATE
#define DISABLE_DIAGNOSTIC_COMMANDS
#define DISABLE_BASIC_PARSER_STYLES
#define ENABLE_SD
#define ENABLE_SERIAL
#define ENABLE_SSD1306
// Max 20 characters
#define BLE_PASSWORD "1234"
// Max 32 characters.
#define BLE_NAME "Tran"
// Max 9 characters
#define BLE_SHORTNAME "Tran"

#endif

#ifdef CONFIG_PROP

#include "../props/saber_fett263_buttons.h"

#endif

```

---

<div class="post-metadata">

**Author:** ![Fett263](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/fett263/32/214_2.png) [@Fett263](https://crucible.hubbe.net/u/Fett263)\
**Post date:** [February 11, 2023, 1:14am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/18 "2023-02-11T01:14:12Z")

</div>

> [@MegtoothSith](#):
>
> Battery level not working in idle on Fernando’s prop

Can you explain what you did and what’s not working? Also, need preset you’re trying as BatteryLevel is style based

---

<div class="post-metadata">

**Author:** ![MegtoothSith](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/megtoothsith/32/659_2.png) [@MegtoothSith](https://crucible.hubbe.net/u/MegtoothSith)\
**Post date:** [February 11, 2023, 1:27am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/19 "2023-02-11T01:27:24Z")

</div>

say battery volts. I pressed aux then power in idle. on my os 6 sabers, it then says battery volts, not on os7. If the buttons changed, I didnt read buttons instructions on os7 prop.

---

<div class="post-metadata">

**Author:** ![Fett263](https://crucible.hubbe.net/user_avatar/crucible.hubbe.net/fett263/32/214_2.png) [@Fett263](https://crucible.hubbe.net/u/Fett263)\
**Post date:** [February 11, 2023, 1:33am UTC](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911/20 "2023-02-11T01:33:25Z")

</div>

EDIT: I found it - typo in the define. I’ll get it fixed. Thanks.

[Next page](https://crucible.hubbe.net/t/proffieos-7-7-beta-done/2911.md?page=2)
