Browse Source

Configurable kill pin state

Co-Authored-By: AbdullahGheith <abdullahgheith@users.noreply.github.com>
vanilla_fb_2.0.x
Scott Lahteine 5 years ago
parent
commit
852a8d6685
  1. 12
      Marlin/src/MarlinCore.cpp
  2. 7
      Marlin/src/MarlinCore.h
  3. 3
      Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp

12
Marlin/src/MarlinCore.cpp

@ -245,7 +245,11 @@ millis_t max_inactive_time, // = 0
void setup_killpin() { void setup_killpin() {
#if HAS_KILL #if HAS_KILL
SET_INPUT_PULLUP(KILL_PIN); #if KILL_PIN_STATE
SET_INPUT_PULLDOWN(KILL_PIN);
#else
SET_INPUT_PULLUP(KILL_PIN);
#endif
#endif #endif
} }
@ -496,7 +500,7 @@ inline void manage_inactivity(const bool ignore_stepper_queue=false) {
// ------------------------------------------------------------------------------- // -------------------------------------------------------------------------------
static int killCount = 0; // make the inactivity button a bit less responsive static int killCount = 0; // make the inactivity button a bit less responsive
const int KILL_DELAY = 750; const int KILL_DELAY = 750;
if (!READ(KILL_PIN)) if (kill_state())
killCount++; killCount++;
else if (killCount > 0) else if (killCount > 0)
killCount--; killCount--;
@ -770,10 +774,10 @@ void minkill(const bool steppers_off/*=false*/) {
#if HAS_KILL #if HAS_KILL
// Wait for kill to be released // Wait for kill to be released
while (!READ(KILL_PIN)) watchdog_refresh(); while (kill_state()) watchdog_refresh();
// Wait for kill to be pressed // Wait for kill to be pressed
while (READ(KILL_PIN)) watchdog_refresh(); while (!kill_state()) watchdog_refresh();
void (*resetFunc)() = 0; // Declare resetFunc() at address 0 void (*resetFunc)() = 0; // Declare resetFunc() at address 0
resetFunc(); // Jump to address 0 resetFunc(); // Jump to address 0

7
Marlin/src/MarlinCore.h

@ -110,6 +110,13 @@ void protected_pin_err();
inline void suicide() { OUT_WRITE(SUICIDE_PIN, SUICIDE_PIN_INVERTING); } inline void suicide() { OUT_WRITE(SUICIDE_PIN, SUICIDE_PIN_INVERTING); }
#endif #endif
#if HAS_KILL
#ifndef KILL_PIN_STATE
#define KILL_PIN_STATE LOW
#endif
inline bool kill_state() { return READ(KILL_PIN) == KILL_PIN_STATE; }
#endif
#if ENABLED(G29_RETRY_AND_RECOVER) #if ENABLED(G29_RETRY_AND_RECOVER)
void event_probe_recover(); void event_probe_recover();
void event_probe_failure(); void event_probe_failure();

3
Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp

@ -1683,8 +1683,9 @@
SERIAL_EOL(); SERIAL_EOL();
#if HAS_KILL #if HAS_KILL
SERIAL_ECHOLNPAIR("Kill pin on :", int(KILL_PIN), " state:", READ(KILL_PIN)); SERIAL_ECHOLNPAIR("Kill pin on :", int(KILL_PIN), " state:", int(kill_state()));
#endif #endif
SERIAL_EOL(); SERIAL_EOL();
serial_delay(50); serial_delay(50);

Loading…
Cancel
Save