Printer moves after hard reset

Hi
My printers are coreXY and traditional Cartesian printers running repetier for due.

My server is repetier 0.80.3

If i reset my printer via a hard reset button on the printer, the printer will move erraticcaly once connection is re-established to repetier server.
If a print is done successfully or my printer is not homed (or repetier server does not think it is homed) or if the stepper timeout is reached and I do a filament change on the UI, the printer will try and move the xy gantry very slowly to the x min and y max position at what i am guessing is 4mm/s. the extruder will also do the long retract or extrude at this speed.

Once I reset the printer and try again the behavior is not present.
This makes the ui filament change function useless to me as it is not working. I have written a g-code command script to do this for me correctly.
Please advise.  

Comments

  • If you enable logging for print and idle, can you see a command for that slow move being send to firmware? If so what command is it and is it in your event dependent code? Server only sends commands on connection start and on events it sends what is in your event dependent code.

    With reset from printer state it might be a bad timing so a command that was meant for before reset gets send afterwards but then coordinates have been reset to 0 from your reset. Generally you should not reset after being connected if there is no reason for it.

    Have you any event dependent scripts in your filament change? I guess it tries to move to position it thinks it is at but having reset this is not at current position any more. Will have to check the sources for more informations here.
  • I will make a video to show this issue. My custom filament change scripts work, it is the button for filament change that is built in on repetier server does not work correctly.

    A hard reset is needed from time to time if something went wrong or the print is bad. Trying to stop a print via the interface is slow as I have a move buffer of 128bytes and 600 bytes serial buffer. 

    It is a safety concern that once you hard reset, commands are still sent through by the host and the printer starts moving again.
    I did not have this issue on octoprint / mattercontrol / s3d
  • Isn't so much buffer overkill? But yes it explains why reset takes long at least when the reset function is not working with the board. Hope the video makes it clear what is happening so I can check it against source code to see what is happening.
  • Hi
    here is the video of what happens when the printer is reset mid print:


    If the server is in ping-pong mode this does not happen, but printing is obviously slow due to ping-pong
  •     Hi,

        Is there any news about this? I have the same problem (Marlin), and it’s very annoying because, sometimes the extruder goes beyond printer limits and can damage it. I think it can be done putting an option to avoid the server resetting the printer controller, which also will allow us to see the halt reason in the case of other error (e.g. max temp).

        Thanks.

  • It looks like repetier server does not catch that the printer has been reset and sends the last messages in the print que that did not get an ok back, that or the firmware somehow did not clear the buffer of the print que on startup?
  • Somethink like that. To have no interruptions we have to optimize sending data. A reset is detected by seeing a "start" in firmware response. Until then old job is just sending and it could be that between reset and start some commands get through. On the other side all commands have line numbers so firmware should reject these as the line counter would be wrong. I will have another look at it but I do not get any moves afterwards. It might be the end gcode that gets send as the print has ended and if that gets send somehow after reset it is valid with line numbers.
  • I even took out the cancel print gcode but still it looks like the next command that was waiting to execute is being done. example:
    M80 ;turn on
    G21       ; Set units to milimeters
    G90 ;abso
    M109 S180 T0 ; wait for heater to reach temp
    G28

    When I reset during the heat up, once the printer starts again it will home (the next command)

  • Do you have ping pong disabled (default) in connection settings? In that case the G28 should already be send when the reset occurs and it would be great if you could show the log with commands enabled around that time to see what is happening.
  • With pingpong this issue is not present but the printing slows waaaaay down. I will log this behavior a bit later and post the results.
Sign In or Register to comment.