On 13 August 2013 08:39, Michael Büsch <[email protected]> wrote:

> Did you already commit that change for us to see the actual code?

This is becoming increasingly confusing.

I am fairly sure that the existing code works: (line 323)
http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=src/hal/drivers/mesa-hostmot2/resolver.c;h=b52d4d48c06cac682e6877fc49f7c6ff0394ac98;hb=HEAD#l323

Based on the types of the variables defined here:
http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=src/hal/drivers/mesa-hostmot2/hostmot2.h;h=63093c90b6f0456946a2f2560fd6f628cb430b6f;hb=HEAD#l330

The resolver position is an unsigned 32 bit number from the FPGA. When
the position crosses 0 the value changes by approx  2^32. In a 32-bit
LinuxCNC system the resolver correctly counts multiple revolutions,
the code in line 323 successfully wraps the 32-bit positions into a
64-bit accumulator.

On a 64-bit system the result is less successful. The apparent
resolver position varies wildly by thousands of complete  revolutions
every servo cycle.

I have tried to create demonstration code on codepad.org, but the
results are different again. However I am not entirely sure what the
data types are on that site.

http://codepad.org/ZCeKoRZ9

-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to