axis compensation

edited May 2016 in Repetier-Firmware


after trying to adjust axis Offset on xy plane i found that Resolution is much too low.

(my machine has x=500 y=250 Offset is around 0.2 degrees)

so Tangens number is 0.003(49) what means i need at least 4 Digits on the right side of comma.

difference  from 0.003 to 0.004 means Deviation of 0.5 mm on a length of 500 mm

whats definately too much.

if we would multiply the tangens number by 1000 and handle that value in Firmware instead

of the really small number we could improve that stuff a lot.

i know just changing data type from float to double will not improve anything on

the AVR´s because referring to Arduino IDE it´s handled exactly the same as float.

so what do you think?

Kind regards



  • I think it's better to write out 6 digits for eeorm values


        writeFloat(EPR_AXISCOMP_TANXY, Com::tAxisCompTanXY,6);

        writeFloat(EPR_AXISCOMP_TANYZ, Com::tAxisCompTanYZ,6);

        writeFloat(EPR_AXISCOMP_TANXZ, Com::tAxisCompTanXZ,6);


    so we do not need to change anything. Precision is 6.5 digits for float not counting leading zeros in this case.

    You can already send higher precision to firmware it just does not report it back without the 6 for more digits (default is 6).

  • OK,

    Thanks for information

  • edited May 2016
    changed it matching to your proposal ,can be easily adjusted now using Repetier Host with enough precision
    think you should  generally change this  in firmware to show that number of digits ,i cannot imagine
    to be the only one trying to fine adjust axis via Repetier Host

  • I have adjusted in in my code as well:-) Will appear in development version soon.
Sign In or Register to comment.