ProffieOS 8 is now live

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:

Changes since ProffieOS 7

Note that most features have a book icon next to it which links to the documetaion.

Menu System :closed_book:

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

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

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

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 :link:
  • LeftRightRotaryReceiver :link:
  • Oled directory prefix support :closed_book:
  • Blaster oled controller :closed_book:
  • Servo Support :closed_book:
  • SubBladeWithList :closed_book:

New defines

  • BLADE_ID_SCAN_TIMEOUT :closed_book:
  • BLADE_ID_STOP_SCAN_WHILE_IGNITED :closed_book:
  • COLOR_MENU_GAMMA :closed_book:
  • CLASH_THRESHOLD_GAMMA :closed_book:
  • VOLUME_MENU_GAMMA :closed_book:
  • DISABLE_AUDIO :closed_book:
  • DISABLE_WS2811 :closed_book:
  • DISABLE_MOTION :closed_book:
  • DISABLE_SD :closed_book:
  • DISABLE_NO_REPEAT_RANDOM :closed_book:
  • ENABLE_SPIDISPLAY :closed_book:
  • FONT_PATTERN :closed_book:
  • MENU_SPEC_MENU :closed_book:
  • MENU_SPEC_TEMPLATE :closed_book:
  • MOUNT_SD_SETTING :closed_book:
  • NO_BLADE_ID_RANGE :closed_book:
  • PROFFIEOS_LOG_LEVEL :closed_book:
  • SMOOTH_COLORCHANGE_TICKS_PER_REVOLUTION :closed_book:
  • ENABLE_IDLE_SOUND :closed_book:
  • BUTTON_LONG_CLICK_TIMEOUT :closed_book:

New styles

  • DisplayStyle :closed_book:
  • Pixelate :closed_book:
  • HardStripes :closed_book:
  • TransitionLoopWhile :closed_book:

New functions

  • ReadPinF :closed_book:
  • AnalogReadPinF :closed_book:
  • BlasterModeF :closed_book:
  • BulletCountF :closed_book:
  • BlasterChargeF :closed_book:
  • IntSelectX :closed_book:

New Transitions

  • TrDoEffectAlways :closed_book:

New Menus and settings :closed_book:

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

  • sd :closed_book:
  • quote :closed_book:
  • swing :closed_book:
  • slash :closed_book:
  • spin (with ENABLE_SPINS) :closed_book:
  • get_variation :closed_book:
  • | (tag command) :closed_book:

New EFFECT_*

  • EFFECT_MENU_CHANGE :closed_book:
  • EFFECT_ACCENT_SWING :closed_book:
  • EFFECT_ACCENT_SLASH :closed_book:
  • EFFECT_BLADEIN
  • EFFECT_BLADOUT

New named colors :closed_book:

  • 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 :closed_book:

  • fastout
  • quote
  • chhum
  • mclick
  • idle

New oled image support :closed_book:

  • 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
13 Likes

This is a big day for me! To now officially be part of ProffieOS is just a mind-blown moment! Very excited! :smiley:

Thanks so much for all the help getting the Sabersense prop file built, particularly to yourself Fredrik and to Brian - both of whose patience I probably tested at times due to my relative ignorance in starting the journey.

It goes without saying that a milestone like this warrants a Sabersense explainer video. :smiley: It’s more of a reference than a movie someone might watch end to end, but it’s my way of marking the moment.

Sincere thanks again. :pray:
:slight_smile:

3 Likes

@Sabersense Congrats man!
@profezzorn Thanks for letting me provide last-minute input and feedback on the volume stuff.

MTFBWY All!

1 Like

Remember, this isn’t the end of the ProffieOS 8 efforts.
If you find problems, please report them so that they can be fixed.
New features will have to wait until ProffieOS 9 though. :slight_smile:

2 Likes

Will this have more efficient size than previously? I couldn’t test anything on my 2.2 board because it ended up with just one preset to fit in the ROM, which isn’t much use.

Really well done on the hard work put in to this, everyone. I was envious people got to test this all out.

@profezzorn , thank you for the time and energy you put into providing the OS updates. Huge respect for all that you do. Also, thanks to all the Beta testers.

1 Like

We needed more testers! THe more the better of course.
If you’re unaware, the current build “master” is always available here. Just remember it’s always an unofficial work in progress and new features and updates may come and go until an actual release.
But please come and play!

Yeah, like I said… I couldn’t fit a config in my ROM!