Преглед изворни кода

Fix EXTRUDER_OFFSET compiler error

- Addressing issue #1741
Scott Lahteine пре 10 година
родитељ
комит
bb6174524f
1 измењених фајлова са 10 додато и 4 уклоњено
  1. 10
    4
      Marlin/Marlin_main.cpp

+ 10
- 4
Marlin/Marlin_main.cpp Прегледај датотеку

229
 // Extruder offset
229
 // Extruder offset
230
 #if EXTRUDERS > 1
230
 #if EXTRUDERS > 1
231
   #ifndef EXTRUDER_OFFSET_X
231
   #ifndef EXTRUDER_OFFSET_X
232
-    #define EXTRUDER_OFFSET_X 0
232
+    #define EXTRUDER_OFFSET_X { 0 }
233
   #endif
233
   #endif
234
   #ifndef EXTRUDER_OFFSET_Y
234
   #ifndef EXTRUDER_OFFSET_Y
235
-    #define EXTRUDER_OFFSET_Y 0
235
+    #define EXTRUDER_OFFSET_Y { 0 }
236
   #endif
236
   #endif
237
   #ifndef DUAL_X_CARRIAGE
237
   #ifndef DUAL_X_CARRIAGE
238
     #define NUM_EXTRUDER_OFFSETS 2 // only in XY plane
238
     #define NUM_EXTRUDER_OFFSETS 2 // only in XY plane
239
   #else
239
   #else
240
     #define NUM_EXTRUDER_OFFSETS 3 // supports offsets in XYZ plane
240
     #define NUM_EXTRUDER_OFFSETS 3 // supports offsets in XYZ plane
241
   #endif
241
   #endif
242
-  #define _EXY { EXTRUDER_OFFSET_X, EXTRUDER_OFFSET_Y }
243
-  float extruder_offset[EXTRUDERS][NUM_EXTRUDER_OFFSETS] = ARRAY_BY_EXTRUDERS(_EXY, _EXY, _EXY, _EXY);
242
+  float extruder_offset[EXTRUDERS][NUM_EXTRUDER_OFFSETS];
244
 #endif
243
 #endif
245
 
244
 
246
 uint8_t active_extruder = 0;
245
 uint8_t active_extruder = 0;
569
 
568
 
570
 void setup()
569
 void setup()
571
 {
570
 {
571
+  #if EXTRUDERS > 1
572
+    float offset[3][EXTRUDERS] = { EXTRUDER_OFFSET_X, EXTRUDER_OFFSET_Y, ARRAY_BY_EXTRUDERS(0,0,0,0) };
573
+    for (int e=0; e<EXTRUDERS; e++)
574
+      for (int i=0; i<NUM_EXTRUDER_OFFSETS; i++)
575
+        extruder_offset[e][i] = offset[i,e];
576
+  #endif
577
+
572
   setup_killpin();
578
   setup_killpin();
573
   setup_filrunoutpin();
579
   setup_filrunoutpin();
574
   setup_powerhold();
580
   setup_powerhold();

Loading…
Откажи
Сачувај