Browse Source

New feature: Part-Cooling Fan Multiplexer

Vben 6 years ago
parent
commit
c0409b85e7
32 changed files with 361 additions and 4 deletions
  1. 1
    0
      .travis.yml
  2. 5
    0
      Marlin/Conditionals_post.h
  3. 11
    0
      Marlin/Configuration_adv.h
  4. 38
    4
      Marlin/Marlin_main.cpp
  5. 10
    0
      Marlin/SanityCheck.h
  6. 11
    0
      Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h
  7. 11
    0
      Marlin/example_configurations/Anet/A6/Configuration_adv.h
  8. 11
    0
      Marlin/example_configurations/Anet/A8/Configuration_adv.h
  9. 11
    0
      Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h
  10. 11
    0
      Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h
  11. 11
    0
      Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h
  12. 11
    0
      Marlin/example_configurations/Cartesio/Configuration_adv.h
  13. 11
    0
      Marlin/example_configurations/Felix/Configuration_adv.h
  14. 11
    0
      Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h
  15. 11
    0
      Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h
  16. 11
    0
      Marlin/example_configurations/Malyan/M150/Configuration_adv.h
  17. 11
    0
      Marlin/example_configurations/RigidBot/Configuration_adv.h
  18. 11
    0
      Marlin/example_configurations/SCARA/Configuration_adv.h
  19. 11
    0
      Marlin/example_configurations/TinyBoy2/Configuration_adv.h
  20. 11
    0
      Marlin/example_configurations/Velleman/K8200/Configuration_adv.h
  21. 11
    0
      Marlin/example_configurations/Velleman/K8400/Configuration_adv.h
  22. 11
    0
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h
  23. 11
    0
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h
  24. 11
    0
      Marlin/example_configurations/delta/generic/Configuration_adv.h
  25. 11
    0
      Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h
  26. 11
    0
      Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h
  27. 11
    0
      Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h
  28. 11
    0
      Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h
  29. 11
    0
      Marlin/example_configurations/makibox/Configuration_adv.h
  30. 11
    0
      Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h
  31. 11
    0
      Marlin/example_configurations/wt150/Configuration_adv.h
  32. 10
    0
      Marlin/pins.h

+ 1
- 0
.travis.yml View File

@@ -93,6 +93,7 @@ script:
93 93
   - opt_enable_adv FWRETRACT
94 94
   - opt_set ABL_GRID_POINTS_X 16
95 95
   - opt_set ABL_GRID_POINTS_Y 16
96
+  - opt_set_adv FANMUX0_PIN 53
96 97
   - build_marlin
97 98
   #
98 99
   # Test a simple build of AUTO_BED_LEVELING_UBL

+ 5
- 0
Marlin/Conditionals_post.h View File

@@ -689,6 +689,11 @@
689 689
   #define WRITE_FAN_N(n, v) WRITE_FAN##n(v)
690 690
 
691 691
   /**
692
+   * Part Cooling fan multipliexer
693
+   */
694
+  #define HAS_FANMUX PIN_EXISTS(FANMUX0)
695
+
696
+  /**
692 697
    * Servos and probes
693 698
    */
694 699
 

+ 11
- 0
Marlin/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 38
- 4
Marlin/Marlin_main.cpp View File

