WebUSB Sept 2021

In general, yes, but there is a new define that lets you get rid of them to save memory.

When you say they are not working, what do you mean? They seem to work for me.

Oh, when choosing the style from the drop-down menu, no options appear (arguments, color bars, or values) Just the name changes, and this error occurs:

app.html:590 Uncaught TypeError: Cannot read properties of undefined (reading 'replaceAll')
    at style_arg_edits (app.html:590)
    at OnStyleSelect (app.html:648)
    at HTMLSelectElement.onchange (app.html:1)

Also, one time before refreshing the connection, it had my tracks all showing as builtin styles:

Is this on bluetooth or USB?
These problems look like communication errors to me.
Sometimes I have a problem when reconnecting to the board too, but I haven’t managed to nail down a fix for that yet.

USB.
The track fields population seems like a fluke.
But the styles missing their stuff is consistent.

I wonder why I’m not getting it then…
Do you maybe have a presets.ini which have weird arguments in it from previous experimentation?

It could be argued that the code should handle such things, but without knowing how it happened it’s hard to put the right fix in place.

Or did you put DISABLE_BASIC_PARSER_STYLES in your config file maybe?

Ok. So without DISABLE_BASIC_PARSER_STYLES in the config, the styles are available in the drop down menu, but nothing other than the name shows up and that error shows in the console.
Same behavior with deleting presets.ini.
With DISABLE_BASIC_PARSER_STYLES in the config, the styles are not available as expected.

How about you do a reload, do the minimum amount of clicks required to generate the error, then paste the entire contents of the javascript console. That should be enough information that I can figure out what’s going on I think.

This is choosing Advanced for style 3.
It seems the offset arguments I was talking about is causing the error.

Error with Permissions-Policy header: Unrecognized feature: 'interest-cohort'.
sw.js:58 [Service Worker] Fetch chrome-extension://nbokbjkabcmbfdlbddjidfmibcpneigj/img/cursor.png
sw.js:58 [Service Worker] Fetch https://profezzorn.github.io/lightsaber-web-bluetooth/Starjedi.ttf
app.html:356 Service Worker Registered
app.html:1516 VERSION: $Id: 23b782faf4a5b033540dc75e4a2a28497e91d501 $
app.html:1517 09/12/2021 03:58:18
sw.js:58 [Service Worker] Fetch https://profezzorn.github.io/lightsaber-web-bluetooth/manifest.json
sw.js:58 [Service Worker] Fetch https://profezzorn.github.io/lightsaber-web-bluetooth/icon-256.png
app.html:1294 USBAlternateInterface {alternateSetting: 0, interfaceClass: 2, interfaceSubclass: 2, interfaceProtocol: 1, interfaceName: null, …}
app.html:1294 USBAlternateInterface {alternateSetting: 0, interfaceClass: 10, interfaceSubclass: 0, interfaceProtocol: 0, interfaceName: null, …}
app.html:1294 USBAlternateInterface {alternateSetting: 0, interfaceClass: 255, interfaceSubclass: 0, interfaceProtocol: 0, interfaceName: null, …}
app.html:1309 OUT EP 5 IN EP 5
app.html:477 Sending list_presets
app.html:434 > FONT=a_DARKSABER/DarkV3;common
TRACK=
STYLE1=builtin 0 1
STYLE2=builtin 0 2
STYLE3=builtin 0 3
STYLE4=builtin 0 4
STYLE5=builtin 0 5
NAME=   dark\n    v3
VARIATION=0
FONT=testfont2a;common
TRACK=
STYLE1=builtin 1 1
STYLE2=builtin 1 2
STYLE3=builtin 1 3
STYLE4=builtin 1 4
STYLE5=builtin 1 5
NAME=   bootwav\ntest
VARIATION=0

