This patch fixes a problem reported by Matt Shaver, traced to a floating-point precision issue. It's been in master for a while, seems to fix the problem, doesnt seem to break anything else. Please apply to 2.3.
-- Sebastian Kuzminsky
--- Begin Message ------ src/hal/drivers/mesa-hostmot2/stepgen.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/src/hal/drivers/mesa-hostmot2/stepgen.c b/src/hal/drivers/mesa-hostmot2/stepgen.c index 1e7616c..0e9ea93 100644 --- a/src/hal/drivers/mesa-hostmot2/stepgen.c +++ b/src/hal/drivers/mesa-hostmot2/stepgen.c @@ -193,0 +194,9 @@ static void hm2_stepgen_instance_position_control(hostmot2_t *hm2, long l_period +// This function was invented by Jeff Epler. +// It forces a floating-point variable to be degraded from native register +// size (80 bits on x86) to C double size (64 bits). +static double force_precision(double d) __attribute__((__noinline__)); +static double force_precision(double d) { + return d; +} + + @@ -214,0 +224 @@ static void hm2_stepgen_instance_prepare_tram_write(hostmot2_t *hm2, long l_peri + physical_maxvel = force_precision(physical_maxvel); -- 1.5.4.3
--- End Message ---
------------------------------------------------------------------------------
_______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
