After more than a year of beta testing, ProffieOS 8 is now live. If all you want is to download it, you can find it on my site, or on github:
- My site: ProffieOS
- Github: Releases · profezzorn/ProffieOS · GitHub
Changes since ProffieOS 7
Note that most features have a book icon next to it which links to the documetaion.
Menu System 
This isn’t so much a menu, as it is a system for implementing menus. It also separates the menu setup from the prop file, so we can have multiple different menu configurations, and then prop A and menu B independently. Currently supported by the “saber”, “BC” and “Fett263” props. For most users, all they will need to know is how to use the MENU_SPEC_TEMPLATE define.
Sound Library V2
Adds a bunch more sounds to the spoken sound library to support the new menus. Also adds support for a configurable color list.
Color Display support 
Support 16-bit color displays. What is shown is composited from layers, and each layer can show independent color animations. Animations use a new file format called PQF which offers some compression (usually around 50%) while being very fast to decompress. PQF also offers loops, labels and conditions which lets you build complex animations which react to events from the saber.
SD card corruption protection 
If enabled, SD cards will not be automatically mountable on your computer. Instead, you have to use a menu option on the saber, or a serial monitor command to be able to mount the SD card from the computer. Once done, you can turn off the setting again, thus preventing most forms of SD card corruption.
Dual-Blade support 
ProffieOS can now keep track of which blades are on and off individually, which makes it easier for props to support Maul-style ignition.
Other minor new features
- FastButton

- LeftRightRotaryReceiver

- Oled directory prefix support

- Blaster oled controller

- Servo Support

- SubBladeWithList

New defines
- BLADE_ID_SCAN_TIMEOUT

- BLADE_ID_STOP_SCAN_WHILE_IGNITED

- COLOR_MENU_GAMMA

- CLASH_THRESHOLD_GAMMA

- VOLUME_MENU_GAMMA

- DISABLE_AUDIO

- DISABLE_WS2811

- DISABLE_MOTION

- DISABLE_SD

- DISABLE_NO_REPEAT_RANDOM

- ENABLE_SPIDISPLAY

- FONT_PATTERN

- MENU_SPEC_MENU

- MENU_SPEC_TEMPLATE

- MOUNT_SD_SETTING

- NO_BLADE_ID_RANGE

- PROFFIEOS_LOG_LEVEL

- SMOOTH_COLORCHANGE_TICKS_PER_REVOLUTION

- ENABLE_IDLE_SOUND

- BUTTON_LONG_CLICK_TIMEOUT

