Fix MK2_MULTIPLEXER stepper indirection
This commit is contained in:
		| @@ -429,6 +429,10 @@ | ||||
|     #define NORM_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(INVERT_E1_DIR); } } | ||||
|     #define REV_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(!INVERT_E1_DIR); } } | ||||
|   #endif | ||||
| #elif ENABLED(MK2_MULTIPLEXER) // Even-numbered steppers are reversed | ||||
|   #define E_STEP_WRITE(v) E0_STEP_WRITE(v) | ||||
|   #define NORM_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? !INVERT_E0_DIR: INVERT_E0_DIR) | ||||
|   #define REV_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? INVERT_E0_DIR: !INVERT_E0_DIR) | ||||
| #elif EXTRUDERS > 4 | ||||
|   #define E_STEP_WRITE(v) { switch (current_block->active_extruder) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); break; case 4: E4_STEP_WRITE(v); } } | ||||
|   #define NORM_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); break; case 4: E4_DIR_WRITE(!INVERT_E4_DIR); } } | ||||
| @@ -472,14 +476,8 @@ | ||||
|   #endif | ||||
| #else | ||||
|   #define E_STEP_WRITE(v) E0_STEP_WRITE(v) | ||||
|   #if ENABLED(MK2_MULTIPLEXER) | ||||
|     // Even-numbered steppers are reversed | ||||
|     #define NORM_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? !INVERT_E0_DIR: INVERT_E0_DIR) | ||||
|     #define REV_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? INVERT_E0_DIR: !INVERT_E0_DIR) | ||||
|   #else | ||||
|     #define NORM_E_DIR() E0_DIR_WRITE(!INVERT_E0_DIR) | ||||
|     #define REV_E_DIR() E0_DIR_WRITE(INVERT_E0_DIR) | ||||
|   #endif | ||||
|   #define NORM_E_DIR() E0_DIR_WRITE(!INVERT_E0_DIR) | ||||
|   #define REV_E_DIR() E0_DIR_WRITE(INVERT_E0_DIR) | ||||
| #endif | ||||
|  | ||||
| #endif // STEPPER_INDIRECTION_H | ||||
|   | ||||
		Reference in New Issue
	
	Block a user