Browse Source

Add probe_switch_activated

vanilla_fb_2.0.x
Scott Lahteine 4 years ago
parent
commit
f423edd938
  1. 9
      Marlin/src/module/endstops.cpp
  2. 8
      Marlin/src/module/endstops.h
  3. 2
      Marlin/src/module/probe.cpp
  4. 2
      buildroot/tests/STM32F103RET6_creality-tests

9
Marlin/src/module/endstops.cpp

@ -465,7 +465,7 @@ void _O2 Endstops::report_states() {
ES_REPORT(Z4_MAX); ES_REPORT(Z4_MAX);
#endif #endif
#if BOTH(MARLIN_DEV_MODE, PROBE_ACTIVATION_SWITCH) #if BOTH(MARLIN_DEV_MODE, PROBE_ACTIVATION_SWITCH)
print_es_state(READ(PROBE_ACTIVATION_SWITCH_PIN) == PROBE_ACTIVATION_SWITCH_STATE, PSTR(STR_PROBE_EN)); print_es_state(probe_switch_activated(), PSTR(STR_PROBE_EN));
#endif #endif
#if HAS_CUSTOM_PROBE_PIN #if HAS_CUSTOM_PROBE_PIN
print_es_state(PROBE_TRIGGERED(), PSTR(STR_Z_PROBE)); print_es_state(PROBE_TRIGGERED(), PSTR(STR_Z_PROBE));
@ -618,11 +618,8 @@ void Endstops::update() {
#if HAS_BED_PROBE #if HAS_BED_PROBE
// When closing the gap check the enabled probe // When closing the gap check the enabled probe
if (true if (probe_switch_activated())
#if ENABLED(PROBE_ACTIVATION_SWITCH) UPDATE_ENDSTOP_BIT(Z, TERN(HAS_CUSTOM_PROBE_PIN, MIN_PROBE, MIN));
|| READ(PROBE_ACTIVATION_SWITCH_PIN) == PROBE_ACTIVATION_SWITCH_STATE
#endif
) UPDATE_ENDSTOP_BIT(Z, TERN(HAS_CUSTOM_PROBE_PIN, MIN_PROBE, MIN));
#endif #endif
#if HAS_Z_MAX && !Z_SPI_SENSORLESS #if HAS_Z_MAX && !Z_SPI_SENSORLESS

8
Marlin/src/module/endstops.h

@ -116,6 +116,14 @@ class Endstops {
; ;
} }
static inline bool probe_switch_activated() {
return (true
#if ENABLED(PROBE_ACTIVATION_SWITCH)
&& READ(PROBE_ACTIVATION_SWITCH_PIN) == PROBE_ACTIVATION_SWITCH_STATE
#endif
);
}
/** /**
* Report endstop hits to serial. Called from loop(). * Report endstop hits to serial. Called from loop().
*/ */

2
Marlin/src/module/probe.cpp

@ -519,7 +519,7 @@ bool Probe::probe_down_to_z(const float z, const feedRate_t fr_mm_s) {
*/ */
bool Probe::tare() { bool Probe::tare() {
#if BOTH(PROBE_ACTIVATION_SWITCH, PROBE_TARE_ONLY_WHILE_INACTIVE) #if BOTH(PROBE_ACTIVATION_SWITCH, PROBE_TARE_ONLY_WHILE_INACTIVE)
if (READ(PROBE_ACTIVATION_SWITCH_PIN) == PROBE_ACTIVATION_SWITCH_STATE) { if (endstops.probe_switch_activated()) {
SERIAL_ECHOLNPGM("Cannot tare an active probe"); SERIAL_ECHOLNPGM("Cannot tare an active probe");
return true; return true;
} }

2
buildroot/tests/STM32F103RET6_creality-tests

@ -23,7 +23,7 @@ opt_set SERIAL_PORT 1
opt_set MOTHERBOARD BOARD_CREALITY_V452 opt_set MOTHERBOARD BOARD_CREALITY_V452
opt_disable NOZZLE_TO_PROBE_OFFSET opt_disable NOZZLE_TO_PROBE_OFFSET
opt_enable NOZZLE_AS_PROBE Z_SAFE_HOMING Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN opt_enable NOZZLE_AS_PROBE Z_SAFE_HOMING Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
opt_enable PROBE_ACTIVATION_SWITCH PROBE_ACTIVATION_SWITCH_PIN PROBE_TARE PROBE_TARE_ONLY_WHILE_INACTIVE opt_enable PROBE_ACTIVATION_SWITCH PROBE_TARE PROBE_TARE_ONLY_WHILE_INACTIVE
exec_test $1 $2 "Creality V4.5.2 PROBE_ACTIVATION_SWITCH, Probe Tare" "$3" exec_test $1 $2 "Creality V4.5.2 PROBE_ACTIVATION_SWITCH, Probe Tare" "$3"
# clean up # clean up

Loading…
Cancel
Save