A couple of quick questions about OS-8 (GitHub Master) and colour change:
Up to OS-7.14, on blade styles with 12 colours, you used to be able to cycle through all 12 colours in one revolution of the hilt, i.e. the colours were 30 degrees apart. Now it seems they are roughly 60 degrees apart. Just wondering if this is expected behaviour for OS-8 or if ultimately OS-8 will be tweaked back to 30 degrees.
I’ve noticed that BladeID seems to work accurately, but once you have run colour change, it mis-scans readings and goes to the wrong array on certain blade fittings. Then once you switch font or reboot it works accurately again.
Neither are biggies - just curious about the first and thought I should mention the second in case it is indicative of a bugette somewhere.
This seems pretty weird. Is does this with the official/non-modified Github Master version? Or have you applied some of the manual switching stuff we did in the other thread?
Are things better with 7.14?
To my understanding, color change shouldn’t really have anything to do with Blade ID, unless it’s something to do with a saved file maybe?
I’d need to run tests to see what you’re seeing. If you share your files (Dropbox or similar) I could try it . The whole ProffieOS folder would be preferred so I don’t need to mix and match into my version.
Unless @profezzorn has some idea why there’d be any interference between color change and Blade ID.
That’s more than a little weird.
I suppose it could be because different colors draw different amounts of current, which could change the readings a bit.
Yes SnapshotBladeID, which I know isn’t the best, and yes, it is using the new array switching stuff.
I’ll do some more comprehensive tests over the weekend and report back - I just noticed it tonight and realised that that was where my observations the other day of OS-8 not being accurate came from - all was not quite as it seemed.
but yes, I’ll nail down some hard observations and video and report back here.
Uuurgh - sorry guys, but I can’t recreate this today. (I should have video’d it last night). I tried it with none of the new mods - just FindBladeAgain followed by DoBladeDetect, and then went back to the same code I was using last night (NoSloppy’s new BladeID that plays array.wavs) and both worked fine. I must have done something last night to cause it, but I can’t think what. If it happens again, I’ll be sure to get a video and retrace every step leading up to it, because I know I’ve had two test sessions lately where it’s happened.
@NoSloppy I forgot to look at this while I was chasing the other thing, but that section is indeed it! Changing the 6 to a 12 made it so that one full revolution accesses all 12 colours. Thanks for pointing me there.
@NoSloppy, as an out-of-interest addendum, is it possible to add something to a config file, or even a prop, that overrides parameters like this? Ideally I don’t want to edit other files in ProffieOS - and I’m guessing this one has been slowed down to make the colour wheel easier to use, which makes sense.
As I say, no biggie - just curious to know as I’m now in knowledge absorption mode! LOL!
I think the reason I changed it is because I felt like all menues should have the same number of “ticks” per revolution. That might not be correct, and it’s also not clear what the right number of ticks per revolution is…
Yes, similar to overriding a function, you can inherit from SPEC stepped mode struct and override the steps per revolution.
If you look at my latest prop on Github, you’ll see I did that for volume menu and blade length to customize how they work a little bit.
So I looked into this for a minute.
I think the easiest solution might be to just make a collective decision regarding steps_per_revolution, if indeed 12 versus 6 makes more sense so as to continue allowing 12 colors per ColorChange<> as is was in the past, as well as overall “comfort” of rotation making changes.
Changing one value in modes/stepped_mode.h seems a heck of a lot easier than trying to add something to your prop file to override it.
In order to do it in the prop and to override the single method for steps_per_revolution, I think you’d need to make your own SPEC for ColorChangeOnlyMenuSpec, a typedef for your version inheriting from the real one (but needs to be at the right level of mode) and changing the call to ToggleColorChangeMode() to something else that pushes to your SPEC instead.
Maybe @profezzorn would consider changing the default after some testing with a value of 12?
Minor correction: 12 colors still works, but you would need to turn the saber around twice to access them all.
Absolutely, the value of “6” was what proffessional programmers call a WAG. I would prefer if people tested a few different values to see which seems best/easiest rather than just testing “does 12 work” though.
I try to be funny and informative most of the time. If you haven’t noticed, then I have either succeeded spectacularly or failed miserable, not sure which…
To me, the more the merrier. I found it more and more “natural” as the numbers increased.
I can’t say more than 40 would be practical, but personally I like it that high.
Snappy, easy to do with one hand to reach a distant value (I’m thinking blade length changing like 110->138 or something). Just feels good, like accurate control.
So I vote somewhere 20-40.
FYI I did it with the #define as above, so it’s easy to just change it in the config.
edit* - in fact I just checked my prop for what I chose and it’s 30 so… must be what I feel is reasonable. ¯\_(ツ)_/¯
funny: sometimes, but The Crucible is your “house”, so you can do what you want. I am just a guest here and I know my kind of humor isn’t always appreciated and I just wanted to be sure you were ok with it.
Now for the matter at hand, increments per revolution. I can’t yet test on a working lightsaber but from the nature of my job, I am quite used to turn and twist knobs, buttons and levers. Anything less than 12 increments per revolution would feel pretty unnatural and tedious, to me at least.
Now look at your hand holding a lightsaber, how many degrees can you rotate your wrist in any of the three axis ?
With my right hand extended in front of me holding the lighsaber vertical, I can rotate 270° clockwise from the 6 o’clock position to the 3 o’clock position (9 increments only, based on 12 per 360°). But this is not the axis we are interested in!
in the “reving a motorcyle” axis or blade horizontal and parallel to your shoulders, I can do slightly more than 150°, so only 5 increments.
with the blade horizontal and pointing away from you, I can do easily 180° and maybe 210° if I stretch, so 6 to 7 increments. I don’t think it is barely enough.
Of course you can always use two hands with a lightsaber, but in my job: one hand on the controls at all critical times and only the other hand can be used to push, pull or twist buttons, knobs and levers.
If I have to take a guess, the beginner sweet spot would probably be around 20 to 24 increments per 360°. So with one rotation of the wrist, you could do 10 to 12 increments using one hand only. And once you get used to it, you can probably increase that number even more?