Upgraded firmware to rrf 3.01-RC1, lots of problems



  • I didn't upgrade the firmware for a long time, last one I had was 2.02(RTOS)(2018-12-24b1)
    Now I have:
    Board: Duet WiFi 1.02 or later + DueX5
    Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.01-RC1 (2020-02-08b3)
    Duet WiFi Server Version: 1.23

    BLTouch does not work anymore, extra fans don't work anymore, tools I think I have a problem there too

    BLTouch is connected to Z PROBE IN, and PWM5 (E6_PWM) on DueX5
    I have to extra fans on Fan1, and Fan3 on DueX5
    Fan 1 seems to work, but it's either on or off, and Fan 3 does not work

    For tool, I have 6 tools that I can change on the printer, so I define that in separate macros, but I want to setup a default one named "NO TOOL" to let me know that I have to select a tool from a macro depending on what tool I have attached to the printer. In the macro I override previous tools

    I am new to rrf 3, I tried to search the new way of doing things, but I am having a hard time

    ; Drives
    M584 X7 Y5:6 Z1:2:3:4 E0 P3
    M569 P0 S1                                      ; Drive 0 goes forwards
    M569 P1 S1                                      ; Drive 1 goes forwards
    M569 P2 S1                                      ; Drive 2 goes forwards
    M569 P3 S1                                      ; Drive 3 goes forwards
    M569 P4 S1                                      ; Drive 4 goes forwards
    M569 P5 S0                                      ; Drive 5 goes forwards
    M569 P6 S0                                      ; Drive 6 goes forwards
    M569 P7 S0                                      ; Drive 7 goes forwards
    M569 P8 S0                                      ; Drive 8 goes forwards
    M569 P9 S0                                      ; Drive 9 goes forwards
    M569 P10 S1                                      ; Drive 10 goes forwards
    
    M350 X16    Y16:16       Z16     E16 I1         ; Configure microstepping with interpolation
    M92  X160   Y160:160     Z2667   E203           ; Set steps per mm
    M566 X900   Y900:900     Z10     E300           ; Set maximum instantaneous speed changes (mm/min)
    M203 X40000 Y40000:40000 Z300    E3600          ; Set maximum speeds (mm/min)
    M201 X1000  Y1000:1000   Z50     E10000         ; Set accelerations (mm/s^2)
    M906 X1500  Y1500:1500   Z1500   E1500 I50      ; Set motor currents (mA) and motor idle factor in per cent
    M671 X-82:-82:482:482 Y0:400:400:0 S5             ; Z leadscrews are at (-82, 0), (-82, 400), (482, 400), (482, 0)
    M84 S30                                            ; Set idle timeout
    M572 D0 S0.1                                       ; pressure advance
    M204 P400 T1000                                    ; Lower accelerations when printing
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                   ; Set axis minima
    M208 X400 Y400 Z400 S0                             ; Set axis maxima
    
    ; Endstops
    M574 X1 Y1 S1                                     ; Set active high endstops
    
    ; Z-Probe
    ;M574 Z1 S2                                         ; Set endstops controlled by probe
    ;M307 H7 A-1 C-1 D-1                                ; Disable heater on PWM channel for BLTouch
    ;M558 P9 H5 F800 T6000                              ; Set Z probe type to bltouch and the dive height + speeds
    ;;G31 P500 X0 Y25 Z1.85                              ; Set Z probe trigger value, offset and trigger height, probe offset for 0.8 mm nozzle extruder
    ;; the larger the Z # is, the more squished the first layer is 
    ;G31 P500 X0 Y25 Z2.00                              ; Set Z probe trigger value, offset and trigger height, probe offset for 0.4 mm Cyclops Switching Hotend Extruder 2 in 1 Out
    ;M557 X30:380 Y30:380 S70                           ; Define mesh grid
    
    
    M574 Z1 S2                             ; Set endstops controlled by probe
    M307 H7 A-1 C-1 D-1                    ; Disable heater on PWM channel for BLTouch
    M558 P9 C"^zprobe.in" H5 F120 T3000  	; BLTouch connected to Z probe IN pin
    M950 S0 C"exp.heater3" 			; create servo/gpio 0 on heater 3 pin on expansion connector
    G31 P500 X0 Y25 Z2.00                  ; Set Z probe trigger value, offset and trigger height, probe offset for 0.4 mm Cyclops Switching Hotend Extruder 2 in 1 Out
    M280 P3 S10 I1 				; send control signal to BLTouch through heater 3 pin
    M557 X30:380 Y30:380 S70                ; Define mesh grid
    
    
    ; Heaters
    M307 H0 B0 S1.00                                   ; Disable bang-bang mode for the bed heater and set PWM limit
    M305 P0 T100000 B4138 R4700                        ; Set thermistor + ADC parameters for heater 0
    M143 H0 S140                                       ; Set temperature limit for heater 0 to 140C
    M305 P1 T100000 B4138 R4700                        ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                                       ; Set temperature limit for heater 1 to 280C
    
    
    M950 F0 C"fan0" Q100
    M950 F1 C"fan1" Q100
    M950 F2 C"fan2" Q100
    
    ; Fans
    M106 P0 S0 I0 F500 H-1                             ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S0 I0 F500 H-1                             ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned Off
    M106 P3 S0 I0 F500 H-1                             ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned Off
    
    ; Tools
    M563 P0 D0 H1 S"NO TOOL"                           ; 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 0C
    
    ; Automatic power saving
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
    
    ; Custom settings are not configured
    M581 E6 S1 C0 T0    ; Configure external trigger - big red button
    ;M581 E6 S1 C0 T2  ; Trigger 2, reset WiFi
    ;M581 E2 S0 C0 T3  ; testing trigger on E2
    
    ; Configure filament sensing (Extruder 0, pulse-generating sensor, E0, enable filament monitoring)
    M591 D0 P7 C10 S1 R50:150 L0.305 E5
    
    ; Camera logical pins
    M42 P100 S0 ; start taking picture every 6 seconds
    M42 P101 S0 ; start taking picture every 4 seconds
    M42 P102 S0 ; camera off
    M42 P103 S0 ; start taking picture every 2 seconds
    M42 P60 S0  ; not used yet
    M42 P61 S0  ; not used yet
    M42 P62 S0  ; take one picture now (for layer change)
    
    ; M98 P"0:/macros/Tools/Set Tool 2"
    
    ; Miscellaneous
    T0                                                 ; Select first tool
    


  • V3 requires extensive changes to config.g

    You may want to consider running 2.05.1 instead. Be sure you install the Wifi and DWC parts that match

    https://github.com/dc42/RepRapFirmware/releases



  • I don't want to downgrade, I want to make my printer work with the latest firmware


  • Moderator

    If you're sure you're ready to switch to RRF3 it might be worth creating a new config with the web configurator and comparing to what you had before.

    Also see this: https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_Summary_of_what_you_need_to_do_to_convert_your_configuration_and_other_files



  • I Fixed endstops, Z-Probe, Fans, Heaters

    I changed M581, but does not work, it does not trigger.
    Filament sensing, changed but did not try it yet, I don't know if "e10stop" is correct
    For Heaters, I have no idea if I put the correct numbers, but it seems to work

    config.g:

    ; Drives
    M584 X7 Y5:6 Z1:2:3:4 E0 P3
    M569 P0 S1                                      ; Drive 0 goes forwards
    M569 P1 S1                                      ; Drive 1 goes forwards
    M569 P2 S1                                      ; Drive 2 goes forwards
    M569 P3 S1                                      ; Drive 3 goes forwards
    M569 P4 S1                                      ; Drive 4 goes forwards
    M569 P5 S0                                      ; Drive 5 goes forwards
    M569 P6 S0                                      ; Drive 6 goes forwards
    M569 P7 S0                                      ; Drive 7 goes forwards
    M569 P8 S0                                      ; Drive 8 goes forwards
    M569 P9 S0                                      ; Drive 9 goes forwards
    M569 P10 S1                                      ; Drive 10 goes forwards
    
    M350 X16    Y16:16       Z16     E16 I1         ; Configure microstepping with interpolation
    M92  X160   Y160:160     Z2667   E203           ; Set steps per mm
    M566 X900   Y900:900     Z10     E300           ; Set maximum instantaneous speed changes (mm/min)
    M203 X40000 Y40000:40000 Z300    E3600          ; Set maximum speeds (mm/min)
    M201 X1000  Y1000:1000   Z50     E10000         ; Set accelerations (mm/s^2)
    M906 X1500  Y1500:1500   Z1500   E1500 I50      ; Set motor currents (mA) and motor idle factor in per cent
    M671 X-82:-82:482:482 Y0:400:400:0 S5             ; Z leadscrews are at (-82, 0), (-82, 400), (482, 400), (482, 0)
    M84 S30                                            ; Set idle timeout
    M572 D0 S0.1                                       ; pressure advance
    M204 P400 T1000                                    ; Lower accelerations when printing
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                   ; Set axis minima
    M208 X400 Y400 Z400 S0                             ; Set axis maxima
    
    ; Endstops
    M574 X1 S1 P"xstop"   ; X min active high endstop switch
    M574 Y1 S1 P"ystop"   ; Y min active high endstop switch
    
    
    ; Z-Probe
    M574 Z1 S2                             ; Set endstops controlled by probe
    M558 P9 C"^zprobe.in" H5 F800 T3000  	; BLTouch connected to Z probe IN pin
    M950 S0 C"duex.pwm5" 			; create servo/gpio 0 on heater 3 pin on expansion connector
    G31 P500 X0 Y25 Z2.00                   ; Set Z probe trigger value, offset and trigger height, probe offset for 0.4 mm Cyclops Switching Hotend Extruder 2 in 1 Out
    M280 P0 S90
    M557 X30:380 Y30:380 S70                ; Define mesh grid
    
    
    ; Heaters
    M308 S0 P"bed_temp" Y"thermistor" T100000 B4138		; define bed temperature sensor
    M308 S1 P"e0_temp"  Y"thermistor" T100000 B4725 C7.06e-8 ; define E0 temperature sensor
    M950 H0 C"bed_heat" T0 					; heater 0 uses the bed_heat pin, sensor 0
    M950 H1 C"e0_heat" T1					; heater 1 uses the e0_heat pin and sensor 1
    
    
    ; Fans
    M950 F0 C"fan0" Q100
    M950 F1 C"fan1" Q500
    M950 F2 C"duex.fan3" Q500
    
    M106 P1 C"Filter 1"
    M106 P2 C"Filter 2"
    
    
    ; Tools
    M563 P0 D0 H1 S"NO TOOL"                           ; 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 0C
    
    ; Automatic power saving
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
    
    ; Configure external trigger - big red button
    M581 P"exp.e6stop" T0 C0
    
    ; Configure filament sensing (Extruder 0, pulse-generating sensor, E0, enable filament monitoring)
    M591 D0 P7 C"e10stop" S1 R50:150 L0.305 E5
    
    ; Camera logical pins
    M42 P100 S0 ; start taking picture every 6 seconds
    M42 P101 S0 ; start taking picture every 4 seconds
    M42 P102 S0 ; camera off
    M42 P103 S0 ; start taking picture every 2 seconds
    M42 P60 S0  ; not used yet
    M42 P61 S0  ; not used yet
    M42 P62 S0  ; take one picture now (for layer change)
    
    ; M98 P"0:/macros/Tools/Set Tool 2"
    
    ; Miscellaneous
    T0                                                 ; Select first tool
    

    I'm done for today, I'll try to fix the rest tomorrow. In the mean time, if someone could take a look at my new code and let me know if you see some problems?

    Thanks!



  • @CVMichael you might have to invert the endstop pin by adding a ! Prefix or/and you can try to activate the pullup using an ^. I upgraded my own one 2 days ago and yes getting the triggers to work was tricky part.


  • administrators

    @CVMichael said in Upgraded firmware to rrf 3.01-RC1, lots of problems:

    Filament sensing, changed but did not try it yet, I don't know if "e10stop" is correct

    It's not. Pin names are listed at https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_Pin_names_for_Duet_2_WiFi_Ethernet. They are generally the names shown on the silk screen. So you need one of the pin name starting with "connlcd.".

    For your M581 command you probably need to enable the pullup resistor.

    BTW the M581 command syntax will change again in 3.01RC2.



  • For M581, I just could not get it to trigger with exp.e6stop on the Duex5

    ; Configure external trigger - big red button
    M581 P"^exp.e6stop" T0 C0
    

    So in the end I unplugged the wire, and connected it to zstop, and now it triggers, BUT!!! once triggered, I don't know if it keeps triggering, or not being able to connect back, because the only way to get my printer working again, is to power it off, and back on. This is the command I am using:

    ; Configure external trigger - big red button
    M581 P"^zstop" T0 C0
    

    For filament sensing, I still did not get the chance to test it, but I changed it to:

    M591 D0 P7 C"connlcd.3" S1 R50:150 L0.305 E5
    

    Hoping that it is correct.

    For Camera logical pins, command M42, I can't find a chart or something with the equivalent pins.
    This is the old chart I used:
    https://duet3d.dozuki.com/Wiki/Using_servos_and_controlling_unused_IO_pins#Section_Duet_2_WiFi_and_Duet_2_Ethernet
    I can't see the pin names "GPIO pins 1-4" in here:
    https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_Pin_names_for_Duet_2_WiFi_Ethernet
    For M42 P62 S0, I think the pin name is "spi.cs7", right?



  • Maybe parts of my config can help you:

    cfg_bltouch.g

    ; BL-TOUCH v3
    
    M558 P9 C"^zprobe.in" H5 F120 T3000 A2           ; FW v3 BLTouch connected to Z probe IN pin
    M950 S0 C"exp.heater3"                           ; FW v3 create servo/gpio 0 on heater 3 pin on expansion connector
    G31 P100 X35 Y0 Z2.2                             ; set Z probe trigger value, offset and trigger height 
                                                     ; (Trigger should be 0-connected, 1000-triggered, so P500 is middle 
    												 ; but RR3B11 introduced a bug so dropping P to 100)
    M557 X-104:112 Y-115:85 S20                      ; define mesh grid
    M376 H10                                         ; taper compensation during 10mm
    

    You should probably change the exp.heater3 (this is where my servo for bltouch is connected) to duex.pwm5 or where your servo is connected

    fans:

    M950 F0 C"fan0" 
    M950 F1 C"fan1" 
    

    You obviously add more and use pin names from the list

    endstops and heaters:

    ; Endstops
    M574 X2 S1 P"xstop"                              ; X min active high endstop switch
    M574 Y2 S1 P"ystop"                              ; Y min active high endstop switch
    M574 Z1 S1 P"zstop"                              ; Z min active high endstop switch
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950            ; define bed temperature sensor
    M308 S1 P"e0temp"  Y"thermistor" T100000 B4725 C7.06e-8   ; define E0 temperature sensor - 104GT2 semitec
    M308 S2 P"e1temp"  Y"thermistor" T100000 B3974            ; define E1 temperature sensor
    
    M950 H0 C"bedheat" T0 Q100                       ; heater 0 uses the bed_heat pin, sensor 0
    M950 H1 C"e0heat" T1                             ; heater 1 uses the e0_heat pin and sensor 1
    M950 H2 C"e1heat" T2                             ; heater 1 uses the e0_heat pin and sensor 1
    
    

    Tools:

    ; Tools / Extruders
    M563 P0 D0 H1 F0 S"Extruder0"                    ; 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 0C
    M563 P1 D1 H2 F1 S"Extruder1"                    ; define tool 1
    G10 P1 X0 Y0 Z0                                  ; set tool 1 axis offsets
    G10 P1 R0 S0                                     ; set initial tool 1 active and standby temperatures to 0C
    

    pin list:

    ;Multiple names on a line are aliases for a single pin.
    ;An exclamation mark before the pin name means that there
    ;is inversion between the processor and the corresponding
    ;output, and that RRF3 will automatically allow for 
    ;this inversion.
    ;
    ;// Duet 2 and DueX heater outputs
    ;
    ;!bedheat
    ;!e0heat
    ;!e1heat
    ;exp.heater3, exp.8, !duex.e2heat, !duex.pwm1
    ;exp.heater4, exp.13, !duex.e3heat, !duex.pwm2
    ;exp.heater5, exp.18, !duex.e4heat, !duex.pwm3
    ;exp.heater6, exp.23, !duex.e5heat, !duex.pwm4
    ;exp.heater7, exp.31, !duex.e6heat, !duex.pwm5
    ;
    ;// Duet 2 and DueX temperature inputs
    ;bedtemp
    ;e0temp
    ;e1temp
    ;e2temp, duex.e2temp, exp.thermistor3, exp.35
    ;e3temp, duex.e3temp, exp.thermistor4, exp.36
    ;e4temp, duex.e4temp, exp.thermistor5, exp.37
    ;e5temp, duex.e5temp, exp.thermistor6, exp.38
    ;e6temp, duex.e6temp, exp.thermistor7, exp.39
    ;
    ;// Duet 2 and DueX fan outputs
    ;fan0
    ;fan1
    ;fan2
    ;duex.fan3
    ;duex.fan4
    ;duex.fan5
    ;duex.fan6
    ;duex.fan7
    ;duex.fan8
    ;
    ;// Endstop inputs
    ;xstop
    ;ystop
    ;zstop
    ;e0stop
    ;e1stop
    ;exp.e2stop, exp.4
    ;exp.e3stop, exp.9, duex.cs6
    ;exp.e4stop, exp.14, duex.cs7
    ;exp.e5stop, exp.19, duex.cs8
    ;exp.e6stop, exp.24
    ;duex.e2stop
    ;duex.e3stop
    ;duex.e4stop
    ;duex.e5stop
    ;duex.e6stop
    ;
    ;// Misc
    ;zprobe.in
    ;zprobe.mod
    ;duex.cs5
    ;connlcd.encb, connlcd.3
    ;connlcd.enca, connlcd.4
    ;connsd.encsw, connsd.7
    ;exp.pb6, exp.29, duex.pb6
    ;duex.gp1
    ;duex.gp2
    ;duex.gp3
    ;duex.gp4
    ;
    ;// SPI CS
    ;spi.cs1
    ;spi.cs2
    ;spi.cs3
    ;spi.cs4
    ;spi.cs5, duex.cs5, exp.50
    ;spi.cs6, duex.cs6, exp.9
    ;spi.cs7, duex.cs7, exp.14
    ;spi.cs8, duex.cs8, exp.19
    ;
    ;// Pins on additional SX1509B expander
    ;sx1509b.0
    ;sx1509b.1
    ;sx1509b.2
    ;sx1509b.3
    ;sx1509b.4
    ;sx1509b.5
    ;sx1509b.6
    ;sx1509b.7
    ;sx1509b.8
    ;sx1509b.9
    ;sx1509b.10
    ;sx1509b.11
    ;sx1509b.12
    ;sx1509b.13
    ;sx1509b.14
    ;sx1509b.15
    

    hope this helps at least a bit


  • administrators

    @CVMichael said in Upgraded firmware to rrf 3.01-RC1, lots of problems:

    For M581, I just could not get it to trigger with exp.e6stop on the Duex5

    That's because exp.e6stop is a pin on the expansion connector, not on the DueX5. Use the correct pin name beginning with "duex.".


Log in to reply