Procházet zdrojové kódy

Merge pull request #7992 from thinkyhead/bf2_M106_memorize

[2.0.x] Add EXTRA_FAN_SPEED feature
Scott Lahteine před 7 roky
rodič
revize
02f2979760
37 změnil soubory, kde provedl 350 přidání a 16 odebrání
  1. 9
    0
      Marlin/Configuration_adv.h
  2. 4
    0
      Marlin/src/Marlin.cpp
  3. 4
    0
      Marlin/src/Marlin.h
  4. 9
    0
      Marlin/src/config/default/Configuration_adv.h
  5. 9
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  6. 9
    0
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  7. 9
    0
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  8. 9
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  9. 9
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  10. 9
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  11. 9
    0
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  12. 9
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  13. 9
    0
      Marlin/src/config/examples/Felix/Configuration_adv.h
  14. 9
    0
      Marlin/src/config/examples/Folger Tech/i3-2020/Configuration_adv.h
  15. 9
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  16. 9
    0
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  17. 9
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  18. 9
    0
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  19. 9
    0
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  20. 9
    0
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  21. 9
    0
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  22. 9
    0
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  23. 9
    0
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  24. 9
    0
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  25. 9
    0
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  26. 9
    0
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  27. 9
    0
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  28. 9
    0
      Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h
  29. 9
    0
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  30. 9
    0
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  31. 9
    0
      Marlin/src/config/examples/makibox/Configuration_adv.h
  32. 9
    0
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  33. 9
    0
      Marlin/src/config/examples/wt150/Configuration_adv.h
  34. 2
    2
      Marlin/src/gcode/gcode.h
  35. 31
    4
      Marlin/src/gcode/temperature/M106_M107.cpp
  36. 3
    0
      Marlin/src/lcd/language/language_en.h
  37. 27
    10
      Marlin/src/lcd/ultralcd.cpp

+ 9
- 0
Marlin/Configuration_adv.h Zobrazit soubor

@@ -826,6 +826,15 @@
826 826
 #endif
827 827
 
