瀏覽代碼

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,18 +229,17 @@ bool axis_known_position[3] = { false };
229 229
 // Extruder offset
230 230
 #if EXTRUDERS > 1
231 231
   #ifndef EXTRUDER_OFFSET_X
232
-    #define EXTRUDER_OFFSET_X 0
232
+    #define EXTRUDER_OFFSET_X { 0 }
233 233
   #endif
234 234
   #ifndef EXTRUDER_OFFSET_Y
235
-    #define EXTRUDER_OFFSET_Y 0
235
+    #define EXTRUDER_OFFSET_Y { 0 }
236 236
   #endif
237 237
   #ifndef DUAL_X_CARRIAGE
238 238
     #define NUM_EXTRUDER_OFFSETS 2 // only in XY plane
239 239
   #else
240 240
     #define NUM_EXTRUDER_OFFSETS 3 // supports offsets in XYZ plane
241 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 243
 #endif
245 244
 
246 245
 uint8_t active_extruder = 0;
@@ -569,6 +568,13 @@ void servo_init()
569 568
 
570 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 578
   setup_killpin();
573 579
   setup_filrunoutpin();
574 580
   setup_powerhold();

Loading…
取消
儲存