Browse Source

Further support for 6 extruders

Scott Lahteine 6 years ago
parent
commit
44571775bd

+ 24
- 6
Marlin/src/HAL/HAL_STM32F1/HAL.cpp View File

@@ -104,6 +104,12 @@ uint8_t adc_pins[] = {
104 104
   #if HAS_TEMP_ADC_0
105 105
     TEMP_0_PIN,
106 106
   #endif
107
+  #if HAS_HEATED_BED
108
+    TEMP_BED_PIN,
109
+  #endif
110
+  #if HAS_HEATED_CHAMBER
111
+    TEMP_CHAMBER_PIN,
112
+  #endif
107 113
   #if HAS_TEMP_ADC_1
108 114
     TEMP_1_PIN,
109 115
   #endif
@@ -116,8 +122,8 @@ uint8_t adc_pins[] = {
116 122
   #if HAS_TEMP_ADC_4
117 123
     TEMP_4_PIN,
118 124
   #endif
119
-  #if HAS_HEATED_BED
120
-    TEMP_BED_PIN,
125
+  #if HAS_TEMP_ADC_5
126
+    TEMP_5_PIN,
121 127
   #endif
122 128
   #if ENABLED(FILAMENT_WIDTH_SENSOR)
123 129
     FILWIDTH_PIN,
@@ -128,6 +134,12 @@ enum TEMP_PINS : char {
128 134
   #if HAS_TEMP_ADC_0
129 135
     TEMP_0,
130 136
   #endif
137
+  #if HAS_HEATED_BED
138
+    TEMP_BED,
139
+  #endif
140
+  #if HAS_HEATED_CHAMBER
141
+    TEMP_CHAMBER,
142
+  #endif
131 143
   #if HAS_TEMP_ADC_1
132 144
     TEMP_1,
133 145
   #endif
@@ -140,8 +152,8 @@ enum TEMP_PINS : char {
140 152
   #if HAS_TEMP_ADC_4
141 153
     TEMP_4,
142 154
   #endif
143
-  #if HAS_HEATED_BED
144
-    TEMP_BED,
155
+  #if HAS_TEMP_ADC_5
156
+    TEMP_5,
145 157
   #endif
146 158
   #if ENABLED(FILAMENT_WIDTH_SENSOR)
147 159
     FILWIDTH,
@@ -268,6 +280,12 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) {
268 280
     #if HAS_TEMP_ADC_0
269 281
       case TEMP_0_PIN: pin_index = TEMP_0; break;
270 282
     #endif
283
+    #if HAS_HEATED_BED
284
+      case TEMP_BED_PIN: pin_index = TEMP_BED; break;
285
+    #endif
286
+    #if HAS_HEATED_CHAMBER
287
+      case TEMP_CHAMBER_PIN: pin_index = TEMP_CHAMBER; break;
288
+    #endif
271 289
     #if HAS_TEMP_ADC_1
272 290
       case TEMP_1_PIN: pin_index = TEMP_1; break;
273 291
     #endif
@@ -280,8 +298,8 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) {
280 298
     #if HAS_TEMP_ADC_4
281 299
       case TEMP_4_PIN: pin_index = TEMP_4; break;
282 300
     #endif
283
-    #if HAS_HEATED_BED
284
-      case TEMP_BED_PIN: pin_index = TEMP_BED; break;
301
+    #if HAS_TEMP_ADC_5
302
+      case TEMP_5_PIN: pin_index = TEMP_5; break;
285 303
     #endif
286 304
     #if ENABLED(FILAMENT_WIDTH_SENSOR)
287 305
       case FILWIDTH_PIN: pin_index = FILWIDTH; break;

+ 6
- 0
Marlin/src/inc/Conditionals_post.h View File

@@ -914,6 +914,7 @@
914 914
 #define HAS_TEMP_ADC_2 HAS_ADC_TEST(2)
915 915
 #define HAS_TEMP_ADC_3 HAS_ADC_TEST(3)
916 916
 #define HAS_TEMP_ADC_4 HAS_ADC_TEST(4)
917
+#define HAS_TEMP_ADC_5 HAS_ADC_TEST(5)
917 918
 #define HAS_TEMP_ADC_BED HAS_ADC_TEST(BED)
918 919
 #define HAS_TEMP_ADC_CHAMBER HAS_ADC_TEST(CHAMBER)
919 920
 
@@ -927,6 +928,7 @@
927 928
 #define HAS_HEATER_2 (PIN_EXISTS(HEATER_2))
928 929
 #define HAS_HEATER_3 (PIN_EXISTS(HEATER_3))
929 930
 #define HAS_HEATER_4 (PIN_EXISTS(HEATER_4))
931
+#define HAS_HEATER_5 (PIN_EXISTS(HEATER_5))
930 932
 #define HAS_HEATER_BED (PIN_EXISTS(HEATER_BED))
931 933
 
932 934
 // Shorthand for common combinations
@@ -1106,6 +1108,10 @@
1106 1108
   #define HEATER_4_INVERTING false
1107 1109
 #endif
1108 1110
 
1111
+#if HAS_HEATER_5 && !defined(HEATER_5_INVERTING)
1112
+  #define HEATER_5_INVERTING false
1113
+#endif
1114
+
1109 1115
 /**
1110 1116
  * Helper Macros for heaters and extruder fan
1111 1117
  */

+ 9
- 0
Marlin/src/lcd/menu/menu_info.cpp View File

@@ -143,6 +143,15 @@ void menu_info_thermistors() {
143 143
     STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(HEATER_4_MAXTEMP), false);
144 144
   #endif
145 145
 
146
+  #if TEMP_SENSOR_5 != 0
147
+    #undef THERMISTOR_ID
148
+    #define THERMISTOR_ID TEMP_SENSOR_5
149
+    #include "../thermistornames.h"
150
+    STATIC_ITEM("T5: " THERMISTOR_NAME, false, true);
151
+    STATIC_ITEM(MSG_INFO_MIN_TEMP ": " STRINGIFY(HEATER_5_MINTEMP), false);
152
+    STATIC_ITEM(MSG_INFO_MAX_TEMP ": " STRINGIFY(HEATER_5_MAXTEMP), false);
153
+  #endif
154
+
146 155
   #if HAS_HEATED_BED
147 156
     #undef THERMISTOR_ID
148 157
     #define THERMISTOR_ID TEMP_SENSOR_BED

+ 1
- 1
Marlin/src/lcd/menu/menu_temperature.cpp View File

@@ -422,7 +422,7 @@ void menu_temperature() {
422 422
     //
423 423
     // Preheat for Material 1 and 2
424 424
     //
425
-    #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || HAS_HEATED_BED
425
+    #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || TEMP_SENSOR_5 != 0 || HAS_HEATED_BED
426 426
       MENU_ITEM(submenu, MSG_PREHEAT_1, menu_preheat_m1);
427 427
       MENU_ITEM(submenu, MSG_PREHEAT_2, menu_preheat_m2);
428 428
     #else

+ 10
- 0
Marlin/src/module/thermistor/thermistors.h View File

@@ -191,6 +191,16 @@
191 191
   #define HEATER_4_TEMPTABLE_LEN 0
192 192
 #endif
193 193
 
194
+#if THERMISTORHEATER_5
195
+  #define HEATER_5_TEMPTABLE TT_NAME(THERMISTORHEATER_5)
196
+  #define HEATER_5_TEMPTABLE_LEN COUNT(HEATER_5_TEMPTABLE)
197
+#elif defined(HEATER_5_USES_THERMISTOR)
198
+  #error "No heater 5 thermistor table specified"
199
+#else
200
+  #define HEATER_5_TEMPTABLE NULL
201
+  #define HEATER_5_TEMPTABLE_LEN 0
202
+#endif
203
+
194 204
 #ifdef THERMISTORBED
195 205
   #define BEDTEMPTABLE TT_NAME(THERMISTORBED)
196 206
   #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE)

+ 3
- 0
Marlin/src/pins/pinsDebug_list.h View File

@@ -77,6 +77,9 @@
77 77
 #if PIN_EXISTS(TEMP_4) && TEMP_4_PIN < NUM_ANALOG_INPUTS
78 78
   REPORT_NAME_ANALOG(__LINE__, TEMP_4_PIN)
79 79
 #endif
80
+#if PIN_EXISTS(TEMP_5) && TEMP_5_PIN < NUM_ANALOG_INPUTS
81
+  REPORT_NAME_ANALOG(__LINE__, TEMP_5_PIN)
82
+#endif
80 83
 #if PIN_EXISTS(TEMP_BED) && TEMP_BED_PIN < NUM_ANALOG_INPUTS
81 84
   REPORT_NAME_ANALOG(__LINE__, TEMP_BED_PIN)
82 85
 #endif

Loading…
Cancel
Save