Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Issues with start g-code

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    10
    1.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • brunofportoundefined
      brunofporto
      last edited by

      I had a nice starting g-code.

      It waits until the bed is heated, then start heating the hotend while home all axis. Then it goes to the corner and waits until the hotend is heated and warn me with a beep when it is done waiting 30s so I can clan the nozzle from oozing before a nice purge line prior to start the printing....

      BUT it does not work anymore with Duet! Please, can someone help me? I could do it with G10 and M116 - it starts heating the hotend immediately instead of waiting for the bed and I do not like it to be so hot for so long.

      My old starg g-code is:

      The bed is already hot, then:

      G28 ; home all axes
      M104 S[first_layer_temperature]; starts hot-end heating (the bed is already hot)
      G29 S1; Load mesh
      G1 X2 Y0 F10000; Goes to the corner
      M109 S[first_layer_temperature]; Waits the hotend to warm up
      M300 S2093 P287 ;warning beep
      G4 P30000 ;Waits 30s
      G1 Z0.2 ; Go to Z0.2
      G92 E0 ;zero the extruded length
      G1 E10 F1000 ; Purge outside bed
      G1 Y60 E9 F1000 ; purge line 1
      G1 Y90 E12.5 F1000; purge line 2
      G92 E0 ;zero the extruded length again

      So, please, can someone help me with a Duet compatible starting g-code?

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        What slicer are you using?

        Can you provide the first 50 lines or so of a sliced gcode file?

        Both Cura and Slic3r will add their own heating commands before the custom gcode section if they don't see a very specific set of temp commands.

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • brunofportoundefined
          brunofporto
          last edited by

          Hello Phaedrux, thank you!

          I am using Simplify3D and Slic3r PE (but I did not the "dueted" printer test with Slic3r yet). Here are the first lines of gcode up to the start gcode sequence, but they are all commented! Here I am already trying to use M116 to wait for the bed to heat....

          ; G-Code generated by Simplify3D(R) Version 4.0.1 ; Jun 20, 2018 at 7:59:01 PM ; Settings Summary ; processName,Process1 ; applyToModels,calibration ; profileName,35% FHC 2P (modified) ; profileVersion,2018-06-20 19:28:43 ; baseProfile,Default (modified) ; printMaterial,PETG 3DFila ; printQuality,Fast ; printExtruders, ; extruderName,Primary Extruder ; extruderToolheadNumber,0 ; extruderDiameter,0.4 ; extruderAutoWidth,1 ; extruderWidth,0.48 ; extrusionMultiplier,1.05 ; extruderUseRetract,1 ; extruderRetractionDistance,4 ; extruderExtraRestartDistance,-0.2 ; extruderRetractionZLift,0 ; extruderRetractionSpeed,4200 ; extruderUseCoasting,1 ; extruderCoastingDistance,0.2 ; extruderUseWipe,0 ; extruderWipeDistance,5 ; primaryExtruder,0 ; layerHeight,0.3 ; topSolidLayers,3 ; bottomSolidLayers,3 ; perimeterOutlines,2 ; printPerimetersInsideOut,1 ; startPointOption,2 ; startPointOriginX,0 ; startPointOriginY,0 ; sequentialIslands,0 ; spiralVaseMode,0 ; firstLayerHeightPercentage,100 ; firstLayerWidthPercentage,150 ; firstLayerUnderspeed,0.3 ; useRaft,0 ; raftExtruder,0 ; raftTopLayers,3 ; raftBaseLayers,2 ; raftOffset,3 ; raftSeparationDistance,0.14 ; raftTopInfill,100 ; aboveRaftSpeedMultiplier,0.3 ; useSkirt,1 ; skirtExtruder,0 ; skirtLayers,1 ; skirtOutlines,2 ; skirtOffset,2 ; usePrimePillar,0 ; primePillarExtruder,999 ; primePillarWidth,12 ; primePillarLocation,7 ; primePillarSpeedMultiplier,1 ; useOozeShield,0 ; oozeShieldExtruder,999 ; oozeShieldOffset,2 ; oozeShieldOutlines,1 ; oozeShieldSidewallShape,1 ; oozeShieldSidewallAngle,30 ; oozeShieldSpeedMultiplier,1 ; infillExtruder,0 ; internalInfillPattern,Full Honeycomb ; externalInfillPattern,Rectilinear ; infillPercentage,35 ; outlineOverlapPercentage,20 ; infillExtrusionWidthPercentage,150 ; minInfillLength,5 ; infillLayerInterval,1 ; internalInfillAngles,0,120,-120 ; overlapInternalInfillAngles,0 ; externalInfillAngles,45,-45 ; generateSupport,0 ; supportExtruder,0 ; supportInfillPercentage,25 ; supportExtraInflation,0 ; supportBaseLayers,0 ; denseSupportExtruder,0 ; denseSupportLayers,0 ; denseSupportInfillPercentage,70 ; supportLayerInterval,1 ; supportHorizontalPartOffset,0.3 ; supportUpperSeparationLayers,1 ; supportLowerSeparationLayers,1 ; supportType,0 ; supportGridSpacing,4 ; maxOverhangAngle,45 ; supportAngles,0 ; temperatureName,Primary Extruder,Heated Bed ; temperatureNumber,0,0 ; temperatureSetpointCount,2,2 ; temperatureSetpointLayers,1,3,1,2 ; temperatureSetpointTemperatures,245,240,75,70 ; temperatureStabilizeAtStartup,0,0 ; temperatureHeatedBed,0,1 ; temperatureRelayBetweenLayers,0,0 ; temperatureRelayBetweenLoops,0,0 ; fanLayers,1 ; fanSpeeds,0 ; blipFanToFullPower,1 ; adjustSpeedForCooling,1 ; minSpeedLayerTime,15 ; minCoolingSpeedSlowdown,20 ; increaseFanForCooling,1 ; minFanLayerTime,25 ; maxCoolingFanSpeed,50 ; increaseFanForBridging,1 ; bridgingFanSpeed,100 ; use5D,1 ; relativeEdistances,1 ; allowEaxisZeroing,1 ; independentExtruderAxes,0 ; includeM10123,0 ; stickySupport,1 ; applyToolheadOffsets,0 ; gcodeXoffset,0 ; gcodeYoffset,0 ; gcodeZoffset,0 ; overrideMachineDefinition,1 ; machineTypeOverride,0 ; strokeXoverride,294 ; strokeYoverride,280 ; strokeZoverride,270 ; originOffsetXoverride,0 ; originOffsetYoverride,0 ; originOffsetZoverride,0 ; homeXdirOverride,-1 ; homeYdirOverride,-1 ; homeZdirOverride,-1 ; flipXoverride,1 ; flipYoverride,-1 ; flipZoverride,1 ; toolheadOffsets,0,0|0,0|0,0|0,0|0,0|0,0 ; overrideFirmwareConfiguration,0 ; firmwareTypeOverride,RepRap (Marlin/Repetier/Sprinter) ; GPXconfigOverride,r2 ; baudRateOverride,115200 ; overridePrinterModels,0 ; printerModelsOverride ; startingGcode,M116 H0,G28 ; home all axes,G10 S[first_layer_temperature]; Inicia aquecimento do bico,G29 S1 ; Bed leveling,G1 X2 Y0 F10000; Vai para X2Y0,M116 P0; Aguarda fim do aquecimento do bico,;====================,; Pausa para limpeza,M300 S2093 P287,G4 P30000,;====================,G1 Z0.2 ; Vai para Z0.2,G92 E0 ;zero the extruded length again,G1 E10 F1000 ; Purga fora do vidro,G1 Y60 E9 F1000 ; Linha de purga 1,G1 Y90 E12.5 F1000; Linha de purga 2,G92 E0 ;zero the extruded length again

          1 Reply Last reply Reply Quote 0
          • brunofportoundefined
            brunofporto
            last edited by

            I'll try to create some "start.g" macro and let it all happens within duet - but I do no know hot to make this macro to "read" the correct temperatures from the print gcode.

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              It won't be able to read the temp from the slicer.

              Ive done the same thing though, I let the slicer set the temps and then it moves on to my start.g on the duet. For simplify you can probably tell it how to behave, I'm not very familiar with it. For slicer it will heat the bed then the hotend by default.

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • nhofundefined
                nhof
                last edited by

                Note that in the latest version of RRF, it will run the start.g macro automatically before any of the sliced g-code file is run (i.e. before the temperatures are set).

                You may have to create an alternate macro (start2.g for example) in the /sys/ folder, and call it up in the slicer startup script using M98 P/sys/start2.g. This would run the new start macro only after temperatures are set by the g-code.

                1 Reply Last reply Reply Quote 2
                • Phaedruxundefined
                  Phaedrux Moderator
                  last edited by

                  That's exactly right. I use startgcode.g

                  This is actually handy because you can use start.g to home the printer and move the nozzle and then the temps can even set by the slicer and then you can call a macro of your own to prime or whatever.

                  With a little bouncing around between start.g the slicer gcode and called macros you can get pretty good control.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 1
                  • brunofportoundefined
                    brunofporto
                    last edited by

                    Just realized that the REAL start gcode was well below 😄

                    And it send the command to heat the bed and tool there. I'll try to work with it.

                    Also, I could not find the start.g at my sys files (just updated to the latest firmware, 2.0) should I create it?

                    1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator
                      last edited by Phaedrux

                      Yeah if you haven't used the configurator recently to generate a config set it may not exist for you. You can create it yourself.

                      There is also an stop.g that will run at the end of the print. I started using that for the slicer end code as well so that I don't have to modify each slicer when I make changes. It's nice to have it all in one place since I switch between slicers often.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      brunofportoundefined 1 Reply Last reply Reply Quote 1
                      • brunofportoundefined
                        brunofporto @Phaedrux
                        last edited by

                        @phaedrux That is the plan! I'll transfer everything not related to temperature to these macros.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA