Only queue babysteps if axis is in a known position
This commit is contained in:
		
							parent
							
								
									5e9726530f
								
							
						
					
					
						commit
						72a7fac461
					
				| @ -431,31 +431,33 @@ class Temperature { | ||||
|     #if ENABLED(BABYSTEPPING) | ||||
| 
 | ||||
|       static void babystep_axis(const AxisEnum axis, const int distance) { | ||||
|         #if IS_CORE | ||||
|           #if ENABLED(BABYSTEP_XY) | ||||
|             switch (axis) { | ||||
|               case CORE_AXIS_1: // X on CoreXY and CoreXZ, Y on CoreYZ
 | ||||
|                 babystepsTodo[CORE_AXIS_1] += distance * 2; | ||||
|                 babystepsTodo[CORE_AXIS_2] += distance * 2; | ||||
|                 break; | ||||
|               case CORE_AXIS_2: // Y on CoreXY, Z on CoreXZ and CoreYZ
 | ||||
|                 babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2); | ||||
|                 babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2); | ||||
|                 break; | ||||
|               case NORMAL_AXIS: // Z on CoreXY, Y on CoreXZ, X on CoreYZ
 | ||||
|                 babystepsTodo[NORMAL_AXIS] += distance; | ||||
|                 break; | ||||
|             } | ||||
|           #elif CORE_IS_XZ || CORE_IS_YZ | ||||
|             // Only Z stepping needs to be handled here
 | ||||
|             babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2); | ||||
|             babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2); | ||||
|         if (axis_known_position[axis]) { | ||||
|           #if IS_CORE | ||||
|             #if ENABLED(BABYSTEP_XY) | ||||
|               switch (axis) { | ||||
|                 case CORE_AXIS_1: // X on CoreXY and CoreXZ, Y on CoreYZ
 | ||||
|                   babystepsTodo[CORE_AXIS_1] += distance * 2; | ||||
|                   babystepsTodo[CORE_AXIS_2] += distance * 2; | ||||
|                   break; | ||||
|                 case CORE_AXIS_2: // Y on CoreXY, Z on CoreXZ and CoreYZ
 | ||||
|                   babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2); | ||||
|                   babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2); | ||||
|                   break; | ||||
|                 case NORMAL_AXIS: // Z on CoreXY, Y on CoreXZ, X on CoreYZ
 | ||||
|                   babystepsTodo[NORMAL_AXIS] += distance; | ||||
|                   break; | ||||
|               } | ||||
|             #elif CORE_IS_XZ || CORE_IS_YZ | ||||
|               // Only Z stepping needs to be handled here
 | ||||
|               babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2); | ||||
|               babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2); | ||||
|             #else | ||||
|               babystepsTodo[Z_AXIS] += distance; | ||||
|             #endif | ||||
|           #else | ||||
|             babystepsTodo[Z_AXIS] += distance; | ||||
|             babystepsTodo[axis] += distance; | ||||
|           #endif | ||||
|         #else | ||||
|           babystepsTodo[axis] += distance; | ||||
|         #endif | ||||
|         } | ||||
|       } | ||||
| 
 | ||||
|     #endif // BABYSTEPPING
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user