ProffieOS 7.7 Beta (done)

works as expected

Just did a little testing with BOOT_VOLUME, and it does indeed get over-ridden once you adjust the volume on the buttons and then reboot. (The documentation says this might happen).

However if it works on the same scale as volume, and adjusting the volume on the buttons goes up or down in 10 percent increments, does that mean when we turn up the volume, it might not reach the full volume in the config if it isn’t a 10 percent multiple of the boot volume?

No biggie I guess - just curious.

Also, although nit-picky, since VOLUME actually defines the highest volume you can reach via buttons or web usb without loading a new config, might it not be more accurate to describe VOLUME as MAXIMUM_VOLUME, and BOOT_VOLUME as DEFAULT_VOLUME.

Again, just bouncing thoughts. Hope you don’t mind :slight_smile:

Been doing a little more testing. Has something changed with clash sensitivity?

Normally I’ve always run it 3.9, but when I load OS-7.4 onto my test hilt, clashes are much harder to trigger, to the point where I can’t actually do it and only get perhaps one clash every half dozen attempts at bashing the hilt. I’ve tried dropping to 2.2 but it doesn’t seem to make much, if any, difference.

But if I go back to OS-6.8, clash is fine at 3.9.

Prop is the same subtly modded SA22C that I always use. Config is the same. (It includes BOOT_VOLUME, but I think 6.8 ignores that?).

Any thoughts?


Update; Tried 7.1 and it’s the same, i.e. difficult to clash.
The weird thing is I’ve used 7.x on some other installs and as far as I know it’s been fine. (All been sent out now so can’t test them further). The only difference is my test hilt uses a Proffie v1 board rather than 2.2. Could that be relevant?

Config is here:

All boot volume does is set a level at boot, that’s it. After that it’s done and normal volume level/control is in effect.

The documentation says it “probably” will happen, and it’s logical that it does.
Maybe it should just say “If #define SAVE_VOLUME is active (or SAVE_STATE since it encompasses SAVE_VOLUME), BOOT_VOLUME wil be overridden by your saved value.”

1 Like

I’m trying to test Blade Present and Blade ID, but I get loosing the serial monitor connection. It does opens, but after 8 to 12 lines, it just won’t show anything else. But I won’t get the serial disconnect message on the console. If I close it down and start it again, sends the previous commands minus the first character. Should I deinstall zadig and go with the new driver?
Between the SD issue and this I’m not able to help with the Beta as I hoped.

I got the “Dir not found” in the OLED.

Obviously used this section, plus parameters.

I want to test these but the serial monitor keeps dropping.

Now I’m getting no hum, and not clashes, even at G 1.0. But I can get the blast with AUX.

I guess it would be more accurate to say that it will happen if you have SAVE_VOLUME or SAVE_STATE defined.

It should not mean that. It just means that the volume will start in between the “ticks”, but when it reaches the top or bottom, it will max out and the ticks will align. The same thing can happen if you adjust the volume with the proffie workbench.

It would be, but changing the names breaks backwards compatibility.
We can always improve the documentation though.

Yes, new clash detection algorithm. I’ve tried to keep it close to the sensitivity in ProffieOS 5.x, but since it’s a new algorithm, some differences are expected.

It might be. There is a range of similar, but slightly different motion sensors used on the Proffieboards. The V1 had a pretty good motion sensor (which is not available anymore) and it may be slightly different in how it behaves. I have not tried the new clash algorithm on a V1 board myself.

1 Like

Do you have mass storage on?
Does it work better if you turn it off?

No, this is unrelated to that.
Also, zadig and proffieos-dfu-setup installs exactly the same driver, only the method of installation differs.

This is usually an indication of problems with the motion chip. This could be caused by a short on SDA/SDL, a bad OLED display, selecting the wrong proffieboard in Arduino → Tools, or actual hardware problems.

It could also be an SD card issue I suppose.

marking that as tested

Not sure why that’s obvious, but I’m marking it as tested.

Updated it.