app.html:1252 (2) ['FONT', 'a_DARKSABER/DarkV3;common']
app.html:1252 (2) ['TRACK', '']
app.html:1252 (2) ['STYLE1', 'builtin 0 1']
app.html:1252 (2) ['STYLE2', 'builtin 0 2']
app.html:1252 (2) ['STYLE3', 'builtin 0 3']
app.html:1252 (2) ['STYLE4', 'builtin 0 4']
app.html:1252 (2) ['STYLE5', 'builtin 0 5']
app.html:1252 (2) ['NAME', '   dark\n    v3']
app.html:1252 (2) ['VARIATION', '0']
app.html:1252 (2) ['FONT', 'testfont2a;common']
app.html:1252 (2) ['TRACK', '']
app.html:1252 (2) ['STYLE1', 'builtin 1 1']
app.html:1252 (2) ['STYLE2', 'builtin 1 2']
app.html:1252 (2) ['STYLE3', 'builtin 1 3']
app.html:1252 (2) ['STYLE4', 'builtin 1 4']
app.html:1252 (2) ['STYLE5', 'builtin 1 5']
app.html:1252 (2) ['NAME', '   bootwav\ntest']
app.html:1252 (2) ['VARIATION', '0']
app.html:1252 ['']
app.html:1337 DoRunLoop
app.html:477 Sending get_preset
app.html:434 > 0

app.html:477 Sending get_track
app.html:434 > 
app.html:477 Sending get_volume
app.html:434 > 200

app.html:477 Sending battery_voltage
app.html:434 > 4.19

app.html:477 Sending get_on
app.html:434 > 0

app.html:477 Sending list_tracks
app.html:434 > HaloEnergySword/tracks/Halo.wav
CA_74Z/tracks/track1.wav
TheMatrix/tracks/clubbed_to_death.wav
testfont2a/tracks/track1.wav
testfont2a/tracks/track2.wav
testfont2a/tracks/track3.wav
testfont2a/tracks/track4.wav
testfont2a/tracks/track5.wav

app.html:477 Sending list_fonts
app.html:434 > HaloEnergySword
CA_74Z
Arcane
TheMatrix
Metropls
testfont2a

app.html:477 Sending list_named_styles
app.html:434 > standard
advanced
fire
unstable
strobe
cycle
rainbow
charging
builtin 0 1
builtin 0 2
builtin 0 3
builtin 0 4
builtin 0 5
builtin 1 1
builtin 1 2
builtin 1 3
builtin 1 4
builtin 1 5

app.html:477 Sending describe_named_style standard
app.html:434 > Standard blade, color, clash color, extension time, retraction time
Style size = 240
COLOR 0,65535,65535
COLOR 65535,65535,65535
INT 300
INT 800

app.html:1440 WARNING: standard argument 0 desc says time, but is color.
app.html:477 Sending describe_named_style advanced
app.html:434 > Advanced blade, color at hilt, middle color, tip color, onspark color, onspark time, blast color, lockup color, clash color, extension time, retraction time, spark tip color
Style size = 296
COLOR 65535,0,0
COLOR 0,0,65535
COLOR 0,65535,0
COLOR 65535,65535,65535
INT 10
COLOR 65535,65535,65535
COLOR 65535,0,65535
COLOR 65535,65535,65535
INT 300
INT 800
Style size = 296
COLOR 65535,65535,65535

app.html:1440 WARNING: advanced argument 1 desc says time, but is color.
app.html:1437 WARNING: advanced argument 1 desc says color, but is int.
app.html:1440 WARNING: advanced argument 1 desc says time, but is color.
app.html:1437 WARNING: advanced argument 1 desc says color, but is int.
app.html:477 Sending describe_named_style fire
app.html:434 > Fire blade, warm color, hot color
Style size = 48
COLOR 65535,0,0
COLOR 65535,65535,0

app.html:477 Sending describe_named_style unstable
app.html:434 > Unstable blade, warm, warmer, hot, sparks, extension time, retraction time
Style size = 420
COLOR 38550,0,0
COLOR 65535,0,0
Style size = 420
COLOR 65535,10280,0
COLOR 65535,65535,2570
INT 100
INT 200