828 828
 /**
829
+ * Extra Fan Speed
830
+ * Adds a secondary fan speed for each print-cooling fan.
831
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
832
+ *   'M106 P<fan> T2'     : Use the set secondary speed
833
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
834
+ */
835
+//#define EXTRA_FAN_SPEED
836
+
837
+/**
829 838
  * Advanced Pause
830 839
  * Experimental feature for filament change support and for parking the nozzle when paused.
831 840
  * Adds the GCode M600 for initiating filament change.

+ 4
- 0
Marlin/src/Marlin.cpp Zobrazit soubor

@@ -165,6 +165,10 @@ bool axis_homed[XYZ] = { false }, axis_known_position[XYZ] = { false };
165 165
 
166 166
 #if FAN_COUNT > 0
167 167
   int16_t fanSpeeds[FAN_COUNT] = { 0 };
168
+  #if ENABLED(EXTRA_FAN_SPEEDS)
169
+    int16_t old_fanSpeeds[FAN_COUNT],
170
+            new_fanSpeeds[FAN_COUNT];
171
+  #endif
168 172
   #if ENABLED(PROBING_FANS_OFF)
169 173
     bool fans_paused = false;
170 174
     int16_t paused_fanSpeeds[FAN_COUNT] = { 0 };

+ 4
- 0
Marlin/src/Marlin.h Zobrazit soubor

@@ -198,6 +198,10 @@ extern millis_t max_inactive_time, stepper_inactive_time;
198 198
 
199 199
 #if FAN_COUNT > 0
200 200
   extern int16_t fanSpeeds[FAN_COUNT];
201
+  #if ENABLED(EXTRA_FAN_SPEEDS)
202
+    extern int16_t old_fanSpeeds[FAN_COUNT],
203
+                   new_fanSpeeds[FAN_COUNT];
204
+  #endif
201 205
   #if ENABLED(PROBING_FANS_OFF)
202 206
     extern bool fans_paused;
203 207
     extern int16_t paused_fanSpeeds[FAN_COUNT];

+ 9
- 0
Marlin/src/config/default/Configuration_adv.h Zobrazit soubor

@@ -826,6 +826,15 @@
826 826
 #endif
827 827
 
828 828
 /**
829
+ * Extra Fan Speed
830
+ * Adds a secondary fan speed for each print-cooling fan.
831
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
832
+ *   'M106 P<fan> T2'     : Use the set secondary speed
833
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
834
+ */
835
+//#define EXTRA_FAN_SPEED
836
+
837
+/**
829 838
  * Advanced Pause
830 839
  * Experimental feature for filament change support and for parking the nozzle when paused.
831 840
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Anet/A6/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Anet/A8/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h Zobrazit soubor

@@ -822,6 +822,15 @@
822 822
 #endif
823 823
 
824 824
 /**
825
+ * Extra Fan Speed
826
+ * Adds a secondary fan speed for each print-cooling fan.
827
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
828
+ *   'M106 P<fan> T2'     : Use the set secondary speed
829
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
830
+ */
831
+//#define EXTRA_FAN_SPEED
832
+
833
+/**
825 834
  * Advanced Pause
826 835
  * Experimental feature for filament change support and for parking the nozzle when paused.
827 836
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Cartesio/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Felix/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Folger Tech/i3-2020/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h Zobrazit soubor

@@ -822,6 +822,15 @@
822 822
 #endif
823 823
 
824 824
 /**
825
+ * Extra Fan Speed
826
+ * Adds a secondary fan speed for each print-cooling fan.
827
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
828
+ *   'M106 P<fan> T2'     : Use the set secondary speed
829
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
830
+ */
831
+//#define EXTRA_FAN_SPEED
832
+
833
+/**
825 834
  * Advanced Pause
826 835
  * Experimental feature for filament change support and for parking the nozzle when paused.
827 836
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h Zobrazit soubor

@@ -846,6 +846,15 @@
846 846
 #endif
847 847
 
848 848
 /**
849
+ * Extra Fan Speed
850
+ * Adds a secondary fan speed for each print-cooling fan.
851
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
852
+ *   'M106 P<fan> T2'     : Use the set secondary speed
853
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
854
+ */
855
+//#define EXTRA_FAN_SPEED
856
+
857
+/**
849 858
  * Advanced Pause
850 859
  * Experimental feature for filament change support and for parking the nozzle when paused.
851 860
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/RigidBot/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/SCARA/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h Zobrazit soubor

@@ -814,6 +814,15 @@
814 814
 #endif
815 815
 
816 816
 /**
817
+ * Extra Fan Speed
818
+ * Adds a secondary fan speed for each print-cooling fan.
819
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
820
+ *   'M106 P<fan> T2'     : Use the set secondary speed
821
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
822
+ */
823
+//#define EXTRA_FAN_SPEED
824
+
825
+/**
817 826
  * Advanced Pause
818 827
  * Experimental feature for filament change support and for parking the nozzle when paused.
819 828
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h Zobrazit soubor

@@ -835,6 +835,15 @@
835 835
 #endif
836 836
 
837 837
 /**
838
+ * Extra Fan Speed
839
+ * Adds a secondary fan speed for each print-cooling fan.
840
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
841
+ *   'M106 P<fan> T2'     : Use the set secondary speed
842
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
843
+ */
844
+//#define EXTRA_FAN_SPEED
845
+
846
+/**
838 847
  * Advanced Pause
839 848
  * Experimental feature for filament change support and for parking the nozzle when paused.
840 849
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h Zobrazit soubor

@@ -827,6 +827,15 @@
827 827
 #endif
828 828
 
829 829
 /**
830
+ * Extra Fan Speed
831
+ * Adds a secondary fan speed for each print-cooling fan.
832
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
833
+ *   'M106 P<fan> T2'     : Use the set secondary speed
834
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
835
+ */
836
+//#define EXTRA_FAN_SPEED
837
+
838
+/**
830 839
  * Advanced Pause
831 840
  * Experimental feature for filament change support and for parking the nozzle when paused.
832 841
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h Zobrazit soubor

@@ -827,6 +827,15 @@
827 827
 #endif
828 828
 
829 829
 /**
830
+ * Extra Fan Speed
831
+ * Adds a secondary fan speed for each print-cooling fan.
832
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
833
+ *   'M106 P<fan> T2'     : Use the set secondary speed
834
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
835
+ */
836
+//#define EXTRA_FAN_SPEED
837
+
838
+/**
830 839
  * Advanced Pause
831 840
  * Experimental feature for filament change support and for parking the nozzle when paused.
832 841
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/delta/generic/Configuration_adv.h Zobrazit soubor

@@ -827,6 +827,15 @@
827 827
 #endif
828 828
 
829 829
 /**
830
+ * Extra Fan Speed
831
+ * Adds a secondary fan speed for each print-cooling fan.
832
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
833
+ *   'M106 P<fan> T2'     : Use the set secondary speed
834
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
835
+ */
836
+//#define EXTRA_FAN_SPEED
837
+
838
+/**
830 839
  * Advanced Pause
831 840
  * Experimental feature for filament change support and for parking the nozzle when paused.
832 841
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h Zobrazit soubor

@@ -827,6 +827,15 @@
827 827
 #endif
828 828
 
829 829
 /**
830
+ * Extra Fan Speed
831
+ * Adds a secondary fan speed for each print-cooling fan.
832
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
833
+ *   'M106 P<fan> T2'     : Use the set secondary speed
834
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
835
+ */
836
+//#define EXTRA_FAN_SPEED
837
+
838
+/**
830 839
  * Advanced Pause
831 840
  * Experimental feature for filament change support and for parking the nozzle when paused.
832 841
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h Zobrazit soubor

@@ -832,6 +832,15 @@
832 832
 #endif
833 833
 
834 834
 /**
835
+ * Extra Fan Speed
836
+ * Adds a secondary fan speed for each print-cooling fan.
837
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
838
+ *   'M106 P<fan> T2'     : Use the set secondary speed
839
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
840
+ */
841
+//#define EXTRA_FAN_SPEED
842
+
843
+/**
835 844
  * Advanced Pause
836 845
  * Experimental feature for filament change support and for parking the nozzle when paused.
837 846
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h Zobrazit soubor

@@ -827,6 +827,15 @@
827 827
 #endif
828 828
 
829 829
 /**
830
+ * Extra Fan Speed
831
+ * Adds a secondary fan speed for each print-cooling fan.
832
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
833
+ *   'M106 P<fan> T2'     : Use the set secondary speed
834
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
835
+ */
836
+//#define EXTRA_FAN_SPEED
837
+
838
+/**
830 839
  * Advanced Pause
831 840
  * Experimental feature for filament change support and for parking the nozzle when paused.
832 841
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/makibox/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 9
- 0
Marlin/src/config/examples/wt150/Configuration_adv.h Zobrazit soubor

@@ -825,6 +825,15 @@
825 825
 #endif
826 826
 
827 827
 /**
828
+ * Extra Fan Speed
829
+ * Adds a secondary fan speed for each print-cooling fan.
830
+ *   'M106 P<fan> T3-255' : Set a secondary speed for <fan>
831
+ *   'M106 P<fan> T2'     : Use the set secondary speed
832
+ *   'M106 P<fan> T1'     : Restore the previous fan speed
833
+ */
834
+//#define EXTRA_FAN_SPEED
835
+
836
+/**
828 837
  * Advanced Pause
829 838
  * Experimental feature for filament change support and for parking the nozzle when paused.
830 839
  * Adds the GCode M600 for initiating filament change.

+ 2
- 2
Marlin/src/gcode/gcode.h Zobrazit soubor

@@ -113,8 +113,8 @@
113 113
  * M100 - Watch Free Memory (for debugging) (Requires M100_FREE_MEMORY_WATCHER)
114 114
  * M104 - Set extruder target temp.
115 115
  * M105 - Report current temperatures.
116
- * M106 - Fan on.
117
- * M107 - Fan off.
116
+ * M106 - Set print fan speed.
117
+ * M107 - Print fan off.
118 118
  * M108 - Break out of heating loops (M109, M190, M303). With no controller, breaks out of M0/M1. (Requires EMERGENCY_PARSER)
119 119
  * M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating
120 120
  *        Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling

+ 31
- 4
Marlin/src/gcode/temperature/M106_M107.cpp Zobrazit soubor

@@ -32,12 +32,39 @@
32 32
  *
33 33
  *  S<int>   Speed between 0-255
34 34
  *  P<index> Fan index, if more than one fan
35
+ *
36
+ * With EXTRA_FAN_SPEED enabled:
37
+ *
38
+ *  T<int>   Restore/Use/Set Temporary Speed:
39
+ *           1     = Restore previous speed after T2
40
+ *           2     = Use temporary speed set with T3-255
41
+ *           3-255 = Set the speed for use with T2
35 42
  */