Thanks for the responses Prof and Brian. All much appreciated as always. And understood on the backwards compatibility thing with re-naming volume defines - definitely better to leave as is.

As for the clash thing, I think you’ve nailed it with the different motion sensor not playing quite as nicely with the new clash algorithm. Did some more experiments tonight and went right down to a 0.5 threshold in OS 7.4. It was better but still wouldn’t find perhaps three out of ten clashes. But going back to OS6.8 with a 3.2 clash threshold, it nails it every time.

As I say, no biggie and unlikely to crop up in the vast majority of builds these days. :slight_smile:

It wouldn’t be hard to add a define to make it work like it did in OS6.
3.2 to 0.5 is a weirdly large change though.

The old algorithm was basically this:

| accel- down | > CLASH\_THRESHOLD\_G

While the new algorithm is basically:

| accel - down |/2+ | \Delta gyro|/2 > CLASH\_THRESHOLD\_G

Since part of the algorithm is basically the same, but divided by two, a change in CLASH_THRESHOLD_G that is greater than a factor 2 is weird, and I’m not sure how that happened. (Unless maybe it’s caused by a change somewhere else in the code.)

Now we have an hitherto undocumented define that actually controls this.
If you add #define PROFFIEOS_DONT_USE_GYRO_FOR_CLASH to your config file, then it will revert to using the old algorithm.

The more I think about this, the more I think it must be something weird going on somewhere else in the code. Maybe you could try using “monitor clash” and “monitor gyro” to see if you see some difference between 6.x and 7.x in the actual values?

Found a bug in Remap<>, so I’m creating a 7.5 zip with a fix for it.
I also found a weird hardware bug in a chip which I added a workaround for.

Link in top post.

I also made a 6.9 zip, with this, and a few other fixes, if someone could give it a quick try, I can make it the new stable version:

https://fredrik.hubbe.net/lightsaber/ProffieOS-v6.9.zip

EDIT: hold on, found some more bugs, going to update the 7.5 zip.

1 Like

OK, if I’m fast, I don’t lose the serial terminal. But as soon as I wait a few seconds I lose the terminal after this line:

Unmounting SD Card.
Amplifier off.

The fact that if it keeps doing things it will not lose the serial monitor helped me with testing Blade ID. And I say mostly because it fails to ID a 39k plug. But it’s the same charging plug. So I don’t know if it’s making a bad connection or the charging circuit is making something weird.

When I do:

#define BLADE_ID_CLASS ExternalPullupBladeID<bladeIdentifyPin, 33000>#define BLADE_DETECT_PIN blade3Pin	
#define ENABLE_POWER_FOR_ID PowerPINS<bladePowerPin2, bladePowerPin3>
#define BLADE_ID_TIMES 10	

It works mostly right. I’m testing 6.8K, 8.8K, 22k, 47k Ohms resistors:

SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic foWelcome to ProffieOS v7.4
For available serial commands, see:
https://pod.hubbe.net/tools/serial-monitor-commands.html
Amplifier off.
Unmounting SD Card.
EVENT: Select-On millis=6234
ID: 45005.69
Blade Detected
blade = 10
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 84
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
unit = 0 vol = 0.50, Playing JuanSith/RButcher/boot/boot1.wav
channels: 1 rate: 44100 bits: 16
Time = 3000. PLI_OFF_TIME expired.
DISPLAY SLEEP
Unmounting SD Card.
Amplifier off.
I2C sleeping..
EVENT: Select-Off millis=11431
ID: 844985.94
NO Blade Detected
blade = 14
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 148
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
Unmounting SD Card.
Amplifier off.
EVENT: Select-On millis=11947
ID: 45077.70
Blade Detected
blade = 10
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 84
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
unit = 0 vol = 0.50, Playing JuanSith/RButcher/boot/boot5.wav
channels: 1 rate: 44100 bits: 16
EVENT: Select-Off millis=12533
ID: 974889.00
NO Blade Detected
blade = 14
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 148
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
Audio underflows: 22
Unmounting SD Card.
Amplifier off.
EVENT: Select-On millis=17181
ID: 45150.04
Blade Detected
blade = 10
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 84
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
unit = 0 vol = 0.50, Playing JuanSith/RButcher/boot/boot1.wav
channels: 1 rate: 44100 bits: 16
Unmounting SD Card.
Amplifier off.
Battery voltage: 0.88
EVENT: Select-Off millis=20396
ID: 851949.63
NO Blade Detected
blade = 14
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 148
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
Unmounting SD Card.
Amplifier off.
Booster off.

