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.23BLTouch 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 workFor 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
-
I don't want to downgrade, I want to make my printer work with the latest firmware
-
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.
-
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 workconfig.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.
-
@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) toduex.pwm5
or where your servo is connectedfans:
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
-
@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.".