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

    Job.Layer not working anymore with 3.3rc2

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    3
    6
    642
    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.
    • SIamundefined
      SIam
      last edited by

      Hi,

      Did i have something overlooked? I use this Macro to calibrate PA and it was Working with RFF3.2

      ;Increase pressure advance by 0.005 every 5 layers
      echo "Layer " ^ job.layer
      if job.layer == 1
      
      	M572 D0 S0.00 ; starting value
      
      	echo "Layer " ^ job.layer ^ " started"
      
      	echo "Pressure advance reset to " ^ {move.extruders[0].pressureAdvance + 0.000}
      
      elif mod(job.layer, 25) == 0 ; no. of layers
      
      	M572 D0 S{move.extruders[0].pressureAdvance + 0.01} ; increment
      
      	echo "Layer " ^ job.layer ^ " started"
      
      	echo "Pressure advance = " ^ {move.extruders[0].pressureAdvance + 0.000}
      

      The same script Throws with 3.3rc 2 the following error:

      16.5.2021, 15:56:02	M98 P"0:/macros/pa-calibrate"
      Layer null
      Error: in file macro line 3 column 15: meta command: expected an expression
      

      Here is The problem that the Value of job.layer is NULL and not 0 so i have tried to fix it with the following change:

      ;Increase pressure advance by 0.005 every 5 layers
      echo "Layer " ^ job.layer
      if job.layer != null
      	if job.layer == 1
      
      		M572 D0 S0.00 ; starting value
      
      		echo "Layer " ^ job.layer ^ " started"
      
      		echo "Pressure advance reset to " ^ {move.extruders[0].pressureAdvance + 0.000}
      
      	elif mod(job.layer, 25) == 0 ; no. of layers
      
      		M572 D0 S{move.extruders[0].pressureAdvance + 0.01} ; increment
      
      		echo "Layer " ^ job.layer ^ " started"
      
      		echo "Pressure advance = " ^ {move.extruders[0].pressureAdvance + 0.000}
      

      The good thing the error is gone but the bad thing job.layer will never updated and stays on NULL I have looked in the object model Browser and here is this message:

      Selected node: job.layer
      Summary
      
      Number of the current layer or null not available
      

      Did i something make wrong here? was here a change which i have overlooked?

      Hypercube-Evolution-Hybrid, Piezo Orion, Orbiter
      Duet WiFi 1.02 or later + DueX5
      RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.0beta4 (2021-09-27 11:30:36)
      Duet WiFi Server: 1.26
      Duet Web Control 3.4.0beta4 (2021-09-27)

      dc42undefined 1 Reply Last reply Reply Quote 1
      • dc42undefined
        dc42 administrators @SIam
        last edited by

        @siam as from 3.3beta2 RRF no longer attempts to work out the layer number from changes in the Z coordinate. It often got it wrong and modern slicer features such as variable layer height confused it. RRF does now recognise layer number comments in the GCode files generated by most slicers. See https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta-&-RC#reprapfirmware-33beta2.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        SIamundefined 1 Reply Last reply Reply Quote 0
        • SIamundefined
          SIam @dc42
          last edited by

          @dc42 Ok that makes sense thanks !

          Hypercube-Evolution-Hybrid, Piezo Orion, Orbiter
          Duet WiFi 1.02 or later + DueX5
          RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.0beta4 (2021-09-27 11:30:36)
          Duet WiFi Server: 1.26
          Duet Web Control 3.4.0beta4 (2021-09-27)

          SIamundefined 1 Reply Last reply Reply Quote 0
          • SIamundefined
            SIam @SIam
            last edited by

            @siam if someone have the same issue add the following line (in Prusaslicer) to the G-Code before layer change:

            ; layer [layer_num], Z = [layer_z]
            

            And use this Script

            ;Increase pressure advance by 0.005 every 5 layers
            echo "Layer " ^ job.layer
            if job.layer != null
            	if job.layer == 1
             
            		M572 D0 S0.00 ; starting value
             
            		echo "Layer " ^ job.layer ^ " started"
             
            		echo "Pressure advance reset to " ^ {move.extruders[0].pressureAdvance + 0.000}
             
            	elif mod(job.layer, 25) == 0 ; no. of layers
             
            		M572 D0 S{move.extruders[0].pressureAdvance + 0.01} ; increment
             
            		echo "Layer " ^ job.layer ^ " started"
             
            		echo "Pressure advance = " ^ {move.extruders[0].pressureAdvance + 0.000}
            
            

            Hypercube-Evolution-Hybrid, Piezo Orion, Orbiter
            Duet WiFi 1.02 or later + DueX5
            RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.0beta4 (2021-09-27 11:30:36)
            Duet WiFi Server: 1.26
            Duet Web Control 3.4.0beta4 (2021-09-27)

            1 Reply Last reply Reply Quote 3
            • nurooundefined
              nuroo
              last edited by nuroo

              I was also wondering why I no longer so layer number. Glad I found this thread. Can I ask what model you use with your pressure advance script?
              Do you call your script at end of start gcode?

              SIamundefined 1 Reply Last reply Reply Quote 0
              • SIamundefined
                SIam @nuroo
                last edited by

                @nurooi use a 100mm cube, 1 bottom layer, 1 perimeters, and no infill. the Script will called on layer change in the slicer

                Hypercube-Evolution-Hybrid, Piezo Orion, Orbiter
                Duet WiFi 1.02 or later + DueX5
                RepRapFirmware for Duet 2 WiFi/Ethernet 3.4.0beta4 (2021-09-27 11:30:36)
                Duet WiFi Server: 1.26
                Duet Web Control 3.4.0beta4 (2021-09-27)

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