Browse Source

Fix broken direction signal of ADVANCED and LIN_ADVANCED

Remove a setting proccess of E direction in advance_isr()
pull/1/head
esenapaj 8 years ago
parent
commit
8692748ecd
  1. 32
      Marlin/stepper.cpp

32
Marlin/stepper.cpp

@ -299,16 +299,14 @@ void Stepper::set_directions() {
SET_STEP_DIR(Z); // C SET_STEP_DIR(Z); // C
#endif #endif
#if DISABLED(ADVANCE) if (motor_direction(E_AXIS)) {
if (motor_direction(E_AXIS)) { REV_E_DIR();
REV_E_DIR(); count_direction[E_AXIS] = -1;
count_direction[E_AXIS] = -1; }
} else {
else { NORM_E_DIR();
NORM_E_DIR(); count_direction[E_AXIS] = 1;
count_direction[E_AXIS] = 1; }
}
#endif //!ADVANCE
} }
// "The Stepper Driver Interrupt" - This timer interrupt is the workhorse. // "The Stepper Driver Interrupt" - This timer interrupt is the workhorse.
@ -683,9 +681,6 @@ void Stepper::isr() {
old_OCR0A += eISR_Rate; old_OCR0A += eISR_Rate;
OCR0A = old_OCR0A; OCR0A = old_OCR0A;
#define SET_E_STEP_DIR(INDEX) \
E## INDEX ##_DIR_WRITE(e_steps[INDEX] <= 0 ? INVERT_E## INDEX ##_DIR : !INVERT_E## INDEX ##_DIR)
#define START_E_PULSE(INDEX) \ #define START_E_PULSE(INDEX) \
if (e_steps[INDEX]) E## INDEX ##_STEP_WRITE(INVERT_E_STEP_PIN) if (e_steps[INDEX]) E## INDEX ##_STEP_WRITE(INVERT_E_STEP_PIN)
@ -695,17 +690,6 @@ void Stepper::isr() {
E## INDEX ##_STEP_WRITE(!INVERT_E_STEP_PIN); \ E## INDEX ##_STEP_WRITE(!INVERT_E_STEP_PIN); \
} }
SET_E_STEP_DIR(0);
#if E_STEPPERS > 1
SET_E_STEP_DIR(1);
#if E_STEPPERS > 2
SET_E_STEP_DIR(2);
#if E_STEPPERS > 3
SET_E_STEP_DIR(3);
#endif
#endif
#endif
// Step all E steppers that have steps // Step all E steppers that have steps
for (uint8_t i = 0; i < step_loops; i++) { for (uint8_t i = 0; i < step_loops; i++) {

Loading…
Cancel
Save