kopia lustrzana https://github.com/gnea/grbl
Implemented axis skew compensation
Implemented coordinate unskew operations to report the transformed machine position.pull/709/head
rodzic
97c5861f7d
commit
0af52e0ba2
|
@ -302,6 +302,7 @@ float system_convert_axis_steps_to_mpos(int32_t *steps, uint8_t idx)
|
||||||
#else
|
#else
|
||||||
pos = steps[idx]/settings.steps_per_mm[idx];
|
pos = steps[idx]/settings.steps_per_mm[idx];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return(pos);
|
return(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -312,6 +313,16 @@ void system_convert_array_steps_to_mpos(float *position, int32_t *steps)
|
||||||
for (idx=0; idx<N_AXIS; idx++) {
|
for (idx=0; idx<N_AXIS; idx++) {
|
||||||
position[idx] = system_convert_axis_steps_to_mpos(steps, idx);
|
position[idx] = system_convert_axis_steps_to_mpos(steps, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//perform unskew of the coordinates
|
||||||
|
#ifdef ENABLE_SKEW_COMPENSATION
|
||||||
|
position[X_AXIS] += position[Y_AXIS] * settings.xy_skew_factor;
|
||||||
|
#ifdef ALLAXIS_SKEW_COMPENSATION
|
||||||
|
position[X_AXIS] += position[Z_AXIS] * settings.xz_skew_factor;
|
||||||
|
position[Y_AXIS] += position[Z_AXIS] * settings.yz_skew_factor;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue