Browse Source

Fix babystep include, typos in stepper.cpp

Fix #16881
pull/1/head
Scott Lahteine 5 years ago
parent
commit
99a5074372
  1. 2
      Marlin/src/feature/babystep.cpp
  2. 10
      Marlin/src/module/stepper.cpp
  3. 2
      Marlin/src/module/stepper.h

2
Marlin/src/feature/babystep.cpp

@ -44,7 +44,7 @@ int16_t Babystep::accum;
void Babystep::step_axis(const AxisEnum axis) { void Babystep::step_axis(const AxisEnum axis) {
const int16_t curTodo = steps[BS_TODO_AXIS(axis)]; // get rid of volatile for performance const int16_t curTodo = steps[BS_TODO_AXIS(axis)]; // get rid of volatile for performance
if (curTodo) { if (curTodo) {
stepper.babystep((AxisEnum)axis, curTodo > 0); stepper.do_babystep((AxisEnum)axis, curTodo > 0);
if (curTodo > 0) steps[BS_TODO_AXIS(axis)]--; else steps[BS_TODO_AXIS(axis)]++; if (curTodo > 0) steps[BS_TODO_AXIS(axis)]--; else steps[BS_TODO_AXIS(axis)]++;
} }
} }

10
Marlin/src/module/stepper.cpp

@ -101,6 +101,10 @@ Stepper stepper; // Singleton
#include "../MarlinCore.h" #include "../MarlinCore.h"
#include "../HAL/shared/Delay.h" #include "../HAL/shared/Delay.h"
#if ENABLED(INTEGRATED_BABYSTEPPING)
#include "../feature/babystep.h"
#endif
#if MB(ALLIGATOR) #if MB(ALLIGATOR)
#include "../feature/dac/dac_dac084s085.h" #include "../feature/dac/dac_dac084s085.h"
#endif #endif
@ -1373,10 +1377,10 @@ void Stepper::isr() {
#if ENABLED(INTEGRATED_BABYSTEPPING) #if ENABLED(INTEGRATED_BABYSTEPPING)
if (do_babystep) // Avoid ANY stepping too soon after baby-stepping if (do_babystep) // Avoid ANY stepping too soon after baby-stepping
NOLESS(nextMainISR, (BABYSTEP_TICKS) / 8) // FULL STOP for 125µs after a baby-step NOLESS(nextMainISR, (BABYSTEP_TICKS) / 8); // FULL STOP for 125µs after a baby-step
if (nextBabystepISR != BABYSTEP_NEVER) // Avoid baby-stepping too close to axis Stepping if (nextBabystepISR != BABYSTEP_NEVER) // Avoid baby-stepping too close to axis Stepping
NOLESS(nextBabystepISR, nextMainISR / 2) // TODO: Only look at axes enabled for baby-stepping NOLESS(nextBabystepISR, nextMainISR / 2); // TODO: Only look at axes enabled for baby-stepping
#endif #endif
// Get the interval to the next ISR call // Get the interval to the next ISR call
@ -2544,7 +2548,7 @@ void Stepper::report_positions() {
// MUST ONLY BE CALLED BY AN ISR, // MUST ONLY BE CALLED BY AN ISR,
// No other ISR should ever interrupt this! // No other ISR should ever interrupt this!
void Stepper::babystep(const AxisEnum axis, const bool direction) { void Stepper::do_babystep(const AxisEnum axis, const bool direction) {
#if DISABLED(INTEGRATED_BABYSTEPPING) #if DISABLED(INTEGRATED_BABYSTEPPING)
cli(); cli();

2
Marlin/src/module/stepper.h

@ -471,7 +471,7 @@ class Stepper {
#endif #endif
#if ENABLED(BABYSTEPPING) #if ENABLED(BABYSTEPPING)
static void babystep(const AxisEnum axis, const bool direction); // perform a short step with a single stepper motor, outside of any convention static void do_babystep(const AxisEnum axis, const bool direction); // perform a short step with a single stepper motor, outside of any convention
#endif #endif
#if HAS_MOTOR_CURRENT_PWM #if HAS_MOTOR_CURRENT_PWM

Loading…
Cancel
Save