RRF 3.1.0 from 2.03



  • Hello all,

    I've just upgraded my fw from RRF 2.03 to 3.1.0, DWC 1.24 and PanelDue 1.24 for my Duet WiFi.

    I've just spent a bunch of time trying to configure my config from 2.03 to 3.1.0.

    I think it might be OK but hoping one of you who are much better at this than I could have a look and make sure I haven't missed anything glaringly obvious (as I still don't think I understand the GPIO concept). Please ignore the many, long commented notes - I make quite a lot so I can attempt to understand what I'm doing!

    My config.g 2.03:

    ; config.g
    ; 11/5/20
    
    ; fusion3 f400-s, s/n: 1060
    ; duet 2.03, wifiserver 1.23, dwc 1.22.6
    M111 S0                             		; debug off
    M550 PFusion3 F400		        	; web control printer name ("P" then name)
    M551 Preprap                     		; web control password ("P" then pass, reprap = no password required)
    M552 S1						; enable wifi module
    M555 P2                             		; output looks like marlin
    M575 P1 B57600 S1				; comms parameters for paneldue
    
    ;===* machine config *==========================;
    M569 P0 S1					; drive 0 - forward [x motor]
    M569 P1 S1					; drive 1 - forward [y motor]
    M569 P2 S0					; drive 2 - backward [z motor]
    M569 P3 S0					; drive 3 - backward [e motor]
    M569 P4 S0					; drive 4 - backwards [not used]
    M574 X1 Y1 Z2 S1				; endstop config
    M669 K1						; op mode [corexy] (2.03+)
    M92 X43.56 Y43.56 Z426.67 E464.93		; steps/mm [x,y,z,extruder]
    M906 X1300 Y1300 Z1400 E1400 I100   		; motor currents (mA)
    M201 X2000 Y2000 Z100 E4000	        	; accelerations (mm/s^2)
    M203 X33000 Y33000 Z1000 E10000     		; max speeds (mm/min)
    M566 X600 Y600 Z40 E950	     			; max instantaneous speed change [jerk] (mm/min)
    M208 X0 Y0 Z0 S1				; axis min
    M208 X355 Y355 Z325 S0				; axis max
    M671 X-27.5:-27.5:365:365 Y-40:414:414:-40 P0.5	; bed-levelling screws: front left (X-27.5, Y-40), rear left (X-27.5, Y414), rear right (X365,Y414), front right (X365, Y-40), 0.5mm thread pitch (m3)
    G21						; work in mm
    G90						; absolute co-ords
    M83						; relative movements (extruder)
    
    ; * remove drive 4 as not used
    
    ;===* z-probe *=================================;
    M558 P8 I1 R0.4 F800 T15000 H5			; probe type, inverted (active high), 0.4s recovery (travel stop to probe dive), 800mm/min probing speed, 15000mm/min travel between probes, 5mm dive height
    G31 X0 Y0 Z-0.1 P500				; x,y,z probe offset from nozzle [probe is nozzle], trigger value (probe threshold)
    M557 X0:355 Y0:355 P21				; x & y min:max co-ords & mesh compensation no. probe points each axis (2.02+) ( >max: (duet wifi max: 21x21 = 441 probes))
    
    ; * P5 (1.14+) = switch (default NC) for bed probing between In & Gnd pins of z-probe connector. P8 = P5 but unfiltered (faster response time)
    
    ;===* heaters & thermistors *===================;
    ; M301 H0 P876.6 I39.016 D466.2			; h0 (bed-heater) computed [override] pid parameters: not used (as would prevent rrf from using diff. parameters depending on the heating phase)
    ; M301 H1 P15.6 I0.489 D41.3			; h1 (hot-end) computed [override] pid parameters: not used (as would prevent rrf from using diff. parameters depending on the heating phase)
    M307 H0 V24.0 A178.1 C664.6 D0.8 S1.0 I0 B0	; h0 (bed-heater) heating process parameters: calibrated voltage: 24.0 vdc (pid controller compensates), gain (temp rise (deg C)/pwm fraction (1.00): 178.1, time constant for heating: 664.6s, dead time: 0.8s, pwm max (0-1.00): 1.00, inverted: no, frequency: default, pid mode: active (non-override)
    M307 H1 V24.0 A823.6 C271.9 D3.8 S1.0 I0 B0	; h1 (hot-end) heating process parameters: calibrated voltage: 24.0 vdc (pid controller compensates), gain (temp rise (deg C)/pwm fraction (1.00): 823.6, time constant for heating: 271.9s, dead time: 3.8s, pwm max (0-1.00): 1.00, inverted: no, frequency: default, pid mode: active (non-override)
    M143 H0 S120 A1 C0 P140				; h0 (bed-heater) max temp: 120C - switch off permanently if >140C
    M143 H1 S300 A1 C0 P340				; h1 (hot-end) max temp: 300C -  switch off permanently if >340C
    M305 P0 S"bed" R4700 T100000 B4036 ;H_ L_	; p0 (bed-heater temp sensor), 4.7k ohms (series R), 100k ohms @ 25C, beta: 4036 (steinhart-hart thermistor model: reciprocal of b coefficient, not c coefficient!)
    M305 P1 S"hot-end" R4700 T100000 B4725 ;H_ L_	; p1 (hot-end temp sensor), 4.7k ohms (series R), 100k ohms @ 25C, beta: 4725 (steinhart-hart thermistor model: reciprocal of b coefficient, not c coefficient!)
    
    ; * (m305 unknown) h: adc low offset. for current loop sensors this is the temp when the current is 4mA, l: adc high offset. for current loop sensors this is the temp when the current is 20mA
    
    ;===* tool definitions *========================;
    M563 P0 D0 H1    			   	; define tool 0 [hot end]
    G10 P0 S0 R0		        		; tool 0 [hot end] operating & standby temps
    M563 P2 H0					; define tool [2??] [heat bed]
    G10 P2 S0 R0					; tool [2??] [heat bed] operating & standby temps
    ; * M572 D0 S0.20				; * extruder pressure advance [*current setting is from fusion3 (disabled) - to update as needed...]
    T0						; select hot end
    
    ; * tool 2 / bed? web control shows both tool 2 AND bed...?
    


  • My 3.1.0:

    ; config.g
    ; 17/5/20
    
    ; fusion3 f400-s, s/n: 1060
    ; rrf 3.1.0, wifiserver 1.23, dwc 1.24
    
    M111 S0                             		; debug off
    M550 PFusion3 F400		        	; dwc printer name
    M551 Preprap                     		; dwc password (reprap = no password req)
    M552 S1						; enable wifi module
    M555 P2                             		; output looks like marlin
    M575 P1 S1 B57600				; paneldue parameters
    
    ;===* machine config *==========================;
    M569 P0 S1					; drive 0 - forward [x motor]
    M569 P1 S1					; drive 1 - forward [y motor]
    M569 P2 S0					; drive 2 - backward [z motor]
    M569 P3 S0					; drive 3 - backward [e motor]
    ; M569 P4 S0					; drive 4 - backwards [not used]
    M574 X1	S1 P"xstop"				; x endstop (min), type: microswitch (active high), "xstop" pin
    M574 Y1	S1 P"ystop"				; y endstop (min), type: microswitch (active high), "ystop" pin
    M574 Z2 S1 P"zstop"				; z endstop (max), type: microswitch (active high), "zstop" pin
    M669 K1						; op mode [corexy] (2.03+)
    M671 X-27.5:-27.5:365:365 Y-40:414:414:-40 P0.5	; bed-levelling screws: front left (X-27.5, Y-40), rear left (X-27.5, Y414)
    						; rear right (X365,Y414), front right (X365, Y-40), 0.5mm thread pitch (m3)
    M92 X43.56 Y43.56 Z426.67 E464.93		; steps/mm [x,y,z,extruder]
    M906 X1300 Y1300 Z1400 E1400 I100   		; motor currents (mA)
    M201 X2000 Y2000 Z100 E4000	        	; accelerations (mm/s^2)
    M203 X33000 Y33000 Z1000 E10000     		; max speeds (mm/min)
    M566 X600 Y600 Z40 E950	     			; max instantaneous speed change [jerk] (mm/min)
    M208 X0 Y0 Z0 S1				; axis min
    M208 X355 Y355 Z325 S0				; axis max
    G21						; work in mm
    G90						; absolute co-ords
    M83						; relative movements (extruder)
    
    ; drive 4 not used by f400 - delete if no issues with commenting out!
    ; paneldue connector not dedicated to paneldue: use m575 p1 s1 b57600 to enable it (can use baudrates other than 57600, however, IAP files assume 57600; therefore, if another baudrate used then paneldue won't display firmware update progress
    
    ;===* heaters & thermistors *===================;
    ; m308 replaces m305
    ; m140 (configure bed heater) must come after m950 (creates the heater) and before m307 (sets heater parameters), m143 (sets temp limit for heaters) and m563 (create tool - which use the heater)
    
    ; m308 unknowns:
    ; h: adc low offset correction. temp when the current is 4mA (current loop sensors)
    ; l: adc high offset correction. temp when the current is 20mA (current loop sensors)
    ; default h & l = 0 (ignored if the hardware supports automatic adc gain and offset calibration)
    
    ; set pid parameters:
    ; M301 H0 P876.6 I39.016 D466.2			; h0 (bed-heater) computed [override] pid parameters: not used as would prevent rrf
    						; from using diff. parameters depending on the heating phase
    ; M301 H1 P15.6 I0.489 D41.3			; h1 (hot-end) computed [override] pid parameters: not used as would prevent rrf from
    						; using diff. parameters depending on the heating phase
    ; set sensor parameters:
    M308 S0 P"bed_temp" Y"thermistor" T100000 B4036 R4700 A"asdf" ;H_ L_	; "bed_temp" sensor, sensor  no. 0, pin name, sensor type,
    									; 100k ohms @ 25C, beta: 4036 (reciprocal of xteinhart-hart
    									; thermistor model b coefficient), 4.7k ohms (series R), sensor
    									; name (dwc)
    M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 C7.06e-8	"qwert" ;H_ L_	; "e0" (hot-end) sensor, sensor  no. 1, pin name, sensor type,
    									; 100k ohms @ 25C, beta: 4725 (reciprocal of xteinhart-hart
    									; thermistor model b coefficient), steinhart coefficient,
    									; sensor name (dwc)
    ; create heater
    M950 H0 C"bed_heat" T0				; heater no., "bed_heat" pin name, uses sensor no. 0 ("bed_temp")
    M950 H1 C"e0_heat" T1				; heater no., "e0_heat" pin name, uses sensor no. 1 ("e0_temp")
    
    ; set heat process parameters:
    M307 H0 V24.0 A178.1 C664.6 D0.8 S1.0 I0 B0	; h0 (bed-heater) heating process parameters: calibrated voltage: 24.0 vdc (pid
    						; controller compensates), gain (temp rise (deg C)/pwm fraction (1.00): 178.1, time
    						; constant for heating: 664.6s, dead time: 0.8s, pwm max (0-1.00): 1.00, inverted: no,
    						; frequency: default, pid mode: active (non-override)
    M307 H1 V24.0 A823.6 C271.9 D3.8 S1.0 I0 B0	; h1 (hot-end) heating process parameters: calibrated voltage: 24.0 vdc (pid controller
    						; compensates), gain (temp rise (deg C)/pwm fraction (1.00): 823.6, time constant for
    						; heating: 271.9s, dead time: 3.8s, pwm max (0-1.00): 1.00, inverted: no, frequency:
    						; default, pid mode: active (non-override)
    
    ; set bed temp / configure bed temp:
    M140 H0						; informs fw bed heater 0 (implied due to no p parameter) uses heater 0
    
    ; max heaters temps:
    M143 H0 P0 S140 C0 A1				; h0 (bed-heater) max temp: 140C - switch off permanently if >140C
    M143 H1 P0 S300 C0 A1				; h1 (hot-end) max temp: 300C -  switch off permanently if >300C
    
    ;===* z-probe *=================================;
    M558 P1 C"!zprobe.in" R2 H5 F800 T15000	A5 S0.03			; probe type, inverted (active high), 2s recovery (travel stop
    									; to probe dive), 5mm dive height, 800mm/min probing speed,
    									; 15000mm/min travel between probes, max 5 probes per point,
    									; tolerance 0.03mm for probes (probe max 5 times until
    									; tolerance <=0.03mm)
    G31 X0 Y0 Z-0.1 P250							; x,y,z probe offset from nozzle [probe is nozzle], trigger
    									; value (probe threshold)
    M557 X0:355 Y0:355 P21							; x & y min:max co-ords & mesh compensation no. probe points
    									; each axis (2.02+) ( >max (duet wifi max: 21x21 = 441 probes))
    
    ; P5 (1.14+) = switch (default NC) for bed probing between In & Gnd pins of z-probe connector. P8 = P5 but unfiltered (faster response time)
    
    ;===* tools *===================================;
    M563 P0 D0 H1 S"hot-end"		   	; tool 0 [hot end] define
    G10 P0 S0 R0		        		; tool 0 [hot end] operating & standby temps
    
    ; M563 P2 H0					; define tool 2 [heat bed]
    ; G10 P2 S0 R0					; tool 2 [heat bed] operating & standby temps
    
    
    ; ** M572 D0 S0.20				; ** extruder pressure advance [*current setting is from fusion3 (disabled)
    T0						; select hot end
    
    ; tool 2 / bed? web control shows both tool 2 AND bed...?
    ; commented out tool 2... don't need as have m140 and m143 above??? if not then delete after commenting out is OK!
    

    Appreciate any help!

    e_p 🙂



  • Also, the {1} 's have been added by adding it into the forums - they're not in the actual config.g

    e_p


  • Moderator

    If you send M98 Pconfig.g in the console it will execute the config and give any error messages encountered. That can help show issues before getting deep into it.


  • administrators

    I suggest you put your M140 H0 command before the M307 H0 command.

    What type of Z probe do you have?



  • @Phaedrux

    Thanks, I'll give that a go.

    @dc42 said in RRF 3.1.0 from 2.03:

    I suggest you put your M140 H0 command before the M307 H0 command.

    What type of Z probe do you have?

    Ah, perfect! I even have the note above which I've confused myself by! I'll move the M140 up.

    Reason for upgrading the firmware is this forum post.

    I'm trying to setup my precision piezo (which hasn't worked, so trying to get that up and running as per that post.)

    e_p



  • @Phaedrux said in RRF 3.1.0 from 2.03:

    If you send M98 Pconfig.g in the console it will execute the config and give any error messages encountered. That can help show issues before getting deep into it.

    Just ran it and everything seems OK, except for:

    18/05/2020, 21:14:50 M98 Pconfig.g
    Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 203C
    Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 848C

    I've never had my printer not say the heaters are over-powered. Not sure if there is something I can do to remedy this.

    e_p


  • Moderator

    That is informational warning to tell you what the heater model expects the max temp to reach in an uncontrolled on state. It's up to you to take that information and mitigate the issue accordingly. Thermal cutouts, lower powered heaters, smoke alarm, firm extinguisher, etc. That's all up to you.



  • @Phaedrux said in RRF 3.1.0 from 2.03:

    That is informational warning to tell you what the heater model expects the max temp to reach in an uncontrolled on state. It's up to you to take that information and mitigate the issue accordingly. Thermal cutouts, lower powered heaters, smoke alarm, firm extinguisher, etc. That's all up to you.

    Cool, I'll look into that. Thanks.

    My main issue is still wrapping my head around the GPIO format - how do I know the names of the pins assigned for my Duet WiFi? It used to just be a connector specifically for a, b, c. How can I know that I have the correct thing connected to the correct GPIO pins and assigned as such?

    e_p


  • Moderator


Log in to reply