|
@@ -119,27 +119,27 @@ volatile signed char count_direction[NUM_AXIS] = { 1 };
|
119
|
119
|
X_STEP_WRITE(v); \
|
120
|
120
|
}
|
121
|
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
|
124
|
#endif
|
125
|
125
|
|
126
|
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
|
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
|
132
|
#endif
|
133
|
133
|
|
134
|
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
|
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
|
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
|
144
|
// intRes = intIn1 * intIn2 >> 16
|
145
|
145
|
// uses:
|
|
@@ -380,20 +380,20 @@ ISR(TIMER1_COMPA_vect) {
|
380
|
380
|
|
381
|
381
|
// Set the direction bits (X_AXIS=A_AXIS and Y_AXIS=B_AXIS for COREXY)
|
382
|
382
|
if (TEST(out_bits, X_AXIS)) {
|
383
|
|
- X_APPLY_DIR(INVERT_X_DIR);
|
|
383
|
+ X_APPLY_DIR(INVERT_X_DIR,0);
|
384
|
384
|
count_direction[X_AXIS] = -1;
|
385
|
385
|
}
|
386
|
386
|
else {
|
387
|
|
- X_APPLY_DIR(!INVERT_X_DIR);
|
|
387
|
+ X_APPLY_DIR(!INVERT_X_DIR,0);
|
388
|
388
|
count_direction[X_AXIS] = 1;
|
389
|
389
|
}
|
390
|
390
|
|
391
|
391
|
if (TEST(out_bits, Y_AXIS)) {
|
392
|
|
- Y_APPLY_DIR(INVERT_Y_DIR);
|
|
392
|
+ Y_APPLY_DIR(INVERT_Y_DIR,0);
|
393
|
393
|
count_direction[Y_AXIS] = -1;
|
394
|
394
|
}
|
395
|
395
|
else {
|
396
|
|
- Y_APPLY_DIR(!INVERT_Y_DIR);
|
|
396
|
+ Y_APPLY_DIR(!INVERT_Y_DIR,0);
|
397
|
397
|
count_direction[Y_AXIS] = 1;
|
398
|
398
|
}
|
399
|
399
|
|
|
@@ -546,10 +546,10 @@ ISR(TIMER1_COMPA_vect) {
|
546
|
546
|
#define APPLY_MOVEMENT(axis, AXIS) \
|
547
|
547
|
counter_## axis += current_block->steps_## axis; \
|
548
|
548
|
if (counter_## axis > 0) { \
|
549
|
|
- AXIS ##_APPLY_STEP(!INVERT_## AXIS ##_STEP_PIN); \
|
|
549
|
+ AXIS ##_APPLY_STEP(!INVERT_## AXIS ##_STEP_PIN,0); \
|
550
|
550
|
counter_## axis -= current_block->step_event_count; \
|
551
|
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
|
555
|
APPLY_MOVEMENT(x, X);
|
|
@@ -986,11 +986,11 @@ void quickStop() {
|
986
|
986
|
#define BABYSTEP_AXIS(axis, AXIS, INVERT) { \
|
987
|
987
|
enable_## axis(); \
|
988
|
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
|
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
|
996
|
switch(axis) {
|