Browse Source

Merge pull request #6622 from bgort/silentprobing

Improve BLTOUCH_HEATERS_OFF functionality
bgort 8 years ago
parent
commit
d35e2fda10
32 changed files with 468 additions and 108 deletions
  1. 9
    0
      Marlin/Conditionals_post.h
  2. 11
    2
      Marlin/Configuration.h
  3. 4
    0
      Marlin/Marlin.h
  4. 77
    53
      Marlin/Marlin_main.cpp
  5. 11
    2
      Marlin/example_configurations/Cartesio/Configuration.h
  6. 11
    2
      Marlin/example_configurations/Felix/Configuration.h
  7. 11
    2
      Marlin/example_configurations/Felix/DUAL/Configuration.h
  8. 11
    2
      Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h
  9. 11
    2
      Marlin/example_configurations/Hephestos/Configuration.h
  10. 11
    2
      Marlin/example_configurations/Hephestos_2/Configuration.h
  11. 11
    2
      Marlin/example_configurations/K8200/Configuration.h
  12. 11
    2
      Marlin/example_configurations/K8400/Configuration.h
  13. 11
    2
      Marlin/example_configurations/K8400/Dual-head/Configuration.h
  14. 11
    2
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  15. 11
    2
      Marlin/example_configurations/RigidBot/Configuration.h
  16. 11
    2
      Marlin/example_configurations/SCARA/Configuration.h
  17. 11
    2
      Marlin/example_configurations/TAZ4/Configuration.h
  18. 11
    2
      Marlin/example_configurations/TinyBoy2/Configuration.h
  19. 11
    2
      Marlin/example_configurations/WITBOX/Configuration.h
  20. 11
    2
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  21. 11
    2
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
  22. 11
    2
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
  23. 11
    2
      Marlin/example_configurations/delta/generic/Configuration.h
  24. 11
    2
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  25. 11
    2
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  26. 11
    2
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  27. 14
    3
      Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h
  28. 11
    2
      Marlin/example_configurations/makibox/Configuration.h
  29. 11
    2
      Marlin/example_configurations/tvrrug/Round2/Configuration.h
  30. 11
    2
      Marlin/example_configurations/wt150/Configuration.h
  31. 64
    0
      Marlin/temperature.cpp
  32. 14
    0
      Marlin/temperature.h

+ 9
- 0
Marlin/Conditionals_post.h View File

@@ -645,6 +645,15 @@
645 645
   #endif
646 646
   #define WRITE_FAN_N(n, v) WRITE_FAN##n(v)
647 647
 
648
+
649
+  /**
650
+   * Heater & Fan Pausing
651
+   */
652
+  #if ENABLED(PROBING_FANS_OFF) && FAN_COUNT == 0
653
+    #undef PROBING_FANS_OFF
654
+  #endif
655
+  #define QUIET_PROBING (ENABLED(PROBING_HEATERS_OFF) || ENABLED(PROBING_FANS_OFF))
656
+
648 657
   /**
649 658
    * Servos and probes
650 659
    */

+ 11
- 2
Marlin/Configuration.h View File

@@ -584,14 +584,23 @@
584 584
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
585 585
 
586 586
 /**
587
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
587
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
588 588
  */
589 589
 //#define BLTOUCH
590 590
 #if ENABLED(BLTOUCH)
591 591
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
592
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
593 592
 #endif
594 593
 
594
+/**
595
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
596
+ * options selected below - will be disabled during probing so as to minimize
597
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
598
+ * in current flowing through the wires).  This is likely most useful to users of the
599
+ * BLTouch probe, but may also help those with inductive or other probe types.
600
+ */
601
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
602
+//#define PROBING_FANS_OFF          // Turn fans off when probing
603
+
595 604
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
596 605
 //#define SOLENOID_PROBE
597 606
 

+ 4
- 0
Marlin/Marlin.h View File

@@ -362,6 +362,10 @@ int16_t code_value_temp_diff();
362 362
 
363 363
 #if FAN_COUNT > 0
364 364
   extern int16_t fanSpeeds[FAN_COUNT];
365
+  #if ENABLED(PROBING_FANS_OFF)
366
+    extern bool fans_paused;
367
+    extern int16_t paused_fanSpeeds[FAN_COUNT];
368
+  #endif
365 369
 #endif
366 370
 
367 371
 #if ENABLED(BARICUDA)

+ 77
- 53
Marlin/Marlin_main.cpp View File

@@ -441,6 +441,10 @@ float soft_endstop_min[XYZ] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS },
441 441
 
442 442
 #if FAN_COUNT > 0
443 443
   int16_t fanSpeeds[FAN_COUNT] = { 0 };
444
+  #if ENABLED(PROBING_FANS_OFF)
445
+    bool fans_paused = false;
446
+    int16_t paused_fanSpeeds[FAN_COUNT] = { 0 };
447
+  #endif
444 448
 #endif
445 449
 
446 450
 // The active extruder (tool). Set with T<extruder> command.