2app.html:1440 WARNING: unstable argument 3 desc says time, but is color.
app.html:477 Sending describe_named_style strobe
app.html:434 > Stroboscope, standby color, flash color, flash frequency, flash milliseconds, extension time, retraction time
Style size = 312
COLOR 0,0,0
COLOR 65535,65535,65535
INT 15
INT 1
INT 300
INT 800

app.html:477 Sending describe_named_style cycle
app.html:434 > Cycle blade, start color, base color, flicker color, blast color, lockup color
Style size = 272
COLOR 0,0,65535
COLOR 0,0,65535
COLOR 0,65535,65535
Style size = 272
COLOR 65535,12850,12850
COLOR 65535,0,0

app.html:477 Sending describe_named_style rainbow
app.html:434 > Rainbow blade, extension time, retraction time
Style size = 208
INT 300
INT 800

app.html:477 Sending describe_named_style charging
app.html:434 > Charging style
Style size = 4

app.html:477 Sending describe_named_style builtin 0 1
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 1864

app.html:477 Sending describe_named_style builtin 0 2
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 8

app.html:477 Sending describe_named_style builtin 0 3
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 68

app.html:477 Sending describe_named_style builtin 0 4
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 68

app.html:477 Sending describe_named_style builtin 0 5
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 8

app.html:477 Sending describe_named_style builtin 1 1
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 2440

app.html:477 Sending describe_named_style builtin 1 2
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 8

app.html:477 Sending describe_named_style builtin 1 3
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 68

app.html:477 Sending describe_named_style builtin 1 4
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 68

app.html:477 Sending describe_named_style builtin 1 5
app.html:434 > builtin preset styles, preset number, blade number, base color, alt color, style option, ignition option, ignition time, ignition delay, ignition color, ignition power up argument, blast color, clash color, lockup color, lockup position, drag color, drag size, lb color, stab color, melt size, swing color, swing option, emitter color, emitter size, preon color, preon option, preon size, retraction option, retraction time, retraction delay, retraction color, retraction cool down, postoff color, off color, off option
INT 0
INT 1
Style size = 8

app.html:1493 ENABLING EDITING
app.html:477 Sending get_max_blade_length 1
app.html:434 > 132

app.html:477 Sending get_blade_dimming
app.html:434 > 16384

app.html:477 Sending get_clash_threshold
app.html:434 > 3.50

app.html:477 Sending get_gesture
app.html:434 > Whut?? :get_gesture

app.html:1505 ENABLING SETTINGS
app.html:477 Sending get_preset
app.html:434 > 0

app.html:477 Sending get_track
app.html:434 > 
app.html:477 Sending get_volume
app.html:434 > 200

app.html:477 Sending battery_voltage
app.html:434 > 4.17

app.html:477 Sending get_on
app.html:434 > 0

app.html:588 (3) ['Style', 'base color', 'size']
app.html:591 <br>base&nbsp;color<br>
app.html:592 undefined
app.html:596 size
app.html:588 (3) ['Style', 'base color', 'size']
app.html:591 <br>base&nbsp;color<br>
app.html:592 undefined
app.html:596 size
app.html:588 (3) ['Style', 'base color', 'size']
app.html:591 <br>base&nbsp;color<br>
app.html:592 undefined
app.html:596 size
app.html:588 (3) ['Style', 'base color', 'size']
app.html:591 <br>base&nbsp;color<br>
app.html:592 undefined
app.html:596 size
app.html:588 (3) ['Style', 'base color', 'size']
app.html:591 <br>base&nbsp;color<br>
app.html:592 undefined
app.html:596 size
app.html:796 <span id=​"edit_pane2" class=​"centered">​…​</span>​flex
app.html:477 Sending get_preset
app.html:434 > 0

app.html:477 Sending get_track
app.html:434 > 
app.html:477 Sending get_volume
app.html:434 > 200

app.html:477 Sending battery_voltage
app.html:434 > 4.19

