+void StepperMotor::change_steps_per_mm(float new_steps)
+{
+ steps_per_mm = new_steps;
+ last_milestone_steps = lround(last_milestone_mm * steps_per_mm);
+}
+
+void StepperMotor::change_last_milestone(float new_milestone)
+{
+ last_milestone_mm = new_milestone;
+ last_milestone_steps = lround(last_milestone_mm * steps_per_mm);
+}
+
+int StepperMotor::steps_to_target(float target)
+{
+ int target_steps = target * steps_per_mm;
+ return target_steps - last_milestone_steps;
+}