Then I did:

#define BLADE_ID_CLASS ExternalPullupBladeID<bladeIdentifyPin, 33000>#define 
#define ENABLE_POWER_FOR_ID PowerPINS<bladePowerPin2, bladePowerPin3>
#define BLADE_ID_SCAN_MILLIS 1000
#define BLADE_ID_TIMES 10	

And got a lot of messages but mostly working (again, except that 39k charging plug).

SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic foWelcome to ProffieOS v7.4
For available serial commands, see:
https://pod.hubbe.net/tools/serial-monitor-commands.html
Time = 3000. PLI_OFF_TIME expired.
DISPLAY SLEEP
I2C sleeping..
EVENT: Select-On millis=10825
ID: 6708.58
Blade Detected
blade = 1
WS2811 Blade with 65 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 1196
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
unit = 0 vol = 0.50, Playing JuanSith/RButcher/boot/boot5.wav
channels: 1 rate: 44100 bits: 16
EVENT: Select-Off millis=13293
ID: 852941.81
NO Blade Detected
blade = 14
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 148
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
Audio underflows: 23
Unmounting SD Card.
Amplifier off.
EVENT: Select-On millis=19579
ID: 6689.94
Blade Detected
blade = 1
WS2811 Blade with 65 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 1196
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
unit = 0 vol = 0.50, Playing JuanSith/RButcher/boot/boot1.wav
channels: 1 rate: 44100 bits: 16
Battery voltage: 0.78
EVENT: Select-Off millis=21371
ID: 6689.94
NO Blade Detected
blade = 14
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 148
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
Audio underflows: 22
Unmounting SD Card.
Amplifier off.
EVENT: Select-On millis=27438
ID: 8508.43
Blade Detected
blade = 2
WS2811 Blade with 80 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 1196
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
unit = 0 vol = 0.50, Playing JuanSith/RButcher/boot/boot3.wav
channels: 1 rate: 44100 bits: 16
Unmounting SD Card.
Amplifier off.
EVENT: Select-Off millis=29749
ID: 847617.19
NO Blade Detected
blade = 14
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 148
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
Unmounting SD Card.
Amplifier off.
EVENT: Select-On millis=35466
ID: 45059.80
Blade Detected
blade = 10
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 84
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
unit = 0 vol = 0.50, Playing JuanSith/RButcher/boot/boot4.wav
channels: 1 rate: 44100 bits: 16
Unmounting SD Card.
Amplifier off.
EVENT: Select-Off millis=36708
ID: 849423.31
NO Blade Detected
blade = 14
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 148
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
Unmounting SD Card.
Amplifier off.
Battery voltage: 0.77
Booster off.
EVENT: Select-On millis=48286
ID: 21679.64
Blade Detected
blade = 6
WS2811 Blade with 124 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 1196
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
unit = 0 vol = 0.50, Playing JuanSith/RButcher/boot/boot3.wav
channels: 1 rate: 44100 bits: 16
Unmounting SD Card.
Amplifier off.
EVENT: Select-Off millis=52439
ID: 861316.63
NO Blade Detected
blade = 14
WS2811 Blade with 5 leds.
WS2811 Blade with 27 leds.
SetVariable = = 
SetVariable = = 
SetVariable clash_threshold = 
SetVariable volume = 
SetVariable dimming = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
SetVariable = = 
SetVariable = = 
SetVariable preset = 
SetVariable blade1len = 
SetVariable blade2len = 
SetVariable blade3len = 
SetVariable blade4len = 
SetVariable blade5len = 
SetVariable blade6len = 
SetVariable blade7len = 
Style RAM = 148
Style RAM = 192
Style RAM = 84
Style RAM = 84
Style RAM = 84
Style RAM = 108
Style RAM = 108
Scanning sound font: JuanSith/RButcher done
Scanning sound font: common done
SetVariable = = 
SetVariable humstart = 
SetVariable proffieosswingspeedthreshold = 
SetVariable proffieosswingvolumesharpness = 
SetVariable proffieosmaxswingvolume = 
SetVariable proffieosswingoverlap = 
SetVariable proffieossmoothswingducking = 
Activating polyphonic font.
SetVariable = = 
SetVariable version = 
SetVariable swingsensitivity = 
SetVariable maximumhumducking = 
SetVariable swingsharpness = 
SetVariable swingstrengththreshold = 
SetVariable transition1degrees = 
SetVariable transition2degrees = 
SetVariable maxswingvolume = 
SetVariable transition3degrees = 
SetVariable accentswingspeedthreshold = 
SetVariable accentslashaccelerationthreshold = 
Activating SmoothSwing V2
Accent Swings Enabled.
Polyphonic swings: 16
Monophonic swings: 0
Accent Slashes NOT Detected: 
Unmounting SD Card.
Amplifier off.
Battery voltage: 0.77