app.html:477 Sending get_on
app.html:434 > 0

app.html:477 Sending get_preset
app.html:434 > 0

app.html:477 Sending get_track
app.html:434 > 
app.html:477 Sending get_volume
app.html:434 > 200

app.html:477 Sending battery_voltage
app.html:434 > 4.17

app.html:477 Sending get_on
app.html:434 > 0

app.html:588 (3) ['Style', 'color at hilt', 'size']
app.html:591 <br>color&nbsp;at&nbsp;hilt<br>
app.html:592 undefined
app.html:596 size
app.html:588 (3) ['COLOR', 'middle color', '65535,0,0']
app.html:591 <br>middle&nbsp;color<br>
app.html:592 undefined
app.html:596 65535,0,0
app.html:588 (3) ['COLOR', 'tip color', '0,0,65535']
app.html:591 <br>tip&nbsp;color<br>
app.html:592 undefined
app.html:596 0,0,65535
app.html:588 (3) ['COLOR', 'onspark color', '0,65535,0']
app.html:591 <br>onspark&nbsp;color<br>
app.html:592 undefined
app.html:596 0,65535,0
app.html:588 (3) ['COLOR', 'onspark time', '65535,65535,65535']
app.html:591 <br>onspark&nbsp;time<br>
app.html:592 undefined
app.html:596 65535,65535,65535
app.html:588 (3) ['INT', 'blast color', '10']
app.html:591 <br>blast&nbsp;color<br>
app.html:592 undefined
app.html:596 10
app.html:588 (3) ['COLOR', 'lockup color', '65535,65535,65535']
app.html:591 <br>lockup&nbsp;color<br>
app.html:592 undefined
app.html:596 65535,65535,65535
app.html:588 (3) ['COLOR', 'clash color', '65535,0,65535']
app.html:591 <br>clash&nbsp;color<br>
app.html:592 undefined
app.html:596 65535,0,65535
app.html:588 (3) ['COLOR', 'extension time', '65535,65535,65535']
app.html:591 <br>extension&nbsp;time<br>
app.html:592 undefined
app.html:596 65535,65535,65535
app.html:588 (3) ['INT', 'retraction time', '300']
app.html:591 <br>retraction&nbsp;time<br>
app.html:592 undefined
app.html:596 300
app.html:588 (3) ['INT', 'spark tip color', '800']
app.html:591 <br>spark&nbsp;tip&nbsp;color<br>
app.html:592 undefined
app.html:596 800
app.html:588 (3) ['Style', undefined, 'size']
app.html:590 Uncaught TypeError: Cannot read properties of undefined (reading 'replaceAll')
    at style_arg_edits (app.html:590)
    at OnStyleSelect (app.html:648)
    at HTMLSelectElement.onchange (app.html:1)

This is the problem:

:man_facepalming:

Yeah, that’s on my end, sorry.
Removed, works fine now.
Thank you.

Confirmed DISABLE_BASIC_PARSER_STYLES working as expected now.

I have trouble with Proffieos Workbench. My saber is connected and works fine, but when i try edit styles, its not showing me the options and gives me the message “Getting options…”

I need a bunch of information to be able to help:

  1. Run it in a browser, bring up the developer console and see if there are any error messages there. (… → more tools → developer tools → console tab)
  2. what version of ProffieOS are you using? (any modifications?)
  3. what does your config file look like?
  4. What URL are you loading the workbench from?

Oh, and is the SD card mounted on the computer when this is happening? (That can prevent webusb from working.)

i am having this problem to where under edit it says getting options. the usb isn’t mounted. I am also using proffieos 5.9

Keep getting stuck on “Getting options…” after clicking on edit. Blade controls work (On, Off, clash, ex…) but i keep getting an error in the console when I click the edit button. Im on proffie version 5.9, Chrome browser, and have uploaded as USB type: “Serial + WebUSB”. Any solutions for this yet?

Try holding the ‘Shift’ key and refreshing the page. See if that helps.

I will try to take a look at this later today.