HardFault invState + DWC preset issue
-
Afternoon all, my Mini 5 keeps resetting randomly, it doesn’t need to be printing or heating up, I carried out an M122 after the last time and attached below, the preset temperature for the bed also doesn’t display correctly, and mirrors the tool temperature, I’ve checked the JSON and the bed temps are there but not on DWC? This a new polar build I’m working on from scratch, I would appreciate if anybody has any pointers where to start with this issue?
M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: 5S4YZ-DP6KL-K65J0-409N6-L7W1Z-7AKNZ Used output buffers: 17 of 40 (18 max) === RTOS === Static ram: 103232 Dynamic ram: 120284 of which 12 recycled Never used RAM 15032, free system stack 206 words Tasks: NETWORK(2,nWait 7,12.1%,218) HEAT(3,nWait 1,0.0%,351) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,338) TMC(4,nWait 6,0.8%,111) MAIN(1,running,85.5%,665) IDLE(0,ready,0.7%,30) AIN(4,delaying,0.9%,265), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:00:32 ago, cause: software Last software reset at 2024-05-18 14:17, reason: HardFault invState, Gcodes spinning, available RAM 14576, slot 1 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00020000 ICSR 0x00000803 BFAR 0xe000ed38 SP 0x20011ff0 Task NETW Freestk 483 ok Stack: 00000175 00000002 200014e8 00000000 20032921 000a07ef 00000000 600f0000 00000000 00000000 00000000 00000000 2003177c 00000800 2002c5c8 2002c5c8 00000001 2002c41e 200187fc 2001e9f8 0003011f 00000000 00000000 00000000 200120a0 00000014 b5ddd5e8 Error status: 0x00 MCU revision 3, ADC conversions started 32395, completed 32395, timed out 0, errs 0 MCU temperature: min 40.7, current 40.9, max 41.8 Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/12/12, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 78, reads 1683, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 2, read errors 0, write errors 1, ifcnt 78, reads 1683, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 2, read errors 0, write errors 1, ifcnt 78, reads 1683, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 78, reads 1682, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 76, reads 1683, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present Date/time: 2024-05-18 14:17:49 Cache data hit count 61379886 Slowest loop: 5.76ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 3.1ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, 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 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], 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 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, 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 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 290, received 0, lost 0, errs 153246, boc 0 Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 26 (min 26), ts 162/0/0 Tx timeouts 0,0,161,0,0,127 last cancelled message type 30 dest 127 === Network === Slowest loop: 8.08ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address e8:68:e7:e5:f7:98 Module reset reason: Power up, Vcc 3.39, flash size 2097152, free heap 33164 WiFi IP address 192.168.0.66 Signal strength -64dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
; Default config.g template for DuetPi ; Replace this with a proper configuration file (e.g from https://configtool.reprapfirmware.org) ; Display initial welcome message ;M291 P"Please go to <a href=""https://www.duet3d.com/StartHere"" target=""_blank"">this</a> page for further instructions on how to set it up." R"Welcome to your new Duet 3!" S1 T0 ; Enable network if {network.interfaces[0].type = "ethernet"} M552 P192.168.1.14 S1 else M552 S1 M550 P"Mini Polar" ; set printer name M451 ; select FFF mode G90 ; send absolute coordinates... M83 ; ...but relative extruder moves ;M575 P1 S1 B57600 ; paneldue ;Configure for Polar M669 K7 R115 H115 F90 A90 ; Axis and motor config M569 P0 S0 ; X Axis on driver 0 M569 P1 S1 ; Y Axis on driver 1 M569 P2 S1 ; Z Axis on driver 2 M569 P3 S1 ; Extruder on driver 3 M584 X0 Y1 Z2 E3; driver assignment M92 X80 Y26.6666665 Z800 E727.272 ; set axis steps M201 X1000 Y1000 Z500 E5000 ; set axis acceleration M203 X6000 Y6000 Z1000 E3000; max linear speeds mm/minute M205 X2000 Y2000 Z1000 ; max instant speed change mm/s M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M564 H1 S1 ; limit axes M566 X500 Y500 Z100 E120; set allowable instantanous speed change (JERK) M906 X1800 Y1000 Z1100 E500 I20 ; motor currents M84 S20 ;Set idle timeout ;M917 X20 Y20 Z20 E20 ;Axis limits M208 X0:280 Y-115:115 Z0:280 ; set axis limits ; Endstops M574 X2 S1 P"io5.in" ; X Axis endstop on Low end (io5) M574 Y1 S1 P"io3.in" ; Y Axis endstop on Low end (io3) M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"nil" ; create servo pin 0 for Klicky M558 P8 C"io6.in" H3 F80:50 T6000 R1 A3 S0.005 ; set Z probe type to Klicky and the dive height + speeds G31 P50 X0 Y-30 Z6 ; set Z probe trigger value, offset and trigger height ; Heaters M308 S0 P"temp1" Y"thermistor" T98801 B4185 ; configure sensor 0 as thermistor on pin temp1 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M308 S1 P"temp0" Y"thermistor" T98801 B4185 ; configure sensor 0 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create hotend heater output on out1 and map it to sensor 1 M143 H1 S280 ; set temperature limit for heater 0 to 280C M307 H1 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit ;Fans M950 F0 C"out5" M106 P0 H1 S0 L1 T40 ;Tools M563 P0 S"V6" H1 D0 F0 ; define tool 0 M568 P0 X0 Y0 Z0 R0 S0 A0 ; set tool 0 settings G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ;Extruder M302 ; Report current state M302 P1 ; Allow cold extrusion M302 S120 R110 ; Allow extrusion starting from 120°C and retractions already from 110°C ;------------------------------------------------------------------------------------ ; Miscellaneous M501 ; load saved parameters from non-volatile memory (load config-override.g) T0 ; select first tool
-
Please confirm DWC is also version 3.5.1 and share your config-override.g as well.
-
@oliof Hi, override.g attached below, the firmware is 3.5.1, also included the json, I’ve tried narrowing the cause for the hard fault, my original thought was I was printing to close to the centre of the bed, but that doesn’t explain every occurrence, it doesn’t help that I don’t know what generates a hard fault reset! as for the presets I’m stumped to the point I was debating making a new config on the configuration page and flashing the memory, any ideas would be appreciated
; config-override.g file generated in response to M500 at 2024-05-18 16:34 ; This is a system-generated file - do not edit ; Heater model parameters M307 H0 R0.272 K0.557:0.000 D1.81 E1.35 S1.00 B0 M307 H1 R2.770 K0.363:0.006 D5.41 E1.35 S1.00 B0 V24.3 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00
{"main":{"language":"en","lastHostname":"192.168.0.66","darkTheme":true,"useBinaryPrefix":true,"disableAutoComplete":false,"dashboardMode":"Default","bottomNavigation":true,"numericInputs":false,"iconMenu":false,"displayUnits":"mm","decimalPlaces":1,"settingsStorageLocal":false,"settingsSaveDelay":500,"cacheStorageLocal":true,"cacheSaveDelay":1000,"notifications":{"errorsPersistent":true,"timeout":5000},"behaviour":{"jobStart":false},"webcam":{"enabled":false,"url":"","updateInterval":5000,"liveUrl":"","useFix":false,"embedded":false,"rotation":0,"flip":"none"},"enabledPlugins":[],"plugins":{}},"machine":{"ajaxRetries":2,"updateInterval":250,"fileTransferRetryThreshold":358400,"crcUploads":true,"ignoreFileTimestamps":false,"pingInterval":2000,"updateDelay":0,"babystepAmount":0.05,"checkVersions":true,"displayedExtraTemperatures":[1],"displayedExtruders":[0,1,2,3,4,5],"displayedFans":[-1,0,1,2],"moveSteps":{"X":[100,50,10,1,0.1],"Y":[100,50,10,1,0.1],"Z":[50,25,5,0.5,0.05],"default":[100,50,10,1,0.1]},"moveFeedrate":6000,"toolChangeMacros":["free","pre","post"],"extruderAmounts":[100,50,20,10,5,1],"extruderFeedrates":[50,10,5,2,1],"temperatures":{"tool":{"active":[250,245,235,220,205,195,160,120,100,50,0],"standby":[180,160,140,0]},"bed":{"active":[110,100,90,70,65,60,0],"standby":[50,40,30,0]},"chamber":[90,80,70,60,50,40,0]},"groupTools":true,"singleBedControl":true,"singleChamberControl":false,"spindleRPM":[10000,75000,5000,2500,1000,0],"enabledPlugins":[],"plugins":{}}}
-
@jumpedwithbothfeet Can you have a look at @dc42's reply here? https://forum.duet3d.com/post/339225
There's a Github issue tracking this: https://github.com/Duet3D/RepRapFirmware/issues/935
Regarding your M122, @dc42 saysIt's not clear cut from that stack trace but I suspect it is indeed related to that other one. More M122 reports after it happens may confirm that.
If it happens again, please can you send M122 and post it here.
Regarding DWC, you could try renaming the 0:/sys/dwc-settings.json file, then refresh the browser window. DWC should then create a new file if you change any setting. Though in the json you posted I can see the temperature presets for the tool and bed are different, so this may not help.
"temperatures":{"tool":{"active":[250,245,235,220,205,195,160,120,100,50,0],"standby":[180,160,140,0]},"bed":{"active":[110,100,90,70,65,60,0],"standby":[50,40,30,0]}
Ian
-
@droftarts thanks for pointing me to the post, I didn’t think it was a possible firmware issue as it’s a new build and my other printer is on 3.5.1 and has had no issues, I’ve read through the post and yup it seems like the same problem, ironically since posting and moving the test print further out I’ve not had a fault, I will report if it happens again or try forcing the fault by printing closer to the pole.
I tried renaming the JSON file to no avail, changed a setting after and rebooted the board but it behaves the same, I’ll try deleting it and generating a new one.