@@ -10271,6 +10271,31 @@ inline void invalid_extruder_error(const uint8_t e) {
10271 10271
 
10272 10272
 #endif // PARKING_EXTRUDER
10273 10273
 
10274
+#if HAS_FANMUX
10275
+
10276
+  void fanmux_switch(const uint8_t e) {
10277
+    WRITE(FANMUX0_PIN, TEST(e, 0) ? HIGH : LOW);
10278
+    #if PIN_EXISTS(FANMUX1)
10279
+      WRITE(FANMUX1_PIN, TEST(e, 1) ? HIGH : LOW);
10280
+      #if PIN_EXISTS(FANMUX2)
10281
+        WRITE(FANMUX2, TEST(e, 2) ? HIGH : LOW);
10282
+      #endif
10283
+    #endif
10284
+  }
10285
+
10286
+  FORCE_INLINE void fanmux_init(void){
10287
+    SET_OUTPUT(FANMUX0_PIN);
10288
+    #if PIN_EXISTS(FANMUX1)
10289
+      SET_OUTPUT(FANMUX1_PIN);
10290
+      #if PIN_EXISTS(FANMUX2)
10291
+        SET_OUTPUT(FANMUX2_PIN);
10292
+      #endif 
10293
+    #endif
10294
+    fanmux_switch(0);
10295
+  }
10296
+
10297
+#endif // HAS_FANMUX
10298
+
10274 10299
 /**
10275 10300
  * Perform a tool-change, which may result in moving the
10276 10301
  * previous tool out of the way and the new tool into place.
@@ -10353,7 +10378,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
10353 10378
           current_position[Y_AXIS] -= hotend_offset[Y_AXIS][active_extruder] - hotend_offset[Y_AXIS][tmp_extruder];
10354 10379
           current_position[Z_AXIS] -= hotend_offset[Z_AXIS][active_extruder] - hotend_offset[Z_AXIS][tmp_extruder];
10355 10380
 
10356
-          // Activate the new extruder
10381
+          // Activate the new extruder ahead of calling set_axis_is_at_home!
10357 10382
           active_extruder = tmp_extruder;
10358 10383
 
10359 10384
           // This function resets the max/min values - the current position may be overwritten below.
@@ -10687,14 +10712,19 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
10687 10712
         select_multiplexed_stepper(tmp_extruder);
10688 10713
       #endif
10689 10714
 
10715
+      // Set the new active extruder
10716
+      active_extruder = tmp_extruder;
10717
+
10690 10718
     #endif // HOTENDS <= 1
10691 10719
 
10692 10720
     #if ENABLED(SWITCHING_EXTRUDER) && !DONT_SWITCH
10693 10721
       stepper.synchronize();
10694
-      move_extruder_servo(tmp_extruder);
10722
+      move_extruder_servo(active_extruder);
10695 10723
     #endif
10696 10724
 
10697
-    active_extruder = tmp_extruder;
10725
+    #if HAS_FANMUX
10726
+      fanmux_switch(active_extruder);
10727
+    #endif
10698 10728
 
10699 10729
     SERIAL_ECHO_START();
10700 10730
     SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, (int)active_extruder);
@@ -13433,7 +13463,11 @@ void setup() {
13433 13463
     SET_OUTPUT(E_MUX1_PIN);
13434 13464
     SET_OUTPUT(E_MUX2_PIN);
13435 13465
   #endif
13436
-
13466
+  
13467
+  #if HAS_FANMUX
13468
+    fanmux_init();
13469
+  #endif
13470
+  
13437 13471
   lcd_init();
13438 13472
 
13439 13473
   #ifndef CUSTOM_BOOTSCREEN_TIMEOUT

+ 10
- 0
Marlin/SanityCheck.h View File

@@ -443,6 +443,16 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
443 443
   #endif
444 444
 #endif
445 445
 
446
+/**
447
+ * Part-Cooling Fan Multiplexer requirements
448
+ */
449
+#if PIN_EXISTS(FANMUX1)
450
+  #if !HAS_FANMUX
451
+    #error "FANMUX0_PIN must be set before FANMUX1_PIN can be set."
452
+  #endif
453
+#elif PIN_EXISTS(FANMUX2)
454
+  #error "FANMUX0_PIN and FANMUX1_PIN must be set before FANMUX2_PIN can be set."
455
+#endif
446 456
 
447 457
 /**
448 458
  * Limited number of servos

+ 11
- 0
Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/Anet/A6/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/Anet/A8/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/Cartesio/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/Felix/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/Malyan/M150/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/RigidBot/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/SCARA/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/TinyBoy2/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/Velleman/K8200/Configuration_adv.h View File

@@ -234,6 +234,17 @@
234 234
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
235 235
 
236 236
 /**
237
+ * Part-Cooling Fan Multiplexer
238
+ * 
239
+ * This feature allows you to digitally multiplex the fan output.
240
+ * The multiplexer is automatically switched at tool-change.
241
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
242
+ */
243
+#define FANMUX0_PIN -1
244
+#define FANMUX1_PIN -1
245
+#define FANMUX2_PIN -1
246
+
247
+/**
237 248
  * M355 Case Light on-off / brightness
238 249
  */
239 250
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/Velleman/K8400/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/delta/generic/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h View File

@@ -226,6 +226,17 @@
226 226
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
227 227
 
228 228
 /**
229
+ * Part-Cooling Fan Multiplexer
230
+ * 
231
+ * This feature allows you to digitally multiplex the fan output.
232
+ * The multiplexer is automatically switched at tool-change.
233
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
234
+ */
235
+#define FANMUX0_PIN -1
236
+#define FANMUX1_PIN -1
237
+#define FANMUX2_PIN -1
238
+
239
+/**
229 240
  * M355 Case Light on-off / brightness
230 241
  */
231 242
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/makibox/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 11
- 0
Marlin/example_configurations/wt150/Configuration_adv.h View File

@@ -221,6 +221,17 @@
221 221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
222 222
 
223 223
 /**
224
+ * Part-Cooling Fan Multiplexer
225
+ * 
226
+ * This feature allows you to digitally multiplex the fan output.
227
+ * The multiplexer is automatically switched at tool-change.
228
+ * Set FANMUX[012]_PINs below for up to 2, 4, or 8 multiplexed fans.
229
+ */
230
+#define FANMUX0_PIN -1
231
+#define FANMUX1_PIN -1
232
+#define FANMUX2_PIN -1
233
+
234
+/**
224 235
  * M355 Case Light on-off / brightness
225 236
  */
226 237
 //#define CASE_LIGHT_ENABLE

+ 10
- 0
Marlin/pins.h View File

@@ -245,6 +245,16 @@
245 245
   #define CONTROLLER_FAN_PIN  -1
246 246
 #endif
247 247
 
248
+#ifndef FANMUX0_PIN
249
+  #define FANMUX0_PIN -1
250
+#endif
251
+#ifndef FANMUX1_PIN
252
+  #define FANMUX1_PIN -1
253
+#endif
254
+#ifndef FANMUX2_PIN
255
+  #define FANMUX2_PIN -1
256
+#endif
257
+
248 258
 #ifndef HEATER_0_PIN
249 259
   #define HEATER_0_PIN -1
250 260
 #endif

Loading…
Cancel
Save