eoffset-scale * eoffset-counts != eoffset ???

More
08 Sep 2021 23:38 - 08 Sep 2021 23:43 #220018 by chowderhead
Good day:I'm using LinuxCNC in a lab setting to control the machine's z-position over contours tracked using a camera. It's working flawlessly, but I've noticed something peculiar. The description of axis.L.eoffset says it is the product of axis.L.eoffset-scale and axis.L.eoffset-counts, but I frequently see that's not the case. Screenshots attached.Why is this happening? Is it a configuration problem? Happily, it doesn't keep the system from working, but it seems odd.LinuxCNC 2.9.0 preLinux 4.19.0-11-rt-amd64
Attachments:
Last edit: 08 Sep 2021 23:43 by chowderhead. Reason: Wrong picture

Please Log in or Create an account to join the conversation.

More
09 Sep 2021 06:27 #220040 by Aciera
One reason may be that whenever 'axis.z.eoffset-enable' is FALSE you can still change 'axis.z.eoffset-counts' but this change is not affecting 'axis.z.eoffset' thus the numbers seem to become out of sync.

The documentation linuxcnc.org/docs/2.8/html/motion/external-offsets.html is a bit more precise:

At each servo period, the axis.L.eoffset-counts pin is compared to its value in the prior period. The increase or decrease (positive or negative delta) of the axis.L.eoffset-counts pin is multiplied by the current axis.L.eoffset-scale pin value. This product is accumulated in an internal register and exported to the axis.L.eoffset-request hal pin. The accumulation register is reset to zero at each machine-on.

So it's actually multiplying the delta (ie change) of .eoffset-counts with .eoffset-scale.
The following user(s) said Thank You: chowderhead

Please Log in or Create an account to join the conversation.

More
13 Sep 2021 21:10 #220507 by chowderhead
There is an inconsistency between linuxcnc.org/docs/2.8/html/motion/external-offsets.html and www.linuxcnc.org/docs/html/man/man9/motion.9.html#AXIS%20PINS . The latter states:

axis.L.eoffset-counts IN S32Counts input for external offset. The eoffset-counts are transferred to an internal register. The applied external offset is the product of the register counts and the eoffset-scale value...


I believe the former (your quote) is correct and there is a bug in my code that results in the behavior I noted in the original post.

Please Log in or Create an account to join the conversation.

Time to create page: 0.123 seconds
Powered by Kunena Forum