I will confirm that changing from /?action=stream
to /?action=snapshot
in the webcam URL and setting an update interval (I chose 500ms), you can get something resembling a webcam slideshow in the window.

Posts made by omtek
-
RE: [3.6.0-rc.1] DWC Webcam page displays broken image
-
RE: [3.6.0-rc.1] DWC Webcam page displays broken image
@chrishamm Here is a screenshot of the webcam settings
I reverted back to 3.5.4 to grab a screenshot from the inspector too.
And the same page in 3.6.0-rc.1
Let me know if you need any more info!
~oM
-
[3.6.0-rc.1] DWC Webcam page displays broken image
I have updated my Duet 3 Mini 5+ machine and its related boards to 3.6.0-rc.1 and while kicking the tires I noticed that that webcam page in MS Edge wasn't displaying the webcam feed that I was seeing in 3.5.4.
The webcam is using ustreamer on a raspberry pi. The duet3mini5+ is running in standalone mode.
Waterfox (Mozilla Firefox fork) also displays something similar
I have verified the stream is working in a separate browser tab
All boards, WiFi server and DWC are at their latest versions.
-
RE: RRF 3.5.4 - Hardfault bfarValid precise
@T3P3Tony I wasn't planning on trying 3.6 until the RC phase as I have a SHT36MAX3 toolboard and a CannedERCF board on the printer and generally have to wait on Team Gloomy for their firmware updates before I can do any updating (and I'm compiling my own firmware for the CannedERCF).
Do you know if there is any way to induce (for lack of a better term) the HardFault? Two months is a long time to go between faults and unlike the series of HardFault restarts that started this post, I haven't encountered another one since last night.
-
RE: RRF 3.5.4 - Hardfault bfarValid precise
Adding to this post as I just had another HardFault occur.
-
Printer had recently finished a print without error; printer was idle but bed and tool heaters were pre-soaking for new print
-
Prusaslicer 2.9.0 was in the middle of uploading g-code when the reset occurred.
This is the first HardFault that I have encountered since first posting in this thread.
M122 follows:
=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.4 (2024-11-24 10:44:24) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 3 of 40 (26 max) === RTOS === Static ram: 103496 Dynamic ram: 124556 of which 0 recycled Never used RAM 10844, free system stack 198 words Tasks: NETWORK(2,nWait 7,9.7%,241) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,349) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.1%,798) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,1.5%,101) MAIN(1,running,86.5%,665) IDLE(0,ready,1.3%,29) AIN(4,delaying,0.9%,255), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:00:22 ago, cause: software Last software reset at 2025-02-22 01:04, reason: HardFault bfarValid precise, Gcodes spinning, available RAM 9328, slot 2 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00000803 BFAR 0x3730302e SP 0x20011f70 Task NETW Freestk 444 ok Stack: ffffffff 20033e6c 00000002 00000000 00000000 3730302e 0002e638 01010000 00000000 20011807 000a26a3 004202c0 2002c438 00000000 2002c438 00000001 00000000 00000004 0002e8d5 2002c43c 2002c401 3730302e 85a74255 00000000 0000011c 2002c658 200321a8 Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 18027, completed 18027, timed out 0, errs 0 MCU temperature: min 33.9, current 34.4, max 35.4 Supply voltage: min 24.3, current 24.4, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/300/128, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 142, reads 2039, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 143, reads 2038, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 65, reads 2041, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 2, read errors 0, write errors 1, ifcnt 142, reads 2038, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 2, read errors 0, write errors 1, ifcnt 143, reads 2039, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 2, read errors 0, write errors 1, ifcnt 143, reads 2038, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 65, reads 2041, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2025-02-22 01:05:09 Cache data hit count 42967048 Slowest loop: 4.91ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 2.5ms, 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 214, received 694, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6031, peak Tx sync delay 3, free buffers 26 (min 25), ts 114/113/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 25.43ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 2 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.2.1 MAC address d8:bf:c0:14:e5:fc Module reset reason: Power up, Vcc 3.36, flash size 2097152, free heap 35896 WiFi IP address 192.168.2.8 Signal strength -46dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
EDIT: I wanted to add that since the initial HardFault in December and last night, I updated Duet Wifi Server to 2.2.1.
-
-
RE: Unexpected startup behavior.
@fcwilt You set the name in DWC using the drop-down menu:
and you configure your filaments in the Filament section of DWC:
clicking on "New FIlament" will prompt you for a name
which will create the folder /filaments/<filament name>/ and empty config.g, unload.g, and load.g macros for you to use.
If you want to update the filament using a macro you'll have to echo > <your filament name> to
filaments.csv
; the value is stored at the end of the file. When you change the filament using DWC this file is updated automatically so your macro changes may be overwritten. -
RE: Unexpected startup behavior.
See
M703
:https://docs.duet3d.com/User_manual/Reference/Gcodes#m703-configure-filament
"After assigning a filament to a tool, this command may be used to run /filaments/<filament name>/config.g to set parameters like temperatures, extrusion factor, retract distance. If no filament is loaded, the code completes without a warning."
-
RE: Question about Sammy-C21 board
For cloning the repositories, I use
git
from the command prompt. I believe you can also use Github Desktop if you're more comfortable with a GUI, though I've never used it personally. You need to installgit
or Github Desktop for your OS if you haven't already.For each repository, there is a
button. If you click it'll have the particular URL for cloning the repository using the command line, or a button for opening in Github Desktop.
So for example, to clone the 3.5-dev branch of Duet3Expansion, I open my terminal inside the workspace folder I created and type:
git clone --branch 3.5-dev https://github.com/Duet3D/Duet3Expansion.git
Do that for each of the repositories above, changing the URL for each, and placing them all into the same folder.
In the end, it should look something like this:
After that, open Eclipse. It should ask you to select a directory as a workspace. Point it to the folder with your cloned repositories.
Then to the File menu, and select
Open Projects from File System...
.Set the Import Source is your workspace folder and it should show your folders.
Click finish and you should see everything in Eclipse
Hope this helps!
-
RE: Question about Sammy-C21 board
@fcwilt I'm using a Sammy-C21 on a CannedERCF and created a build environment for compiling firmware so I'll try to remember the steps:
Towards the bottom of the Duet3Expansion repository are the links to three packages you need to download (gcc cross compiler, the Eclipse IDE, and the GNU Arm Eclipse bundle)
Install them.
When installing Eclipse you want Eclipse for C/C++.
I created a folder on my drive, then cloned the following repositories:
- Duet3Expansion
3.5-dev
- CANlib
3.5-dev
- RRFLibraries
3.5-dev
- CoreN2G
3.5-dev
- FreeRTOS
3.5-dev
- Qfplib-M0-full
3.5-dev
and added that folder as a workspace.
The FreeRTOS repository also has instructions for adding a PATH variable to the project in Eclipse necessary to compile for the Sammy-C21.
After that you make the necessary changes to your code, set the build target in eclipse to
SAMMY-C21
, cross your fingers, and hope for the best! - Duet3Expansion
-
RE: RRF 3.5.4 - Hardfault bfarValid precise
@dc42 I built a new computer in the first week of December '24 and started using Microsoft Edge for DWC; prior to that I was using Google Chrome. I use Google Chrome on my S22U phone to access DWC, as well. This installation of Windows 11 Professional is only a few weeks old and was a fresh installation. I haven't installed any additional languages aside from 'English (United States)' in Windows and Edge just shows two instances of English ('English' and 'English (US)') under preferred languages.
-
RE: RRF 3.5.4 - Hardfault bfarValid precise
@dc42 I meant to update this post sooner to add that I don't know why it started, but it stopped just as mysteriously as it started; including the two reports above, I captured an additional five M122 reports over a 36-ish hour period. The last one was 29 December, and I haven't encountered the issue since. The printer has been on and active with a browser window open to the printer since then.
The two most recent changes made to the printer before the issue occurred was updating the PanelDue 7.0i firmware to 3.5.1 and replacing the toolboard umbilical cable with the newer style molded power-CAN cable from Mellow Fly. I don't know if that had anything to do with it, but I'd be lying if I didn't consider rolling back both those changes when these resets started occurring.
Collected M122s (the two M122 reports above are included in the attached file):
omtek-RRF3.5.4-Duet3Mini5Plus-HardFault-M122.txtLet me know if I can provide any other information.
~oM
-
RE: RRF 3.5.4 - Hardfault bfarValid precise
Another Hardfault. Printer was idle at the time. This one had
Expansion
spinning.M122
=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.4 (2024-11-24 10:44:24) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 13 of 40 (36 max) === RTOS === Static ram: 103496 Dynamic ram: 124564 of which 12 recycled Never used RAM 10824, free system stack 198 words Tasks: NETWORK(2,nWait 7,11.9%,211) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,337) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.1%,798) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,352) TMC(4,delaying,1.5%,101) MAIN(1,running,84.7%,665) IDLE(0,ready,1.1%,29) AIN(4,delaying,0.8%,259), total 100.0% Owned mutexes: === Platform === Last reset 00:00:28 ago, cause: software Last software reset at 2024-12-27 16:42, reason: HardFault bfarValid precise, Expansion spinning, available RAM 9544, slot 0 Software reset code 0x4072 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00000803 BFAR 0x0d392e38 SP 0x20011f80 Task NETW Freestk 448 ok Stack: 0d392e30 20033b0f 0000000a 00000001 20033b0f 0009e8e9 000a1478 61010000 2002c438 00000001 20012000 00000113 0009e8e9 2002c438 0002e74f 0d392e30 2002c401 20012050 a5a76ae7 00000000 00000113 2002c658 20031990 2002c670 2001eb00 a5a5a5a5 000305d9 Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 21388, completed 21387, timed out 0, errs 0 MCU temperature: min 37.2, current 37.4, max 38.6 Supply voltage: min 24.3, current 24.4, 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/300/128, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 105, reads 2532, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 107, reads 2531, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 54, reads 2534, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 4, read errors 0, write errors 1, ifcnt 109, reads 2531, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 2, read errors 0, write errors 1, ifcnt 107, reads 2532, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 1, ifcnt 108, reads 2531, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 54, reads 2534, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-12-27 16:43:21 Cache data hit count 53217681 Slowest loop: 8.67ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 2.5ms, 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 262, received 817, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6034, peak Tx sync delay 6, free buffers 26 (min 25), ts 142/141/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 30.26ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 3 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.2.0 MAC address d8:bf:c0:14:e5:fc Module reset reason: Power up, Vcc 3.36, flash size 2097152, free heap 39332 WiFi IP address 192.168.2.8 Signal strength -53dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
-
RRF 3.5.4 - Hardfault bfarValid precise
I just encountered a 'Hardfault bfarValid precise' reset on my Duet 3 Mini Wifi+ running RRF 3.5.4. The machine was sitting idle at the time, but had run some input shaping movements along with a G29 using the SZP. I had helped with pinpointing the source of this issue in the past, and this is the first Hardfault reset I've encountered since installing the 3.5.3-dbg firmware from dc42 and now 3.5.4.
M122
m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.4 (2024-11-24 10:44:24) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF Used output buffers: 12 of 40 (30 max) === RTOS === Static ram: 103496 Dynamic ram: 124540 of which 12 recycled Never used RAM 10848, free system stack 200 words Tasks: NETWORK(2,nWait 7,9.4%,219) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,349) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.1%,798) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,353) TMC(4,nWait 6,1.5%,101) MAIN(1,running,86.7%,665) IDLE(0,ready,1.5%,29) AIN(4,delaying,0.8%,264), total 100.0% Owned mutexes: === Platform === Last reset 00:00:20 ago, cause: software Last software reset at 2024-12-27 15:00, reason: HardFault bfarValid precise, Platform spinning, available RAM 9828, slot 0 Software reset code 0x4060 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00000803 BFAR 0x0d392e38 SP 0x20011f80 Task NETW Freestk 448 ok Stack: 0d392e30 20033b0f 0000000a 00000001 20033b0f 0009e8e9 000a1478 61010000 2002c438 00000001 20012000 00000113 0009e8e9 2002c438 0002e74f 0d392e30 31514201 20012050 a5a76a17 00000000 00000113 2002c658 20031178 2002c670 2001eb00 a5a5a5a5 000305d9 Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 15656, completed 15654, timed out 0, errs 0 MCU temperature: min 37.0, current 37.2, max 38.6 Supply voltage: min 24.3, current 24.4, 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/300/128, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 40, reads 1807, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 2, read errors 0, write errors 1, ifcnt 42, reads 1807, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 21, reads 1810, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 2, read errors 0, write errors 1, ifcnt 43, reads 1807, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 2, read errors 0, write errors 1, ifcnt 42, reads 1807, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 1, ifcnt 40, reads 1807, writes 13, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 21, reads 1810, writes 10, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-12-27 15:01:08 Cache data hit count 38321701 Slowest loop: 7.67ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 2.5ms, 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 190, received 621, lost 0, errs 0, boc 0 Longest wait 2ms for reply type 6031, peak Tx sync delay 6, free buffers 26 (min 25), ts 102/101/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 11.38ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 3 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.2.0 MAC address d8:bf:c0:14:e5:fc Module reset reason: Power up, Vcc 3.36, flash size 2097152, free heap 39544 WiFi IP address 192.168.2.8 Signal strength -44dBm, channel 1, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
config.g
;;;; sacrifical colons. delete or add semicolons to this line and save ;=== initialize variables ===; M98 P"0:/sys/init_pre.g" ;; set some variables that we need for configuration ;=== 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 M552 S1 ;G4 S5 ;M122 P500 S0 ;=== configuration - PanelDue init ===; M575 P1 S1 B57600 ;=== 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.5 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 S0 D2 ;; Extruder.driver0 ;=== configuration - drive - axis mapping ===; M584 X0.3 Y0.4 Z0.1:0.0:0.5 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 M84 S30 ;; set idle hold 30s ;=== configuration - drive - speed, acceeleration, jerk ===; M98 P"0:/sys/configMaxSpeed.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 T9000 A20 B0 ;; klicky pcb probe installed on RRF36.io0.in (20.io0.in) ;=== configuration - axis - mesh compensation and bed dismensions ===; M557 X30:290 Y30:290 S15 ;; SZP-safe if !exists(global.bedCenterX) ;; calculate bed center, insert into object model global bedCenterX = floor(move.axes[0].max / 2) if !exists(global.bedCenterY) global bedCenterY = 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.475 K0.253:0.000 D1.98 E1.35 S1.00 B0 ;=== configuration - sensor - accelerometer ===; M955 P20.0 I10 ;; create accelerometer on RRF36 ;;; I = accelerometer orientation, expressed as 2-digit number. see ;;; https://www.dropbox.com/s/hu2w5mk57l4zqpg/Accelerometer%20Orientation.pdf ;;; for all possible permutations ;=== 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 M950 F2 C"0.out3" Q250 ;; create fan 0 (F0) on pin 0.out2 M106 P2 C"mainboard cooling" S0 H1 T155 L255 ;; set fan 0 (P0) to thermostatic control (45C), full-speed (L255) named "mainboard cooling" ;=== configuration - LEDs, chamber & toolhead ===; 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/gizmo0.g" ;; revo + vz-hextrudort 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 M39 ;; show SD card status in console ;=== configuration ===; ;=== configuration - housekeeping ===; M98 P"0:/sys/init_post.g" ;; set the last few variables we need that rely on loaded configuration M98 P"0:/sys/configBuildPlate.g" ;; see setBuildPlate.g for Z probe trigger value, offset, trigger height ;=== discard if necessary ===;
init_pre.g
if !exists(global.runDaemon) global runDaemon = false if !exists(global.bedPreheatTemp) global bedPreheatTemp = 60 if !exists(global.cancelled) ; global variable for exiting out of loops global cancelled = false if !exists(global.filamentDistance) global filamentDistance = 0 if !exists(global.filamentFeedSpeed) global filamentFeedSpeed = 1800 if !exists(global.filamentRetractSpeed) global filamentRetractSpeed = 3600 if !exists(global.filamentDistance) global filamentDistance = 0 ; global for use to allow filament to feed for set distance after sensor trips else set global.filamentDistance = 0
configMaxSpeed.g
;=== configuration - drive - current and idle factor ===; M906 X1400 Y1400 Z1400 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 X9.166 Y9.166 Z4.166 P1 ;; set maximum instantaneous speed changes (mm/min) and jerk policy M566 X550.0 Y550.0 Z250 P1 ;; set maximum instantaneous speed changes (mm/min) and jerk policy ;;M205 doesn't set jerk policy so we need M566 ;=== configuration - drive - speed ===; M203 X18000.00 Y18000.00 Z800.00 ;; set maximum speeds (mm/min) ;=== configuration - drive - acceleration ===; M201 X10000.00 Y10000.00 Z350.00 ;; set accelerations (mm/s^2) M204 P6000 T8000 ;; Set printing and travel acceleration (mm/s^2)
init_post.g
;;;;===== global variables for preheating, review, extract, and extrapolate for filament load/preheat macros);;;; ; extrusion if !exists(global.loadedFilament) || global.loadedFilament=null; global variable to hold filament name global loadedFilament="No_Filament" ; create a filament variable G4 P10 if move.extruders[state.currentTool].filament="" echo "No filament loaded. Cold extrude & retract set to defaults" M302 S190 R110 ; Allow extrusion starting from 190°C and retractions already from 110°C (defaults) set global.loadedFilament="No_Filament" else set global.loadedFilament=move.extruders[state.currentTool].filament ; set the variable to the currently loaded filament echo "Loading config for " ^ global.loadedFilament ^ " filament" M703 ; if a filament is loaded, set all the heats and speeds for it by loading config.g G4 P10
configBuildPlate.g
;=== configuration - bed - z-probe offset ===; G31 K0 P500 X-23.34 Y-20.49 Z5.4500 ;; klickyPCB with plunger switch on e3d revo, 0.6N G31 K1 X0.0 Y17.00 Z3.20 ;; beacon duct 1
gizmo0.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"heatercore" ;; 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"e3drevo" 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 ===; ;; VZ-Hextrudort Low with LDO motor M906 E1400 ;; set extruder motor current M350 E16 I1 ;; set microstepping to 16 with interpolation M92 E718.62 ;; 10T LDO motor 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. ;=== configuration - scanning z-probe ===; M558 K1 P11 C"20.i2c.ldc1612" F18000 T36000 M308 A"SZP" S4 Y"thermistor" P"20.temp1" T100000 B4092; thermistor on PCB/coil M558.2 K1 S16 R217324 ;=== 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)
Let me know if there's any additional information I can provide.
~oM
-
RE: Random Hard Fault resets on Duet 3 Mini WiFi
Three more messages overnight and this morning. They occurred after the printer was cooling down. Looks like another two potential crashes caught and averted. Still no resets to speak of.
*** Memory difference at line 2228 offset 4: original 392e303d copy 00000168, original changed, copy ok, fix=yes
*** Memory difference at line 2228 offset 52: original 20036658 copy 0d0a0d73, original ok, copy changed, fix=no
*** Memory difference at line 2228 offset 4: original 392e303d copy 00000168, original changed, copy ok, fix=yes
-
RE: Random Hard Fault resets on Duet 3 Mini WiFi
Started a long print last night and woke up to two messages in the console:
*** Memory difference at line 2228 offset 4: original 392e303d copy 00000168, original changed, copy ok, fix=yes
*** Memory difference at line 2228 offset 4: original 392e303d copy 00000168, original changed, copy ok, fix=yes
(the same message occurs twice; potential crash caught?) Printer has been stable otherwise.
-
RE: Random Hard Fault resets on Duet 3 Mini WiFi
Two more memory difference messages logged overnight. Printer was idle but has been printing nicely. Still no resets to speak of.
*** Memory difference at line 2228 offset 60: original 2001882c copy 0a0d392e, original ok, copy changed, fix=no
*** Memory difference at line 2228 offset 56: original 2002c5d8 copy 0a0d656e, original ok, copy changed, fix=no
-
RE: Random Hard Fault resets on Duet 3 Mini WiFi
Another memory difference message this afternoon. No resets to speak of, either.
*** Memory difference at line 2228 offset 12: original 0a0d392e copy 20032128, original changed, copy ok, fix=yes
and another
*** Memory difference at line 2228 offset 52: original 20036658 copy 0d0a0d6d, original ok, copy changed, fix=no
edit #3 - busy day...
*** Memory difference at line 2228 offset 60: original 2001882c copy 0a0d392e, original ok, copy changed, fix=no
-
RE: Random Hard Fault resets on Duet 3 Mini WiFi
@Exerqtor With both debug builds I logged a memory difference message within a couple of hours. The first debug build was under an hour, the second took maybe 1-2 hours to show up.
-
RE: Random Hard Fault resets on Duet 3 Mini WiFi
@dc42 Logged a memory difference message with the new build. Printer was idle. No reset as of yet.
*** Memory difference at line 2228 offset 12: original 0d0a0d39 copy 20032958, original changed, copy ok, fix=yes
Logged another memory difference message. Still no reset.
*** Memory difference at line 2228 offset 60: original 2001882c copy 0d0a0d39, original ok, copy changed, fix=no