ソースを参照

Fix babystep for extruder_duplication

Scott Lahteine 10年前
コミット
4eabd80025
1個のファイルの変更21行の追加21行の削除
  1. 21
    21
      Marlin/stepper.cpp

+ 21
- 21
Marlin/stepper.cpp ファイルの表示

119
         X_STEP_WRITE(v); \
119
         X_STEP_WRITE(v); \
120
     }
120
     }
121
 #else
121
 #else
122
-  #define X_APPLY_DIR(v) X_DIR_WRITE(v)
123
-  #define X_APPLY_STEP(v) X_STEP_WRITE(v)
122
+  #define X_APPLY_DIR(v,Q) X_DIR_WRITE(v)
123
+  #define X_APPLY_STEP(v,Q) X_STEP_WRITE(v)
124
 #endif
124
 #endif
125
 
125
 
126
 #ifdef Y_DUAL_STEPPER_DRIVERS
126
 #ifdef Y_DUAL_STEPPER_DRIVERS
127
-  #define Y_APPLY_DIR(v) Y_DIR_WRITE(v), Y2_DIR_WRITE((v) != INVERT_Y2_VS_Y_DIR)
128
-  #define Y_APPLY_STEP(v) Y_STEP_WRITE(v), Y2_STEP_WRITE(v)
127
+  #define Y_APPLY_DIR(v,Q) Y_DIR_WRITE(v), Y2_DIR_WRITE((v) != INVERT_Y2_VS_Y_DIR)
128
+  #define Y_APPLY_STEP(v,Q) Y_STEP_WRITE(v), Y2_STEP_WRITE(v)
129
 #else
129
 #else
130
-  #define Y_APPLY_DIR(v) Y_DIR_WRITE(v)
131
-  #define Y_APPLY_STEP(v) Y_STEP_WRITE(v)
130
+  #define Y_APPLY_DIR(v,Q) Y_DIR_WRITE(v)
131
+  #define Y_APPLY_STEP(v,Q) Y_STEP_WRITE(v)
132
 #endif
132
 #endif
133
 
133
 
134
 #ifdef Z_DUAL_STEPPER_DRIVERS
134
 #ifdef Z_DUAL_STEPPER_DRIVERS
135
-  #define Z_APPLY_DIR(v) Z_DIR_WRITE(v), Z2_DIR_WRITE(v)
136
-  #define Z_APPLY_STEP(v) Z_STEP_WRITE(v), Z2_STEP_WRITE(v)
135
+  #define Z_APPLY_DIR(v,Q) Z_DIR_WRITE(v), Z2_DIR_WRITE(v)
136
+  #define Z_APPLY_STEP(v,Q) Z_STEP_WRITE(v), Z2_STEP_WRITE(v)
137
 #else
137
 #else
138
-  #define Z_APPLY_DIR(v) Z_DIR_WRITE(v)
139
-  #define Z_APPLY_STEP(v) Z_STEP_WRITE(v)
138
+  #define Z_APPLY_DIR(v,Q) Z_DIR_WRITE(v)
139
+  #define Z_APPLY_STEP(v,Q) Z_STEP_WRITE(v)
140
 #endif
140
 #endif
141
 
141
 
142
-#define E_APPLY_STEP(v) E_STEP_WRITE(v)
142
+#define E_APPLY_STEP(v,Q) E_STEP_WRITE(v)
143
 
143
 
144
 // intRes = intIn1 * intIn2 >> 16
144
 // intRes = intIn1 * intIn2 >> 16
145
 // uses:
145
 // uses:
380
 
380
 
381
     // Set the direction bits (X_AXIS=A_AXIS and Y_AXIS=B_AXIS for COREXY)
381
     // Set the direction bits (X_AXIS=A_AXIS and Y_AXIS=B_AXIS for COREXY)
