Init tare pin once

This commit is contained in:
Scott Lahteine 2020-12-27 16:23:18 -06:00
parent 10482ca49c
commit 892e83e872
3 changed files with 18 additions and 3 deletions

View file

@ -193,7 +193,7 @@
#include "feature/runout.h"
#endif
#if HAS_Z_SERVO_PROBE
#if EITHER(PROBE_TARE, HAS_Z_SERVO_PROBE)
#include "module/probe.h"
#endif
@ -1119,6 +1119,10 @@ void setup() {
SETUP_RUN(ui.reset_status()); // Load welcome message early. (Retained if no errors exist.)
#endif
#if ENABLED(PROBE_TARE)
SETUP_RUN(probe.tare_init());
#endif
#if BOTH(SDSUPPORT, SDCARD_EEPROM_EMULATION)
SETUP_RUN(card.mount()); // Mount media with settings before first_load
#endif

View file

@ -510,6 +510,16 @@ bool Probe::probe_down_to_z(const float z, const feedRate_t fr_mm_s) {
}
#if ENABLED(PROBE_TARE)
/**
* @brief Init the tare pin
*
* @details Init tare pin to ON state for a strain gauge, otherwise OFF
*/
void Probe::tare_init() {
OUT_WRITE(PROBE_TARE_PIN, !PROBE_TARE_STATE);
}
/**
* @brief Tare the Z probe
*
@ -526,9 +536,9 @@ bool Probe::probe_down_to_z(const float z, const feedRate_t fr_mm_s) {
#endif
SERIAL_ECHOLNPGM("Taring probe");
OUT_WRITE(PROBE_TARE_PIN, PROBE_TARE_STATE);
WRITE(PROBE_TARE_PIN, PROBE_TARE_STATE);
delay(PROBE_TARE_TIME);
OUT_WRITE(PROBE_TARE_PIN, !PROBE_TARE_STATE);
WRITE(PROBE_TARE_PIN, !PROBE_TARE_STATE);
delay(PROBE_TARE_DELAY);
endstops.hit_on_purpose();

View file

@ -211,6 +211,7 @@ public:
#endif
#if ENABLED(PROBE_TARE)
static void tare_init();
static bool tare();
#endif