[3.4.0rc1] cold extrusion not prevented
-
Hello folks,
I think I have found a bug in the current 2.4 release candidate: cold extrusion is not prevented.
M302 gives the following result:Cold extrusion is forbidden (use M302 P1 to allow it), min. extrusion temperature 160.0C, min. retraction temperature 90.0C
The extrude- and retract-buttons in DWC are grey as they should.
However, when i send "G1 E10" or use PanelDue the extruder turns perfectly fine - but it shouldnt with the hotend at 27°C!Here is my Config:
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun Apr 04 2021 16:43:44 GMT+0200 (Mitteleuropäische Sommerzeit) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"MultiPrint" ; set printer name M551 P"abc123" M669 K1 ; select CoreXY mode M80 C"!pson" ; invert the PS_ON output for Meanwell power supply ; Network M552 P0.0.0.0 S1 ; enable network and set IP address M553 P255.255.255.0 ; set netmask M554 P192.168.1.254 ; set gateway M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.2 S0 ; physical drive 0.2 goes backwards (X - Axis) M569 P0.1 S0 ; physical drive 0.1 goes backwards (Y - Axis) M569 P0.0 S1 ; physical drive 0.0 goes forwards (Z - Axis) M569 P0.3 S0 ; physical drive 0.3 goes backwards (C - COUPLER) M569 P0.4 S1 ; physical drive 0.4 goes forwards (B - BRUSH) M569 P1.1 S0 ; physical drive 1.0 goes backwards (A - CAMERA) M569 P0.5 S1 ; physical drive 0.5 goes forwards (E0 - V6) M569 P1.0 S1 ; physical drive 1.0 goes forwards (E1 - Volcano) M569 P121.0 S0 ; physical drive 121.0 goes forwards (E2 - HighTemp Direct) M584 X0.2 Y0.1 Z0.0 C0.3 B0.4 A1.1 E0.5:1.0:121.0 ; set drive mapping M350 X16 Y16 Z16 B16 A32 E16:16:16 I1 ; configure microstepping with interpolation M350 C16 I0 ; configure microstepping without interpolation M92 X100 Y100 Z1600 C91.022 B128 A17.7777 E393:393:409 ; set steps per mm M98 P"/Macros/Speeds/speeds_no-tool" ; set speeds, jerk and accel. for the beginning (no tool active) M566 Z8 C2 B8 A8 E500:500:500 ; set maximum instantaneous speed changes (mm/min) M203 Z1400 C8000 B1000 A2000 E3600:3600:3600 ; set maximum speeds (mm/min) M201 Z400 C500 B500 A500 E3000:3000:3000 ; set accelerations (mm/s^2) M906 X1800 Y1800 Z1130 B500 A1100 I30 ; set motor currents (mA) and motor idle factor in per cent (X Y Z B) M906 C500 E1000:1000:1000 I10 ; set motor currents (mA) and motor idle extruder motors to 10% M84 S15 ; Set idle timeout ; Axis Limits M98 P"/Macros/Boundaries/ToolHead.g" M208 Z0:270 C-45:360 B0:23 A-5:90 ; set axis limits (min:max) ; Endstops M574 X1 S1 P"^io1.in" ; configure active-high endstop for low end on X via pin ^io1.in M574 Y1 S1 P"^io2.in" ; configure active-high endstop for low end on Y via pin ^io2.in M574 C0 Z0 ; No C and Z endstop M574 B1 S1 P"^io5.in" ; configure active-high endstop for low end on B via pin ^io5.in M574 A1 S1 P"^1.io1.in" ; configure active-high endstop for low end on A via pin ^1.io1.in ; Z-Probe M558 P5 C"^io3.in" H2 F300 I0 T30000 ; set Z probe type to switch and the dive height + speeds G31 P200 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height M557 X10:290 Y20:180 S40 ; Define mesh grid ;Stall Detection M915 X Y S3 F0 H200 R4700 ; X / Y Axes ; Heaters M308 S0 P"temp0" Y"thermistor" A"Bed" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 Q5 ; create bed heater output on out0 and map it to sensor 0 with a PWM freq of 5 Hz M307 H0 B0 R1.240 C413.8 D3.17 S1 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S200 ; set temperature limit for bed heater 0 to 200C M308 S1 P"temp3" Y"thermistor" A"T0" T100000 B4138 ; configure sensor 1 as thermistor on pin temp3 M950 H1 C"out3" T1 ; create nozzle heater output on out3 and map it to sensor 1 M307 H1 B0 R2.346 C199.8:175.3 D5.73 S1.00 V24.0 ; disable bang-bang mode for heater and set PWM limit M143 H1 S285 ; set temperature limit for heater 3 to 280C M308 S2 P"1.temp0" Y"thermistor" A"T1" T100000 B4138 ; configure sensor 2 as thermistor on pin temp3 M950 H2 C"1.out0" T2 ; create nozzle heater output on 1.out1 and map it to sensor 2 M307 H2 R2.009 K0.341:0.045 D5.63 E1.35 S1.00 B0 V24.5 ; disable bang-bang mode for heater and set PWM limit M143 H2 S285 ; set temperature limit for heater 2 to 280C M308 S3 P"121.temp0" Y"thermistor" A"T2" T100000 B4138 ;B4725 C7.06e-8 configure sensor 3 as thermistor on pin 121.temp0 M950 H3 C"121.out0" T3 ; create nozzle heater output on 121.out0 and map it to sensor 3 M307 H3 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H3 S250 ; set temperature limit for heater 3 to 400C ; Fans M950 F0 C"out9" Q500 ; create fan 4 on pin out9 and set its frequency M106 P0 S0 H-1 ; set fan 4 value. Thermostatic control is turned off M950 F1 C"out8" Q500 ; create fan 5 on pin out8 and set its frequency M106 P1 S1 H1 T60 ; set fan 5 value. Thermostatic control is turned on M950 F2 C"1.out6" Q500 ; create fan 4 on pin out9 and set its frequency M106 P2 S0 H-1 ; set fan 4 value. Thermostatic control is turned off M950 F3 C"1.out7" Q500 ; create fan 5 on pin out8 and set its frequency M106 P3 S1 H2 T60 ; set fan 5 value. Thermostatic control is turned on M950 F4 C"121.out1" Q500 ; create fan 4 on pin 121.out1 and set its frequency M106 P4 S0 H-1 ; set fan 4 value. Thermostatic control is turned off M950 F5 C"121.out2" Q500 ; create fan 5 on pin 121.out2 and set its frequency M106 P5 S1 H3 T55 ; set fan 5 value. Thermostatic control is turned on M593 F42.2 ; cancel ringing at 42.2Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/) ; Tools M563 P0 S"V6 Bowden" D0 H1 F0 ; define tool 0 G10 P0 X-9 Y39 Z-4.7 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 S"Volcano Bowden" D1 H2 F2 ; define tool 1 G10 P1 X-9 Y39 Z-13.1 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C M563 P2 S"Hemera Direct" D2 H3 F4 ; define tool 2 G10 P2 X20 Y43.5 Z-5.7 ; set tool 2 axis offsets G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C M591 D2 P3 C"121.io1.in" ; Configure filament sensing for tool 2 ; Bowden tubes are ~700mm long so PA on the Bowden tools almost certainly needs to be increased M572 D0 S0.3 ; pressure advance T0 M572 D1 S0.3 ; pressure advance T1 M572 D2 S0.05 ; pressure advance T2 ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M911 S23.6 R23.8 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss ; Tool Detect Switches M950 J5 C"^io4.in" ; input 5 - ActiveToolDetect ; Lights M950 P0 C"out1" Q500 M98 P"/Macros/Light-Control/MainLight_toggle" M950 P1 C"out2" Q500 ;M98 P"/Macros/Light-Control/HeadLight_toggle" M150 X1 M150 R255 U255 B255 P10 S18 ;MCU Temp Calibration M912 P0 S{21-12} ;room temp: 21°C ;reportet MCU temp right after startup: 12°C M308 S7 Y"mcu-temp" A"6HC MCU" ;show MCU-temp in DWC (Tools -> Extra) Graph M308 S8 Y"mcu-temp" P"1.dummy" A"3HC MCU" M308 S9 Y"mcu-temp" P"121.dummy" A"1LC MCU" ; Variable declarations if !exists(global.IdlePos_X) global IdlePos_X = -170 if !exists(global.IdlePos_Y) global IdlePos_Y = +100
... and M122 throwes the following:
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0rc1 (2022-02-09 10:28:13) running on Duet 3 MB6HC v0.6 or 1.0 (standalone mode) Board ID: 08DJM-956L2-G43S4-6JTD4-3SS6J-TA7GH Used output buffers: 7 of 40 (40 max) === RTOS === Static ram: 150984 Dynamic ram: 97248 of which 0 recycled Never used RAM 99584, free system stack 194 words Tasks: NETWORK(ready,27.5%,219) ETHERNET(notifyWait,0.1%,168) HEAT(notifyWait,0.0%,327) Move(notifyWait,0.0%,259) CanReceiv(notifyWait,0.0%,797) CanSender(notifyWait,0.0%,356) CanClock(delaying,0.0%,339) TMC(notifyWait,8.0%,92) MAIN(running,64.3%,925) IDLE(ready,0.1%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:03:15 ago, cause: software Last software reset at 2022-02-14 17:05, reason: User, GCodes spinning, available RAM 99336, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 Step timer max interval 144 MCU temperature: min 36.2, current 45.3, max 45.6 Supply voltage: min 24.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0 Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/24/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: pos 0, standstill, SG min 0, mspos 8, reads 43229, writes 14 timeouts 0 Driver 1: pos 0, standstill, SG min 0, mspos 8, reads 43228, writes 16 timeouts 0 Driver 2: pos 0, standstill, SG min 0, mspos 8, reads 43228, writes 16 timeouts 0 Driver 3: pos 0, standstill, SG min 0, mspos 8, reads 43230, writes 14 timeouts 0 Driver 4: pos 0, standstill, SG min 0, mspos 8, reads 43230, writes 14 timeouts 0 Driver 5: pos 0, standstill, SG min 0, mspos 8, reads 43230, writes 14 timeouts 0 Date/time: 2022-02-14 17:08:32 Slowest loop: 6.67ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 1.1ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 131895ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 1, completed 1, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 2 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === Filament sensors === Extruder 2: no data received === CAN === Messages queued 1802, received 7958, lost 0, boc 0 Longest wait 3ms for reply type 6053, peak Tx sync delay 204, free buffers 50 (min 48), ts 979/978/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 4.28ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 1 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 2 2 2 2 0 0 0
So, am I doing something wrong or is this a bug in RRF? The printer is an E3D ToolChanger with 3 tools, this problem occurs when any of them is active.
-
@marvineer cold extrusion prevention doesn't currently work on extruders drive from CAN-connected expansion boards. https://docs.duet3d.com/en/User_manual/RepRapFirmware/CAN_limitations
-
Thanks, seems I have missed that! I guess I will take that as "i have done something wrong" - until version 3.5