Things I’ve noticed:

  • A lot of variance when nothing is there.
  • An increase in resistance measured when I turned on the illuminated PCB (even though it uses Data2).
  • Still problems with that particular plug.

Things to test further:

  • I’ve had lots of problems to do Blade ID with a saber without Blade Present pin with mirrored illuminated PCB (Shtok ECO V2). I think I will try to reprogram it again to take those measures.
  • I should also test without #define BLADE_ID_TIMES 10 because the variance seems big anyways. Or try to increase it and also compare.

Not sure how related this is to what you’re seeing, but there’s no line return here.

I wonder if it’s down-clocking too low and losing the USB connection that way.
(That’s not supposed to happen while it’s connected though.)

An easy way to rule that out would be to change this line to #if 0:

Just a typo in the quoting.

Well, this appears to have solved the connection issue. But I might have a fragile system since I got this while I had the monitor window left open between connections:

java.io.IOException: jssc.SerialPortException: Port name - COM9; Method name - setEventsMask(); Exception type - Can't set mask.
	at processing.app.Serial.dispose(Serial.java:171)
	at processing.app.SerialMonitor.close(SerialMonitor.java:147)
	at processing.app.AbstractMonitor.suspend(AbstractMonitor.java:113)
	at processing.app.Editor$UploadHandler.run(Editor.java:2055)
	at java.lang.Thread.run(Thread.java:748)
Caused by: jssc.SerialPortException: Port name - COM9; Method name - setEventsMask(); Exception type - Can't set mask.
	at jssc.SerialPort.setEventsMask(SerialPort.java:279)
	at jssc.SerialPort.removeEventListener(SerialPort.java:1064)
	at jssc.SerialPort.closePort(SerialPort.java:1090)
	at processing.app.Serial.dispose(Serial.java:168)
	... 4 more

And with the #if 0 I got 2 minutes without disconnection. I didn’t tested further, so that seems to be the core issue on the problems with monitoring.

I took the liberty of testing with:

#define BLADE_ID_CLASS ExternalPullupBladeID<bladeIdentifyPin, 33000>	
#define BLADE_DETECT_PIN blade3Pin
#define ENABLE_POWER_FOR_ID PowerPINS<bladePowerPin2, bladePowerPin3>

