float mach_get_feed_override() {
- return mach.gm.feed_override_enable ? mach.gm.feed_override : 0;
+ return mach.gm.feed_override_enable ? mach.gm.feed_override : 1;
}
float mach_get_spindle_override() {
- return mach.gm.spindle_override_enable ? mach.gm.spindle_override : 0;
+ return mach.gm.spindle_override_enable ? mach.gm.spindle_override : 1;
}
/// Queue the S parameter to the planner buffer
void mach_set_spindle_speed(float speed) {
mp_buffer_t *bf = mp_queue_get_tail();
- bf->value = speed;
+ bf->value = speed * mach_get_spindle_override();
mp_queue_push(_exec_spindle_speed, mach_get_line());
}
}
}
+ // Apply feed override
+ max_time /= mach_get_feed_override();
+
// Compute time required for rate-limiting axis
for (int axis = 0; axis < AXES; axis++) {
float time = fabs(axis_length[axis]) /
float time = mach_get_feed_mode() == INVERSE_TIME_MODE ?
mach_get_feed_rate() : length / mach_get_feed_rate();
+
+ // Apply feed override
+ time /= mach_get_feed_override();
+
// Downgrade the time if there is a rate-limiting axis
return max4(time, planar_travel / axes[arc.plane_axis_0].feedrate_max,
planar_travel / axes[arc.plane_axis_1].feedrate_max,