Kaynağa Gözat

Changes supporting "Prussia3D" MK3 (#21617)

Scott Lahteine 4 yıl önce
ebeveyn
işleme
6bb10b1898
No account linked to committer's email address

+ 3
- 1
Marlin/src/inc/Conditionals_post.h Dosyayı Görüntüle

@@ -2539,7 +2539,9 @@
2539 2539
 #endif
2540 2540
 
2541 2541
 #if HAS_TEMPERATURE && EITHER(HAS_LCD_MENU, DWIN_CREALITY_LCD)
2542
-  #ifdef PREHEAT_5_LABEL
2542
+  #ifdef PREHEAT_6_LABEL
2543
+    #define PREHEAT_COUNT 6
2544
+  #elif defined(PREHEAT_5_LABEL)
2543 2545
     #define PREHEAT_COUNT 5
2544 2546
   #elif defined(PREHEAT_4_LABEL)
2545 2547
     #define PREHEAT_COUNT 4

+ 8
- 4
Marlin/src/lcd/dogm/dogm_Statusscreen.h Dosyayı Görüntüle

@@ -281,7 +281,9 @@
281 281
     #define STATUS_HOTEND8_WIDTH STATUS_HOTEND7_WIDTH
282 282
   #endif
283 283
 
284
-  constexpr uint8_t status_hotend_width[HOTENDS] = ARRAY_N(HOTENDS, STATUS_HOTEND1_WIDTH, STATUS_HOTEND2_WIDTH, STATUS_HOTEND3_WIDTH, STATUS_HOTEND4_WIDTH, STATUS_HOTEND5_WIDTH, STATUS_HOTEND6_WIDTH, STATUS_HOTEND7_WIDTH, STATUS_HOTEND8_WIDTH);
284
+  #define _SHNAME(N,T) STATUS_HOTEND##N##_##T,
285
+
286
+  constexpr uint8_t status_hotend_width[HOTENDS] = { REPEAT2_S(1, INCREMENT(HOTENDS), _SHNAME, WIDTH) };
285 287
   #define STATUS_HOTEND_WIDTH(N) status_hotend_width[N]
286 288
 
287 289
   #ifndef STATUS_HOTEND1_BYTEWIDTH
@@ -309,7 +311,7 @@
309 311
     #define STATUS_HOTEND8_BYTEWIDTH BW(STATUS_HOTEND8_WIDTH)
310 312
   #endif
311 313
 
312
-  constexpr uint8_t status_hotend_bytewidth[HOTENDS] = ARRAY_N(HOTENDS, STATUS_HOTEND1_BYTEWIDTH, STATUS_HOTEND2_BYTEWIDTH, STATUS_HOTEND3_BYTEWIDTH, STATUS_HOTEND4_BYTEWIDTH, STATUS_HOTEND5_BYTEWIDTH, STATUS_HOTEND6_BYTEWIDTH, STATUS_HOTEND7_BYTEWIDTH, STATUS_HOTEND8_BYTEWIDTH);
314
+  constexpr uint8_t status_hotend_bytewidth[HOTENDS] = { REPEAT2_S(1, INCREMENT(HOTENDS), _SHNAME, BYTEWIDTH) };
313 315
   #define STATUS_HOTEND_BYTEWIDTH(N) status_hotend_bytewidth[N]
314 316
 
315 317
   #ifndef STATUS_HOTEND1_X
@@ -339,7 +341,7 @@
339 341
       #define STATUS_HOTEND8_X STATUS_HOTEND7_X + STATUS_HEATERS_XSPACE
340 342
     #endif
341 343
 
342
-    constexpr uint8_t status_hotend_x[HOTENDS] = ARRAY_N(HOTENDS, STATUS_HOTEND1_X, STATUS_HOTEND2_X, STATUS_HOTEND3_X, STATUS_HOTEND4_X, STATUS_HOTEND5_X, STATUS_HOTEND6_X, STATUS_HOTEND7_X, STATUS_HOTEND8_X);
344
+    constexpr uint8_t status_hotend_x[HOTENDS] = { REPEAT2_S(1, INCREMENT(HOTENDS), _SHNAME, X) };
343 345
     #define STATUS_HOTEND_X(N) status_hotend_x[N]
344 346
   #elif HAS_MULTI_HOTEND
345 347
     #define STATUS_HOTEND_X(N) ((N) ? STATUS_HOTEND2_X : STATUS_HOTEND1_X)
@@ -370,13 +372,15 @@
370 372
       #ifndef STATUS_HOTEND8_TEXT_X
371 373
         #define STATUS_HOTEND8_TEXT_X STATUS_HOTEND7_TEXT_X + STATUS_HEATERS_XSPACE
372 374
       #endif
373
-      constexpr uint8_t status_hotend_text_x[] = ARRAY_N(HOTENDS, STATUS_HOTEND1_TEXT_X, STATUS_HOTEND2_TEXT_X, STATUS_HOTEND3_TEXT_X, STATUS_HOTEND4_TEXT_X, STATUS_HOTEND5_TEXT_X, STATUS_HOTEND6_TEXT_X, STATUS_HOTEND7_TEXT_X, STATUS_HOTEND8_TEXT_X);
375
+      constexpr uint8_t status_hotend_text_x[HOTENDS] = { REPEAT2_S(1, INCREMENT(HOTENDS), _SHNAME, TEXT_X) };
374 376
       #define STATUS_HOTEND_TEXT_X(N) status_hotend_text_x[N]
375 377
     #else
376 378
       #define STATUS_HOTEND_TEXT_X(N) (STATUS_HOTEND1_X + 6 + (N) * (STATUS_HEATERS_XSPACE))
377 379
     #endif
378 380
   #endif
379 381
 
382
+  #undef _SHNAME
383
+
380 384
   #if STATUS_HOTEND_BITMAPS > 1 && DISABLED(STATUS_HOTEND_NUMBERLESS)
381 385
     #define TEST_BITMAP_OFF status_hotend1_a_bmp
382 386
     #define TEST_BITMAP_ON  status_hotend1_b_bmp

+ 3
- 18
Marlin/src/lcd/marlinui.cpp Dosyayı Görüntüle

@@ -112,25 +112,10 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP;
112 112
 #if PREHEAT_COUNT
113 113
   preheat_t MarlinUI::material_preset[PREHEAT_COUNT];  // Initialized by settings.load()
114 114
   PGM_P MarlinUI::get_preheat_label(const uint8_t m) {
115
-    #ifdef PREHEAT_1_LABEL
116
-      static PGMSTR(preheat_0_label, PREHEAT_1_LABEL);
117
-    #endif
118
-    #ifdef PREHEAT_2_LABEL
119
-      static PGMSTR(preheat_1_label, PREHEAT_2_LABEL);
120
-    #endif
121
-    #ifdef PREHEAT_3_LABEL
122
-      static PGMSTR(preheat_2_label, PREHEAT_3_LABEL);
123
-    #endif
124
-    #ifdef PREHEAT_4_LABEL
125
-      static PGMSTR(preheat_3_label, PREHEAT_4_LABEL);
126
-    #endif
127
-    #ifdef PREHEAT_5_LABEL
128
-      static PGMSTR(preheat_4_label, PREHEAT_5_LABEL);
129
-    #endif
130
-
115
+    #define _PDEF(N) static PGMSTR(preheat_##N##_label, PREHEAT_##N##_LABEL);
131 116
     #define _PLBL(N) preheat_##N##_label,
132
-    static PGM_P const preheat_labels[PREHEAT_COUNT] PROGMEM = { REPEAT(PREHEAT_COUNT, _PLBL) };
133
-
117
+    REPEAT_S(1, INCREMENT(PREHEAT_COUNT), _PDEF);
118
+    static PGM_P const preheat_labels[PREHEAT_COUNT] PROGMEM = { REPEAT_S(1, INCREMENT(PREHEAT_COUNT), _PLBL) };
134 119
     return (PGM_P)pgm_read_ptr(&preheat_labels[m]);
135 120
   }
136 121
 #endif

+ 7
- 12
Marlin/src/module/settings.cpp Dosyayı Görüntüle

@@ -2780,25 +2780,20 @@ void MarlinSettings::reset() {
2780 2780
   // Preheat parameters
2781 2781
   //
2782 2782
   #if PREHEAT_COUNT
2783
+    #define _PITEM(N,T) PREHEAT_##N##_##T,
2783 2784
     #if HAS_HOTEND
2784
-      constexpr uint16_t hpre[] = ARRAY_N(PREHEAT_COUNT, PREHEAT_1_TEMP_HOTEND, PREHEAT_2_TEMP_HOTEND, PREHEAT_3_TEMP_HOTEND, PREHEAT_4_TEMP_HOTEND, PREHEAT_5_TEMP_HOTEND);
2785
+      constexpr uint16_t hpre[] = { REPEAT2_S(1, INCREMENT(PREHEAT_COUNT), _PITEM, TEMP_HOTEND) };
2785 2786
     #endif
2786 2787
     #if HAS_HEATED_BED
2787
-      constexpr uint16_t bpre[] = ARRAY_N(PREHEAT_COUNT, PREHEAT_1_TEMP_BED, PREHEAT_2_TEMP_BED, PREHEAT_3_TEMP_BED, PREHEAT_4_TEMP_BED, PREHEAT_5_TEMP_BED);
2788
+      constexpr uint16_t bpre[] = { REPEAT2_S(1, INCREMENT(PREHEAT_COUNT), _PITEM, TEMP_BED) };
2788 2789
     #endif
2789 2790
     #if HAS_FAN
2790
-      constexpr uint8_t fpre[] = ARRAY_N(PREHEAT_COUNT, PREHEAT_1_FAN_SPEED, PREHEAT_2_FAN_SPEED, PREHEAT_3_FAN_SPEED, PREHEAT_4_FAN_SPEED, PREHEAT_5_FAN_SPEED);
2791
+      constexpr uint8_t fpre[] = { REPEAT2_S(1, INCREMENT(PREHEAT_COUNT), _PITEM, FAN_SPEED) };
2791 2792
     #endif
2792 2793
     LOOP_L_N(i, PREHEAT_COUNT) {
2793
-      #if HAS_HOTEND
2794
-        ui.material_preset[i].hotend_temp = hpre[i];
2795
-      #endif
2796
-      #if HAS_HEATED_BED
2797
-        ui.material_preset[i].bed_temp = bpre[i];
2798
-      #endif
2799
-      #if HAS_FAN
2800
-        ui.material_preset[i].fan_speed = fpre[i];
2801
-      #endif
2794
+      TERN_(HAS_HOTEND,     ui.material_preset[i].hotend_temp = hpre[i]);
2795
+      TERN_(HAS_HEATED_BED, ui.material_preset[i].bed_temp = bpre[i]);
2796
+      TERN_(HAS_FAN,        ui.material_preset[i].fan_speed = fpre[i]);
2802 2797
     }
2803 2798
   #endif
2804 2799
 

+ 16
- 3
Marlin/src/pins/rambo/pins_EINSY_RAMBO.h Dosyayı Görüntüle

@@ -27,7 +27,10 @@
27 27
 
28 28
 #include "env_validate.h"
29 29
 
30
-#define BOARD_INFO_NAME "Einsy Rambo"
30
+#define BOARD_INFO_NAME       "Einsy Rambo"
31
+#define DEFAULT_MACHINE_NAME  "Prusa MK3"
32
+
33
+//#define MK3_FAN_PINS
31 34
 
32 35
 //
33 36
 // TMC2130 Configuration_adv defaults for EinsyRambo
@@ -123,11 +126,19 @@
123 126
 #define HEATER_BED_PIN                         4
124 127
 
125 128
 #ifndef FAN_PIN
126
-  #define FAN_PIN                              8
129
+  #ifdef MK3_FAN_PINS
130
+    #define FAN_PIN                            6
131
+  #else
132
+    #define FAN_PIN                            8
133
+  #endif
127 134
 #endif
128 135
 
129 136
 #ifndef FAN1_PIN
130
-  #define FAN1_PIN                             6
137
+  #ifdef MK3_FAN_PINS
138
+    #define FAN_PIN                           -1
139
+  #else
140
+    #define FAN_PIN                            6
141
+  #endif
131 142
 #endif
132 143
 
133 144
 //
@@ -192,3 +203,5 @@
192 203
 
193 204
   #endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
194 205
 #endif // HAS_WIRED_LCD
206
+
207
+#undef MK3_FAN_PINS

Loading…
İptal
Kaydet