Browse Source

New feature: Part-Cooling Fan Multiplexer

Vben 7 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
   - opt_enable_adv FWRETRACT
93
   - opt_enable_adv FWRETRACT
94
   - opt_set ABL_GRID_POINTS_X 16
94
   - opt_set ABL_GRID_POINTS_X 16
95
   - opt_set ABL_GRID_POINTS_Y 16
95
   - opt_set ABL_GRID_POINTS_Y 16
96
+  - opt_set_adv FANMUX0_PIN 53
96
   - build_marlin
97
   - build_marlin
97
   #
98
   #
98
   # Test a simple build of AUTO_BED_LEVELING_UBL
99
   # Test a simple build of AUTO_BED_LEVELING_UBL

+ 5
- 0
Marlin/Conditionals_post.h View File

689
   #define WRITE_FAN_N(n, v) WRITE_FAN##n(v)
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
    * Servos and probes
697
    * Servos and probes
693
    */
698
    */
694
 
699
 

+ 11
- 0
Marlin/Configuration_adv.h View File

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

+ 38
- 4
Marlin/Marlin_main.cpp View File

10271
 
10271
 
10272
 #endif // PARKING_EXTRUDER
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
  * Perform a tool-change, which may result in moving the
10300
  * Perform a tool-change, which may result in moving the
10276
  * previous tool out of the way and the new tool into place.
10301
  * previous tool out of the way and the new tool into place.
10353
           current_position[Y_AXIS] -= hotend_offset[Y_AXIS][active_extruder] - hotend_offset[Y_AXIS][tmp_extruder];
10378
           current_position[Y_AXIS] -= hotend_offset[Y_AXIS][active_extruder] - hotend_offset[Y_AXIS][tmp_extruder];
10354
           current_position[Z_AXIS] -= hotend_offset[Z_AXIS][active_extruder] - hotend_offset[Z_AXIS][tmp_extruder];
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
           active_extruder = tmp_extruder;
10382
           active_extruder = tmp_extruder;
10358
 
10383
 
10359
           // This function resets the max/min values - the current position may be overwritten below.
10384
           // This function resets the max/min values - the current position may be overwritten below.
10687
         select_multiplexed_stepper(tmp_extruder);
10712
         select_multiplexed_stepper(tmp_extruder);
10688
       #endif
10713
       #endif
10689
 
10714
 
10715
+      // Set the new active extruder
10716
+      active_extruder = tmp_extruder;
10717
+
10690
     #endif // HOTENDS <= 1
10718
     #endif // HOTENDS <= 1
10691
 
10719
 
10692
     #if ENABLED(SWITCHING_EXTRUDER) && !DONT_SWITCH
10720
     #if ENABLED(SWITCHING_EXTRUDER) && !DONT_SWITCH
10693
       stepper.synchronize();
10721
       stepper.synchronize();
10694
-      move_extruder_servo(tmp_extruder);
10722
+      move_extruder_servo(active_extruder);
10695
     #endif
10723
     #endif
10696
 
10724
 
10697
-    active_extruder = tmp_extruder;
10725
+    #if HAS_FANMUX
10726
+      fanmux_switch(active_extruder);
10727
+    #endif
10698
 
10728
 
10699
     SERIAL_ECHO_START();
10729
     SERIAL_ECHO_START();
10700
     SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, (int)active_extruder);
10730
     SERIAL_ECHOLNPAIR(MSG_ACTIVE_EXTRUDER, (int)active_extruder);
13433
     SET_OUTPUT(E_MUX1_PIN);
13463
     SET_OUTPUT(E_MUX1_PIN);
13434
     SET_OUTPUT(E_MUX2_PIN);
13464
     SET_OUTPUT(E_MUX2_PIN);
13435
   #endif
13465
   #endif
13436
-
13466
+  
13467
+  #if HAS_FANMUX
13468
+    fanmux_init();
13469
+  #endif
13470
+  
13437
   lcd_init();
13471
   lcd_init();
13438
 
13472
 
13439
   #ifndef CUSTOM_BOOTSCREEN_TIMEOUT
13473
   #ifndef CUSTOM_BOOTSCREEN_TIMEOUT

+ 10
- 0
Marlin/SanityCheck.h View File

443
   #endif
443
   #endif
444
 #endif
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
  * Limited number of servos
458
  * Limited number of servos

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

234
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
248
  * M355 Case Light on-off / brightness
238
  */
249
  */
239
 //#define CASE_LIGHT_ENABLE
250
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

226
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
240
  * M355 Case Light on-off / brightness
230
  */
241
  */
231
 //#define CASE_LIGHT_ENABLE
242
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

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

221
 #define EXTRUDER_AUTO_FAN_SPEED   255  // == full speed
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
  * M355 Case Light on-off / brightness
235
  * M355 Case Light on-off / brightness
225
  */
236
  */
226
 //#define CASE_LIGHT_ENABLE
237
 //#define CASE_LIGHT_ENABLE

+ 10
- 0
Marlin/pins.h View File

245
   #define CONTROLLER_FAN_PIN  -1
245
   #define CONTROLLER_FAN_PIN  -1
246
 #endif
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
 #ifndef HEATER_0_PIN
258
 #ifndef HEATER_0_PIN
249
   #define HEATER_0_PIN -1
259
   #define HEATER_0_PIN -1
250
 #endif
260
 #endif

Loading…
Cancel
Save