Move macros above Stepper::babystep
This commit is contained in:
		| @@ -1108,25 +1108,25 @@ void Stepper::report_positions() { | ||||
|  | ||||
| #if ENABLED(BABYSTEPPING) | ||||
|  | ||||
|   #define _ENABLE(axis) enable_## axis() | ||||
|   #define _READ_DIR(AXIS) AXIS ##_DIR_READ | ||||
|   #define _INVERT_DIR(AXIS) INVERT_## AXIS ##_DIR | ||||
|   #define _APPLY_DIR(AXIS, INVERT) AXIS ##_APPLY_DIR(INVERT, true) | ||||
|  | ||||
|   #define BABYSTEP_AXIS(axis, AXIS, INVERT) { \ | ||||
|       _ENABLE(axis); \ | ||||
|       uint8_t old_pin = _READ_DIR(AXIS); \ | ||||
|       _APPLY_DIR(AXIS, _INVERT_DIR(AXIS)^direction^INVERT); \ | ||||
|       _APPLY_STEP(AXIS)(!_INVERT_STEP_PIN(AXIS), true); \ | ||||
|       delayMicroseconds(2); \ | ||||
|       _APPLY_STEP(AXIS)(_INVERT_STEP_PIN(AXIS), true); \ | ||||
|       _APPLY_DIR(AXIS, old_pin); \ | ||||
|     } | ||||
|  | ||||
|   // MUST ONLY BE CALLED BY AN ISR, | ||||
|   // No other ISR should ever interrupt this! | ||||
|   void Stepper::babystep(const uint8_t axis, const bool direction) { | ||||
|  | ||||
|     #define _ENABLE(axis) enable_## axis() | ||||
|     #define _READ_DIR(AXIS) AXIS ##_DIR_READ | ||||
|     #define _INVERT_DIR(AXIS) INVERT_## AXIS ##_DIR | ||||
|     #define _APPLY_DIR(AXIS, INVERT) AXIS ##_APPLY_DIR(INVERT, true) | ||||
|  | ||||
|     #define BABYSTEP_AXIS(axis, AXIS, INVERT) { \ | ||||
|         _ENABLE(axis); \ | ||||
|         uint8_t old_pin = _READ_DIR(AXIS); \ | ||||
|         _APPLY_DIR(AXIS, _INVERT_DIR(AXIS)^direction^INVERT); \ | ||||
|         _APPLY_STEP(AXIS)(!_INVERT_STEP_PIN(AXIS), true); \ | ||||
|         delayMicroseconds(2); \ | ||||
|         _APPLY_STEP(AXIS)(_INVERT_STEP_PIN(AXIS), true); \ | ||||
|         _APPLY_DIR(AXIS, old_pin); \ | ||||
|       } | ||||
|  | ||||
|     switch (axis) { | ||||
|  | ||||
|       case X_AXIS: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user