diff options
author | Robert W. Ellenberg <rwe24g@gmail.com> | 2014-02-20 21:58:30 -0500 |
---|---|---|
committer | Chris Radek <chris@timeguy.com> | 2014-06-11 14:44:11 -0500 |
commit | 26ed69f28d86bfd1c163d38e64c004b0131915df (patch) | |
tree | b01f39d1fe3223c0f1f110adc4cd4b507bf7da3b | |
parent | c9b98e3a748d5677092170b9a377c7475c0170f8 (diff) | |
download | linuxcnc-26ed69f28d86bfd1c163d38e64c004b0131915df.tar.gz linuxcnc-26ed69f28d86bfd1c163d38e64c004b0131915df.zip |
Made cutoff frequency into a parameter
-rw-r--r-- | src/emc/ini/initraj.cc | 6 | ||||
-rw-r--r-- | src/emc/motion/command.c | 2 | ||||
-rw-r--r-- | src/emc/motion/motion.h | 4 | ||||
-rw-r--r-- | src/emc/nml_intf/emc.hh | 2 | ||||
-rw-r--r-- | src/emc/task/taskintf.cc | 4 | ||||
-rw-r--r-- | src/emc/tp/blendmath.c | 1 | ||||
-rw-r--r-- | src/emc/tp/tp.c | 6 |
7 files changed, 12 insertions, 13 deletions
diff --git a/src/emc/ini/initraj.cc b/src/emc/ini/initraj.cc index 8dd8a732f..ba67fc3be 100644 --- a/src/emc/ini/initraj.cc +++ b/src/emc/ini/initraj.cc @@ -167,16 +167,16 @@ static int loadTraj(EmcIniFile *trajInifile) int arcBlendFallbackEnable = 0; int arcBlendOptDepth = 0; double arcBlendGapCycles = 2; - double arcBlendGreediness = 0.5; + double arcBlendRampFreq = 10.0; trajInifile->Find(&arcBlendEnable, "ARC_BLEND_ENABLE", "TRAJ"); trajInifile->Find(&arcBlendFallbackEnable, "ARC_BLEND_FALLBACK_ENABLE", "TRAJ"); trajInifile->Find(&arcBlendOptDepth, "ARC_BLEND_OPTIMIZATION_DEPTH", "TRAJ"); trajInifile->Find(&arcBlendGapCycles, "ARC_BLEND_GAP_CYCLES", "TRAJ"); - trajInifile->Find(&arcBlendGreediness, "ARC_BLEND_GREEDINESS", "TRAJ"); + trajInifile->Find(&arcBlendRampFreq, "ARC_BLEND_RAMP_FREQUENCY", "TRAJ"); if (0 != emcSetupArcBlends(arcBlendEnable, arcBlendFallbackEnable, - arcBlendOptDepth, arcBlendGapCycles, arcBlendGreediness)) { + arcBlendOptDepth, arcBlendGapCycles, arcBlendRampFreq)) { if (emc_debug & EMC_DEBUG_CONFIG) { rcs_print("bad return value from emcSetupArcBlends\n"); } diff --git a/src/emc/motion/command.c b/src/emc/motion/command.c index edb50a926..9e02fcd23 100644 --- a/src/emc/motion/command.c +++ b/src/emc/motion/command.c @@ -1646,7 +1646,7 @@ check_stuff ( "before command_handler()" ); emcmotConfig->arcBlendFallbackEnable = emcmotCommand->arcBlendFallbackEnable; emcmotConfig->arcBlendOptDepth = emcmotCommand->arcBlendOptDepth; emcmotConfig->arcBlendGapCycles = emcmotCommand->arcBlendGapCycles; - emcmotConfig->arcBlendGreediness = emcmotCommand->arcBlendGreediness; + emcmotConfig->arcBlendRampFreq = emcmotCommand->arcBlendRampFreq; break; } /* end of: command switch */ diff --git a/src/emc/motion/motion.h b/src/emc/motion/motion.h index 1babb74ba..666b9c53c 100644 --- a/src/emc/motion/motion.h +++ b/src/emc/motion/motion.h @@ -253,7 +253,7 @@ extern "C" { int arcBlendEnable; int arcBlendFallbackEnable; double arcBlendGapCycles; - double arcBlendGreediness; + double arcBlendRampFreq; double maxFeedScale; } emcmot_command_t; @@ -746,7 +746,7 @@ Suggestion: Split this in to an Error and a Status flag register.. int arcBlendEnable; int arcBlendFallbackEnable; double arcBlendGapCycles; - double arcBlendGreediness; + double arcBlendRampFreq; double maxFeedScale; } emcmot_config_t; diff --git a/src/emc/nml_intf/emc.hh b/src/emc/nml_intf/emc.hh index 2e1f3e084..f6df7ebe0 100644 --- a/src/emc/nml_intf/emc.hh +++ b/src/emc/nml_intf/emc.hh @@ -551,7 +551,7 @@ int emcSetupArcBlends(int arcBlendEnable, int arcBlendFallbackEnable, int arcBlendOptDepth, double arcBlendGapCycles, - double arcBlendGreediness); + double arcBlendRampFreq); extern int emcUpdate(EMC_STAT * stat); // full EMC status diff --git a/src/emc/task/taskintf.cc b/src/emc/task/taskintf.cc index d9f19f33c..8a831041b 100644 --- a/src/emc/task/taskintf.cc +++ b/src/emc/task/taskintf.cc @@ -1558,14 +1558,14 @@ int emcSetupArcBlends(int arcBlendEnable, int arcBlendFallbackEnable, int arcBlendOptDepth, double arcBlendGapCycles, - double arcBlendGreediness) { + double arcBlendRampFreq) { emcmotCommand.command = EMCMOT_SETUP_ARC_BLENDS; emcmotCommand.arcBlendEnable = arcBlendEnable; emcmotCommand.arcBlendFallbackEnable = arcBlendFallbackEnable; emcmotCommand.arcBlendOptDepth = arcBlendOptDepth; emcmotCommand.arcBlendGapCycles = arcBlendGapCycles; - emcmotCommand.arcBlendGreediness = arcBlendGreediness; + emcmotCommand.arcBlendRampFreq = arcBlendRampFreq; return usrmotWriteEmcmotCommand(&emcmotCommand); } diff --git a/src/emc/tp/blendmath.c b/src/emc/tp/blendmath.c index 60ab42bc5..8ae090cfb 100644 --- a/src/emc/tp/blendmath.c +++ b/src/emc/tp/blendmath.c @@ -13,6 +13,7 @@ #include "posemath.h" #include "tc_types.h" +#include "tc.h" #include "tp_types.h" #include "rtapi_math.h" #include "spherical_arc.h" diff --git a/src/emc/tp/tp.c b/src/emc/tp/tp.c index 74df95b57..271be8298 100644 --- a/src/emc/tp/tp.c +++ b/src/emc/tp/tp.c @@ -2561,12 +2561,10 @@ STATIC int tpActivateSegment(TP_STRUCT * const tp, TC_STRUCT * const tc) { // Test if we need ramping or trapezoidal acceleration for this move // FIXME: move this to INI setting - const double cutoff_freq = 10.0; //Hz - double cutoff_time = 1.0 / (cutoff_freq); + double cutoff_time = 1.0 / (emcmotConfig->arcBlendRampFreq); - double length = (tc->target-tc->progress); + double length = tc->target - tc->progress; double segment_time = 2.0 * length / (tc->currentvel + tc->finalvel); - /*double segment_cycles = segment_time / tp->cycle_time;*/ if (segment_time < cutoff_time && tc->canon_motion_type != EMC_MOTION_TYPE_TRAVERSE && |