Skip to content

Commit

Permalink
Configurable kill pin state
Browse files Browse the repository at this point in the history
Co-Authored-By: AbdullahGheith <abdullahgheith@users.noreply.github.com>
  • Loading branch information
thinkyhead and AbdullahGheith committed May 5, 2020
1 parent 3fd8ef5 commit 852a8d6
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 5 deletions.
12 changes: 8 additions & 4 deletions Marlin/src/MarlinCore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,11 @@ millis_t max_inactive_time, // = 0

void setup_killpin() {
#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
}

Expand Down Expand Up @@ -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
const int KILL_DELAY = 750;
if (!READ(KILL_PIN))
if (kill_state())
killCount++;
else if (killCount > 0)
killCount--;
Expand Down Expand Up @@ -770,10 +774,10 @@ void minkill(const bool steppers_off/*=false*/) {
#if HAS_KILL

// Wait for kill to be released
while (!READ(KILL_PIN)) watchdog_refresh();
while (kill_state()) watchdog_refresh();

// 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
resetFunc(); // Jump to address 0
Expand Down
7 changes: 7 additions & 0 deletions Marlin/src/MarlinCore.h
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,13 @@ void protected_pin_err();
inline void suicide() { OUT_WRITE(SUICIDE_PIN, SUICIDE_PIN_INVERTING); }
#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)
void event_probe_recover();
void event_probe_failure();
Expand Down
3 changes: 2 additions & 1 deletion Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1683,8 +1683,9 @@
SERIAL_EOL();

#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

SERIAL_EOL();
serial_delay(50);

Expand Down

0 comments on commit 852a8d6

Please sign in to comment.