Unload script works via Repetier Host but not via SD card

I tried putting simple filament loading scripts for my bondtech extruder on to my sd card:
G92 E0 
G1 E300 F2000
G92 E0 


I tried cold extrusion M302, relative mode M83 nothing works when printed from SD card,
but works fine when send from Repetier Host.

Why is this?

Comments

  • I'm using dev 1.0.0
  • Where did you add that? What I mean is are the commands written to sd card or are they in hosts end script which is not part of sliced gcode and gets send by host when host print is finished. These scripts are not executed when you run a sd print.
  • They are written to SD card like a usual .gcode file.
  • Try
    G92 E0 
    G1 E50 F2000
    G92 E0 
    G1 E50 F2000
    G92 E0 
    G1 E50 F2000
    G92 E0 
    G1 E50 F2000
    G92 E0 
    G1 E50 F2000
    G92 E0 
    G1 E50 F2000
    G92 E0

    firmware blocks long extrusions to prevent problems, maybe you hit that limit.
  • Problem was my fault, I set the virtual extruder ratio to 0. 
    Thanks for your fast help anyway, as always.
  • Ran into same problem again.
    The following Gcode works when send from repetier Host.
    But printed from SD card doesn't work.

    M163 S0 P1
    M163 S1 P0
    M163 S2 P0
    M163 S3 P0
    M163 S4 P0
    M164 S0
    T0
    M83
    M302 S1
    G1 F500
    G1 E150 



    Even turning min_extr_temp down to 0 and recompiling didn't help.
    What am I doing wrong?

  • G1 E150 might be the problem. More then 100mm which is the default value for max extrusion length. So guess you exceeded maximum extrusion length per move.
  • I'll compiled with EXTRUDE_MAXLENGTH 1000
    Dfeault value was 160 I think.
    If it were limited to 100mm, then G1 E150 shouldn't work from host neither?
  • You are right. Source of gcodes never matters. It works either always or never. Having said that saying it does not work from sd card but from host is odd. Can you add some commands to make sure the code gets executed at all from sd card? Maybe toggle light or add a x move at start and end so you also know it was executed completely. Not working and not being run at all would have same result on that code.
  • I tried G28 and G1 X100 from SD card, both work fine.
    but any G1 E10 movement gets ignored and the print finishes without extruders movement.
    With repetier host everything is fine.

    Is there nothing repetier host sends when connecting that is different than printing form SD card?

    I'm using 1.0.4 by the way.
  • edited November 2019
    Host sends relative moves for extruder (in the case you use the extrusion buttons), so the sequence looks like:

    G91
    G1 E10
    G90

    you also can do it by

    G92 E0
    G1 E10

    if you just send G1 E10 you dont know Extruder position and in best case it works once , any further
    sending does nothing as Extruder is already at position E10.
    f.e. if Extruder is at position E100 at the end of print and you send just G1 E10 it will retract 90mm and
    if Extruder is at position E2 at end of the print it will extrude 8mm.
    So extrusion command needs either G91 (switching to relative positioning) G1 Exx(extrude) and G90(switch back to absolute positioning) or G92 E0(set extruder coordinate to 0) G1 Exx (extrude)

  • I tried G91 and M83 (relative extrusion) both didn't work.
    When extruding from host I printed from a gcode file not using the buttons.
    Hm. :/
  • Try this
    M163 S0 P1
    M163 S1 P0
    M163 S2 P0
    M163 S3 P0
    M163 S4 P0
    M164 S0
    T0
    M83
    M302 S1
    G92 E0
    G1 F500
    G1 E150

    Also I'm quite sure T0 sets E position to 0 as well.
    I still assume the extrusion it self does not work from sd card?
    Is extrusion after this from host possible?
    If you go to eeprom settings do you see correct weights in it? If all weights are 0 no extrusion would happen.
    What about smaller E values like 10mm steps
    T0
    M83
    M302 S1
    G92 E0
    G1 F500
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10
    G1 E10

    just to discard the max extrusion length problem.
  • Copied your gcode and it will work from SD card:
    M163 S0 P1
    M163 S1 P0
    M163 S2 P0
    M163 S3 P0
    M163 S4 P0
    M164 S0
    T0
    M83
    G1 F500
    G1 E150

    Could make it a little shorter and it still works, but don't know why.


    One strange problem though for the last extruder,
    this gcode will only extrude the last G1 E150, the first block will be irgnored. (my initial problem)
    M163 S0 P0
    M163 S1 P0
    M163 S2 P0
    M163 S3 P0
    M163 S4 P1
    M164 S0
    T0
    M83
    G1 F500
    G1 E150


    M163 S0 P0
    M163 S1 P0
    M163 S2 P0
    M163 S3 P0
    M163 S4 P1
    M164 S0
    T0
    M83
    G1 F500
    G1 E150



    Thanks for your constant help on this very user-error prone topics.







  • Does the last line end with a return? I know there was a problem that only lines ending with a newline get executed, so if you have no newline as last line it will not get executed if you have a firmware without that fix.
Sign In or Register to comment.