Browse Source

Add REPORT_FAN_CHANGE as an option

Scott Lahteine 5 years ago
parent
commit
2d33a9fd7c

+ 2
- 0
Marlin/Configuration_adv.h View File

@@ -3104,6 +3104,8 @@
3104 3104
 //#define M114_REALTIME       // Real current position based on forward kinematics
3105 3105
 //#define M114_LEGACY         // M114 used to synchronize on every call. Enable if needed.
3106 3106
 
3107
+//#define REPORT_FAN_CHANGE   // Report the new fan speed when changed by M106 (and others)
3108
+
3107 3109
 /**
3108 3110
  * Set the number of proportional font spaces required to fill up a typical character space.
3109 3111
  * This can help to better align the output of commands like `G29 O` Mesh Output.

+ 3
- 3
Marlin/src/lcd/menu/menu_temperature.cpp View File

@@ -161,15 +161,15 @@ void menu_temperature() {
161 161
   // Nozzle [1-5]:
162 162
   //
163 163
   #if HOTENDS == 1
164
-    EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - HOTEND_OVERSHOOT, []{ thermalManager.start_watching_hotend(0); });
164
+    EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - (HOTEND_OVERSHOOT), []{ thermalManager.start_watching_hotend(0); });
165 165
   #elif HAS_MULTI_HOTEND
166 166
     HOTEND_LOOP()
167
-      EDIT_ITEM_FAST_N(int3, e, MSG_NOZZLE_N, &thermalManager.temp_hotend[e].target, 0, thermalManager.heater_maxtemp[e] - HOTEND_OVERSHOOT, []{ thermalManager.start_watching_hotend(MenuItemBase::itemIndex); });
167
+      EDIT_ITEM_FAST_N(int3, e, MSG_NOZZLE_N, &thermalManager.temp_hotend[e].target, 0, thermalManager.heater_maxtemp[e] - (HOTEND_OVERSHOOT), []{ thermalManager.start_watching_hotend(MenuItemBase::itemIndex); });
168 168
   #endif
169 169
 
170 170
   #if ENABLED(SINGLENOZZLE_STANDBY_TEMP)
171 171
     LOOP_S_L_N(e, 1, EXTRUDERS)
172
-      EDIT_ITEM_FAST_N(uint16_3, e, MSG_NOZZLE_STANDBY, &singlenozzle_temp[e], 0, thermalManager.heater_maxtemp[0] - HOTEND_OVERSHOOT);
172
+      EDIT_ITEM_FAST_N(uint16_3, e, MSG_NOZZLE_STANDBY, &singlenozzle_temp[e], 0, thermalManager.heater_maxtemp[0] - (HOTEND_OVERSHOOT));
173 173
   #endif
174 174
 
175 175
   //

+ 12
- 9
Marlin/src/module/temperature.cpp View File

@@ -216,18 +216,21 @@ const char str_t_thermal_runaway[] PROGMEM = STR_T_THERMAL_RUNAWAY,
216 216
     if (target >= FAN_COUNT) return;
217 217
 
218 218
     fan_speed[target] = speed;
219
-    report_fan_speed(target);
220
-  }
221 219
 
222
-  /**
223
-   * Report print fan speed for a target extruder
224
-   */
225
-  void Temperature::report_fan_speed(const uint8_t target) {
226
-    if (target >= FAN_COUNT) return;
227
-    PORT_REDIRECT(SERIAL_BOTH);
228
-    SERIAL_ECHOLNPAIR("M106 P", target, " S", fan_speed[target]);
220
+    TERN_(REPORT_FAN_CHANGE, report_fan_speed(target));
229 221
   }
230 222
 
223
+  #if ENABLED(REPORT_FAN_CHANGE)
224
+    /**
225
+     * Report print fan speed for a target extruder
226
+     */
227
+    void Temperature::report_fan_speed(const uint8_t target) {
228
+      if (target >= FAN_COUNT) return;
229
+      PORT_REDIRECT(SERIAL_BOTH);
230
+      SERIAL_ECHOLNPAIR("M106 P", target, " S", fan_speed[target]);
231
+    }
232
+  #endif
233
+
231 234
   #if EITHER(PROBING_FANS_OFF, ADVANCED_PAUSE_FANS_PAUSE)
232 235
 
233 236
     void Temperature::set_fans_paused(const bool p) {

+ 7
- 14
Marlin/src/module/temperature.h View File

@@ -474,7 +474,10 @@ class Temperature {
474 474
       #define FANS_LOOP(I) LOOP_L_N(I, FAN_COUNT)
475 475
 
476 476
       static void set_fan_speed(const uint8_t target, const uint16_t speed);
477
-      static void report_fan_speed(const uint8_t target);
477
+
478
+      #if ENABLED(REPORT_FAN_CHANGE)
479
+        static void report_fan_speed(const uint8_t target);
480
+      #endif
478 481
 
479 482
       #if EITHER(PROBING_FANS_OFF, ADVANCED_PAUSE_FANS_PAUSE)
480 483
         static bool fans_paused;
@@ -487,13 +490,7 @@ class Temperature {
487 490
 
488 491
       static inline uint8_t scaledFanSpeed(const uint8_t target, const uint8_t fs) {
489 492
         UNUSED(target); // Potentially unused!
490
-        return (fs * uint16_t(
491
-          #if ENABLED(ADAPTIVE_FAN_SLOWING)
492
-            fan_speed_scaler[target]
493
-          #else
494
-            128
495
-          #endif
496
-        )) >> 7;
493
+        return (fs * uint16_t(TERN(ADAPTIVE_FAN_SLOWING, fan_speed_scaler[target], 128))) >> 7;
497 494
       }
498 495
 
499 496
       static inline uint8_t scaledFanSpeed(const uint8_t target) {
@@ -629,7 +626,7 @@ class Temperature {
629 626
       static void setTargetBed(const int16_t celsius) {
630 627
         TERN_(AUTO_POWER_CONTROL, powerManager.power_on());
631 628
         temp_bed.target =
632
-          #ifdef BED_MAXTEMP
629
+          #ifdef BED_MAX_TARGET
633 630
             _MIN(celsius, BED_MAX_TARGET)
634 631
           #else
635 632
             celsius
@@ -790,11 +787,7 @@ class Temperature {
790 787
 
791 788
     #define HAS_MAX6675 EITHER(HEATER_0_USES_MAX6675, HEATER_1_USES_MAX6675)
792 789
     #if HAS_MAX6675
793
-      #if BOTH(HEATER_0_USES_MAX6675, HEATER_1_USES_MAX6675)
794
-        #define COUNT_6675 2
795
-      #else
796
-        #define COUNT_6675 1
797
-      #endif
790
+      #define COUNT_6675 1 + BOTH(HEATER_0_USES_MAX6675, HEATER_1_USES_MAX6675)
798 791
       #if COUNT_6675 > 1
799 792
         #define READ_MAX6675(N) read_max6675(N)
800 793
       #else

Loading…
Cancel
Save