I tested eight times per Blade ID:

 45,403.71 
 685,978.25 
 856,263.81 
 856,263.81 
 66,096.77 
 701,608.50 
 811,800.00 
 960,882.75 
 833,461.81 
 1,173,858.37 
 45,041.57 
 1,022,999.00 
 45,041.57 
 1,022,999.00 
 8,513.51 
 880,296.56 
 8,513.51 
 1,173,858.37 
 8,564.58 
 1,057,064.00 
 8,513.51 
 1,318,680.00 
 8,513.51 
 642,840.00 
 8,513.51 
 1,132,242.00 
 8,513.51 
 604,585.25 
 8,513.51 
 685,978.25 
 6,708.58 
 1,375,000.87 
 6,708.58 
 991,000.94 
 6,661.97 
 856,263.81 
 6,661.97 
 1,022,999.00 
 6,661.97 
 1,318,680.00 
 6,708.58 
 656,632.88 
 856,263.81 
 833,461.81 
 856,263.81 
 833,461.81 
 856,263.81 
 856,263.81 
 833,461.81 
 833,461.81 
 833,461.81 
 856,263.81 
 833,461.81 
 856,263.81 
 856,263.81 
 833,461.81 
 811,800.00 
 856,263.81 
 833,461.81 

Then I went and did a set of tests with Blade Present and no multisampling:

 685,978.25 
 856,263.81 
 856,263.81 
 66,096.77 
 701,608.50 
 811,800.00 
 960,882.75 
 833,461.81 
 1,173,858.37 
 45,041.57 
 1,022,999.00 
 45,041.57 
 1,022,999.00 
 8,513.51 
 880,296.56 
 8,513.51 
 1,173,858.37 
 8,564.58 
 1,057,064.00 
 8,513.51 
 1,318,680.00 
 8,513.51 
 642,840.00 
 8,513.51 
 1,132,242.00 
 8,513.51 
 604,585.25 
 8,513.51 
 685,978.25 
 6,708.58 
 1,375,000.87 
 6,708.58 
 991,000.94 
 6,661.97 
 856,263.81 
 6,661.97 
 1,022,999.00 
 6,661.97 
 1,318,680.00 
 6,708.58 
 656,632.88 
 856,263.81 
 833,461.81 
 856,263.81 
 833,461.81 
 856,263.81 
 856,263.81 
 833,461.81 
 833,461.81 
 833,461.81 
 856,263.81 
 833,461.81 
 856,263.81 
 856,263.81 
 833,461.81 
 811,800.00 
 856,263.81 
 833,461.81 

