Merge branch 'master' into experimental

This commit is contained in:
kliment 2011-07-12 14:35:48 +02:00
commit 33edcb56e2

View file

@ -1112,7 +1112,11 @@ inline void linear_move(unsigned long axis_steps_remaining[]) // make linear mov
}
for(int i = 0; i < NUM_AXIS; i++)
if(axis_steps_remaining[i] >0) {
new_axis_max_intervals[i] = slowest_start_axis_max_interval * axis_steps_remaining[slowest_start_axis] / axis_steps_remaining[i];
// multiplying slowest_start_axis_max_interval by axis_steps_remaining[slowest_start_axis]
// could lead to overflows when we have long distance moves (say, 390625*390625 > sizeof(unsigned long))
float steps_remaining_ratio = axis_steps_remaining[slowest_start_axis] / axis_steps_remaining[i];
new_axis_max_intervals[i] = slowest_start_axis_max_interval * steps_remaining_ratio;
if(i == primary_axis) {
max_interval = new_axis_max_intervals[i];
min_speed_steps_per_second = 100000000 / max_interval;