Different ID number after “id” and “scanid” commands

So the “id” serial command is supposed to give us the ID number, right? But I’m getting different ID numbers if I send “id” command and “scanid” command if neopixel blade is connected, but same ID number for both commands if blade is disconnected. The “scanid” command seems to be the proper number. And having an ID resistor in the blade doesn’t seem to change the number for the “scanid” command, but makes the number change for the “id” command… Is it a bug?

ProffieOS 5.9, Proffieboard v2.2, and I have a Blade Detection set to pin #22 (button 3).

I should probably just remove the “id” command. I added that early on for debugging and it doesn’t really do anything helpful. Basically it tries to do the blade id() without making sure that the blade is in the right state (powered, but off) which doesn’t really work. “scanid” does all of this correctly by turning the saber off, undoing all the current blade setup, powering the blade and then calculating the ID. After that, it sets everything up again, just like a blade detect event does.

Ok, but why 55k resistor doesn’t make a difference for the “scanid” command? It always shows number 950 to 1000 with or without the 55k resistor between Data and GND inside the blade. I mean there is a difference but only around 50 points…

Two potential reasons:

  1. The neopixels themselves might have a lower resistance, making the 55k not really count much.
  2. What kind of blade ID setup do you have? Are you using the default for proffieboards which also depends on the capacitance? Or do you have a resistor or bridging pin?

I’m using the default method, no additional pull up resistor. Can a Blade Detection wire connected to a pin 22 (button #3) affect the ID value?

No, it shouldn’t affect the ID value. (Although weirder things have happened I suppose.)

Ok thanks, it sort of works though, I put 1020 value for the Pixel blade and 950 value for the SCW/Warsabers Tri-Cree LED module adaptor, it works.