@@ -2041,6 +2045,35 @@ static void clean_up_after_endstop_or_probe_move() {
2041 2045
 
2042 2046
 #endif
2043 2047
 
2048
+#if ENABLED(PROBING_FANS_OFF)
2049
+  void fans_pause(bool p) {
2050
+    if (p && fans_paused) { // If called out of order something is wrong
2051
+      SERIAL_ERROR_START;
2052
+      SERIAL_ERRORLNPGM("Fans already paused!");
2053
+      return;
2054
+    }
2055
+
2056
+    if (!p && !fans_paused) {
2057
+      SERIAL_ERROR_START;
2058
+      SERIAL_ERRORLNPGM("Fans already unpaused!");
2059
+      return;
2060
+    }
2061
+
2062
+    if (p) {
2063
+      for (uint8_t x = 0;x < FAN_COUNT;x++) {
2064
+        paused_fanSpeeds[x] = fanSpeeds[x];
2065
+        fanSpeeds[x] = 0;
2066
+      }
2067
+    }
2068
+    else {
2069
+      for (uint8_t x = 0;x < FAN_COUNT;x++)
2070
+        fanSpeeds[x] = paused_fanSpeeds[x];
2071
+    }
2072
+
2073
+    fans_paused = p;
2074
+  }
2075
+#endif
2076
+
2044 2077
 #if HAS_BED_PROBE
2045 2078
 
2046 2079
   // TRIGGERED_WHEN_STOWED_TEST can easily be extended to servo probes, ... if needed.
@@ -2052,6 +2085,20 @@ static void clean_up_after_endstop_or_probe_move() {
2052 2085
     #endif
2053 2086
   #endif
2054 2087
 
2088
+  #if QUIET_PROBING
2089
+    void probing_pause(bool pause) {
2090
+      #if ENABLED(PROBING_HEATERS_OFF)
2091
+        thermalManager.pause(pause);
2092
+      #endif
2093
+
2094
+      #if ENABLED(PROBING_FANS_OFF)
2095
+        fans_pause(pause);
2096
+      #endif
2097
+
2098
+      if(pause) safe_delay(25);
2099
+    }
2100
+  #endif
2101
+
2055 2102
   #if ENABLED(BLTOUCH)
2056 2103
 
2057 2104
     void bltouch_command(int angle) {
@@ -2059,51 +2106,6 @@ static void clean_up_after_endstop_or_probe_move() {
2059 2106
       safe_delay(BLTOUCH_DELAY);
2060 2107
     }
2061 2108
 
2062
-    /**
2063
-     * BLTouch probes have a Hall effect sensor. The high currents switching
2064
-     * on and off cause a magnetic field that can affect the repeatability of the
2065
-     * sensor. So for BLTouch probes, heaters are turned off during the probe,
2066
-     * then quickly turned back on after the point is sampled.
2067
-     */
2068
-    #if ENABLED(BLTOUCH_HEATERS_OFF)
2069
-
2070
-      void set_heaters_for_bltouch(const bool deploy) {
2071
-        static bool heaters_were_disabled = false;
2072
-        static millis_t next_emi_protection = 0;
2073
-        static int16_t temps_at_entry[HOTENDS];
2074
-
2075
-        #if HAS_TEMP_BED
2076
-          static int16_t bed_temp_at_entry;
2077
-        #endif
2078
-
2079
-        // If called out of order or far apart something is seriously wrong
2080
-        if (deploy == heaters_were_disabled
2081
-            || (next_emi_protection && ELAPSED(millis(), next_emi_protection)))
2082
-          kill(PSTR(MSG_KILLED));
2083
-
2084
-        if (deploy) {
2085
-          next_emi_protection = millis() + 20 * 1000UL;
2086
-          HOTEND_LOOP() {
2087
-            temps_at_entry[e] = thermalManager.degTargetHotend(e);
2088
-            thermalManager.setTargetHotend(0, e);
2089
-          }
2090
-          #if HAS_TEMP_BED
2091
-            bed_temp_at_entry = thermalManager.degTargetBed();
2092
-            thermalManager.setTargetBed(0);
2093
-          #endif
2094
-        }
2095
-        else {
2096
-          next_emi_protection = 0;
2097
-          HOTEND_LOOP() thermalManager.setTargetHotend(temps_at_entry[e], e);
2098
-          #if HAS_TEMP_BED
2099
-            thermalManager.setTargetBed(bed_temp_at_entry);
2100
-          #endif
2101
-        }
2102
-        heaters_were_disabled = deploy;
2103
-      }
2104
-
2105
-    #endif // BLTOUCH_HEATERS_OFF
2106
-
2107 2109
     void set_bltouch_deployed(const bool deploy) {
2108 2110
       if (deploy && TEST_BLTOUCH()) {      // If BL-Touch says it's triggered
2109 2111
         bltouch_command(BLTOUCH_RESET);    //  try to reset it.
@@ -2118,9 +2120,6 @@ static void clean_up_after_endstop_or_probe_move() {
2118 2120
           stop();                          // punt!
2119 2121
         }
2120 2122
       }
2121
-      #if ENABLED(BLTOUCH_HEATERS_OFF)
2122
-        set_heaters_for_bltouch(deploy);
2123
-      #endif
2124 2123
 
2125 2124
       bltouch_command(deploy ? BLTOUCH_DEPLOY : BLTOUCH_STOW);
2126 2125
 
@@ -2249,9 +2248,17 @@ static void clean_up_after_endstop_or_probe_move() {
2249 2248
       set_bltouch_deployed(true);
2250 2249
     #endif
2251 2250
 
2251
+    #if QUIET_PROBING
2252
+      probing_pause(true);
2253
+    #endif
2254
+
2252 2255
     // Move down until probe triggered
2253 2256
     do_blocking_move_to_z(LOGICAL_Z_POSITION(z), MMM_TO_MMS(fr_mm_m));
2254 2257
 
2258
+    #if QUIET_PROBING
2259
+      probing_pause(false);
2260
+    #endif
2261
+
2255 2262
     // Retract BLTouch immediately after a probe
2256 2263
     #if ENABLED(BLTOUCH)
2257 2264
       set_bltouch_deployed(false);
@@ -2809,6 +2816,10 @@ static void do_homing_move(const AxisEnum axis, float distance, float fr_mm_s=0.
2809 2816
     if (deploy_bltouch) set_bltouch_deployed(true);
2810 2817
   #endif
2811 2818
 
2819
+  #if QUIET_PROBING
2820
+    if (axis == Z_AXIS) probing_pause(true);
2821
+  #endif
2822
+
2812 2823
   // Tell the planner we're at Z=0
2813 2824
   current_position[axis] = 0;
2814 2825
 
@@ -2825,6 +2836,10 @@ static void do_homing_move(const AxisEnum axis, float distance, float fr_mm_s=0.
2825 2836
 
2826 2837
   stepper.synchronize();
2827 2838
 
2839
+  #if QUIET_PROBING
2840
+    if (axis == Z_AXIS) probing_pause(false);
2841
+  #endif
2842
+
2828 2843
   #if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH)
2829 2844
     if (deploy_bltouch) set_bltouch_deployed(false);
2830 2845
   #endif
@@ -6474,6 +6489,7 @@ inline void gcode_M104() {
6474 6489
   if (code_seen('S')) {
6475 6490
     const int16_t temp = code_value_temp_abs();
6476 6491
     thermalManager.setTargetHotend(temp, target_extruder);
6492
+
6477 6493
     #if ENABLED(DUAL_X_CARRIAGE)
6478 6494
       if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && target_extruder == 0)
6479 6495
         thermalManager.setTargetHotend(temp ? temp + duplicate_extruder_temp_offset : 0, 1);
@@ -6669,6 +6685,7 @@ inline void gcode_M109() {
6669 6685
   if (no_wait_for_cooling || code_seen('R')) {
6670 6686
     const int16_t temp = code_value_temp_abs();
6671 6687
     thermalManager.setTargetHotend(temp, target_extruder);
6688
+
6672 6689
     #if ENABLED(DUAL_X_CARRIAGE)
6673 6690
       if (dual_x_carriage_mode == DXC_DUPLICATION_MODE && target_extruder == 0)
6674 6691
         thermalManager.setTargetHotend(temp ? temp + duplicate_extruder_temp_offset : 0, 1);
@@ -6820,6 +6837,7 @@ inline void gcode_M109() {
6820 6837
     const bool no_wait_for_cooling = code_seen('S');
6821 6838
     if (no_wait_for_cooling || code_seen('R')) {
6822 6839
       thermalManager.setTargetBed(code_value_temp_abs());
6840
+
6823 6841
       #if ENABLED(PRINTJOB_TIMER_AUTOSTART)
6824 6842
         if (code_value_temp_abs() > BED_MINTEMP)
6825 6843
           print_job_timer.start();
@@ -7113,10 +7131,11 @@ inline void gcode_M81() {
7113 7131
   thermalManager.disable_all_heaters();
7114 7132
   stepper.finish_and_disable();
7115 7133
   #if FAN_COUNT > 0
7116
-    #if FAN_COUNT > 1
7117
-      for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0;
7118
-    #else
7119
-      fanSpeeds[0] = 0;
7134
+    for (uint8_t i = 0; i < FAN_COUNT; i++) fanSpeeds[i] = 0;
7135
+
7136
+    #if ENABLED(PROBING_FANS_OFF)
7137
+      fans_paused = false;
7138
+      ZERO(paused_fanSpeeds);
7120 7139
     #endif
7121 7140
   #endif
7122 7141
   safe_delay(1000); // Wait 1 second before switching off
@@ -12093,7 +12112,12 @@ void kill(const char* lcd_msg) {
12093 12112
  * After a stop the machine may be resumed with M999
12094 12113
  */
12095 12114
 void stop() {
12096
-  thermalManager.disable_all_heaters();
12115
+  thermalManager.disable_all_heaters(); // 'unpause' taken care of in here
12116
+
12117
+  #if ENABLED(PROBING_FANS_OFF)
12118
+    if (fans_paused) fans_pause(false); // put things back the way they were
12119
+  #endif
12120
+
12097 12121
   if (IsRunning()) {
12098 12122
     Stopped_gcode_LastN = gcode_LastN; // Save last g_code for restart
12099 12123
     SERIAL_ERROR_START;

+ 11
- 2
Marlin/example_configurations/Cartesio/Configuration.h View File

@@ -582,14 +582,23 @@
582 582
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
583 583
 
584 584
 /**
585
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
585
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
586 586
  */
587 587
 //#define BLTOUCH
588 588
 #if ENABLED(BLTOUCH)
589 589
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
590
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
591 590
 #endif
592 591
 
592
+/**
593
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
594
+ * options selected below - will be disabled during probing so as to minimize
595
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
596
+ * in current flowing through the wires).  This is likely most useful to users of the
597
+ * BLTouch probe, but may also help those with inductive or other probe types.
598
+ */
599
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
600
+//#define PROBING_FANS_OFF          // Turn fans off when probing
601
+
593 602
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
594 603
 //#define SOLENOID_PROBE
595 604
 

+ 11
- 2
Marlin/example_configurations/Felix/Configuration.h View File

@@ -566,14 +566,23 @@
566 566
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
567 567
 
568 568
 /**
569
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
569
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
570 570
  */
571 571
 //#define BLTOUCH
572 572
 #if ENABLED(BLTOUCH)
573 573
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
574
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
575 574
 #endif
576 575
 
576
+/**
577
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
578
+ * options selected below - will be disabled during probing so as to minimize
579
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
580
+ * in current flowing through the wires).  This is likely most useful to users of the
581
+ * BLTouch probe, but may also help those with inductive or other probe types.
582
+ */
583
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
584
+//#define PROBING_FANS_OFF          // Turn fans off when probing
585
+
577 586
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
578 587
 //#define SOLENOID_PROBE
579 588
 

+ 11
- 2
Marlin/example_configurations/Felix/DUAL/Configuration.h View File

@@ -566,14 +566,23 @@
566 566
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
567 567
 
568 568
 /**
569
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
569
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
570 570
  */
571 571
 //#define BLTOUCH
572 572
 #if ENABLED(BLTOUCH)
573 573
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
574
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
575 574
 #endif
576 575
 
576
+/**
577
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
578
+ * options selected below - will be disabled during probing so as to minimize
579
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
580
+ * in current flowing through the wires).  This is likely most useful to users of the
581
+ * BLTouch probe, but may also help those with inductive or other probe types.
582
+ */
583
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
584
+//#define PROBING_FANS_OFF          // Turn fans off when probing
585
+
577 586
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
578 587
 //#define SOLENOID_PROBE
579 588
 

+ 11
- 2
Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h View File

@@ -590,14 +590,23 @@
590 590
 #define Z_SERVO_ANGLES {40,85}  // Z Servo Deploy and Stow angles
591 591
 
592 592
 /**
593
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
593
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
594 594
  */
595 595
 //#define BLTOUCH
596 596
 #if ENABLED(BLTOUCH)
597 597
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
598
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
599 598
 #endif
600 599
 
600
+/**
601
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
602
+ * options selected below - will be disabled during probing so as to minimize
603
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
604
+ * in current flowing through the wires).  This is likely most useful to users of the
605
+ * BLTouch probe, but may also help those with inductive or other probe types.
606
+ */
607
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
608
+//#define PROBING_FANS_OFF          // Turn fans off when probing
609
+
601 610
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
602 611
 //#define SOLENOID_PROBE
603 612
 

+ 11
- 2
Marlin/example_configurations/Hephestos/Configuration.h View File

@@ -574,14 +574,23 @@
574 574
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
575 575
 
576 576
 /**
577
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
577
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
578 578
  */
579 579
 //#define BLTOUCH
580 580
 #if ENABLED(BLTOUCH)
581 581
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
582
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
583 582
 #endif
584 583
 
584
+/**
585
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
586
+ * options selected below - will be disabled during probing so as to minimize
587
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
588
+ * in current flowing through the wires).  This is likely most useful to users of the
589
+ * BLTouch probe, but may also help those with inductive or other probe types.
590
+ */
591
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
592
+//#define PROBING_FANS_OFF          // Turn fans off when probing
593
+
585 594
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
586 595
 //#define SOLENOID_PROBE
587 596
 

+ 11
- 2
Marlin/example_configurations/Hephestos_2/Configuration.h View File

@@ -577,14 +577,23 @@
577 577
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
578 578
 
579 579
 /**
580
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
580
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
581 581
  */
582 582
 //#define BLTOUCH
583 583
 #if ENABLED(BLTOUCH)
584 584
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
585
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
586 585
 #endif
587 586
 
587
+/**
588
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
589
+ * options selected below - will be disabled during probing so as to minimize
590
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
591
+ * in current flowing through the wires).  This is likely most useful to users of the
592
+ * BLTouch probe, but may also help those with inductive or other probe types.
593
+ */
594
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
595
+//#define PROBING_FANS_OFF          // Turn fans off when probing
596
+
588 597
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
589 598
 //#define SOLENOID_PROBE
590 599
 

+ 11
- 2
Marlin/example_configurations/K8200/Configuration.h View File

@@ -612,14 +612,23 @@
612 612
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
613 613
 
614 614
 /**
615
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
615
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
616 616
  */
617 617
 //#define BLTOUCH
618 618
 #if ENABLED(BLTOUCH)
619 619
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
620
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
621 620
 #endif
622 621
 
622
+/**
623
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
624
+ * options selected below - will be disabled during probing so as to minimize
625
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
626
+ * in current flowing through the wires).  This is likely most useful to users of the
627
+ * BLTouch probe, but may also help those with inductive or other probe types.
628
+ */
629
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
630
+//#define PROBING_FANS_OFF          // Turn fans off when probing
631
+
623 632
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
624 633
 //#define SOLENOID_PROBE
625 634
 

+ 11
- 2
Marlin/example_configurations/K8400/Configuration.h View File

@@ -583,14 +583,23 @@
583 583
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
584 584
 
585 585
 /**
586
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
586
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
587 587
  */
588 588
 //#define BLTOUCH
589 589
 #if ENABLED(BLTOUCH)
590 590
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
591
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
592 591
 #endif
593 592
 
593
+/**
594
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
595
+ * options selected below - will be disabled during probing so as to minimize
596
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
597
+ * in current flowing through the wires).  This is likely most useful to users of the
598
+ * BLTouch probe, but may also help those with inductive or other probe types.
599
+ */
600
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
601
+//#define PROBING_FANS_OFF          // Turn fans off when probing
602
+
594 603
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
595 604
 //#define SOLENOID_PROBE
596 605
 

+ 11
- 2
Marlin/example_configurations/K8400/Dual-head/Configuration.h View File

@@ -583,14 +583,23 @@
583 583
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
584 584
 
585 585
 /**
586
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
586
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
587 587
  */
588 588
 //#define BLTOUCH
589 589
 #if ENABLED(BLTOUCH)
590 590
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
591
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
592 591
 #endif
593 592
 
593
+/**
594
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
595
+ * options selected below - will be disabled during probing so as to minimize
596
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
597
+ * in current flowing through the wires).  This is likely most useful to users of the
598
+ * BLTouch probe, but may also help those with inductive or other probe types.
599
+ */
600
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
601
+//#define PROBING_FANS_OFF          // Turn fans off when probing
602
+
594 603
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
595 604
 //#define SOLENOID_PROBE
596 605
 

+ 11
- 2
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h View File

@@ -583,14 +583,23 @@
583 583
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
584 584
 
585 585
 /**
586
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
586
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
587 587
  */
588 588
 //#define BLTOUCH
589 589
 #if ENABLED(BLTOUCH)
590 590
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
591
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
592 591
 #endif
593 592
 
593
+/**
594
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
595
+ * options selected below - will be disabled during probing so as to minimize
596
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
597
+ * in current flowing through the wires).  This is likely most useful to users of the
598
+ * BLTouch probe, but may also help those with inductive or other probe types.
599
+ */
600
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
601
+//#define PROBING_FANS_OFF          // Turn fans off when probing
602
+
594 603
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
595 604
 //#define SOLENOID_PROBE
596 605
 

+ 11
- 2
Marlin/example_configurations/RigidBot/Configuration.h View File

@@ -582,14 +582,23 @@
582 582
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
583 583
 
584 584
 /**
585
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
585
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
586 586
  */
587 587
 //#define BLTOUCH
588 588
 #if ENABLED(BLTOUCH)
589 589
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
590
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
591 590
 #endif
592 591
 
592
+/**
593
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
594
+ * options selected below - will be disabled during probing so as to minimize
595
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
596
+ * in current flowing through the wires).  This is likely most useful to users of the
597
+ * BLTouch probe, but may also help those with inductive or other probe types.
598
+ */
599
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
600
+//#define PROBING_FANS_OFF          // Turn fans off when probing
601
+
593 602
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
594 603
 //#define SOLENOID_PROBE
595 604
 

+ 11
- 2
Marlin/example_configurations/SCARA/Configuration.h View File

@@ -598,14 +598,23 @@
598 598
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
599 599
 
600 600
 /**
601
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
601
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
602 602
  */
603 603
 //#define BLTOUCH
604 604
 #if ENABLED(BLTOUCH)
605 605
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
606
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
607 606
 #endif
608 607
 
608
+/**
609
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
610
+ * options selected below - will be disabled during probing so as to minimize
611
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
612
+ * in current flowing through the wires).  This is likely most useful to users of the
613
+ * BLTouch probe, but may also help those with inductive or other probe types.
614
+ */
615
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
616
+//#define PROBING_FANS_OFF          // Turn fans off when probing
617
+
609 618
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
610 619
 //#define SOLENOID_PROBE
611 620
 

+ 11
- 2
Marlin/example_configurations/TAZ4/Configuration.h View File

@@ -603,14 +603,23 @@
603 603
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
604 604
 
605 605
 /**
606
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
606
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
607 607
  */
608 608
 //#define BLTOUCH
609 609
 #if ENABLED(BLTOUCH)
610 610
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
611
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
612 611
 #endif
613 612
 
613
+/**
614
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
615
+ * options selected below - will be disabled during probing so as to minimize
616
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
617
+ * in current flowing through the wires).  This is likely most useful to users of the
618
+ * BLTouch probe, but may also help those with inductive or other probe types.
619
+ */
620
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
621
+//#define PROBING_FANS_OFF          // Turn fans off when probing
622
+
614 623
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
615 624
 //#define SOLENOID_PROBE
616 625
 

+ 11
- 2
Marlin/example_configurations/TinyBoy2/Configuration.h View File

@@ -634,14 +634,23 @@
634 634
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
635 635
 
636 636
 /**
637
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
637
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
638 638
  */
639 639
 //#define BLTOUCH
640 640
 #if ENABLED(BLTOUCH)
641 641
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
642
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
643 642
 #endif
644 643
 
644
+/**
645
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
646
+ * options selected below - will be disabled during probing so as to minimize
647
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
648
+ * in current flowing through the wires).  This is likely most useful to users of the
649
+ * BLTouch probe, but may also help those with inductive or other probe types.
650
+ */
651
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
652
+//#define PROBING_FANS_OFF          // Turn fans off when probing
653
+
645 654
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
646 655
 //#define SOLENOID_PROBE
647 656
 

+ 11
- 2
Marlin/example_configurations/WITBOX/Configuration.h View File

@@ -574,14 +574,23 @@
574 574
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
575 575
 
576 576
 /**
577
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
577
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
578 578
  */
579 579
 //#define BLTOUCH
580 580
 #if ENABLED(BLTOUCH)
581 581
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
582
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
583 582
 #endif
584 583
 
584
+/**
585
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
586
+ * options selected below - will be disabled during probing so as to minimize
587
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
588
+ * in current flowing through the wires).  This is likely most useful to users of the
589
+ * BLTouch probe, but may also help those with inductive or other probe types.
590
+ */
591
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
592
+//#define PROBING_FANS_OFF          // Turn fans off when probing
593
+
585 594
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
586 595
 //#define SOLENOID_PROBE
587 596
 

+ 11
- 2
Marlin/example_configurations/adafruit/ST7565/Configuration.h View File

@@ -583,14 +583,23 @@
583 583
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
584 584
 
585 585
 /**
586
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
586
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
587 587
  */
588 588
 //#define BLTOUCH
589 589
 #if ENABLED(BLTOUCH)
590 590
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
591
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
592 591
 #endif
593 592
 
593
+/**
594
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
595
+ * options selected below - will be disabled during probing so as to minimize
596
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
597
+ * in current flowing through the wires).  This is likely most useful to users of the
598
+ * BLTouch probe, but may also help those with inductive or other probe types.
599
+ */
600
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
601
+//#define PROBING_FANS_OFF          // Turn fans off when probing
602
+
594 603
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
595 604
 //#define SOLENOID_PROBE
596 605
 

+ 11
- 2
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h View File

@@ -651,14 +651,23 @@
651 651
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
652 652
 
653 653
 /**
654
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
654
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
655 655
  */
656 656
 //#define BLTOUCH
657 657
 #if ENABLED(BLTOUCH)
658 658
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
659
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
660 659
 #endif
661 660
 
661
+/**
662
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
663
+ * options selected below - will be disabled during probing so as to minimize
664
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
665
+ * in current flowing through the wires).  This is likely most useful to users of the
666
+ * BLTouch probe, but may also help those with inductive or other probe types.
667
+ */
668
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
669
+//#define PROBING_FANS_OFF          // Turn fans off when probing
670
+
662 671
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
663 672
 //#define SOLENOID_PROBE
664 673
 

+ 11
- 2
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h View File

@@ -658,14 +658,23 @@
658 658
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
659 659
 
660 660
 /**
661
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
661
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
662 662
  */
663 663
 //#define BLTOUCH
664 664
 #if ENABLED(BLTOUCH)
665 665
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
666
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
667 666
 #endif
668 667
 
668
+/**
669
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
670
+ * options selected below - will be disabled during probing so as to minimize
671
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
672
+ * in current flowing through the wires).  This is likely most useful to users of the
673
+ * BLTouch probe, but may also help those with inductive or other probe types.
674
+ */
675
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
676
+//#define PROBING_FANS_OFF          // Turn fans off when probing
677
+
669 678
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
670 679
 //#define SOLENOID_PROBE
671 680
 

+ 11
- 2
Marlin/example_configurations/delta/generic/Configuration.h View File

@@ -647,14 +647,23 @@
647 647
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
648 648
 
649 649
 /**
650
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
650
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
651 651
  */
652 652
 //#define BLTOUCH
653 653
 #if ENABLED(BLTOUCH)
654 654
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
655
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
656 655
 #endif
657 656
 
657
+/**
658
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
659
+ * options selected below - will be disabled during probing so as to minimize
660
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
661
+ * in current flowing through the wires).  This is likely most useful to users of the
662
+ * BLTouch probe, but may also help those with inductive or other probe types.
663
+ */
664
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
665
+//#define PROBING_FANS_OFF          // Turn fans off when probing
666
+
658 667
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
659 668
 //#define SOLENOID_PROBE
660 669
 

+ 11
- 2
Marlin/example_configurations/delta/kossel_mini/Configuration.h View File

@@ -642,14 +642,23 @@
642 642
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
643 643
 
644 644
 /**
645
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
645
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
646 646
  */
647 647
 //#define BLTOUCH
648 648
 #if ENABLED(BLTOUCH)
649 649
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
650
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
651 650
 #endif
652 651
 
652
+/**
653
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
654
+ * options selected below - will be disabled during probing so as to minimize
655
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
656
+ * in current flowing through the wires).  This is likely most useful to users of the
657
+ * BLTouch probe, but may also help those with inductive or other probe types.
658
+ */
659
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
660
+//#define PROBING_FANS_OFF          // Turn fans off when probing
661
+
653 662
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
654 663
 //#define SOLENOID_PROBE
655 664
 

+ 11
- 2
Marlin/example_configurations/delta/kossel_pro/Configuration.h View File

@@ -641,14 +641,23 @@
641 641
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
642 642
 
643 643
 /**
644
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
644
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
645 645
  */
646 646
 //#define BLTOUCH
647 647
 #if ENABLED(BLTOUCH)
648 648
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
649
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
650 649
 #endif
651 650
 
651
+/**
652
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
653
+ * options selected below - will be disabled during probing so as to minimize
654
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
655
+ * in current flowing through the wires).  This is likely most useful to users of the
656
+ * BLTouch probe, but may also help those with inductive or other probe types.
657
+ */
658
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
659
+//#define PROBING_FANS_OFF          // Turn fans off when probing
660
+
652 661
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
653 662
 //#define SOLENOID_PROBE
654 663
 

+ 11
- 2
Marlin/example_configurations/delta/kossel_xl/Configuration.h View File

@@ -660,14 +660,23 @@
660 660
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
661 661
 
662 662
 /**
663
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
663
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
664 664
  */
665 665
 //#define BLTOUCH
666 666
 #if ENABLED(BLTOUCH)
667 667
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
668
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
669 668
 #endif
670 669
 
670
+/**
671
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
672
+ * options selected below - will be disabled during probing so as to minimize
673
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
674
+ * in current flowing through the wires).  This is likely most useful to users of the
675
+ * BLTouch probe, but may also help those with inductive or other probe types.
676
+ */
677
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
678
+//#define PROBING_FANS_OFF          // Turn fans off when probing
679
+
671 680
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
672 681
 //#define SOLENOID_PROBE
673 682
 

+ 14
- 3
Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h View File

@@ -599,11 +599,22 @@
599 599
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
600 600
 
601 601
 /**
602
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
602
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
603 603
  */
604 604
 #define BLTOUCH
605
-#define BLTOUCH_DELAY 500   // (ms) Enable and increase if needed
606
-#define BLTOUCH_HEATERS_OFF // if defined the printer's heaters are turned off during probe event
605
+#if ENABLED(BLTOUCH)
606
+  #define BLTOUCH_DELAY 500   // (ms) Enable and increase if needed
607
+#endif
608
+
609
+/**
610
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
611
+ * options selected below - will be disabled during probing so as to minimize
612
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
613
+ * in current flowing through the wires).  This is likely most useful to users of the
614
+ * BLTouch probe, but may also help those with inductive or other probe types.
615
+ */
616
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
617
+//#define PROBING_FANS_OFF          // Turn fans off when probing
607 618
 
608 619
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
609 620
 //#define SOLENOID_PROBE

+ 11
- 2
Marlin/example_configurations/makibox/Configuration.h View File

@@ -586,14 +586,23 @@
586 586
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
587 587
 
588 588
 /**
589
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
589
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
590 590
  */
591 591
 //#define BLTOUCH
592 592
 #if ENABLED(BLTOUCH)
593 593
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
594
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
595 594
 #endif
596 595
 
596
+/**
597
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
598
+ * options selected below - will be disabled during probing so as to minimize
599
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
600
+ * in current flowing through the wires).  This is likely most useful to users of the
601
+ * BLTouch probe, but may also help those with inductive or other probe types.
602
+ */
603
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
604
+//#define PROBING_FANS_OFF          // Turn fans off when probing
605
+
597 606
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
598 607
 //#define SOLENOID_PROBE
599 608
 

+ 11
- 2
Marlin/example_configurations/tvrrug/Round2/Configuration.h View File

@@ -579,14 +579,23 @@
579 579
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
580 580
 
581 581
 /**
582
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
582
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
583 583
  */
584 584
 //#define BLTOUCH
585 585
 #if ENABLED(BLTOUCH)
586 586
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
587
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
588 587
 #endif
589 588
 
589
+/**
590
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
591
+ * options selected below - will be disabled during probing so as to minimize
592
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
593
+ * in current flowing through the wires).  This is likely most useful to users of the
594
+ * BLTouch probe, but may also help those with inductive or other probe types.
595
+ */
596
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
597
+//#define PROBING_FANS_OFF          // Turn fans off when probing
598
+
590 599
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
591 600
 //#define SOLENOID_PROBE
592 601
 

+ 11
- 2
Marlin/example_configurations/wt150/Configuration.h View File

@@ -588,14 +588,23 @@
588 588
 //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
589 589
 
590 590
 /**
591
- * The BLTouch probe is a Hall effect sensor that emulates a servo.
591
+ * The BLTouch probe uses a Hall effect sensor and emulates a servo.
592 592
  */
593 593
 //#define BLTOUCH
594 594
 #if ENABLED(BLTOUCH)
595 595
   //#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
596
-  //#define BLTOUCH_HEATERS_OFF // Enable if the probe seems unreliable. Heaters will be disabled for each probe.
597 596
 #endif
598 597
 
598
+/**
599
+ * Enable if probing seems unreliable. Heaters and/or fans - consistent with the
600
+ * options selected below - will be disabled during probing so as to minimize
601
+ * potential EM interference by quieting/silencing the source of the 'noise' (the change
602
+ * in current flowing through the wires).  This is likely most useful to users of the
603
+ * BLTouch probe, but may also help those with inductive or other probe types.
604
+ */
605
+//#define PROBING_HEATERS_OFF       // Turn heaters off when probing
606
+//#define PROBING_FANS_OFF          // Turn fans off when probing
607
+
599 608
 // A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
600 609
 //#define SOLENOID_PROBE
601 610
 

+ 64
- 0
Marlin/temperature.cpp View File

@@ -204,6 +204,14 @@ uint8_t Temperature::soft_pwm[HOTENDS];
204 204
   int Temperature::current_raw_filwidth = 0;  //Holds measured filament diameter - one extruder only
205 205
 #endif
206 206
 
207
+#if ENABLED(PROBING_HEATERS_OFF)
208
+  bool Temperature::paused;
209
+  int16_t Temperature::paused_hotend_temps[HOTENDS];
210
+  #if HAS_TEMP_BED
211
+    int16_t Temperature::paused_bed_temp;
212
+  #endif
213
+#endif
214
+
207 215
 #if HAS_PID_HEATING
208 216
 
209 217
   void Temperature::PID_autotune(float temp, int hotend, int ncycles, bool set_result/*=false*/) {
@@ -1194,6 +1202,14 @@ void Temperature::init() {
1194 1202
       #endif
1195 1203
     }
1196 1204
   #endif //BED_MAXTEMP
1205
+
1206
+  #if ENABLED(PROBING_HEATERS_OFF)
1207
+    paused = false;
1208
+    ZERO(paused_hotend_temps);
1209
+    #if HAS_TEMP_BED
1210
+      paused_bed_temp = 0;
1211
+    #endif
1212
+  #endif
1197 1213
 }
1198 1214
 
1199 1215
 #if WATCH_HOTENDS
@@ -1297,6 +1313,15 @@ void Temperature::disable_all_heaters() {
1297 1313
   HOTEND_LOOP() setTargetHotend(0, e);
1298 1314
   setTargetBed(0);
1299 1315
 
1316
+  // Unpause and reset everything
1317
+  #if ENABLED(PROBING_HEATERS_OFF)
1318
+    paused = false;
1319
+    ZERO(paused_hotend_temps);
1320
+    #if HAS_TEMP_BED
1321
+      paused_bed_temp = 0;
1322
+    #endif
1323
+  #endif
1324
+
1300 1325
   // If all heaters go down then for sure our print job has stopped
1301 1326
   print_job_timer.stop();
1302 1327
 
@@ -1331,6 +1356,45 @@ void Temperature::disable_all_heaters() {
1331 1356
   #endif
1332 1357
 }
1333 1358
 
1359
+#if ENABLED(PROBING_HEATERS_OFF)
1360
+  void Temperature::pause(bool p) {
1361
+    if (p && paused) { // If called out of order something is wrong
1362
+      SERIAL_ERROR_START;
1363
+      SERIAL_ERRORLNPGM("Heaters already paused!");
1364
+      return;
1365
+    }
1366
+
1367
+    if (!p && !paused) {
1368
+      SERIAL_ERROR_START;
1369
+      SERIAL_ERRORLNPGM("Heaters already unpaused!");
1370
+      return;
1371
+    }
1372
+
1373
+    if (p) {
1374
+      HOTEND_LOOP() {
1375
+        paused_hotend_temps[e] = degTargetHotend(e);
1376
+        setTargetHotend(0, e);
1377
+      }
1378
+      #if HAS_TEMP_BED
1379
+        paused_bed_temp = degTargetBed();
1380
+        setTargetBed(0);
1381
+      #endif
1382
+    }
1383
+    else {
1384
+      HOTEND_LOOP() setTargetHotend(paused_hotend_temps[e], e);
1385
+      #if HAS_TEMP_BED
1386
+        setTargetBed(paused_bed_temp);
1387
+      #endif
1388
+    }
1389
+
1390
+    paused = p;
1391
+  }
1392
+
1393
+  bool Temperature::ispaused() {
1394
+    return paused;
1395
+  }
1396
+#endif
1397
+
1334 1398
 #if ENABLED(HEATER_0_USES_MAX6675)
1335 1399
 
1336 1400
   #define MAX6675_HEAT_INTERVAL 250u

+ 14
- 0
Marlin/temperature.h View File

@@ -259,6 +259,15 @@ class Temperature {
259 259
       static int current_raw_filwidth;  //Holds measured filament diameter - one extruder only
260 260
     #endif
261 261
 
262
+    #if ENABLED(PROBING_HEATERS_OFF)
263
+      static bool paused;
264
+      static int16_t paused_hotend_temps[HOTENDS];
265
+
266
+      #if HAS_TEMP_BED
267
+        static int16_t paused_bed_temp;
268
+      #endif
269
+    #endif
270
+
262 271
   public:
263 272
 
264 273
     /**
@@ -452,6 +461,11 @@ class Temperature {
452 461
 
453 462
     #endif // BABYSTEPPING
454 463
 
464
+    #if ENABLED(PROBING_HEATERS_OFF)
465
+      static void pause(bool p);
466
+      static bool ispaused();
467
+    #endif
468
+
455 469
   private:
456 470
 
457 471
     static void set_current_temp_raw();

Loading…
Cancel
Save