New styles
New functions
New Transitions
New Menus and settings 
Top Menu
Edit Settings Menu
- Volume
- SD Access
- Dimming
- Clash Threshold
- Blade Length
Edit Preset Menu
- select font
- select track
- move preset up/down
- select/insert preset
- delete preset
Edit Style Menu
- Select Style
- Apply Colors from selected style
- Apply Settings from selected style
- Apply Colors to all blades
- Reset Colors
- Reset Settings
- Change Style
Style Settings Menu
- Color settings
- Large numerical settings
- Small numerical settings
- Time settings
Color Edit Menu
- Hue
- Brightness
- Red/Green/Blue
- Named color menu
- Copy/Paste
- Reset
- Save
New serial monitor commands
New EFFECT_*
New named colors 
- Amber
- BlueRibbon
- BrainFreeze
- BrutalPink
- BusyBee
- CanaryYellow
- CathodeGreen
- CyberYellow
- ElectricBanana
- ElectricLime
- ElectricPurple
- ElectricViolet
- Flamingo
- HaltRed
- HotMagenta
- ImperialYellow
- Lemon
- LimeZest
- Limoncello
- MasterSwordBlue
- MintyParadise
- MoltenCore
- NeonRose
- Orange
- OrangeJuice
- OverdueBlue
- PaleGreen
- PlungePool
- PsychedelicPurple
- RareBlue
- SafetyOrange
- SchoolBus
- Star
- SuperSaiyan
- VibrantMint
- ViolentViolet
- VividRaspberry
- VividViolet
- ZeusBolt
New Sound effects 
- fastout
- quote
- chhum
- mclick
- idle
New oled image support 
- lowbatt
- bladein
- bladout
- blast, reload, empty, jam, clipin, clipout, destruct (for blasters)
Prop Changes
(so far, there may be a few more coming before release)
saber_BC_buttons.h
- Dual blade independent control with a single Proffieboard. (for staff sabers).
Works with 1,2, or 3 button config. Uses standard (current) bladestyles, no modification needed. - Scroll Presets mode.
- Quotes play with blade ON or OFF, and will not overlap / interrupt one another.
- Force effects won’t overlap / interrupt one another.
- Mute sound plays before igniting muted.(optional mute.wav used)
- Custom Blade Length editing mode.
- Custom Volume Menu moved to a mode.
- OS System Menu version available with a #define.
- 8 USER EFFECTS available (a.k.a. used like Fett263 “Special Ablilities”)
Deprecated features:
- No Volume UP/DOWN with buttons. Use rotary control instead,
but QuickMinVolume and QuickMaxVolume are still available. - swap and monoforce features of yore are now just assignable User Effects.
- #define NO_VOLUME_MENU removed.
blaster.h
- #define BLASTER_ENABLE_AUTO
- supports DISABLE_TALKIE
saber.h
- supports new menu system
blaster_BC_buttons.h (new prop)
-
Volume Menu with QuickMAX and QuickMIN.
-
Spoken battery level in both volts or percentage.
-
On-Demand battery level (Shows Green to Red if EFFECT_BATTERY_LEVEL is used in Blade Style).
-
Quote player with On-the-fly sequential option.
-
Next / previous preset.
-
Self-Destuct overload.
-
Defaults to KILL on boot.
-
Option to use separate effect sounds to match the current mode.
By using alt sound folders in the font, each mode can have better matched effects
(reload, full, clipin/clipout, etc…).
Sounds for the modes should go in the following alt folders:- STUN mode - alt000
- KILL mode - alt001
- AUTO mode - alt002
-
No jam if empty.
-
AUTOFIRE mode is enabled simply by having auto.wav files available in the sound font.
This mode also counts bullets and causes an “empty clip” if you use
#define BLASTER_SHOTS_UNTIL_EMPTY.
Each shot is timed to the length of the wav file that’s playing, and
the empty sound repeats at same rate auto was firing for added realism.
sabersense_buttons.h (new prop)
Overview
- Designed to be simple yet powerful with easy-to-remember controls;
- Predominantly harmonized 1 and 2 button controls - great for users with large collections;
- Uses consistent ‘rules’ to help remember multiple features;
- Complex or difficult gesture controls removed.
Specific Features:
- Powerful preset navigation allows skip to first, last or middle preset;
- Move forwards or backwards one, five or ten presets at a time (2 button only);
- Sequential quote player in both blade on and blade off states, randomized force effect player with blade on;
- Button ‘clicker’ accessible via #define plays press.wav and release.wav on button presses. Useful for Scavenger hilts where tactile switch feel is difficult.
- On-demand BladeID scanning on a button press with a #define;
- Manual array selector on a #define, allows manual cycling through multiple arrays on a button press. Can be used for multiple blade lengths, separating groups of presets, turning accents or motors on and off etc.;
- Full system reset on button press - deletes all saves files and restores ‘factory’ defaults.
Fett263 prop
- MENU_SPEC_TEMPLATE support
- Edit Mode supports MOUNT_SD_SETTING
- Edit Mode menu supports FONT_PATTERN
- FETT263_MANUAL_BLADE_ID
- FETT263_MANUAL_BLADE_ARRAY
- FETT263_REPLACE_CC_COLOR_LIST
- FETT263_SIMPLIFIED_PROP
- FETT263_SWING_CLASH_DELAY
- FETT263_SS_BUTTON_CLICKER
- Circular Menu options for Volume and Dim Blade menues
- Color Hue rotation for ARG styles in place of ColorChange Color List selection.
#define FETT263_REPLACE_CC_COLOR_LIST
** Change ColorChange Mode for COLOR_ARG (Color Editing) styles to Hue Selection.
NOTE: Hue Selection will reduce available colors to changes in Hue only, cannot get to Whites, Silvers, etc. from a standard color)
A big thanks goes out to all the people who have helped with testing ProffieOS 8:
- BlackDragonN001
- Bruinrogue
- Farnsworth9qc
- Fett263
- hkwwinger
- kersskerner
- LyleStyle
- NoSloppy
- olivierflying747-8
- orntar
- SaberSense
- Triin