How can I synchronize Repetier Servers position and the printers position?

Repetier server doesn't update positions with M114, it keeps it's own record of assumed position. Then, when using the arrows to move the print head around in manual control, it sends absolute movement to coordinates relative to where it thinks the print head currently is. If it thinks the print head is at X0 Y0 Z25 and you tell it to move down 10mm, instead of sending a relative movement of 10mm, it will send a absolute coordinate movement to X0 Y0 Z15. Now in this scenario if the print head is actually at Z250, it will rapidly move 235mm to be 15 above the bed instead of the 240 expected position.

This becomes extremely hard to deal with when using G30 and positional movements to go to the corners of the bed when doing calibration. When this happens the printers position and repetiers servers don't match and using manual controls is extremely weird and has resulted in ramming the nozzle into the bed.

Is there a way either with a command/macro or some button somewhere to have repetier server update it's assumed position with the actual position of the printer (M114 or something)? That way after I execute my probe command I can synchronize the two. Alternatively, Is there a way to have repetier server not use absolute movements relative to it's assumed position, but instead to use relative coordinates? I read somewhere that with lag there's issues with them getting out of sync, but that probably only happens with the sliders and seems to be a problem anyway. I'd much rather lose the sliders for controlling the printer if it meant keeping things synchronized.

Comments

  • The problem comes from the async nature of sending commands and receiving positions and different firmwares handling this differently, e.g. not responding with position while others do. Sending position after ok or before ok.

    So far the reason. Currently I'm working on the problem that should read it if not invalidated by a following move. For some commands we will also force @syncMotion afterwards so it should be read in any case.
  • Starting with 1.0.0 M114 does now cause server to read position if it is received before a G0/G1/G28... command was send that will eventually invalidate the value.
  • isn´t it possible to read the position at any time if nothing is sent by server?
    f.e. printer is controlled by 2nd serial and server itself does not send a command.

    also now it displays the m114 coordinate before a command coming from server, but server does not
    use the shown command.
    f.e.
    after homing i send G1 X100 and server shows the correct position x=100 but when i use the move button
    on servers display and want to move 50mm right it moves to X=50 instead of x=150 so it seems
    server internally does not take the position
Sign In or Register to comment.