Help with blade detect

i’m struggling to get BD working with this saber ive set up, here vid of the problem im having, i find this easer that typing it all out

also a simple config im using to test

#ifdef CONFIG_TOP
#include "proffieboard_v3_config.h"
#define NUM_BLADES 3
#define NUM_BUTTONS 2
const unsigned int maxLedsPerStrip = 144;
#define EXTRA_COLOR_BUFFER_SPACE 60
#define VOLUME 3000
#define BOOT_VOLUME 1500
#define CLASH_THRESHOLD_G 3.0
#define ENABLE_AUDIO
#define ENABLE_MOTION
#define ENABLE_WS2811
#define ENABLE_SD
#define ENABLE_SPINS
#define FILTER_CUTOFF_FREQUENCY 100
#define FILTER_ORDER 8
#define MOTION_TIMEOUT 60 * 15 * 1000
#define IDLE_OFF_TIME 60 * 15 * 1000
#define DISABLE_BASIC_PARSER_STYLES
#define ENABLE_ALL_EDIT_OPTIONS
#define SAVE_PRESET
#define NO_REPEAT_RANDOM
#define COLOR_CHANGE_DIRECT
#define SHARED_POWER_PINS
#define BLADE_DETECT_PIN blade7Pin
#define FETT263_EDIT_SETTINGS_MENU
#define FETT263_SPECIAL_ABILITIES
#define FETT263_SPIN_MODE
#define FETT263_SAY_COLOR_LIST
#define FETT263_SAY_COLOR_LIST_CC
#define FETT263_SAY_BATTERY_PERCENT
#define FETT263_DISABLE_CHANGE_STYLE
#define FETT263_DISABLE_COPY_PRESET
#define FETT263_DISABLE_BM_TOGGLE
#define FETT263_DISABLE_MULTI_BLAST_TOGGLE
#define FETT263_DISABLE_QUOTE_PLAYER
#define FETT263_TRACK_PLAYER_NO_PROMPTS
#define FETT263_LOCKUP_DELAY 200
#define FETT263_BM_CLASH_DETECT 6
#define FETT263_SWING_ON_SPEED 300
#define FETT263_SWING_ON
#define FETT263_SWING_ON_NO_BM
#define FETT263_TWIST_OFF
#endif

#ifdef CONFIG_PROP
#include "../props/saber_fett263_buttons.h"
#endif


#ifdef CONFIG_PRESETS
Preset presets[] = {
   { "The_Bane;common", "tracks/DarkSide.wav",
    StyleNormalPtr<CYAN, WHITE, 300, 800>(),
    StyleNormalPtr<CYAN, WHITE, 300, 800>(),
    StyleNormalPtr<CYAN, WHITE, 300, 800>(), "cyan"},
 
};
Preset no_blade_presets[] = {
  { "Poison;common", "tracks/DarkSide.wav", 
   StyleFirePtr<RED, YELLOW, 0>(),
   StyleFirePtr<RED, YELLOW, 0>(),
   StyleFirePtr<RED, YELLOW, 0>(),
  "no blade" },

};
BladeConfig blades[] = {
 { 0, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
    SubBladeWithStride(0, 15, 2, WS281XBladePtr<16, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
    SubBladeWithStride(1, 15, 2, NULL)
  , CONFIGARRAY(presets) },
 { NO_BLADE, WS281XBladePtr<144, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >(),
    SubBladeWithStride(0, 15, 2, WS281XBladePtr<16, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3> >()),
    SubBladeWithStride(1, 15, 2, NULL)
  , CONFIGARRAY(no_blade_presets), "nb_save" }
,
};
#endif


#ifdef CONFIG_BUTTONS
Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
Button AuxButton(BUTTON_AUX, auxPin, "aux");
#endif

Easier for you maybe.
I will watch this this weekend and try to help.

Cheers prof

Firstly Free1 is blade5Pin, not blade7Pin.

Secondly it looks like you have too many bridges. The bridge should only be on the hilt side, not the chassis side.

So the signal path would be from the Proffie to the chassis disc and then it should stop. Then when you insert the chassis, the disc connection contacts the pin in the hilt, that pin bridges to ground which goes back to the Proffie telling it that a blade (or chassis in this case) is now detected.

If you have a bridge on the chassis side, you’re telling the Proffie a blade (chassis) is always fitted.

Hope that made sense.

However the video shows the NO_BLADE only behavior, so it is bridged in such a way that a blade is never there.

correct ive mistaken the pin number with the pin name, I’ve now changed this in the config to blade5pin, now the saber boots to the main preset not the no blade preset and still doesn’t detect a blade

this is how ive grounded the pins

I don’t think you want to bridge it on either side.
I think the idea with the resistors is to have a sort of “chassis detect”, but if you don’t care about htat and only want to detect the blade, then I think it would be better to have no bridges whatsoever, so that only inserting the blade actually does something.

I could be wrong, because I’m not sure what exactly the purpose of those bridges is.

Regardless of bridges, I would use a multimeter to check the wiring.
That probably means attaching a tiny wire to LED2/3, and another one to Free1, remove the battery and insert the chassis into the hilt. Connect the wires to the multimeter and turn it to beep mode. At this point it should not beep. Now insert the blade. Now it should beep.

If your available wiring is too big to fit when you insert the chassis, get some magnet wire…

I’ve assumed the intention here is chassis detect, not actual blade detect, though there does appear to be some resistor options there for more BladeID options. But I don’t think they’re relevant here.

The hilt side bridge is just there to link BD to ground, but obviously it will only do so when the chassis is fitted. I’ve done it quite often. Indeed only this week I built a Regiis in which I set the buttons to short to positive rather than negative - as positive was obviously already available on the hilt side setup - which freed up a connector ring for Blade (chassis) Detect (I was using a six ring disc, not the multi-pad version in this thread). By shorting that hiltside ring to ground, inserting the chassis has the effect of reading that short, and voila - chassis detected. :slight_smile:

Aaron,
If you look at the line below the line you’ve circled on the right, it says:
“Leave open if Blade Detect line goes to the blade (in his case hiltside chassis) connector.”
If you’re feeling brave and you have a steady hand, you could also use a breadboard jumper wire to manually short the BD pin on the Proffie to Ground. This will tell you if the config side of things is working properly as it basically fakes the blade detect connection. Just be super, super, super careful not to touch anything else on the Proffie with the jumper wire pins.

thanks for that fellas its working now @Sabersense @profezzorn

lucky the handle on this hilt splits in two so i was able to poke the multi meter probes in and contact the pins, i was getting no beeps with blade in so i removed the bridge from the chassis side connector and bobs your uncle we have blade detect

thanks again :grinning:

3 Likes

Glad you got it working! :+1: :smiley:

1 Like