End GCODE not being executed despite =being in GCODE and seeing it execute in logs

I'm using a  Wanhao i3plus and server 1.4.2.  It also did it on 1.4.1.  Basically NONE Of the movements in my end GCODE are working.  It shows in log they are running but they do not, it only executes my event dependent run after job repetier server command (@gpio Power off).  I even put my end GCODE in this area and while it worked this way a month ago it won't even execute that GCODE from there.  I was thinking maybe it was a buffer issue w/ it clearing the buffer after the job but it does show the gcode in the logs so I have on idea.  I don't recall changing a thing here but who knows.  I have tried slicing w cura 5.1 as well as cura in repetier host and have the same result.  Any input would be appreciated.

Here is my end code:
M104 S0 ;extruder heater off 
G91 ;relative positioning
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 F{speed_travel} ;move Z up a bit
G90 ; absolute positioning
G1 X0 F6000 ; move X to min endstops so the head is out of the way
G1 Y200 F6000 ; move the bed so it is easy to access to the printed part
G92 E0 ; zero the extruded length
M84 ; steppers off

After the GCODE completes I have one command (IN Repetier server)  that shuts off the printer which works fine so I know it's going past that end GCODE (@gpio Power off).  Here you can see that it shows it's running my end gcode but none of those actions complete, it just shuts the printer off.  As a test I will disable the power off command to see if that helps.  if it does maybe I need to enter a wait command before @gpio Power off.

End of print in log:
Send:16:51:59.210: N20463 G1 X59.599 Y98.89
Send:16:51:59.210: N20464 G1 F1500 E-6
Send:16:51:59.271: N20465 M140 S0
Send:16:51:59.272: N20466 M82 ;absolute extrusion mode
Send:16:51:59.272: N20467 M107
Send:16:51:59.305: N20468 G91 ;relative positioning
Send:16:51:59.370: N20469 G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
Send:16:51:59.377: N20470 G1 Z+10 F120 ;move Z up a bit
Send:16:51:59.377: N20471 G90 ; absolute positioning
Send:16:51:59.377: N20472 G1 X0 F6000 ; move X to min endstops so the head is out of the way
Send:16:51:59.377: N20473 M82 ;absolute extrusion mode
Send:16:51:59.404: N20474 M104 S0
Send:16:51:59.405: @gpio Power off
Send:16:52:05.882: N20475 M77
Send:16:52:05.882: @stopLog
Send:16:52:15.890: M117 M117 Finished

Comments

  • Unfortunately I cannot update my post but these are the diags i've done:


    • Putting a 20 second  pause before my @gpio power off) would not allow end gcode to execute (Tried both G4 S20 and G4 P20000)
    • Removing the @gpio power off command at end allowed all end gcode to execute.  Is there a different pause command i should be using for this so it waits until all gcode is executed before running the @gpio poweroff script?
  • Problem is the commands are acknowledged directly or buffered in case of your pause. What normally works is adding
    @syncMotion
    before @gpio to enforce all commands before were executed by firmware. What it does is flood firmware with M400 of G4 until buffer is full causing a wait for end of moves especially and also make server wait for an ok that is part of these commands.
  • Well that was easy thank you.  I have no idea why I needed to put this in all the sudden when it worked fine before but I'll take it.

    Dave
Sign In or Register to comment.