Browse Source

Followup to recent patches

- `M666` is static, not inline
- Disambiguate some stepper macros
pull/1/head
Scott Lahteine 7 years ago
parent
commit
751785fc97
  1. 2
      Marlin/src/gcode/calibrate/M666.cpp
  2. 2
      Marlin/src/gcode/temperature/M105.cpp
  3. 19
      Marlin/src/module/stepper.cpp

2
Marlin/src/gcode/calibrate/M666.cpp

@ -67,7 +67,7 @@
* M666: Set Dual Endstops offsets for X, Y, and/or Z. * M666: Set Dual Endstops offsets for X, Y, and/or Z.
* With no parameters report current offsets. * With no parameters report current offsets.
*/ */
inline void GcodeSuite::M666() { void GcodeSuite::M666() {
bool report = true; bool report = true;
#if ENABLED(X_DUAL_ENDSTOPS) #if ENABLED(X_DUAL_ENDSTOPS)
if (parser.seen('X')) { if (parser.seen('X')) {

2
Marlin/src/gcode/temperature/M105.cpp

@ -44,7 +44,7 @@ void GcodeSuite::M105() {
port port
#endif #endif
); );
#else // !HAS_TEMP_HOTEND && !HAS_TEMP_BED #else // !HAS_TEMP_SENSOR
SERIAL_ERROR_START_P(port); SERIAL_ERROR_START_P(port);
SERIAL_ERRORLNPGM_P(port, MSG_ERR_NO_THERMISTORS); SERIAL_ERRORLNPGM_P(port, MSG_ERR_NO_THERMISTORS);
#endif #endif

19
Marlin/src/module/stepper.cpp

@ -160,12 +160,12 @@ volatile long Stepper::endstops_trigsteps[XYZ];
#define DUAL_ENDSTOP_APPLY_STEP(AXIS,v) \ #define DUAL_ENDSTOP_APPLY_STEP(AXIS,v) \
if (performing_homing) { \ if (performing_homing) { \
if (AXIS##_HOME_DIR < 0) { \ if (AXIS##_HOME_DIR < 0) { \
if (!(TEST(endstops.old_endstop_bits, AXIS##_MIN) && (count_direction[AXIS##_AXIS] < 0)) && !LOCKED_##AXIS##_MOTOR) AXIS##_STEP_WRITE(v); \ if (!(TEST(endstops.old_endstop_bits, AXIS##_MIN) && count_direction[AXIS##_AXIS] < 0) && !LOCKED_##AXIS##_MOTOR) AXIS##_STEP_WRITE(v); \
if (!(TEST(endstops.old_endstop_bits, AXIS##2_MIN) && (count_direction[AXIS##_AXIS] < 0)) && !LOCKED_##AXIS##2_MOTOR) AXIS##2_STEP_WRITE(v); \ if (!(TEST(endstops.old_endstop_bits, AXIS##2_MIN) && count_direction[AXIS##_AXIS] < 0) && !LOCKED_##AXIS##2_MOTOR) AXIS##2_STEP_WRITE(v); \
} \ } \
else { \ else { \
if (!(TEST(endstops.old_endstop_bits, AXIS##_MAX) && (count_direction[AXIS##_AXIS] > 0)) && !LOCKED_##AXIS##_MOTOR) AXIS##_STEP_WRITE(v); \ if (!(TEST(endstops.old_endstop_bits, AXIS##_MAX) && count_direction[AXIS##_AXIS] > 0) && !LOCKED_##AXIS##_MOTOR) AXIS##_STEP_WRITE(v); \
if (!(TEST(endstops.old_endstop_bits, AXIS##2_MAX) && (count_direction[AXIS##_AXIS] > 0)) && !LOCKED_##AXIS##2_MOTOR) AXIS##2_STEP_WRITE(v); \ if (!(TEST(endstops.old_endstop_bits, AXIS##2_MAX) && count_direction[AXIS##_AXIS] > 0) && !LOCKED_##AXIS##2_MOTOR) AXIS##2_STEP_WRITE(v); \
} \ } \
} \ } \
else { \ else { \
@ -231,8 +231,6 @@ volatile long Stepper::endstops_trigsteps[XYZ];
#define E_APPLY_STEP(v,Q) E_STEP_WRITE(v) #define E_APPLY_STEP(v,Q) E_STEP_WRITE(v)
#endif #endif
/** /**
* __________________________ * __________________________
* /| |\ _________________ ^ * /| |\ _________________ ^
@ -452,13 +450,16 @@ void Stepper::isr() {
// Advance the Bresenham counter; start a pulse if the axis needs a step // Advance the Bresenham counter; start a pulse if the axis needs a step
#define PULSE_START(AXIS) do{ \ #define PULSE_START(AXIS) do{ \
_COUNTER(AXIS) += current_block->steps[_AXIS(AXIS)]; \ _COUNTER(AXIS) += current_block->steps[_AXIS(AXIS)]; \
if (_COUNTER(AXIS) > 0) _APPLY_STEP(AXIS)(!_INVERT_STEP_PIN(AXIS), 0); }while(0) if (_COUNTER(AXIS) > 0) { _APPLY_STEP(AXIS)(!_INVERT_STEP_PIN(AXIS), 0); } \
}while(0)
// Advance the Bresenham counter; start a pulse if the axis needs a step // Advance the Bresenham counter; start a pulse if the axis needs a step
#define STEP_TICK(AXIS) \ #define STEP_TICK(AXIS) do { \
if (_COUNTER(AXIS) > 0) { \ if (_COUNTER(AXIS) > 0) { \
_COUNTER(AXIS) -= current_block->step_event_count; \ _COUNTER(AXIS) -= current_block->step_event_count; \
count_position[_AXIS(AXIS)] += count_direction[_AXIS(AXIS)]; } count_position[_AXIS(AXIS)] += count_direction[_AXIS(AXIS)]; \
} \
}while(0)
// Stop an active pulse, if any // Stop an active pulse, if any
#define PULSE_STOP(AXIS) _APPLY_STEP(AXIS)(_INVERT_STEP_PIN(AXIS), 0) #define PULSE_STOP(AXIS) _APPLY_STEP(AXIS)(_INVERT_STEP_PIN(AXIS), 0)

Loading…
Cancel
Save