Skip to content

Commit

Permalink
🔧 Up to 12 PWM fans
Browse files Browse the repository at this point in the history
  • Loading branch information
thinkyhead committed Dec 21, 2023
1 parent 19617b7 commit 401ba66
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 29 deletions.
51 changes: 31 additions & 20 deletions Marlin/src/inc/Conditionals_post.h
Original file line number Diff line number Diff line change
Expand Up @@ -2473,11 +2473,7 @@
#define COOLER_MAX_TARGET (COOLER_MAXTEMP - (COOLER_OVERSHOOT))
#endif

#if HAS_HEATED_BED || HAS_TEMP_CHAMBER
#define BED_OR_CHAMBER 1
#endif

#if HAS_TEMP_HOTEND || BED_OR_CHAMBER || HAS_TEMP_PROBE || HAS_TEMP_COOLER || HAS_TEMP_BOARD || HAS_TEMP_SOC
#if HAS_TEMP_HOTEND || HAS_HEATED_BED || HAS_TEMP_CHAMBER || HAS_TEMP_PROBE || HAS_TEMP_COOLER || HAS_TEMP_BOARD || HAS_TEMP_SOC
#define HAS_TEMP_SENSOR 1
#endif

Expand Down Expand Up @@ -2644,11 +2640,13 @@
#endif
#endif

// Print Cooling fans (limit)
/**
* Up to 12 PWM fans
*/
#ifdef NUM_M106_FANS
#define MAX_FANS NUM_M106_FANS
#else
#define MAX_FANS 8 // Max supported fans
#define MAX_FANS 12 // Max supported fans
#endif

#define _IS_E_AUTO(N,F) (PIN_EXISTS(E##N##_AUTO_FAN) && E##N##_AUTO_FAN_PIN == FAN##F##_PIN)
Expand Down Expand Up @@ -2683,21 +2681,30 @@
#if _HAS_FAN(7)
#define HAS_FAN7 1
#endif
#undef _NOT_E_AUTO
#undef _HAS_FAN

#if BED_OR_CHAMBER || HAS_FAN0
#define BED_OR_CHAMBER_OR_FAN 1
#if _HAS_FAN(8)
#define HAS_FAN8 1
#endif

/**
* Up to 8 PWM fans
*/
#ifndef FAN_INVERTING
#define FAN_INVERTING false
#if _HAS_FAN(9)
#define HAS_FAN9 1
#endif

#if HAS_FAN7
#if _HAS_FAN(10)
#define HAS_FAN10 1
#endif
#if _HAS_FAN(11)
#define HAS_FAN11 1
#endif
#undef _HAS_FAN
#undef _IS_E_AUTO

#if HAS_FAN11
#define FAN_COUNT 12
#elif HAS_FAN10
#define FAN_COUNT 11
#elif HAS_FAN9
#define FAN_COUNT 10
#elif HAS_FAN8
#define FAN_COUNT 9
#elif HAS_FAN7
#define FAN_COUNT 8
#elif HAS_FAN6
#define FAN_COUNT 7
Expand All @@ -2721,6 +2728,10 @@
#define HAS_FAN 1
#endif

#ifndef FAN_INVERTING
#define FAN_INVERTING false
#endif

#if PIN_EXISTS(FANMUX0)
#define HAS_FANMUX 1 // Part Cooling fan multipliexer
#endif
Expand Down
22 changes: 13 additions & 9 deletions Marlin/src/lcd/dogm/dogm_Statusscreen.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@
// Can also be overridden in Configuration_adv.h
// If you can afford it, try the 3-frame fan animation!
// Don't compile in the fan animation with no fan
#if !HAS_FAN0 || (HOTENDS == 5 || (HOTENDS == 4 && BED_OR_CHAMBER) || ALL(STATUS_COMBINE_HEATERS, HAS_HEATED_CHAMBER))
#if !HAS_FAN0 || (HOTENDS == 5 || (HOTENDS == 4 && (HAS_HEATED_BED || HAS_TEMP_CHAMBER)) || ALL(STATUS_COMBINE_HEATERS, HAS_HEATED_CHAMBER))
#undef STATUS_FAN_FRAMES
#elif !STATUS_FAN_FRAMES
#define STATUS_FAN_FRAMES 2
Expand Down Expand Up @@ -200,18 +200,22 @@
#undef STATUS_LOGO_WIDTH
#endif

#if !defined(STATUS_HEATERS_X) && ((HAS_HOTEND && STATUS_LOGO_WIDTH && BED_OR_CHAMBER_OR_FAN) || (HOTENDS >= 3 && !BED_OR_CHAMBER_OR_FAN))
#define _STATUS_HEATERS_X(H,S,N) ((LCD_PIXEL_WIDTH - (H * (S + N)) - (_EXTRA_WIDTH) + (STATUS_LOGO_WIDTH)) / 2)
#if STATUS_HOTEND1_WIDTH
#if HOTENDS > 2
#define STATUS_HEATERS_X _STATUS_HEATERS_X(HOTENDS, STATUS_HOTEND1_WIDTH, 6)
#ifndef STATUS_HEATERS_X
#define _BED_OR_CHAMBER_OR_FAN (HAS_HEATED_BED || HAS_TEMP_CHAMBER || HAS_FAN)
#if (HAS_HOTEND && STATUS_LOGO_WIDTH && _BED_OR_CHAMBER_OR_FAN) || (HOTENDS >= 3 && !_BED_OR_CHAMBER_OR_FAN)
#define _STATUS_HEATERS_X(H,S,N) ((LCD_PIXEL_WIDTH - (H * (S + N)) - (_EXTRA_WIDTH) + (STATUS_LOGO_WIDTH)) / 2)
#if STATUS_HOTEND1_WIDTH
#if HOTENDS > 2
#define STATUS_HEATERS_X _STATUS_HEATERS_X(HOTENDS, STATUS_HOTEND1_WIDTH, 6)
#else
#define STATUS_HEATERS_X _STATUS_HEATERS_X(HOTENDS, STATUS_HOTEND1_WIDTH, 4)
#endif
#else
#define STATUS_HEATERS_X _STATUS_HEATERS_X(HOTENDS, STATUS_HOTEND1_WIDTH, 4)
#define STATUS_HEATERS_X _STATUS_HEATERS_X(1, STATUS_HEATERS_WIDTH, 4)
#endif
#else
#define STATUS_HEATERS_X _STATUS_HEATERS_X(1, STATUS_HEATERS_WIDTH, 4)
#endif
#endif
#undef _BED_OR_CHAMBER_OR_FAN
#endif

//
Expand Down

0 comments on commit 401ba66

Please sign in to comment.