382
     if (TEST(out_bits, X_AXIS)) {
382
     if (TEST(out_bits, X_AXIS)) {
383
-      X_APPLY_DIR(INVERT_X_DIR);
383
+      X_APPLY_DIR(INVERT_X_DIR,0);
384
       count_direction[X_AXIS] = -1;
384
       count_direction[X_AXIS] = -1;
385
     }
385
     }
386
     else {
386
     else {
387
-      X_APPLY_DIR(!INVERT_X_DIR);
387
+      X_APPLY_DIR(!INVERT_X_DIR,0);
388
       count_direction[X_AXIS] = 1;
388
       count_direction[X_AXIS] = 1;
389
     }
389
     }
390
 
390
 
391
     if (TEST(out_bits, Y_AXIS)) {
391
     if (TEST(out_bits, Y_AXIS)) {
392
-      Y_APPLY_DIR(INVERT_Y_DIR);
392
+      Y_APPLY_DIR(INVERT_Y_DIR,0);
393
       count_direction[Y_AXIS] = -1;
393
       count_direction[Y_AXIS] = -1;
394
     }
394
     }
395
     else {
395
     else {
396
-      Y_APPLY_DIR(!INVERT_Y_DIR);
396
+      Y_APPLY_DIR(!INVERT_Y_DIR,0);
397
       count_direction[Y_AXIS] = 1;
397
       count_direction[Y_AXIS] = 1;
398
     }
398
     }
399
 
399
 
546
         #define APPLY_MOVEMENT(axis, AXIS) \
546
         #define APPLY_MOVEMENT(axis, AXIS) \
547
           counter_## axis += current_block->steps_## axis; \
547
           counter_## axis += current_block->steps_## axis; \
548
           if (counter_## axis > 0) { \
548
           if (counter_## axis > 0) { \
549
-            AXIS ##_APPLY_STEP(!INVERT_## AXIS ##_STEP_PIN); \
549
+            AXIS ##_APPLY_STEP(!INVERT_## AXIS ##_STEP_PIN,0); \
550
             counter_## axis -= current_block->step_event_count; \
550
             counter_## axis -= current_block->step_event_count; \
551
             count_position[AXIS ##_AXIS] += count_direction[AXIS ##_AXIS]; \
551
             count_position[AXIS ##_AXIS] += count_direction[AXIS ##_AXIS]; \
552
-            AXIS ##_APPLY_STEP(INVERT_## AXIS ##_STEP_PIN); \
552
+            AXIS ##_APPLY_STEP(INVERT_## AXIS ##_STEP_PIN,0); \
553
           }
553
           }
554
 
554
 
555
         APPLY_MOVEMENT(x, X);
555
         APPLY_MOVEMENT(x, X);
986
     #define BABYSTEP_AXIS(axis, AXIS, INVERT) { \
986
     #define BABYSTEP_AXIS(axis, AXIS, INVERT) { \
987
         enable_## axis(); \
987
         enable_## axis(); \
988
         uint8_t old_pin = AXIS ##_DIR_READ; \
988
         uint8_t old_pin = AXIS ##_DIR_READ; \
989
-        AXIS ##_APPLY_DIR(INVERT_## AXIS ##_DIR^direction^INVERT); \
990
-        AXIS ##_APPLY_STEP(!INVERT_## AXIS ##_STEP_PIN); \
989
+        AXIS ##_APPLY_DIR(INVERT_## AXIS ##_DIR^direction^INVERT, true); \
990
+        AXIS ##_APPLY_STEP(!INVERT_## AXIS ##_STEP_PIN, true); \
991
         _delay_us(1U); \
991
         _delay_us(1U); \
992
-        AXIS ##_APPLY_STEP(INVERT_## AXIS ##_STEP_PIN); \
993
-        AXIS ##_APPLY_DIR(old_pin); \
992
+        AXIS ##_APPLY_STEP(INVERT_## AXIS ##_STEP_PIN, true); \
993
+        AXIS ##_APPLY_DIR(old_pin, true); \
994
       }
994
       }
995
 
995
 
996
     switch(axis) {
996
     switch(axis) {

読み込み中…
キャンセル
保存