Quellcode durchsuchen

🔧 Chamber Fan index option (#23262)

ladismrkolj vor 2 Jahren
Ursprung
Commit
97400e54b9
Es ist kein Account mit der E-Mail-Adresse des Committers verbunden

+ 2
- 1
Marlin/Configuration_adv.h Datei anzeigen

@@ -186,7 +186,8 @@
186 186
 
187 187
   //#define CHAMBER_FAN               // Enable a fan on the chamber
188 188
   #if ENABLED(CHAMBER_FAN)
189
-    #define CHAMBER_FAN_MODE 2        // Fan control mode: 0=Static; 1=Linear increase when temp is higher than target; 2=V-shaped curve; 3=similar to 1 but fan is always on.
189
+    //#define CHAMBER_FAN_INDEX   2   // Index of a fan to repurpose as the chamber fan. (Default: first unused fan)
190
+    #define CHAMBER_FAN_MODE      2   // Fan control mode: 0=Static; 1=Linear increase when temp is higher than target; 2=V-shaped curve; 3=similar to 1 but fan is always on.
190 191
     #if CHAMBER_FAN_MODE == 0
191 192
       #define CHAMBER_FAN_BASE  255   // Chamber fan PWM (0-255)
192 193
     #elif CHAMBER_FAN_MODE == 1

+ 2
- 2
Marlin/src/inc/SanityCheck.h Datei anzeigen

@@ -2270,8 +2270,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
2270 2270
   #error "LASER_COOLANT_FLOW_METER requires FLOWMETER_PIN and LASER_FEATURE."
2271 2271
 #endif
2272 2272
 
2273
-#if ENABLED(CHAMBER_FAN) && !(defined(CHAMBER_FAN_MODE) && WITHIN(CHAMBER_FAN_MODE, 0, 2))
2274
-  #error "CHAMBER_FAN_MODE must be between 0 and 2."
2273
+#if ENABLED(CHAMBER_FAN) && !(defined(CHAMBER_FAN_MODE) && WITHIN(CHAMBER_FAN_MODE, 0, 3))
2274
+  #error "CHAMBER_FAN_MODE must be between 0 and 3."
2275 2275
 #endif
2276 2276
 
2277 2277
 #if ENABLED(CHAMBER_VENT)

+ 4
- 0
Marlin/src/inc/Warnings.cpp Datei anzeigen

@@ -524,6 +524,10 @@
524 524
   #endif
525 525
 #endif
526 526
 
527
+#if ENABLED(CHAMBER_FAN) && !defined(CHAMBER_FAN_INDEX)
528
+  #warning "Auto-assigned CHAMBER_FAN_INDEX to the first free FAN pin."
529
+#endif
530
+
527 531
 #if IS_LEGACY_TFT
528 532
   #warning "Don't forget to update your TFT settings in Configuration.h."
529 533
 #endif

+ 3
- 1
Marlin/src/module/temperature.cpp Datei anzeigen

@@ -865,7 +865,9 @@ int16_t Temperature::getHeaterPower(const heater_id_t heater_id) {
865 865
     #define INIT_CHAMBER_AUTO_FAN_PIN(P) SET_OUTPUT(P)
866 866
   #endif
867 867
 
868
-  #define CHAMBER_FAN_INDEX HOTENDS
868
+  #ifndef CHAMBER_FAN_INDEX
869
+    #define CHAMBER_FAN_INDEX HOTENDS
870
+  #endif
869 871
 
870 872
   void Temperature::update_autofans() {
871 873
     #define _EFAN(B,A) _EFANOVERLAP(A,B) ? B :

Laden…
Abbrechen
Speichern