36 43
 void GcodeSuite::M106() {
37
-  uint16_t s = parser.ushortval('S', 255);
38
-  NOMORE(s, 255);
39
-  const uint8_t p = parser.byteval('P', 0);
40
-  if (p < FAN_COUNT) fanSpeeds[p] = s;
44
+  const uint8_t p = parser.byteval('P');
45
+  if (p < FAN_COUNT) {
46
+    #if ENABLED(EXTRA_FAN_SPEED)
47
+      const int16_t t = parser.intval('T');
48
+      NOMORE(t, 255);
49
+      if (t > 0) {
50
+        switch (t) {
51
+          case 1:
52
+            fanSpeeds[p] = old_fanSpeeds[p];
53
+            break;
54
+          case 2:
55
+            old_fanSpeeds[p] = fanSpeeds[p];
56
+            fanSpeeds[p] = new_fanSpeeds[p];
57
+            break;
58
+          default:
59
+            new_fanSpeeds[p] = t;
60
+            break;
61
+        }
62
+        return;
63
+      }
64
+    #endif // EXTRA_FAN_SPEED
65
+    const uint16_t s = parser.ushortval('S', 255);
66
+    fanSpeeds[p] = min(s, 255);
67
+  }
41 68
 }
42 69
 
43 70
 /**

+ 3
- 0
Marlin/src/lcd/language/language_en.h Zobrazit soubor

@@ -398,6 +398,9 @@
398 398
 #ifndef MSG_FAN_SPEED
399 399
   #define MSG_FAN_SPEED                       _UxGT("Fan speed")
400 400
 #endif
401
+#ifndef MSG_EXTRA_FAN_SPEED
402
+  #define MSG_EXTRA_FAN_SPEED                 _UxGT("Extra fan speed")
403
+#endif
401 404
 #ifndef MSG_FLOW
402 405
   #define MSG_FLOW                            _UxGT("Flow")
403 406
 #endif

+ 27
- 10
Marlin/src/lcd/ultralcd.cpp Zobrazit soubor

@@ -1238,6 +1238,15 @@ void kill_screen(const char* lcd_msg) {
1238 1238
 
1239 1239
   #endif // ADVANCED_PAUSE_FEATURE
1240 1240
 
1241
+  // First Fan Speed title in "Tune" and "Control>Temperature" menus
1242
+  #if FAN_COUNT > 0 && HAS_FAN0
1243
+    #if FAN_COUNT > 1
1244
+      #define FAN_SPEED_1_SUFFIX " 1"
1245
+    #else
1246
+      #define FAN_SPEED_1_SUFFIX ""
1247
+    #endif
1248
+  #endif
1249
+
1241 1250
   /**
1242 1251
    *
1243 1252
    * "Tune" submenu
@@ -1293,18 +1302,22 @@ void kill_screen(const char* lcd_msg) {
1293 1302
     //
1294 1303
     #if FAN_COUNT > 0
1295 1304
       #if HAS_FAN0
1296
-        #if FAN_COUNT > 1
1297
-          #define MSG_1ST_FAN_SPEED MSG_FAN_SPEED " 1"
1298
-        #else
1299
-          #define MSG_1ST_FAN_SPEED MSG_FAN_SPEED
1305
+        MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &fanSpeeds[0], 0, 255);
1306
+        #if ENABLED(EXTRA_FAN_SPEED)
1307
+          MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &new_fanSpeeds[0], 3, 255);
1300 1308
         #endif
1301
-        MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_1ST_FAN_SPEED, &fanSpeeds[0], 0, 255);
1302 1309
       #endif
1303 1310
       #if HAS_FAN1
1304 1311
         MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED " 2", &fanSpeeds[1], 0, 255);
1312
+        #if ENABLED(EXTRA_FAN_SPEED)
1313
+          MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED " 2", &new_fanSpeeds[1], 3, 255);
1314
+        #endif
1305 1315
       #endif
1306 1316
       #if HAS_FAN2
1307 1317
         MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED " 3", &fanSpeeds[2], 0, 255);
1318
+        #if ENABLED(EXTRA_FAN_SPEED)
1319
+          MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED " 3", &new_fanSpeeds[2], 3, 255);
1320
+        #endif
1308 1321
       #endif
1309 1322
     #endif // FAN_COUNT > 0
1310 1323
 
@@ -3305,18 +3318,22 @@ void kill_screen(const char* lcd_msg) {
3305 3318
     //
3306 3319
     #if FAN_COUNT > 0
3307 3320
       #if HAS_FAN0
3308
-        #if FAN_COUNT > 1
3309
-          #define MSG_1ST_FAN_SPEED MSG_FAN_SPEED " 1"
3310
-        #else
3311
-          #define MSG_1ST_FAN_SPEED MSG_FAN_SPEED
3321
+        MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &fanSpeeds[0], 0, 255);
3322
+        #if ENABLED(EXTRA_FAN_SPEED)
3323
+          MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &new_fanSpeeds[0], 3, 255);
3312 3324
         #endif
3313
-        MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_1ST_FAN_SPEED, &fanSpeeds[0], 0, 255);
3314 3325
       #endif
3315 3326
       #if HAS_FAN1
3316 3327
         MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED " 2", &fanSpeeds[1], 0, 255);
3328
+        #if ENABLED(EXTRA_FAN_SPEED)
3329
+          MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED " 2", &new_fanSpeeds[1], 3, 255);
3330
+        #endif
3317 3331
       #endif
3318 3332
       #if HAS_FAN2
3319 3333
         MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED " 3", &fanSpeeds[2], 0, 255);
3334
+        #if ENABLED(EXTRA_FAN_SPEED)
3335
+          MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_EXTRA_FAN_SPEED " 3", &new_fanSpeeds[2], 3, 255);
3336
+        #endif
3320 3337
       #endif
3321 3338
     #endif // FAN_COUNT > 0
3322 3339
 

Loading…
Zrušit
Uložit