ProffieOS v6.3 BETA testing

Thanks Tom,

The library will have Edit Mode styles for all blade types; main blade, quillions, crystals and PCB/ Accents which will enable the Edit Mode functionality and optimization. The current “test” styles were just for testing out the features, the OS library will obviously have way more options and cover much more. We probably want to look at your defines, you should fit more on your configs than 6 edit mode styles. Make sure you have these defines for OS6 (along with using the new plugin):

#define DISABLE_BASIC_PARSER_STYLES
#define DISABLE_DIAGNOSTIC_COMMANDS
  1. Already there (and will be fleshed out much more in the library). In the test styles, grab the Crystal Chamber versions of the various styles, they include the OFF_OPTION and OFF_COLOR that you can edit to change both the behavior and color while “off”. The comment section at the top lists the “Off Effect Options” by number (at bottom) so you’d just change the “Off Option” to change the behavior. There will be Accent LED / PCB specific versions in the library but for now use the Crystal versions to test if you want.
/* © Fett263 Rotoscope (Crystal Chamber) OS6 Style
Style Options
Default(0): Base Color + 50% Base Color
1: Base Color + Alt Color
2: 50% Base Color + Base Color
3: Alt Color + 50% Base Color
Effects =
Power Up Effect Options: Default (0): Disabled, 1: Unstable Power Up, 2: Bright Power Up , 3: AudioFlicker Power Up
Cool Down Effect Options: Default (0): Disabled, 1: Unstable Cool Down, 2: Bright Cool Down, 3: AudioFlicker Cool Down
Swing Effect: Default (0): Disabled, 1: Enhanced Bright Swing, 2: Bright Swing, 3: Force Boost Enhanced Bright Swing, 4: Force Boost Bright Swing
Off Effect Options: Default(0): HeartBeat, 1: Pulsing, 2: Slow Turbine, 3: Fast Turbine, 4: Slow Run Forward, 5: Fast Run Reverse
*/
  1. You could create a define or using but it doesn’t actually save any space on the board (more info here: Breaking out reusable parts of blade styles - #12 by SquirrelFarmer). The styles for each blade need to be stored in FLASH. This will be covered further when the library is done and I have time to write up but when you have a lot of Accents etc in your saber you’ll actually save space by building one or two Edit Mode styles that contain all of the possible OPTIONS you want for the accents and then just repeat the same style code in each preset. This will save room for you to have more styles for your main blades as most Accents in each preset really just repeat themselves. The STYLE_OPTION and OFF_OPTION capabilities in OS6 are designed to let you have one or two styles per accent but create 36 ~ 72 unique presets for each not to mention all color possibilities. :wink:

I just stumbled across this define, but I’m having trouble finding any documentation on it. I put it in my config and it really helped some of the “laggy-ness” I’ve been experiencing! It also made adjusting some of the Edit Mode settings a little snappier. I just don’t really know what the number value corresponds to, if it has a min/max, or if there are any tradeoffs to using it.

#define EXTRA_COLOR_BUFFER_SPACE

Basically, using this define is the same as adding a little extra space in “maxLedsPerString”. It uses up RAM, which could be a problem if you have large styles that also use up lots of RAM. Having extra buffer space lets ProffieOS run the style while it’s simultaneously feeding out data to the pixels. The range of useful values are somewhere between 0 and the total number of pixels you have. I have not experimented enough with it to know for sure what values are most useful, but I suspect that something like 64 would give you most of the speedup.

I added this value because I hope to make maxLedsPerString go away in the future. If I manage that, then you will need to use this define to add buffering as maxLedsPerString will not do anything anymore.

2 Likes

If it helps, I have this comment with that define, likely taken from a post reply once by @profezzorn:

#define EXTRA_COLOR_BUFFER_SPACE 30  // Can speed up processing a bit. Basically, it can calculate the colors for the next blade (or the next frame for the same blade) even though it's not done feeding out the data for the data in the color buffer yet.
1 Like

Wouldn’t this follow the same logic that’s already in place? Duplicate styles take up next to no additional memory aside from maybe a color difference or 2?
And my short answer if asked would be make blade 2 StylePtr<Black>() and then in presets.ini have blade 2 use blade 1’s style

style=builtin 1 1
style=builtin 1 1
style=builtin 1 3
style=builtin 1 4
style=builtin 1 5
style=builtin 1 6

This wouldn’t work with Edit Mode though, as Edit Mode handles each blade individually so Blade 2 could never be edited via the menu or it would become Black again. You would only ever be able to edit by hand with this approach.

Oh? I was imagining only needing to edit blade 1 in this case anyway so that the changes then show up for both, no? In other words, just leaving blade 2 as a mirror.
But if editing blade 1 one would rewrite presets.ini and revert blade 2 to uploaded state that’s a different story.

No, each blade is individually edited in Edit Mode. If you wanted to truly mirror you’d have to wire both blades as “one” and run them from one “blade”.
In Edit Mode you can only select styles (or settings) that are in the original config for said blade. If you do it by hand or on WebUsb only (with some caveats) it’d be possible but if you tried to edit Blade 2 in this scenario you’d end up with a Black blade and no way to change anything on it without writing the preset.ini yourself (or Workbench could let you get other styles set back up but if you’re using the Edit Mode Menu you’d never be able to do anything to blade 2 and it would only ever be able to be edited manually which is not ideal.

1 Like

That’s what I was leaning toward as a workaround, yes. I understand how that’s probably not in line with the whole EditMode vibe though.

Technically, yes but not what I’d recommend. Using optimized styles and setting config up properly will be much more user friendly long-term and allow for a lot of styles and presets to fit.
The library and optimization documentation will clear a lot up when I’m done putting together. My focus to this point was getting everything working, there’s a lot more coming for documentation and explanations of everything.

Fernando, thanks for suggesting checking again and specifically the mnum folder. That’s what it was. Saber’s working perfect now and so far I’m not seeing anything else. [Edit: Actually all 3 sabers work now, I just went ahead tonight and uploaded OS6.1 to all of them.] I have family stuff coming up fast but just threw the new syntax version of FallenOrder you shared onto my config and I’ll be trying that and possibly Rotoscope out for fun and new learning.

I know I said this before but Fernando, Brian, and Fredrik, heck even Tom, thanks for the patience and assistance getting things straightened out on my side so going forwards I have the baseline set now.

Have an awesome week and MTFBWY!

3 Likes

I swear ive reviewed and searched previous posts, but for some reason my proffile 6.1 beta additional voice sounds are not working. Example, if i go into volume control Hold PWR, Click AUX
- Turn Right = Increase Volume
- Turn Left = Decrease Volume
- Click PWR or AUX = Exit

I do not get any audible confirmation of volume changing (but it does actually change as i turn the saber)

I created a root folder on SD card titled “common” that contains the downloaded wav files from ProffieOS_Voicepack_English_C

I had it work briefly, then lost it again. According to the documentation, I hold the power button and click the aux button. I only heard it ONCE say, volume menu. and then beep as I turned it, then had it say minimum volume.

Now when i hold power and click aux, and turn it, then click button to confirm, i get zero confirmation of volume change but it does actually change it.

1 Like

check the sd card preferably remove it and put it into a sd card adaptor and insert it to the pc and see if you can play the file as shown by @NoSloppy. files missing when they are there are generally an sd card issue. you can also test the sound using the serial monitor, by connecting saber to your pc with a usb cable and open the serial monitor and try to trigger the volup.wav you will see it in the monitor.

I removed the sd card, connected it directly to PC, deleted the root common folder, reuploaded it, safely ejected it, and i still do not have the audible confirmation. the actual gesture control still controls the volume though.

For the life of me I cant see how to go back and edit my post, but here is my config -

#ifdef CONFIG_TOP
#include “proffieboard_config.h”
#define NUM_BLADES 1
#define NUM_BUTTONS 2
#define VOLUME 1500
const unsigned int maxLedsPerStrip = 144;
#define CLASH_THRESHOLD_G 3
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define ENABLE_SERIAL
#define FETT263_BATTLE_MODE_ALWAYS_ON
#define FETT263_SWING_ON
#define MOTION_TIMEOUT 60 * 60 * 1000
#define NO_REPEAT_RANDOM
#define SAVE_STATE
#endif

#ifdef CONFIG_PROP
#include “…/props/saber_fett263_buttons.h”
#endif

Ok this is even stranger - The volume audible feedback works on SOME lightsaber fonts, but not all. I have one particular lightsaber font in my config that works as designed giving me “volume menu” audible menu entry, beeps and boops as feedback and volume menu end. without powering off the saber, i can change the font, and that next font may or may not have the audible volume menu feedback!

the common folder will find the “missing” fonts for the menu edit mode, but if the font has that file within it, this will be used instead, what I would recommend in doing is to check whether you have all the files in the common AND if there is any missing in both.

the list is below.

./:
battlevl.wav
chreobgn.wav
chreoend.wav
clrlst
eighty.wav
fifty.wav
forty.wav
hundred.wav
LICENSE.txt
maccept.wav
maffirm.wav
malt.wav
mauto.wav
maxclash.wav
mbase.wav
mbatt.wav
mbegin.wav
mblack.wav
mblade.wav
mblast.wav
mbmclash.wav
mcancel.wav
mclashth.wav
mclash.wav
mcolorlt.wav
mcolorop.wav
mcolorsb.wav
mcolor.wav
mconfirm.wav
mcontrol.wav
mcooldwn.wav
mcopyc.wav
mcopy.wav
mdefault.wav
mdelete.wav
mdim.wav
mdisable.wav
mdown.wav
mdragsz.wav
mdrag.wav
medit.wav
meffect.wav
memitsz.wav
memitter.wav
menable.wav
mexit.wav
mfalse.wav
mfont.wav
mgestoff.wav
mgeston.wav
mgestsub.wav
mgesture.wav
mhue.wav
migdelay.wav
mignite.wav
migopt.wav
million.wav
mintime.wav
mlb.wav
mlength.wav
mlockdly.wav
mlockpos.wav
mlocksz.wav
mlockup.wav
mloop.wav
mmain.wav
mmax.wav
mmeltsz.wav
mmelt.wav
mmillis.wav
mmin.wav
mnum
moffopt.wav
moff.wav
moption.wav
moptnum.wav
mouttime.wav
mpercent.wav
mpoint.wav
mpreonsz.wav
mpreon.wav
mpreopt.wav
mpreset.wav
mprespd.wav
mpstoff.wav
mpstofsz.wav
mpushlen.wav
mpush.wav
mpwrlock.wav
mpwrup.wav
mrandom.wav
mresetc.wav
mretract.wav
mrevert.wav
mrotate.wav
mrtdelay.wav
mrtopt.wav
msave.wav
mselect.wav
msetsub.wav
msetting.wav
mstabon.wav
mstab.wav
mstylesb.wav
mstyle.wav
mstylnum.wav
mstylopt.wav
mstylsel.wav
mstylset.wav
mstylstm.wav
mswingon.wav
mswingsp.wav
mswing.wav
mswngopt.wav
mthrston.wav
mtrack.wav
mtrue.wav
mtwiston.wav
mtwstoff.wav
mup.wav
mvolmax.wav
mvolmin.wav
mvolts.wav
mvolume.wav
mwhite.wav
mzero.wav
mzoom.wav
ninety.wav
nochreo.wav
rehrsbgn.wav
rehrsend.wav
rehrsnew.wav
rehrsold.wav
seventy.wav
sixty.wav
thirty.wav
thousand.wav
tracks
vmbegin.wav
vmend.wav
voldown.wav
volmax.wav
volmin.wav
volup.wav
battlevl.wav
chreobgn.wav
chreoend.wav
clrlst
eighty.wav
fifty.wav
files.txt
forty.wav
hundred.wav
LICENSE.txt
maccept.wav
maffirm.wav
malt.wav
mauto.wav
maxclash.wav
mbase.wav
mbatt.wav
mbegin.wav
mblack.wav
mblade.wav
mblast.wav
mbmclash.wav
mcancel.wav
mclashth.wav
mclash.wav
mcolorlt.wav
mcolorop.wav
mcolorsb.wav
mcolor.wav
mconfirm.wav
mcontrol.wav
mcooldwn.wav
mcopyc.wav
mcopy.wav
mdefault.wav
mdelete.wav
mdim.wav
mdisable.wav
mdown.wav
mdragsz.wav
mdrag.wav
medit.wav
meffect.wav
memitsz.wav
memitter.wav
menable.wav
mexit.wav
mfalse.wav
mfont.wav
mgestoff.wav
mgeston.wav
mgestsub.wav
mgesture.wav
mhue.wav
migdelay.wav
mignite.wav
migopt.wav
million.wav
mintime.wav
mlb.wav
mlength.wav
mlockdly.wav
mlockpos.wav
mlocksz.wav
mlockup.wav
mloop.wav
mmain.wav
mmax.wav
mmeltsz.wav
mmelt.wav
mmillis.wav
mmin.wav
mnum
moffopt.wav
moff.wav
moption.wav
moptnum.wav
mouttime.wav
mpercent.wav
mpoint.wav
mpreonsz.wav
mpreon.wav
mpreopt.wav
mpreset.wav
mprespd.wav
mpstoff.wav
mpstofsz.wav
mpushlen.wav
mpush.wav
mpwrlock.wav
mpwrup.wav
mrandom.wav
mresetc.wav
mretract.wav
mrevert.wav
mrotate.wav
mrtdelay.wav
mrtopt.wav
msave.wav
mselect.wav
msetsub.wav
msetting.wav
mstabon.wav
mstab.wav
mstylesb.wav
mstyle.wav
mstylnum.wav
mstylopt.wav
mstylsel.wav
mstylset.wav
mstylstm.wav
mswingon.wav
mswingsp.wav
mswing.wav
mswngopt.wav
mthrston.wav
mtrack.wav
mtrue.wav
mtwiston.wav
mtwstoff.wav
mup.wav
mvolmax.wav
mvolmin.wav
mvolts.wav
mvolume.wav
mwhite.wav
mzero.wav
mzoom.wav
ninety.wav
nochreo.wav
rehrsbgn.wav
rehrsend.wav
rehrsnew.wav
rehrsold.wav
seventy.wav
sixty.wav
thirty.wav
thousand.wav
tracks
vmbegin.wav
vmend.wav
voldown.wav
volmax.wav
volmin.wav
volup.wav
clrlst01.wav
clrlst02.wav
clrlst03.wav
clrlst04.wav
clrlst05.wav
clrlst06.wav
clrlst07.wav
clrlst08.wav
clrlst09.wav
clrlst10.wav
clrlst11.wav
clrlst12.wav
clrlst13.wav
clrlst14.wav
clrlst15.wav
clrlst16.wav
clrlst17.wav
clrlst18.wav
clrlst19.wav
clrlst20.wav
clrlst21.wav
clrlst22.wav
clrlst23.wav
clrlst24.wav
clrlst25.wav
clrlst26.wav
clrlst27.wav
mnum10.wav
mnum11.wav
mnum12.wav
mnum13.wav
mnum14.wav
mnum15.wav
mnum16.wav
mnum17.wav
mnum18.wav
mnum19.wav
mnum1.wav
mnum20.wav
mnum2.wav
mnum3.wav
mnum4.wav
mnum5.wav
mnum6.wav
mnum7.wav
mnum8.wav
mnum9.wav

My common folder on SD card, has 143 files the full content of the proffie package voice english C.

I wiped my entire SD card and recopied all my font folders, including common folder, to the card, and now the volume context menu doesnt come up at all on any of the fonts.

mine is 187 including the contents of the mnum and crllist the main directory on mine is 138 but as mentioned, you need to check the font directories and see if you have any duplicates in the font directory.

if the file in the font directory is present by name but say it’s not formatted correctly then you may find that the file doesn’t play.

I would also reconnect the sd card to your lightsaber and plug in the usb,

once there open arduino ide and select the serial monitor and reproduce the issue, there may be an error or we can see that the board is playing it.

once you have confirmed copy and past the out put into the reply.

don’t forget to use the 3 ` (these are backticks) at the beggining and end of the serial output.