Then I redid the test but with Blade Present plus #define BLADE_ID_TIMES 20.

 834,602.06 
 839,162.44 
 835,742.19 
 834,602.06 
 838,022.38 
 835,742.19 
 844,113.63 
 839,162.44 
 44,978.63 
 834,773.06 
 824,850.00 
 836,882.25 
 839,280.94 
 839,794.69 
 835,856.19 
 842,639.69 
 839,162.44 
 837,163.13 
 833,575.94 
 845,043.00 
 45,014.68 
 841,442.63 
 834,773.06 
 839,219.44 
 103,728.33 
 801,792.50 
 106,005.69 
 802,631.00 
 104,676.30 
 823,916.19 
 105,836.09 
 879,287.31 
 104,900.10 
 844,030.94 
 103,098.16 
 904,360.94 
 102,034.46 
 878,908.00 
 104,116.52 
 834,133.63 
 6,678.28 
 910,578.44 
 6,666.64 
 986,173.00 
 6,671.29 
 823,302.44 
 6,661.98 
 906,300.44 
 6,671.29 
 957,356.31 
 6,675.96 
 813,782.56 
 6,668.96 
 6,730.42 
 6,661.98 
 897,397.81 
 8,505.87 
 977,995.00 
 8,521.18 
 897,616.13 
 8,510.98 
 969,839.63 
 8,508.42 
 742,550.75 
 8,505.87 
 917,474.44 
 8,518.62 
 875,079.63 
 8,508.43 
 831,451.69 
 8,500.79 
 937,246.19 
 848,344.81 
 829,243.56 
 838,307.38 
 835,974.69 
 842,819.81 
 849,660.44 
 838,250.38 
 838,197.94 
 6,659.65 
 840,478.13 
 6,671.29 
 828,380.19 
 6,680.63 
 835,124.19 
 6,675.96 
 840,478.13 
 6,664.32 
 837,176.38 
 6,659.65 
 837,167.25 
 6,661.99 
 826,201.88 
 6,666.65 
 831,691.00 
 846,548.63 
 852,353.63 
 854,586.69 
 838,056.69 
 837,786.75 
 842,088.94 
 845,584.13 
 837,676.88 
 6,657.11 
 928,584.19 
 6,603.64 
 1,087,600.37 
 6,714.03 
 1,188,606.75 
 6,572.92 
 1,296,764.87 
 6,680.00 
 1,143,575.87 
 6,619.63 
 1,033,736.19 
 6,797.19 
 1,232,400.87 
 6,627.92 
 1,219,759.37 
 6,708.58 
 852,941.81 
 6,689.94 
 6,689.94 
 8,508.43 
 847,617.19 
 45,059.80 
 849,423.31 
 21,679.64 
 861,316.63 
 45,005.69 
 844,985.94 
 45,077.70 
 974,889.00 
 45,150.04 
 851,949.63 
 45,403.71 
 685,978.25 
 856,263.81 
 856,263.81 
 66,096.77 
 701,608.50 
 811,800.00 
 960,882.75 
 833,461.81 
 1,173,858.37 
 45,041.57 
 1,022,999.00 
 45,041.57 
 1,022,999.00 
 8,513.51 
 880,296.56 
 8,513.51 
 1,173,858.37 
 8,564.58 
 1,057,064.00 
 8,513.51 
 1,318,680.00 
 8,513.51 
 642,840.00 
 8,513.51 
 1,132,242.00 
 8,513.51 
 604,585.25 
 8,513.51 
 685,978.25 
 6,708.58 
 1,375,000.87 
 6,708.58 
 991,000.94 
 6,661.97 
 856,263.81 
 6,661.97 
 1,022,999.00 
 6,661.97 
 1,318,680.00 
 6,708.58 
 656,632.88 
 856,263.81 
 833,461.81 
 856,263.81 
 833,461.81 
 856,263.81 
 856,263.81 
 833,461.81 
 833,461.81 
 833,461.81 
 856,263.81 
 833,461.81 
 856,263.81 
 856,263.81 
 833,461.81 
 811,800.00 
 856,263.81 
 833,461.81 

When I tested the 45k blade plug the blade was detected but many times not the 45k resistor: May be I didn’t push strong enough since the plug was a bit short? Again, the 39k charging plug was detected on the 105k range. I’m not convinced about the #define BLADE_ID_TIMES 20

ID: 839162.44
NO Blade Detected
[...]
EVENT: Select-On millis=37912
ID: 44978.63
Blade Detected
[...]
EVENT: Select-Off millis=41117
ID: 834773.06
NO Blade Detected
[...]
EVENT: Select-On millis=44198
ID: 824850.00
Blade Detected
[...]
EVENT: Select-Off millis=46766
ID: 836882.25
NO Blade Detected
[...]
EVENT: Select-On millis=51103
ID: 839280.94
Blade Detected
[...]
EVENT: Select-Off millis=54271
ID: 839794.69
NO Blade Detected
[...]
EVENT: Select-On millis=56467
ID: 835856.19
Blade Detected
[...]
EVENT: Select-Off millis=59903
ID: 842639.69
NO Blade Detected
[...]
EVENT: Select-On millis=62510
ID: 839162.44
Blade Detected
[...]
EVENT: Select-Off millis=67636
ID: 837163.13
NO Blade Detected
[...]
EVENT: Select-On millis=71192
ID: 833575.94
Blade Detected
[...]
EVENT: Select-Off millis=74998
ID: 845043.00
NO Blade Detected
[...]
EVENT: Select-On millis=77263
ID: 45014.68
Blade Detected

Or may be I just need to try the #define BLADE_ID_CLASS SnapshotBladeID<bladeIdentifyPin> and see if it makes any difference?