Fixed long slope at deceleration issue. Moved things into config.h. New MINIMUM_PLANNER_SPEED parameter.

- The long standing issue of a long slope at deceleration is likely
fixed. The stepper program was not tracking and timing the end of
acceleration and start of deceleration exactly and now is fixed to
start and stop on time. Also, to ensure a better acceleration curve fit
used by the planner, the stepper program delays the start of the
accelerations by a half trapezoid tick to employ the midpoint rule. -
Settings version 3 migration (not fully tested, but should work) -
Added a MINIMUM_PLANNER_SPEED user-defined parameter to planner to let
a user change this if problems arise for some reason. - Moved all
user-definable #define parameters into config.h with clear comments on
what they do and recommendations of how to change them. - Minor
housekeeping.
This commit is contained in:
Sonny Jeon
2011-09-24 07:46:41 -06:00
parent 6de805441f
commit 2be0d66872
6 changed files with 133 additions and 70 deletions

View File

@ -21,6 +21,7 @@
#include <avr/io.h>
#include "settings.h"
#include "config.h"
#include "motion_control.h"
#include <util/delay.h>
#include <math.h>
@ -29,11 +30,6 @@
#include "stepper.h"
#include "planner.h"
// Number of arc generation iterations with small angle approximation before exact arc
// trajectory correction. Value must be 1-255.
#define N_ARC_CORRECTION 25
// Execute dwell in seconds. Maximum time delay is > 18 hours, more than enough for any application.
void mc_dwell(double seconds)
{
@ -48,7 +44,7 @@ void mc_dwell(double seconds)
// Execute an arc in offset mode format. position == current xyz, target == target xyz,
// offset == offset from current xyz, axis_XXX defines circle plane in tool space, axis_linear is
// the direction of helical travel, radius == circle radius, clockwise_sign == -1 or 1. Used
// the direction of helical travel, radius == circle radius, isclockwise boolean. Used
// for vector transformation direction.
// position, target, and offset are pointers to vectors from gcode.c