So my Y limit switch is permanently triggered. The switch itself is fine and works on x, z and probe but for Y it's Triggered and I'm unable to untrigger it. Even when nothing is connected (no limit switches) it's still showing triggered. I reset the board, wiped eeprom, redid the settings but no change. Changed the jumper from 5v to 24v, still no change. The only thing that I know has changed is that I had a laser module set up for a while but at some point in time blackbox refused to turn the laser on but the laser still worked in its own designated gantry. I had the end stop triggers turned off for the longest time due to EMI but I've reset the build (lead 1515) and wanted to activate them again and now this shows. I know I can do without limit switches but I want them to work out of principle. Now I never use the probe, is there a way to get the probe plug to register as the Y limit switch plug instead? As in switch them over? I've looked inside and nothing seems to have burned out visually but who knows, the fuse was still fine. Any guidance would be amazing, I'm truly stuck It's the blackbox version 1 I added a close up picture of the inside of where the switch connects in the hopes maybe someone sees something I missed.
Likely MCU damage caused at the same time the laser damaged the PWM Pin. Consider replacing it, as unfortunately it looks like a V2.7 making it around 2020/2021 and no longer under warranty
Ah ok, thanks for the speedy reply. Yeah I wasn't after any warranty, I'm trying to find a workaround. So would you know how do I get a new PWM pin? Is there a part I should look up? Alternatively is there possibly a way in code that I can change to use the probe switch / plug for Y and Y for the probe instead? So that I can circumvent replacement? I never use the probe really
Could I go into the cpu_map.h and swap some stuff around in this section to make it work perhaps? #define LIMIT_DDR DDRB #define LIMIT_PIN PINB #define LIMIT_PORT PORTB #define X_LIMIT_BIT 1 // Uno Digital Pin 9 #define Y_LIMIT_BIT 2 // Uno Digital Pin 10 #ifdef VARIABLE_SPINDLE // Z Limit pin and spindle enabled swapped to access hardware PWM on Pin 11. #define Z_LIMIT_BIT 4 // Uno Digital Pin 12 #else #define Z_LIMIT_BIT 3 // Uno Digital Pin 11 #endif #if !defined(ENABLE_DUAL_AXIS) #define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits #endif #define LIMIT_INT PCIE0 // Pin change interrupt enable pin #define LIMIT_INT_vect PCINT0_vect #define LIMIT_PCMSK PCMSK0 // Pin change interrupt register // Define user-control controls (cycle start, reset, feed hold) input pins. // NOTE: All CONTROLs pins must be on the same port and not on a port with other input pins (limits). #define CONTROL_DDR DDRC #define CONTROL_PIN PINC #define CONTROL_PORT PORTC #define CONTROL_RESET_BIT 0 // Uno Analog Pin 0 #define CONTROL_FEED_HOLD_BIT 1 // Uno Analog Pin 1 #define CONTROL_CYCLE_START_BIT 2 // Uno Analog Pin 2 #define CONTROL_SAFETY_DOOR_BIT 1 // Uno Analog Pin 1 NOTE: Safety door is shared with feed hold. Enabled by config define. #define CONTROL_INT PCIE1 // Pin change interrupt enable pin #define CONTROL_INT_vect PCINT1_vect #define CONTROL_PCMSK PCMSK1 // Pin change interrupt register #define CONTROL_MASK ((1<<CONTROL_RESET_BIT)|(1<<CONTROL_FEED_HOLD_BIT)|(1<<CONTROL_CYCLE_START_BIT)|(1<<CONTROL_SAFETY_DOOR_BIT)) #define CONTROL_INVERT_MASK CONTROL_MASK // May be re-defined to only invert certain control pins. // Define probe switch input pin. #define PROBE_DDR DDRC #define PROBE_PIN PINC #define PROBE_PORT PORTC #define PROBE_BIT 5 // Uno Analog Pin 5 #define PROBE_MASK (1<<PROBE_BIT)