Ok, so the caveat I’m working around here is there’s no pullup resistor installed.
#define BLADE_ID_CLASS SnapshotBladeID<bladeIdentifyPin>
There are 2 removable crystals in play here as the “blades”.
While they do have the BladeID resistors installed, the pullup btw data1 and 3.3v pads was missed.
Blade Detect is used in conjunction, so it scans on state change of crystal in/out.
The idea is each crystal gets it own set of presets, and then NO crystal is the 3rd state.
So far, using serial monitor, I get the following:
Crystal 1 = ~973
Crystal 2 = ~918
No Crystal = ~580
Both crystals are working correctly when IN with the BladeConfigs set at those values.
There are 2 things happening then, one more important in the end than the other.
The first and main weirdness is that NO crystal, even though reporting as ~580 in Serial Monitor, is triggering the Crystal 2 @ 918 set of presets.
Second is that the scan at boot is offset by about 200-250 less than an immediate subsequent
Crystal 1 IN.
ID = 770.
scanid and get 973.
Crystal 2 IN.
ID = 670
scanid and get 918
So the “No Crystal” state @~580 is triggerable and does work as it’s seen being used with example 2 at boot. ( scanned 670 is closer to 580 than 918),
but it’s not using No Crystal when it’s supposed to be.
Any ideas other than forcing a rebuild to add the pullup resistor?
Something fishy is going on with the NOBLADE/no crystal state.