Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. flobler
    3. Posts
    • Profile
    • Following 0
    • Followers 0
    • Topics 20
    • Posts 126
    • Best 11
    • Controversial 1
    • Groups 0

    Posts made by flobler

    • RE: Printer ignores Gcode pre-print

      @flobler OK, I figured it out already 😄

      This was a stupid typo that I then carried from bed-temperature.g to hotend-temperature.g via copy paste. I tried all these files with PLA previously which worked fine. This time I had PETG loaded but unfortunately looked for PTEG in the object model and not PETG.

      Therefore the loaded filament and my bed-temperature.g and hotend-temperature.g system files did not match and therefore not use PETG temperatures before trying to start the print.

      Sorry for the noise 😉

      posted in Tuning and tweaking
      floblerundefined
      flobler
    • Printer ignores Gcode pre-print

      Hi there!

      I created a system file that can be executed as print from different macros (i.e. printer calibration macro or first layer calibration macro), called first-layer.g. This system file contains instructions to print a square that will allow to use babystepping for first layer calibration and then stores the resulting value in config-override.g. The gcode itself has been generated via Prusaslicer and I added the start and end bits.

      I'm using a Duet Mini and I'm currently on RRF 3.4.0 and DWC 3.4.0

      This is how first-layer.g is being called via the macro "First Layer Calibration":

      ;------------------------------------------------------------------------------------------------------------------------------
      ; First Layer Calibration
      ;
      ; Description:
      ; 	- macro file
      ; 	- calibrates the first layer distance between nozzle and bed
      ; 	- stores result in config-override.g after print completes
      ;------------------------------------------------------------------------------------------------------------------------------
      
      M291 P"Do you want to start calibrating the FIRST LAYER?" S3 R"FIRST LAYER CALIBRATION" ; requires user input
      M32 "0:/sys/first-layer.g"                                                              ; executes "first-layer.g" from SD card
      

      This is first-layer.g (removed most of the Prusaslicer generated gcode as I do not think it is relevant for my problem):

      ;----------------------------------------------------------------------------------------------
      ; First Layer Calibration
      ;
      ; Description:
      ; 	- gcode file
      ; 	- print to calibrate the distance between nozzle and bed for the first layer
      ; 	- required user input to dial in first layer
      ;   - called via the first layer calibration macro
      ;   - needs to be stored in the gcodes folder
      ;----------------------------------------------------------------------------------------------
      
      
      ;----------------------------------------------------------------------------------------------
      ; Preparation
      ;----------------------------------------------------------------------------------------------
      
      M98 P"0:/sys/bed-temperature.g"            ; calls bed-temperature.g to set bed temperature                                     
      
      M568 S160	                        ; set hotend temperature to 160°C
      M561                                ; clear any bed transform
      M290 R0 S0                          ; clear babystepping
      G31 P1000 Z0                        ; set Z probe offset to 0
      
      
      ;----------------------------------------------------------------------------------------------
      ; First Layer Calibration
      ;----------------------------------------------------------------------------------------------
      
      M116                                ; wait for bed and hotend temperature
      G32                                 ; true bed leveling with mesh bed leveling
      
      M98 P"0:/sys/hotend-temperature.g"         ; calls hotend-temperature.g to set hotend temperature
      M116                                ; wait for bed and hotend temperature
      
      G92 E0.0                            ; reset extruder position to 0
      G1 X60.0 E9.0 F1000.0               ; intro line thin part
      G1 X100.0 E12.5 F1000.0             ; intro line thick part
      G92 E0.0                            ; reset extruder position to 0
      
      M564 S0                             ; allow movement beyond axis limits defined in config.g
      G21                                 ; set units to millimeters
      G90                                 ; use absolute coordinates
      M83                                 ; use relative distances for extrusion
      
      ;LAYER_CHANGE
      ;Z:0.2
      ;HEIGHT:0.2
      G92 E0.0                            ; reset extruder position to 0
      
      ;0.2
      G1 E-1 F3000
      G1 Z.4 F7200
      G1 X61.617 Y47.564
      G1 Z.2
      G1 E1 F3000
      M204 P1000
      
      ;TYPE:Skirt/Brim
      ;WIDTH:0.42
      G1 F1200
      G1 X64.531 Y44.274 E.13705
      G1 X67.556 Y41.623 E.12546
      G1 X70.821 Y39.39 E.12338
      G1 X74.068 Y37.676 E.11451
      
      ....
      ....
      ....
      
      ;WIPE_START
      G1 F5760;_WIPE
      G1 X87.249 Y143.176 E-.41629
      G1 F5760;_WIPE
      G1 X87.784 Y143.176 E-.26456
      G1 F5760;_WIPE
      G1 X87.467 Y142.859 E-.22165
      
      ;WIPE_END
      G1 E-.0475 F3000
      G1 Z.6 F7200
      
      
      ;----------------------------------------------------------------------------------------------
      ; Saving First Layer Height
      ;----------------------------------------------------------------------------------------------
      
      M98 P"layer-change.g" ; execute layer-change.g to save adjusted babysteps to config-override.g
      M564 S1               ; forbid movement beyond axis limits defined in config.g
      
      M291 P"First Layer Calibration completed! Z Offset saved!" S1 R"FIRST LAYER CALIBRATION"
      
      M0                    ; calls stop.g
      

      Here are bed-temperature.g and hotend-temperature.g:

      ;-----------------------------------------------------------------------------------------------------
      ; bed-temperature.g
      ;
      ; Description:
      ; 	- system file
      ; 	- called to auto-select the bed temperature according to the loaded filament
      ;-----------------------------------------------------------------------------------------------------
      
      
      if move.extruders[state.currentTool].filament == "ABS"          ; if ABS is loaded
      	M140 S{global.abs_bed_temp}                                 ; set bed to ABS temperature
      	
      if move.extruders[state.currentTool].filament == "GreenTec Pro" ; if GreenTec Pro is loaded
      	M140 S{global.greentecpro_bed_temp}                         ; set bed to GreenTec Pro temperature
      	
      if move.extruders[state.currentTool].filament == "PC"           ; if PC is loaded
      	M140 S{global.pc_bed_temp}                                  ; set bed to PC temperature
      	
      if move.extruders[state.currentTool].filament == "PTEG"         ; if PETG is loaded
      	M140 S{global.petg_bed_temp}                                ; set bed to PETG temperature
      	
      if move.extruders[state.currentTool].filament == "PLA"          ; if PLA is loaded
      	M140 S{global.pla_bed_temp}                                 ; set bed to PLA temperature
      	
      if move.extruders[state.currentTool].filament == "TPU"          ; if TPU is loaded
      	M140 S{global.tpu_bed_temp}                                 ; set bed to TPU temperature
      
      ;--------------------------------------------------------------------------------------------------------
      ; hotend-temperature.g
      ;
      ; Description:
      ; 	- system file
      ; 	- called to auto-select the hotend temperature according to the loaded filament
      ;--------------------------------------------------------------------------------------------------------
      
      
      if move.extruders[state.currentTool].filament == "ABS"          ; if ABS is loaded
      	M568 S{global.abs_hotend_temp}                              ; set hotend to ABS temperature
      	
      if move.extruders[state.currentTool].filament == "GreenTec Pro" ; if GreenTec Pro is loaded
      	M568 S{global.greentecpro_hotend_temp}                      ; set hotend to GreenTec Pro temperature
      	
      if move.extruders[state.currentTool].filament == "PC"           ; if PC is loaded
      	M568 S{global.pc_hotend_temp}                               ; set hotend to PC temperature
      	
      if move.extruders[state.currentTool].filament == "PTEG"         ; if PETG is loaded
      	M568 S{global.petg_hotend_temp}                             ; set hotend to PETG temperature
      	
      if move.extruders[state.currentTool].filament == "PLA"          ; if PLA is loaded
      	M568 S{global.pla_hotend_temp}                              ; set hotend to PLA temperature
      	
      if move.extruders[state.currentTool].filament == "TPU"          ; if TPU is loaded
      	M568 S{global.tpu_hotend_temp}                              ; set hotend to TPU temperature
      

      This is how the variables are defined in config.g:

      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Global Variables
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Filament Temperatures
      global abs_hotend_temp = 240               ; global ABS hotend temperature variable
      global abs_bed_temp = 110                  ; global ABS bed temperature variable
      
      global greentecpro_hotend_temp = 230       ; global GreenTec Pro hotend temperature variable
      global greentecpro_bed_temp = 60           ; GreenTec Pro bed temperature
      
      global pc_hotend_temp = 270                ; global GreenTec Pro hotend temperature variable
      global pc_bed_temp = 110                   ; global GreenTec Pro bed temperature variable
      
      global petg_hotend_temp = 235              ; global PETG hotend temperature variable
      global petg_bed_temp = 80                  ; global PETG bed temperature variable
      
      global pla_hotend_temp = 210               ; global PLA hotend temperature variable
      global pla_bed_temp = 60                   ; global PLA bed temperature variable
      
      global tpu_hotend_temp = 230               ; global TPU hotend temperature variable
      global tpu_bed_temp = 60                   ; global TPU bed temperature variable
      

      The problem I am currently facing is that both M98 commands who are supposed to call bed-temperature.g and hotend-temperature.g before the print are being ignored and the printer tries to start printing without the hotend or bed being heated, resulting in an error.

      Can someone help me understand what I am doing wrong?

      Thanks a lot!

      posted in Tuning and tweaking
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @dc42 my bad, as you can see above I failed to remove the G1 H1 X5 F1200

      I re-tested without and this works now. Thank you very much!

      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @dc42 Yes, they do and as soon as the axes move towards the endstop, they stall. If it helps I can send you a video of the behavior?

      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      For reference, this is what I just tried:

      homeall.g

      ;----------------------------------------------------------------------------
      ; homeall.g
      ;
      ; Description:
      ; 	- system file
      ; 	- called to home all axes
      ; 	- used in homez.g
      ;----------------------------------------------------------------------------
      
      
      ;----------------------------------------------------------------------------
      ; Preparation
      ;----------------------------------------------------------------------------
      
      M98 P"homing-modifications.g" ; calls homing-modifications.g
      
      ; Lift Z Axis
      G91                           ; relative positioning
      G1 H2 Z5 F1200                ; lift Z axis by 5mm	
      M400                          ; wait for current moves to finish
      
      
      ;----------------------------------------------------------------------------
      ; Home X Axis
      ;----------------------------------------------------------------------------
      
      M17 X
      G4 P140
      G1 H2 X5 F1200
      
      G1 H1 X5 F1200                ; move X axis away from homing position by 5mm
      G1 H1 X-255 F3000             ; move to X axis endstop and stop there
      G1 X5 F1200                   ; move back by 5mm
      G1 H1 X-10 F3000              ; move to X axis endstop again
      G1 X10 F1200                  ; move back by 10mm
      M400                          ; wait for current moves to finish
      
      ;----------------------------------------------------------------------------
      ; Home Y Axis
      ;----------------------------------------------------------------------------
      
      M17 Y
      G4 P140
      G1 H2 Y5 F1200
      
      G1 H1 Y5 F1200                ; move Y axis away from homing position by 5mm
      G1 H1 Y-220 F3000             ; move to Y axis endstop and stop there
      G1 Y5 F1200                   ; move back by 5mm
      G1 H1 Y-10 F3000              ; move to Y axis endstop again
      G1 Y10 F1200                  ; move back by 10 mm
      M400                          ; wait for current moves to finish
      
      ;----------------------------------------------------------------------------
      ; Home Z Axis
      ;----------------------------------------------------------------------------
      
      G90                           ; absolute positioning
      G1 X11.5 Y4.5 F6000           ; go to first probe point
      G30                           ; home Z axis by probing the bed
      G1 Z0.6 F500                  ; move Z axis to 0.6mm
      G91                           ; relative positioning
      G1 Z1 F500                    ; lift Z axis by 1mm
      M400	     	              ; wait for current moves to finish
      
      
      ;----------------------------------------------------------------------------
      ; Restore Defaults
      ;----------------------------------------------------------------------------
      
      M98 P"homing-modifications-reset.g" ; calls homing-modifications-reset.g
      

      homing-modifications.g

      ;---------------------------------------------------------------------------------
      ; homing-modifications.g
      ;
      ; Description:
      ; 	- system file
      ; 	- sets motor current and V parameter for homing moves
      ; 	- tunes motor drivers
      ; 	- used in all homing system files
      ;---------------------------------------------------------------------------------
      
      
      ;---------------------------------------------------------------------------------
      ; Modifications
      ;---------------------------------------------------------------------------------
      
      M569 P0.3 V10           ; reduce V parameter to ensure stealthChop is enabled for X
      M569 P0.2 V10           ; reduce V parameter to ensure stealthChop is enabled for Y
      M913 X60 Y60            ; drop X and Y motor current to 60%
      G4 P150                 ; wait 150ms
      
      

      homing-modifications-reset.g

      ;-----------------------------------------------------------------------
      ; homing-modifications-reset.g
      ;
      ; Description:
      ; 	- system file
      ; 	- resets all homing modifications applied in homing_modifications.g
      ; 	- used in all homing system files
      ;-----------------------------------------------------------------------
      
      
      M913 X100 Y100  ; reset X and Y motor current to 100%
      M569 P0.3 V2000 ; restore default V parameter for X
      M569 P0.2 V2000 ; restore default V parameter for Y
      G90             ; absolute positioning
      
      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @dc42 Thank you! I just tried that but the behavior did not change. X and Y are still stalling immediately when trying to home after a power cycle and home fine after that initial false stall until I power cycle the printer again.

      I had a tuning move included in homing-modifications.g (which I removed to test what you suggested).

      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: M291 messages ignored by PanelDue

      @mfs12 it looks like upgrading everything to 3.4.0 fixed this for me and all messages are now displayed as they should 🙂 thank you very much for your help along the way!!!

      posted in PanelDue
      floblerundefined
      flobler
    • RE: Filament Sensor Error reported while not printing from SD

      This fixed my issue, thank you for your help @Stephen6309!

      posted in Using Duet Controllers
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @oliof yes, that makes sense. I assume before you upgraded to RRF 3.4.0 you did not specifically configure your drivers as D3 (because they did that by default). Now they default to D2, hence you need to tell them specifically to operate in stealthChop2 before homing (via D3).

      If you just configure your drivers as D3 now in config.g you should also be able to home just fine without switching between D2 and D3.

      May I ask how your homing files look like? I'd like to see if you are doing something different to tune your drivers. Thank you!

      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @oliof this did not help in my case. I think in your case you utilized that the drivers were defaulting to stealthChop before going to RRF 3.4.0 and therefore you needed to give them instructions to use stealthChop2 after the upgrade (as with RRF 3.4.0 the default now is spreadCycle).

      My problem is not really that homing is not working generally. Homing works totally fine and smooth just not right after I power-cycle my printer when trying to home for the first time.

      Thank you for the suggestion though!

      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @oliof thank you, I will give that a go and report back!

      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: Filament Sensor Error reported while not printing from SD

      @stephen6309 that makes sense, I assumed there would be a different between the status "printing" and other things the printer is busy with.

      Thank you for your help, I assume what you suggested will solve my problem but I'll still update here once Itested this 🙂

      posted in Using Duet Controllers
      floblerundefined
      flobler
    • RE: Filament Sensor Error reported while not printing from SD

      @stephen6309 Thank you, I will try this!

      But in the end, should it not only report errors while printing anyway? I thought S1 would configure it for that according to: https://docs.duet3d.com/User_manual/Reference/Gcodes#m591-configure-filament-sensing

      posted in Using Duet Controllers
      floblerundefined
      flobler
    • RE: Filament Sensor Error reported while not printing from SD

      Here is the PID tuning macro I am currently using for the nozzle as example:

      ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      ; PID Nozzle
      ;
      ; Description:
      ; 	- macro file
      ; 	- PID tuning routine for the nozzle
      ; 	- unloads filament before PID tuning
      ; 	- PID tuning will approx. take 5 minutes
      ; 	- do not leave printer unattended
      ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      
      ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      ; Preparation
      ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      M291 P"PID tuning the NOZZLE will take approx. 5 minutes!" S2 R"PID NOZZLE"                    ; requires user acknowledgement
      M291 P"Do NOT leave the printer unattended during the calibration procedure!" S2 R"PID NOZZLE" ; requires user acknowledgement
      M702                                                                                           ; unloads currently assigned filament
      
      if heat.heaters[1].current > 50                 ; if hotend temperature is > 50°C
      	M568 S0                                     ; turn off hotend heater
      	M140 S0                                     ; turn off bed heater
      	M106 S1                                     ; turn on part cooling fan at 100%
      	M291 P"Cooling HOTEND to below 50°C!" S1 T0 ; message to inform that hotend is cooling down
      
      while heat.heaters[1].current > 50              ; as long as hotend temperature is > 50°C
      	G4 S3                                       ; wait 3 seconds, then read hotend temperature again, repeats until hotend temperature is =< 50°C
      	
      M107                                            ; turn off part cooling fan
      
      
      ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      ; PID Nozzle
      ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Touning Routine
      M291 P"Do you want to start the PID tuning routine for the NOZZLE at 230°C?" S3 R"PID NOZZLE" ; requires user input
      
      if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed                          ; if not all axes are homed
        G28                                                                                         ; home all axes
      
      G90                                                                                           ; absolute positioning
      G1 X{move.axes[0].max/2} Y{move.axes[1].max/2} Z50                                            ; move X and Y axis to their center, lift Z axis 50mm above the bed
      
      M303 T0 S230                                                                                  ; perform PID tuning routine for tool 0 at 230°C
      
      while heat.heaters[1].state = "tuning"                                                        ; while the tuning procedure is active
      	M291 P"Tuning..." S1 T0 R"PID NOZZLE"                                                     ; message confirming that tuning is in progress
      	G4 S15                                                                                    ; wait for 15 seconds, then check for tuning status again until tuning procedure is finished
      
      ; Storing Results
      M307 H1		                                                                                  ; report PID tuning values for the hotend heater
      M500 P31                                                                                      ; save results to config-override.g
      
      M104 S0                                                                                       ; turn off hotend heater
      
      M291 P"PID tuning for the NOZZLE complete! Values are saved." S2 R"PID NOZZLE"                ; requires user acknowledgement
      

      The error appears after the M702 in line 19 and the macro does not continue after

      posted in Using Duet Controllers
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @dc42 @Phaedrux I have not managed to figure out what I am doing wrong yet and the behavior is still consistent across two machines.

      Do you have any hints? Is my driver tuning procedure configured wong?

      Thank you 🙂

      P.S.: May I aske why this is categorized under "Beta Firmware"?

      posted in Beta Firmware
      floblerundefined
      flobler
    • Filament Sensor Error reported while not printing from SD

      Hi all,

      I have a filament sensor configured for my Prusa Bear MK3s (Duet 3 Mini 5+; RRF 3.4.0; DWC 3.4.0):

      M591 D0 P2 C"io3.in" S1                    ; configure filament sensor for extruder drive 0 on pin io3.in and turn it on
      

      Here is my config.g:

      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; config.g
      ;
      ; Duet 3 Mini 5+
      ; RRF Version BUILD_VARIABLE_RRF_VERSION
      ; Bear Configuration BUILD_VARIABLE_BEAR_CONFIG_VERSION
      ; 
      ; Description:
      ;  	- main configuration file
      ;	- executed on start-up
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; General Preferences
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      G90                                        ; absolute positioning
      M83                                        ; extruder relative positioning
      M550 P"duet-bear"                          ; set printer name
      
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Network
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      if {network.interfaces[0].type = "ethernet"} ; network type = ethernet
          M552 P0.0.0.0 S1                         ; enable network and acquire dynamic address via DHCP
      else                                         ; network type = wifi
          M552 S1                                  ; enable network
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Drives
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      M569 P0.0 D3 V10 S0                        ; physical drive 0.0 goes backwards / Z-left  / reduced V parameter to enable stealthChop
      M569 P0.1 D3 V10 S0                        ; physical drive 0.1 goes backwards / Z-right / reduced V parameter to enable stealthChop
      M569 P0.2 D3 S1                            ; physical drive 0.2 goes forwards  / Y 
      M569 P0.3 D3 S0                            ; physical drive 0.3 goes backwards / X
      M569 P0.4 D3 S1                            ; physical drive 0.4 goes forwards  / E
      
      M584 X0.3 Y0.2 Z0.0:0.1 E0.4               ; set drive mapping
      
      M671 X-36.5:293.5 Y0:0                     ; define lead screw positions
      
      M350 X32 Y32 Z32 E64 I1                    ; configure microstepping with interpolation
      M92 X200.00 Y200.00 Z800.00 E1660.00       ; set steps per mm
      
      M566 X480.00 Y480.00 Z48.00 E300.00        ; set maximum instantaneous speed changes (mm/min)
      M203 X24000.00 Y24000.00 Z1200.00 E6000.00 ; set maximum speeds (mm/min)
      M201 X4000.00 Y4000.00 Z1000.00 E1500.00   ; set accelerations (mm/s^2)
      
      M906 X490 Y490 Z490 E400 I40               ; set motor currents (mA) and motor idle factor in per cent
      
      M84 S60                                    ; set idle timeout
      M564 H0 S1                                 ; allow unhomed movement and forbid axis movement outside defined limits
      
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Axis Limits
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      M208 X0 Y-4 Z0 S1                          ; set axis minima
      M208 X250 Y212.5 Z210 S0                   ; set axis maxima
      
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Endstops
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      M574 X1 S3                                 ; configure sensorless endstop for low end on X
      M574 Y1 S3                                 ; configure sensorless endstop for low end on Y
      M915 X S3 F0 H200 R0                       ; set the X axis sensitivity
      M915 Y S3 F0 H200 R0                       ; set the Y axis sensitivity
      
      M591 D0 P2 C"io3.in" S1                    ; configure filament sensor for extruder drive 0 on pin io3.in and turn it on
      
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Z-Probe
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      M558 P5 C"^io2.in" H5 F500 T10000 A1       ; set Z probe type to switch on pin io2.in, dive height + speed, travel speeds and number of probes 
      G31 P1000 X23 Y5 Z0                        ; set Z probe trigger value, offset and trigger height
      M557 X24:228 Y6:208 P7:7                   ; define mesh grid
      
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Heaters
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Bed Heater
      M308 S0 P"temp0" Y"thermistor" T100000 B4725 C7.06e-8 A"Bed"    ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" Q50 T0                                          ; create bed heater output on out0 and map it to sensor 0, PWM frequency 50Hz
      M307 H0 B0 S1.00                                                ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                                         ; map heated bed to heater 0
      M143 H0 S110                                                    ; set temperature limit for heater 0 to 110°C
      
      ; Hotend Heater
      M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 A"Nozzle" ; configure sensor 1 as thermistor on pin temp1
      M950 H1 C"out1" T1                                              ; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S1.00                                                ; disable bang-bang mode for heater and set PWM limit
      M143 H1 S300                                                    ; set temperature limit for heater 1 to 300°C
      
      ; PID Parameters (replaced by parameters stored in config-override.g once auto-tuning has been completed)
      M307 H0 R0.272 C450.420:450.420 D11.34 S1.00 V24 B0 I0          ; default heater model parameters bed
      M307 H1 R4.253 C178.556:93.430 D2.87 S1.00 V24 B0 I0            ; default heater model parameters hotend
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Fans
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Part Cooling Fan
      M950 F0 C"out5" Q500                       ; create fan 0 on pin out5 and set its frequency
      M106 P0 C"Part Cooling" S0 H-1             ; set fan 0 name and value. Thermostatic control is turned off
      
      ; Hotend Fan
      M950 F1 C"out3" Q500                       ; create fan 1 on pin !out3 and set its frequency
      M106 P1 C"Hotend" S1 H1 T50                ; set fan 1 name and value, thermostatic control is turned on
      
      ; Case Fan
      M950 F2 C"out6" Q500                       ; create fan 2 on pin out6 and set its frequency
      M106 P2 C"Case" S1 H1 T50                  ; set fan 2 name and value, thermostatic control is turned on
      
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Tools
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      M563 P0 D0 H1 F0                           ; define tool 0
      G10 P0 X0 Y0 Z0                            ; set tool 0 axis offsets
      G10 P0 R0 S0                               ; set initial tool 0 active and standby temperatures to 0°C
      M302 S180 R180                             ; allow extrusion and retraction starting at 180°C
      
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Global Variables
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Filament Temperatures
      global abs_hotend_temp = 240               ; global ABS hotend temperature variable
      global abs_bed_temp = 110                  ; global ABS bed temperature variable
      
      global greentecpro_hotend_temp = 230       ; global GreenTec Pro hotend temperature variable
      global greentecpro_bed_temp = 60           ; GreenTec Pro bed temperature
      
      global pc_hotend_temp = 270                ; global GreenTec Pro hotend temperature variable
      global pc_bed_temp = 110                   ; global GreenTec Pro bed temperature variable
      
      global petg_hotend_temp = 235              ; global PETG hotend temperature variable
      global petg_bed_temp = 80                  ; global PETG bed temperature variable
      
      global pla_hotend_temp = 210               ; global PLA hotend temperature variable
      global pla_bed_temp = 60                   ; global PLA bed temperature variable
      
      global tpu_hotend_temp = 230               ; global TPU hotend temperature variable
      global tpu_bed_temp = 60                   ; global TPU bed temperature variable
      
      
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      ; Miscellaneous
      ;----------------------------------------------------------------------------------------------------------------------------------------------
      
      M575 P1 S1 B57600                          ; enable support for PanelDue
      M501                                       ; load saved parameters from non-volatile memory
      T0                                         ; select tool 0
      

      The problem I am facing right now is that I get a filament error reported even when I am not printing from SD card. So when I power up the printer and no filament is loaded, I get the following message:

      Error: Filament error on extruder 0: noFilament
      

      The message alone would not be a big problem (still feels misplaced though) but I have some macros where I am unloading filament first (like for PID tuning). Once I unloaded the filament, I get the above error and the macro is interrupted and won't continue without manually triggering it again.

      Am I doing something wrong? My understanding is that the error should only be reported/or interrupt when the printer is actually printing from SD card.

      posted in Using Duet Controllers
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @gloomyandy Thanks for the input! I tried to make the move longer and also to add the second M400 which both did not change the behavior.

      What I also tried is to play with the sensitivity for stall detection as I thought maybe something changed here and the drivers are just being configured too sensitive. I used S3 for both axes on RRF 3.3. With RRF 3.4.0 I went all the way up to the least sensitive value (63) which also did not help. The motors still stall immediately when trying to home after a power-cycle.

      So to me there is two things than could be going wrong:

      a) I am doing something wrong with the tuning move (but I am not sure what and the docs are not very clear here); then I am still a bit confused why it did not happen in RRF 3.3

      b) Something changed from RRF 3.3 to 3.4.0 that breaks the stealthChop tuning procedure

      If any of my other settings were wrong (i.e. speed, current, acceleration or jerk) then I don't think the motors would home properly after this initial false stall after a power-cycle.

      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @del87 thamks for chiming in but that is accounted for in config.g and I am certain the drivers are set to operate in stealthChop mode when trying to home. Otherwise hpming would not work at all and not just after a power cycle of the printer.

      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @dc42 @Phaedrux to my understanding I am performing the stealthchop tuning in the homing-modifications.g file.

      The main issue though is that these files have worked with both my printers for RRF 3.3 but do not work in RRF 3.4.0.

      This indicates to me that something has been changed in RRF 3.4.0, preventing us from homing directly after a power cycle.

      Am I doing something wrong? If so, why does it work without problem in RRF 3.3?

      Thanks for your time!

      posted in Beta Firmware
      floblerundefined
      flobler
    • RE: RRF 3.4.0 Sensorless Homing Issues after Power Cycle

      @dc42 did you have a chance to look into this? 🙂

      Please feel free to let me know if there is something I can do to help troubleshoot.

      posted in Beta Firmware
      floblerundefined
      flobler