3.5.1 - 'Error: Pop(): stack underflow on Aux'
-
config.g
;=== initialize variables ===; M98 P"0:/sys/init.g" ;=== discard if necessary ===; ;=== configuration - initial networking setup ===; M586 P0 S1 ;; enable http, disable ftp, disable telnet, set printer name, wait 5s for expansion boards M586 P1 S0 M586 P2 S0 G4 S5 M550 P"legionXY" ;; in SBC mode, M550 goes in dsf-config.g, not config.g ;=== configuration - PanelDue init ===; M575 P1 S1 B115200 ;=== configuration - printer ===; G90 ;; absolute coordinates, relative extruder moves M83 M669 K1 ;; Kinematics type: 1 = CoreXY ;=== configuration - drive ===; M569 P0.0 S0 D2 ;; Z-axis motors, 0.driver0,0.driver1,0.driver2 M569 P0.1 S0 D2 M569 P0.2 S0 D2 M569 P0.3 S1 D2 ;; Left and right motors (X- and Y- axis), 0.driver3,0.driver4 M569 P0.4 S1 D2 M569 P20.0 S1 D2 ;; Extruder, RRF36.driver0 ;=== configuration - drive - axis mapping ===; M584 X0.3 Y0.4 Z0.1:0.0:0.2 E20.0 ;; map E-axis here as toolboard will be connected ;=== configuration - drive - microstepping ===; M350 X16 Y16 Z16 I1 ;=== configuration - drive - steps/mm, current, idle timeout ===; M92 X80 Y80 Z800 ;; set steps/mm, current (mA), idle timeout M906 X1600 Y1600 Z1600 I30 M84 S30 ;; set idle hold 30s ;=== configuration - drive - speed, acceeleration, jerk ===; M98 P"0:/sys/setMaxSpeed.g" ;; set all the max speeds below as these are adjusted during home moves so we only want to adjust in one spot ;=== configuration - axis - min/max ===; M208 X0 Y0 Z0 S1 M208 X310 Y300 Z300 S0 ;=== configuration - axis - endstops ===; M574 X1 S1 P"20.io2.in" ;; configure active high (S1) X endstop at X- (X1) on RRF36.io2.in (20.io.in) M574 Y2 S1 P"0.io2.in" ;; configure Y active high (S1) endstop at Y+ (Y2) on duet.io2.in (0.io2.in) M574 Z1 S2 ;; configure Z-probe (S2) endstop at low end (Z1) ;=== configuration - axis - z-probe ===; M558 P8 C"^20.io0.in" H5:1 F300:120 T6000 A20 B0 ;; klicky pcb probe installed on RRF36.io0.in (20.io0.in) M98 P"0:/sys/setBuildPlate.g" ;; see setBuildPlate.g for Z probe trigger value, offset, trigger height ;=== configuration - axis - mesh compensation and bed dismensions ===; M98 P"0:/sys/setDefaultProbePoints.g" ;; define mesh grid with allowance for mesh generation on printed area only if !exists(global.Bed_Center_X) ;; calculate bed center, insert into object model global Bed_Center_X = floor(move.axes[0].max / 2) if !exists(global.Bed_Center_Y) global Bed_Center_Y = floor(move.axes[1].max / 2) ;=== configuration - axis - lead screw position ===; M671 X-4.5:150:304.5 Y-4.52:305:-4.52 S5 ;=== configuration - sensor - bed heater & thermistor ===; M308 S0 P"0.temp0" Y"thermistor" T100000 B3950 A"Bed" ;; create sensor S0 on duet.temp0 named "Bed" M950 H0 C"0.out0" T0 Q11 ;; create heater (H0) for bed M307 H0 B0 S1.00 ;; on bed H0 disable bang-bang mode and set PWM limit M140 H0 ;; map heated bed to heater 0 (H0) M143 H0 S120 ;; set heater H0 temperature limit to 120C ;=== !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ===; ;; run bed PID tune using code below ;;; ;;; H0 = heater 0, or bed ;;; ;;; S = temperature in C (90C) ;;; ; M303 H0 S90 ;;; ;;; replace M307 below with results from M303 ;;; M307 may have a Vnnn included with it ;;; if you're using mains (AC) bed heater on your bed, omit it ;=== !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ===; M307 H0 R0.480 K0.256:0.000 D2.03 E1.35 S1.00 B0 ;; this is my M307, find your own ;=== configuration - sensor - chamber monitoring ===; M308 S5 P"0.io4.out+0.io4.in" Y"dht22" A"Chamber" ;; DHT22 setup M308 S8 P"S5.1" Y"dht-humidity" A"Humidity[%]" M308 S11 Y"mcu-temp" A"MCU" ;; MCU temperature, with offset M912 P0 S-1.2 ;=== configuration - LEDs, chamber ===; M950 P0 C"0.out5" Q1000 ;; configure Dayspring LEDs P0 on duet.out5 (0.out5) ;=== configuration - overrides ===; ;M501 ;; config-override.g should remain empty ;=== configuration - gizmo1 ===; M98 P"0:/sys/gizmo1.g" ;; housekeeping M568 P0 R0 S0 A0 ;; turn tool0 heater off M140 S-273.1 ;; turn bed off T0 P0 ;; select T0, don't run any toolchange macros ;=== configuration ===;
setMaxSpeed.g
;=== configuration - drive - current and idle factor ===; M906 X1600 Y1600 Z1600 I30 ;; set motor currents and motor idle factor in per cent, December 2023 M913 X100 Y100 Z100 ;; ensure motors are at 100% current after homing ;=== configuration - drive - jerk ===; M205 X5.00 Y5.00 Z0.1 P1 ;; set maximum instantaneous speed changes (mm/min) and jerk policy ;=== configuration - drive - speed ===; M203 X18000.00 Y18000.00 Z900.00 ;; set maximum speeds (mm/min) ;=== configuration - drive - acceleration ===; M201 X5000.00 Y5000.00 Z100.00 ;; set accelerations (mm/s^2), orbiter v2 M204 P2500 T5000 ;; Set printing and travel acceleration (mm/s^2)
setBuildPlate.g
;=== configuration - bed - mesh compensation ===; ;M376 H3 ;; fade mesh compensation at 3mm ;=== configuration - bed - z-probe offset ===; ;;set in config.g, but change here // old offset: G31 K0 P500 X-27.8 Y-12.0 Z1.55 G31 P500 X-23.34 Y-20.49 Z1.7 ;; klickyPCB with stock switch
setDefaultProbePoints.g
M557 X15:275 Y15:275 P7
gizmo1.g
;; gizmoN.g is the comprehensive definition of a tool (extruder, hotend, heater, thermisistor, filament monitoring, input shaping, tool and part cooling fans) ;; includes hotend (thermistor, heater), fan (tool, part), extruder (axis, microstepping), tool assignment and offset ;=== gizmo1 - fan ===; M950 F1 C"!0.out4+0.out4.tach" ;; create fan F1 named "4028" with duet.out4+duet.out4.tach (0.out4+0.out4.tach) M106 P1 C"4028" S0 H-1 ;=== gizmo1 - hotend thermistor ===; M308 S1 P"20.temp0" Y"thermistor" T100000 B4725 C7.060000e-8 A"e3drevo" ;; configure sensor 1 (S1) on pin RRF36.temp0 (20.temp0) as thermistor M950 H1 C"20.out0" T1 ;; create heater output (H1) on RRF36.out0 (20.out0) and map to sensor 1 (T1) M307 H1 B0 S1.00 ;; set PWM limit (S1.00) M563 P0 S"revo" D0 H1 F1 ;; define tool0 (T0) ;; assign fan F1, extruder drive D0 (E0) and heater H1 to tool T0 named "revo" G10 P0 X0 Y0 Z0 ;; set axis offsets, max temperature, initial temperature M143 H1 S280 G10 P0 R0 S0 ;=== gizmo1 - fan ===; M950 F1 C"!0.out4+0.out4.tach" ;; create fan F1 named "4028" with duet.out4+duet.out4.tach (0.out4+0.out4.tach) M106 P1 C"4028" S0 H-1 ;=== gizmo1 - hotend thermistor ===; M308 S1 P"20.temp0" Y"thermistor" T100000 B4725 C7.060000e-8 A"e3drevo" ;; configure sensor 1 (S1) on pin RRF36.temp0 (20.temp0) as thermistor M950 H1 C"20.out0" T1 ;; create heater output (H1) on RRF36.out0 (20.out0) and map to sensor 1 (T1) M307 H1 B0 S1.00 ;; set PWM limit (S1.00) M563 P0 S"revo" D0 H1 F1 ;; define tool0 (T0) ;; assign fan F1, extruder drive D0 (E0) and heater H1 to tool T0 named "revo" G10 P0 X0 Y0 Z0 ;; set axis offsets, max temperature, initial temperature M143 H1 S290 G10 P0 R0 S0 ;=== !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ===; ;; run hotend PID tune!! using code below ;;; T0 = PID tune tool0 ;;; S210 = temperature in C (210C) ;;; F0.45 = Fan PWM value; 0.45 = 45% ;;; ; M303 T0 S210 F0.45 ;;; replace M307 below with results from M303 ;=== !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ===; M307 H1 R3.611 K0.702:0.541 D1.95 E1.35 S1.00 B0 V23.5 ;; this is my M307, find your own ;=== gizmo1 - fan - hotend ===; M950 F0 C"20.out2" Q250 ;; create fan 0 (F0) on pin RRF.out2 (20.out2) M106 P0 C"tool" S0 H1 T45 L255 ;; set fan 0 (P0) to thermostatic control (45C), full-speed (L255) named "tool" ;=== gizmo1 - extruder ===; ;; Orbiter v2 with LDO motor M906 E1200 I10 ;; set extruder motor current and idle factor M350 E16 I1 ;; set microstepping to 16 with interpolation M92 E671.64 ;; set extruder steps per mm M203 E7200 ;; set max speed, jerk, acceleration M205 E5.0 M201 E3000 T0 P0 ;; select T0, don't run toolchange macro M703 ;; load filament specific gcode ;; I keep filament-specific PID tuning, retraction, and pressure advance ;; settings here. ;=== gizmo1 - options ===; M955 P20.0 I12 ;; accelerometer on RRF36 M950 E0 C"20.rgbled" T2 U2 Q3000000 ;; configure toolhead LED E0 on FLY36.rgbled (20.rgbled) ;M98 P"0:/sys/setFilamentMonitor.g" ;; filament monitor ;M98 P"0:/sys/setInputShaping.g" ;; input shaping parameters
mesh.g
; perform mesh compensation only where printing M98 P"0:/sys/setDefaultProbePoints.g" ; reset probe points again, just in case if (exists(param.A) && exists(param.B) && exists(param.C) && exists(param.D) && exists(param.N)) M557 X{max(move.compensation.probeGrid.mins[0],param.A),min(move.compensation.probeGrid.maxs[0],param.B)} Y{max(move.compensation.probeGrid.mins[1],param.C),min(move.compensation.probeGrid.maxs[1] ,param.D)} S{param.N} if result != 0 abort "Invalid M557 parameters" G29 S0
Only two 'Error: Pop(): stack underflow on Aux' messages this time.
M122 post-error:
m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus WiFi (SBC mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 1 of 40 (40 max) === RTOS === Static ram: 103232 Dynamic ram: 108132 of which 0 recycled Never used RAM 27004, free system stack 140 words Tasks: SBC(2,ready,1.9%,432) HEAT(3,nWait 6,0.0%,336) Move(4,nWait 6,0.2%,241) CanReceiv(6,nWait 1,0.1%,797) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,delaying,1.5%,68) MAIN(2,running,95.1%,653) IDLE(0,ready,0.4%,30) AIN(4,delaying,0.9%,260), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:12:14 ago, cause: power up Last software reset at 2024-04-23 15:37, reason: User, Gcodes spinning, available RAM 27436, slot 0 Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00446000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x04 Aux0 errors 0,2,0 MCU revision 3, ADC conversions started 734633, completed 734633, timed out 0, errs 0 MCU temperature: min 21.8, current 41.0, max 41.0 Supply voltage: min 24.3, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/1332/1156, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 28, reads 1168, writes 28, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 26, reads 1170, writes 26, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 26, reads 1170, writes 26, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 28, reads 1168, writes 28, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 28, reads 1168, writes 28, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 1186, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 1186, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-04-23 15:52:32 Cache data hit count 1534212724 Slowest loop: 249.03ms; fastest: 0.11ms === Storage === Free file entries: 20 SD card 0 not detected, interface speed: 0.0MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 8, maxWait 189503ms, bed compensation in use: mesh, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 236, completed 236, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 10], CDDA state -1 === DDARing 1 === 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, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000807 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 6841, received 20597, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6053, peak Tx sync delay 40, free buffers 26 (min 25), ts 3672/3671/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 28359/28359 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x0d3f4 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.1 (2024-04-19 16:30:56, 32-bit) HTTP+Executed: > Executing M122 File 0:/gcodes/squirrelbrain_cube_10_0.2mm_PLA_VC3_300_1h54m.gcode is selected, paused Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 31.05, max time between full transfers: 55.3ms, max pin wait times: 68.1ms/3.7ms Codes per second: 0.73 Maximum length of RX/TX data transfers: 4436/1200
I was able to resume the print this time. I didn't not get a another series of errors when I tried pausing the print again.
-
-
Well, I'm not entirely sure what caused this error in the first place. After the last error (that I posted above) I powered down the Duet board and the Raspberry Pi and started from a cold start. As of now, I've restarted a print three times (with the same g-code; the restarts were bed adhesion related, not anything RRF was doing) so far and I've been unable to recreate the problem. Pause and resume works without issue or error and as expected.
I'll be keeping a watchful eye on the printer for now.
-
-
-
@omtek It happened again. I paused a print using the PanelDue to investigate some underextrusion and received the
Error: Pop(): stack underflow on Aux
error five times in the console, as well as a popup on the PanelDue.Here is an M122 taken immediately after I noticed the error:
m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus WiFi (SBC mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 1 of 40 (40 max) === RTOS === Static ram: 103232 Dynamic ram: 108132 of which 0 recycled Never used RAM 26524, free system stack 126 words Tasks: SBC(2,ready,94.0%,351) HEAT(3,nWait 6,1.8%,326) Move(4,nWait 6,141.2%,241) CanReceiv(6,nWait 1,3.0%,774) CanSender(5,nWait 7,8.8%,327) CanClock(7,delaying,0.4%,348) TMC(4,nWait 6,69.3%,68) MAIN(2,running,4163.2%,595) IDLE(0,ready,3.2%,30) AIN(4,delaying,39.7%,260), total 4524.6% Owned mutexes: HTTP(MAIN) === Platform === Last reset 01:37:36 ago, cause: software Last software reset at 2024-05-02 21:28, reason: User, Gcodes spinning, available RAM 25036, slot 0 Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 5856851, completed 5856850, timed out 0, errs 0 MCU temperature: min 34.1, current 53.7, max 54.6 Supply voltage: min 24.2, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/1568/1392, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 55, reads 7925, writes 30, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 53, reads 7925, writes 29, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 54, reads 7923, writes 31, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 55, reads 7925, writes 29, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 56, reads 7925, writes 30, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 1, ifcnt 21, reads 7944, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 21, reads 7944, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-05-02 23:06:26 Cache data hit count 4294967295 Slowest loop: 289.85ms; fastest: 0.11ms === Storage === Free file entries: 20 SD card 0 not detected, interface speed: 0.0MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 28, maxWait 639059ms, bed compensation in use: mesh, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 242042, completed 242042, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 13], CDDA state -1 === DDARing 1 === 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, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000807 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 454957, received 164974, lost 0, errs 0, boc 0 Longest wait 6ms for reply type 6033, peak Tx sync delay 350, free buffers 26 (min 24), ts 29281/29280/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 30204/30204 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x0d390 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.1 (2024-04-19 16:30:56, 32-bit) HTTP+Executed: > Executing M122 File 0:/gcodes/BalloonFlower_Pot_0.2mm_PLA_VC3_300_7h33m.gcode is selected, paused Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 38.77, max time between full transfers: 90.3ms, max pin wait times: 50.5ms/9.9ms Codes per second: 5.39 Maximum length of RX/TX data transfers: 4504/1200
I was able to cancel the print using the PanelDue as well.
-
@omtek Another series of errors, this time using the PanelDue to put the tool into standby.
Six errors in the console in DWC, along with a message on the PanelDue. The printer was idle at the time (I was changing filament).
M122 generated immediately after the error
M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus WiFi (SBC mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 1 of 40 (40 max) === RTOS === Static ram: 103232 Dynamic ram: 108140 of which 208 recycled Never used RAM 26116, free system stack 120 words Tasks: SBC(2,ready,25.2%,313) HEAT(3,nWait 6,0.5%,326) Move(4,nWait 6,38.2%,241) CanReceiv(6,nWait 1,0.8%,774) CanSender(5,nWait 7,2.5%,327) CanClock(7,delaying,0.1%,348) TMC(4,nWait 6,18.7%,68) MAIN(2,running,3.1%,595) IDLE(0,ready,0.2%,30) AIN(4,delaying,10.7%,256), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 10:23:35 ago, cause: software Last software reset at 2024-05-02 23:14, reason: User, none spinning, available RAM 26452, slot 1 Software reset code 0x6013 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 37417259, completed 37417257, timed out 0, errs 0 MCU temperature: min 29.8, current 30.4, max 54.6 Supply voltage: min 24.3, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/9, heap memory allocated/used/recyclable 2048/1252/1100, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 88, reads 58510, writes 31, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 86, reads 58510, writes 31, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 86, reads 58511, writes 30, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 87, reads 58510, writes 30, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 89, reads 58510, writes 31, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 1, ifcnt 32, reads 58531, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 32, reads 58530, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-05-03 09:37:42 Cache data hit count 4294967295 Slowest loop: 301.99ms; fastest: 0.09ms === Storage === Free file entries: 20 SD card 0 not detected, interface speed: 0.0MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 36, maxWait 7801823ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 2738422, completed 2738422, hiccups 0, stepErrors 0, LaErrors 1, Underruns [2, 0, 10], CDDA state -1 === DDARing 1 === 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, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.2 === GCodes === Movement locks held by null, null HTTP* is doing "M122" 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 3055271, received 1048884, lost 0, errs 0, boc 0 Longest wait 6ms for reply type 6033, peak Tx sync delay 441, free buffers 26 (min 24), ts 187079/187078/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 58463/58463 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x0d344 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.1 (2024-04-19 16:30:56, 32-bit) HTTP+Executed: > Executing M122 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 38.35, max time between full transfers: 106.2ms, max pin wait times: 73.8ms/5.7ms Codes per second: 5.43 Maximum length of RX/TX data transfers: 4441/7656
I was going to downgrade the PanelDue firmware to rc8 to see if that changed anything, but I see that PanelDue 3.5.0 was released yesterday so I'm going to try upgrading to that to see if that resolves this.
-
@omtek whats in your pause.g?
-
pause.g
M83 ; relative extruder moves G1 E-10 F3600 ; retract 10mm of filament G91 ; relative positioning G1 Z5 F360 ; lift Z by 5mm G90 ; absolute positioning G1 X150 Y280 F6000 ; go to X150 Y280
EDIT: I forgot to add that the error occured after updating the PanelDue to 3.5.0 and pausing a print from the PanelDue
.
Here is the M122 from shortly after:
M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus WiFi (SBC mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 1 of 40 (40 max) === RTOS === Static ram: 103232 Dynamic ram: 108200 of which 260 recycled Never used RAM 26004, free system stack 120 words Tasks: SBC(2,ready,23.2%,294) HEAT(3,nWait 6,0.5%,326) Move(4,nWait 6,5.0%,241) CanReceiv(6,nWait 1,0.8%,774) CanSender(5,nWait 7,0.2%,327) CanClock(7,delaying,0.1%,348) TMC(4,nWait 6,18.2%,68) MAIN(2,running,37.9%,595) IDLE(0,ready,3.7%,30) AIN(4,delaying,10.5%,256), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 12:07:24 ago, cause: software Last software reset at 2024-05-02 23:14, reason: User, none spinning, available RAM 26452, slot 1 Software reset code 0x6013 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x04 Aux0 errors 0,1,0 MCU revision 3, ADC conversions started 43646447, completed 43646447, timed out 0, errs 0 MCU temperature: min 29.6, current 46.6, max 52.6 Supply voltage: min 24.3, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/9, heap memory allocated/used/recyclable 2048/180/28, gc cycles 1 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 98, reads 41982, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 96, reads 41981, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 97, reads 41980, writes 11, timeouts 0, DMA errors 0, CC errors 0 Driver 3: ok, SG min 0, read errors 0, write errors 0, ifcnt 100, reads 41979, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 4: ok, SG min 0, read errors 0, write errors 0, ifcnt 99, reads 41982, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 0, ifcnt 32, reads 41991, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 32, reads 41992, writes 0, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-05-03 11:21:31 Cache data hit count 4294967295 Slowest loop: 1102.09ms; fastest: 0.13ms === Storage === Free file entries: 20 SD card 0 not detected, interface speed: 0.0MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 36, maxWait 4397359ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 next step interrupt due in 8 ticks, enabled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 13, completed 11, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 7], CDDA state 3 === DDARing 1 === 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, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.2 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by File, null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File* is doing "G30" in state(s) 0 5 0 0, running macro 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000807 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 88125, received 176272, lost 0, errs 0, boc 0 Longest wait 6ms for reply type 6033, peak Tx sync delay 282, free buffers 26 (min 24), ts 31146/31146/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 37955/37955 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x0d344 Buffer RX/TX: 228/424-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.1 (2024-04-19 16:30:56, 32-bit) HTTP+Executed: > Executing M122 File+ProcessInternally: >>> Macro bed.g: Executing echo "Current rough pass deviation: " ^ move.calibration.initial.deviation >>>> Macro homeall.g: Idle File 0:/gcodes/BalloonFlower_Pot_0.2mm_PLA_VC3_300_11h10m.gcode is selected, processing File: Buffered code: G30 ; home Z by probing the bed Buffered code: M402 Buffered code: M98 P"0:/sys/setMaxSpeed.g" Buffered code: G91 ; relative positioning Buffered code: G1 H2 Z5 F120 ; lift Z relative to current position Buffered code: G90 ; absolute positioning Buffered codes: 196 bytes total >> Doing macro start.g, started by system >> Suspended code: M703 ; load filament-specific config.g >> Suspended code: M98 P"0:/sys/setInputShaping.g" ; pull in input shaping parameters >> Suspended code: G90 ; absolute Positioning >> Suspended code: M83 ; extruder relative mode >> Suspended code: M98 P"0:/sys/setDefaultProbePoints.g" ; reset probe points, just in case >>> Doing macro bed.g, started by G32 ; 3-point bed leveling >>> Suspended code: M401 >>> Suspended code: G30 P0 X20 Y20 Z-99999 ; probe near a leadscrew >>> Suspended code: G30 P1 X170 Y275 Z-99999 ; probe near a leadscrew >>> Suspended code: G30 P2 X280 Y40 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors >>> Number of flush requests: 1 >>>> Doing macro homeall.g, started by G28 Code buffer space: 3672 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 38.79, max time between full transfers: 83.1ms, max pin wait times: 65.1ms/3.5ms Codes per second: 0.84 Maximum length of RX/TX data transfers: 4442/7656
-
@omtek i asked in case there were a lot of nested macros in your pause.g
Does it happen everytime when you paus eon PanelDue? Also every happen when you pause from DWC?
-
@T3P3Tony So far, it only seems to happen when using the PanelDue. Just now, I was able to pause and resume a print using DWC, and then again on the PanelDue and got the same behavior both times (on pause, the filament retracts, Z lifts, head moves to the "back" of the printer; on resume, the head returns to the previous position, Z lowers, 10mm of filament is extruded, and the print resumes as normal.)
I've been unable to recreate the initial unresponsiveness I encountered in my initial post and though the error is concerning, it doesn't appear to adversely affect the printers operation.
So far I've had the error occur the following ways:
- Pressing the pause button on the PanelDue
- Putting an at-temperature T0 into standby (turning the icon on the PanelDue from red to yellow, as seen here)
If I can get the error to occur again, is there any specific commands I should run or behavior to watch out for that would tease out more information?
-
-
@T3P3Tony I'm having this issue also, maybe it's related to why my tools are crashing??
-
@gnydick do you have a PanelDue and does it happen when you are pausing?
-
@T3P3Tony I do have PanelDue. It happens at different times, I don't remember exactly what the situation is. I will let you know next time.
-
@T3P3Tony yep, it is when pausing a print.
-
-
Adding a new issue that I happened to notice:
- After the error occurs, I am unable to see any files populated in the SD card section, or the Macro section on the PanelDue.
- Additionally, and likely related, the 'Print Again' button on the PanelDue does nothing (I can hear the beep when I press it, but the printer doesn't repeat the last print). I am able to repeat the print in DWC using the "Status - Print Again" button.
After restarting the print using DWC, I went to pause the printer again. I pressed the pause button on the PanelDue, and nothing happened. I press pause again, and the printer paused. The PanelDue then gave a series of errors that don't show up in the DWC console (M25, because of the second pause command and M32 because of the "Print Again" button from before, I'm guessing).
After cancelling the print, I am able to browse the files in the SD card menu as well as my macros on the PanelDue.
M122 taken after the cancelled print.
m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus WiFi (SBC mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 1 of 40 (40 max) === RTOS === Static ram: 103232 Dynamic ram: 108224 of which 236 recycled Never used RAM 25908, free system stack 118 words Tasks: SBC(2,ready,75.6%,294) HEAT(3,nWait 6,5.2%,326) Move(4,nWait 6,88.3%,241) CanReceiv(6,nWait 1,9.0%,772) CanSender(5,nWait 7,5.1%,327) CanClock(7,delaying,1.1%,348) TMC(4,nWait 6,20.7%,68) MAIN(2,running,153.0%,580) IDLE(0,ready,0.2%,30) AIN(4,delaying,121.8%,256), total 480.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 181:48:17 ago, cause: software Last software reset at 2024-05-02 23:14, reason: User, none spinning, available RAM 26452, slot 1 Software reset code 0x6013 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x04 Aux0 errors 0,2,0 MCU revision 3, ADC conversions started 654509289, completed 654509288, timed out 0, errs 0 MCU temperature: min 29.9, current 33.6, max 53.9 Supply voltage: min 24.2, current 24.4, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/9, heap memory allocated/used/recyclable 2048/2012/1860, gc cycles 3 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 2, write errors 0, ifcnt 167, reads 61817, writes 29, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 166, reads 61818, writes 29, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 168, reads 61817, writes 30, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 167, reads 61820, writes 28, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 1, write errors 0, ifcnt 166, reads 61817, writes 29, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 2, write errors 0, ifcnt 32, reads 61845, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 32, reads 61848, writes 0, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-05-10 13:02:24 Cache data hit count 4294967295 Slowest loop: 383.36ms; fastest: 0.10ms === Storage === Free file entries: 20 SD card 0 not detected, interface speed: 0.0MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 40, maxWait 356176223ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 13675, completed 13675, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 20], CDDA state -1 === DDARing 1 === 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, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.1 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" 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 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000803 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 9346425, received 12112084, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6013, peak Tx sync delay 546, free buffers 26 (min 25), ts 2162545/2162545/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 818/818 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x0d344 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.1 (2024-04-19 16:30:56, 32-bit) HTTP+Executed: > Executing M122 Aux: Buffered code: M121 Buffered codes: 24 bytes total Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 38.46, max time between full transfers: 172.4ms, max pin wait times: 172.1ms/7.0ms Codes per second: 1.94 Maximum length of RX/TX data transfers: 4499/7656
-
@T3P3Tony I now experienced it after issuing
T-1
. Machine had been freshly rebooted. No pause was issued. The only unusual behavior was thatT0 P0
was issued to load the tool. -
@gnydick So what exactly did you do to produce this situation?
reboot T0 P1 T-1
Did you issue any other commands? How did you issue the commands (from the panelDue?). Is this error repeatable?
-
@gloomyandy there were a couple of commands between the T0 P0 and T-1. I was basically just selecting the tool so I could load more filament.
I'm 99% sure it was all through PanelDue. I will try to reproduce it and let you know.
-
@gnydick If you can get a set of commands that is reproducible and they are issued via the panelDue it might also be useful to check if the same set of commands produces an error if they are issued via the DWC console or perhaps via a USB connection.
-
@gloomyandy It seems like if the command from the PanelDue runs a predefined macro, then it's likely to generate the error message.
So far I've encountered the error when doing the following:
-
Pausing a print (runs pause.g)
-
Putting an active tool into standby (runs the toolchange macros)
What other commands besides those two trigger a predefined macro? The only other one I can think of is 'Cancel', but that won't show up unless the printer is paused.
-
-
@omtek any homing command (G28 X/Y/Z), as well as triggering a bed level (G32) or a bed mesh (G29). Main difference between these and pause/tool change is that pause and tool change may interact with the extruder for retract/unretracts?