parent
cea45d49bc
commit
39863d54b0
|
@ -162,32 +162,37 @@ int32_t Backlash::get_applied_steps(const AxisEnum axis) {
|
||||||
}
|
}
|
||||||
|
|
||||||
class Backlash::StepAdjuster {
|
class Backlash::StepAdjuster {
|
||||||
xyz_long_t applied_steps;
|
private:
|
||||||
public:
|
xyz_long_t applied_steps;
|
||||||
StepAdjuster() {
|
public:
|
||||||
LOOP_LINEAR_AXES(axis) applied_steps[axis] = backlash.get_applied_steps((AxisEnum)axis);
|
StepAdjuster() {
|
||||||
}
|
LOOP_LINEAR_AXES(axis) applied_steps[axis] = backlash.get_applied_steps((AxisEnum)axis);
|
||||||
~StepAdjuster() {
|
}
|
||||||
// after backlash compensation parameter changes, ensure applied step count does not change
|
~StepAdjuster() {
|
||||||
LOOP_LINEAR_AXES(axis) residual_error[axis] += backlash.get_applied_steps((AxisEnum)axis) - applied_steps[axis];
|
// after backlash compensation parameter changes, ensure applied step count does not change
|
||||||
}
|
LOOP_LINEAR_AXES(axis) residual_error[axis] += backlash.get_applied_steps((AxisEnum)axis) - applied_steps[axis];
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void Backlash::set_correction_uint8(const uint8_t v) {
|
#if ENABLED(BACKLASH_GCODE)
|
||||||
StepAdjuster adjuster;
|
|
||||||
correction = v;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Backlash::set_distance_mm(const AxisEnum axis, const float v) {
|
void Backlash::set_correction_uint8(const uint8_t v) {
|
||||||
StepAdjuster adjuster;
|
|
||||||
distance_mm[axis] = v;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef BACKLASH_SMOOTHING_MM
|
|
||||||
void Backlash::set_smoothing_mm(const float v) {
|
|
||||||
StepAdjuster adjuster;
|
StepAdjuster adjuster;
|
||||||
smoothing_mm = v;
|
correction = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Backlash::set_distance_mm(const AxisEnum axis, const float v) {
|
||||||
|
StepAdjuster adjuster;
|
||||||
|
distance_mm[axis] = v;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef BACKLASH_SMOOTHING_MM
|
||||||
|
void Backlash::set_smoothing_mm(const float v) {
|
||||||
|
StepAdjuster adjuster;
|
||||||
|
smoothing_mm = v;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
|
||||||
|
|
Loading…
Reference in a new issue