RepRapFirmware 3.6.0-alpha.2 for Duet main boards available
-
-
@balajiramani Do you think it would be possible to gather some diagnostic logs? I also use a Duet 2, but on a coreXY system, I would assume a delta has a higher amount of processing requirements So it would be interesting to see what's going on behind the hood.
I personally use this process to gather the data:
- Power cycle the printer
- YAT USB connection
- M122 as a baseline diagnostic
- m111 p4 d1 b2048
- Print till failure / untill not happy (Dont Estop, only cancel as you want to save the data from the printer)
- M122 as a final diagnostic log
- Estop
- Save diaglog
-
Just had time to roll back to 3.5.2 to check if fixesthe problem,which it did. So it looks like it's something going on somewhere in regard to Z axis controll in 3.6.0-a2+3@dc42.
I haven't got anything else than eventlogging going on at the time so i don't know if it's much if any usefull info one can pick up from that. If you think it might i can supply the entire log from the last couple days.
I'll open a new topic for the issue to keep this one from overflooding
👌
-
I have begun testing on two machines that are nearly identical, but one with a Duet 2 controlling it and one with a Duet 3 controlling it. I am very excited about the results I am seeing in print quality improvement. I have not yet encountered any noticeable issues with 3.6A2+3. Prints have run largely unattended, so if there was anything unusual that happened mid-print I could have missed it. Results off of the Duet 2 setup and Duet 3 setup look the same for the tests I have run.
Gcode was identical across both machines and both firmware versions. Input shaping is configured as ZVDD F15 on both machines. Pressure advance is enabled with a value of 0.04 on both machines.
These tests were done with a Hemera Revo 0.4HF nozzle and PETG material. I am also starting tests with a 1.0 nozzle but do not have that data yet.
Duet 2 setup:
Duet 2 Wi-Fi external antenna
Duex 5Ghost text:
3.5.2 = Never used RAM 11712, free system stack 112 words
3.6A2+3 = Never used RAM 21704, free system stack 120 wordsBenchy:
3.5.2 = Never used RAM 11544, free system stack 110 words
3.6A2+3 = Never used RAM 18512, free system stack 116 wordsAccel test:
3.5.2 = Never used RAM 11568, free system stack 114 words
3.6A2+3 = Never used RAM 21656, free system stack 122 words
Duet 3 setup:
Duet 3 Mini 5+ WiFi main board in standalone mode
Duet 3 Mini 5+ CAN expansion boardGhost text:
3.5.2 = Never used RAM 12068, free system stack 128 words
3.6A2+3 = Never used RAM 39644, free system stack 130 wordsBenchy:
3.5.2 = Never used RAM 11900, free system stack 122 words
3.6A2+3 = Never used RAM 37052, free system stack 130 words
Here is an example of the difference in ringing/ghosting from the Ghost Text model. 3.5.2 is on bottom, 3.6A2+3 on top.
Please let me know if there is any other information I can provide that would be beneficial.
-
@ProteanReverie Sorry I'm not up to speed on the latest features, but is there some particular feature that has to be enabled or configured to get that improvement in the ringing, or is it just improvements to the RFF code?
-
@Notepad thank you for your guidance. I was able to reproduce the issue and here are the output files.
Here is the output of M122 right after booting up with 3.6.0-alpha2+3
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.6.0-alpha.2+3 (2024-07-17 20:03:21) running on Duet WiFi 1.0 or 1.01 Board ID: 08DAM-999TL-MQ4SD-6JTDL-3SS6N-968BX Used output buffers: 15 of 26 (22 max) === RTOS === Static ram: 23368 Dynamic ram: 66320 of which 0 recycled Never used RAM 28388, free system stack 178 words Tasks: NETWORK(2,nWait 6,17.5%,222) HEAT(3,nWait 5,0.1%,328) Move(4,nWait 5,0.0%,359) MAIN(1,running,81.2%,748) IDLE(0,ready,1.3%,29), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:04:04 ago, cause: software Last software reset at 2024-07-22 19:58, reason: User, Gcodes spinning, available RAM 12348, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 31.2, current 33.3, max 34.5 Supply voltage: min 24.1, current 24.3, max 24.6, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/24/0, gc cycles 0 Events: 0 queued, 0 completed Date/time: 2024-08-02 11:27:17 Slowest loop: 150.13ms; fastest: 0.19ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 1.2ms, write time 15.6ms, max retries 0 === Move === Segments created 0, maxWait 0ms, bed comp in use: none, height map offset 0.000, hiccups added 0 (0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00, mcet 0.000 Pos req/act/dcf: 114452.00/114452/0.00 114452.00/114452/0.00 114452.00/114452/0.00 no step interrupt scheduled === DDARing 0 === Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0] Driver 0: standstill, SG min n/a Driver 1: standstill, SG min n/a Driver 2: standstill, SG min n/a Driver 3: standstill, SG min n/a Driver 4: standstill, SG min n/a Driver 5: Driver 6: Driver 7: Driver 8: Driver 9: Driver 10: Driver 11: === 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 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Q0 segments left 0 Code queue 0 is empty === Network === Slowest loop: 190.46ms; fastest: 0.00ms Responder states: 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 5c:cf:7f:2c:25:00 Module reset reason: Turned on by main processor, Vcc 3.40, flash size 4194304, free heap 41332 WiFi IP address 192.168.1.61 Signal strength -39dBm, channel 6, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
Then I ran M111, here is the output:
M111 P4 D1 B2048 Debugging enabled for modules: Move(4 - 0x1) Debugging disabled for modules: Platform(0) Network(1) Webserver(2) Gcodes(3) Heat(5) Kinematics(6) InputShaping(7) unused(8) PrintMonitor(9) Storage(10) PortControl(11) DuetExpansion(12) FilamentSensors(13) WiFi(14) Display(15) SbcInterface(16) CAN(17) Expansion(18)
Next, I ran G32 and here is the output. Note that before it gave up, the nozzle crashed into the bed, as shown in the previous video.
G32 Error: G30: Probe was not triggered during probing move Too many auto calibration attempts
Here is the output of M122 after the failure:
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.6.0-alpha.2+3 (2024-07-17 20:03:21) running on Duet WiFi 1.0 or 1.01 Board ID: 08DAM-999TL-MQ4SD-6JTDL-3SS6N-968BX Used output buffers: 15 of 26 (22 max) === RTOS === Static ram: 23368 Dynamic ram: 66320 of which 0 recycled Never used RAM 28388, free system stack 178 words Tasks: NETWORK(2,nWait 6,17.5%,222) HEAT(3,nWait 5,0.1%,328) Move(4,nWait 5,0.0%,359) MAIN(1,running,81.2%,748) IDLE(0,ready,1.3%,29), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:04:04 ago, cause: software Last software reset at 2024-07-22 19:58, reason: User, Gcodes spinning, available RAM 12348, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 31.2, current 33.3, max 34.5 Supply voltage: min 24.1, current 24.3, max 24.6, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/24/0, gc cycles 0 Events: 0 queued, 0 completed Date/time: 2024-08-02 11:27:17 Slowest loop: 150.13ms; fastest: 0.19ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 9 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 1.2ms, write time 15.6ms, max retries 0 === Move === Segments created 0, maxWait 0ms, bed comp in use: none, height map offset 0.000, hiccups added 0 (0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00, mcet 0.000 Pos req/act/dcf: 114452.00/114452/0.00 114452.00/114452/0.00 114452.00/114452/0.00 no step interrupt scheduled === DDARing 0 === Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0] Driver 0: standstill, SG min n/a Driver 1: standstill, SG min n/a Driver 2: standstill, SG min n/a Driver 3: standstill, SG min n/a Driver 4: standstill, SG min n/a Driver 5: Driver 6: Driver 7: Driver 8: Driver 9: Driver 10: Driver 11: === 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 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Q0 segments left 0 Code queue 0 is empty === Network === Slowest loop: 190.46ms; fastest: 0.00ms Responder states: 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 5c:cf:7f:2c:25:00 Module reset reason: Turned on by main processor, Vcc 3.40, flash size 4194304, free heap 41332 WiFi IP address 192.168.1.61 Signal strength -39dBm, channel 6, mode 802.11n, reconnections 0 Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
Here is the relevant section from eventlog.txt:
power up + 00:00:00 [info] Event logging started at level warn power up + 00:00:00 [info] Running: Duet WiFi 1.0 or 1.01: 3.6.0-alpha.2+3 (2024-07-17 20:03:21) power up + 00:00:00 [warn] Warning: Heater 1 predicted maximum temperature at full power is 627°C power up + 00:00:01 [warn] WiFi module started power up + 00:00:08 [warn] WiFi module is connected to access point yablibli, IP address 192.168.1.61 power up + 00:00:09 [warn] HTTP client 192.168.1.163 login succeeded (session key 304643682) 2024-08-02 11:23:22 [warn] Date and time set at power up + 00:00:09 2024-08-02 11:24:23 [warn] HTTP client 192.168.1.163 login succeeded (session key 545348926) 2024-08-02 11:25:22 [warn] HTTP client 192.168.1.163 login succeeded (session key 219193886) 2024-08-02 11:28:48 [warn] Error: G30: Probe was not triggered during probing move 2024-08-02 11:30:01 [info] Event logging stopped power up + 00:00:00 [info] Event logging started at level warn power up + 00:00:00 [info] Running: Duet WiFi 1.0 or 1.01: 3.6.0-alpha.2+3 (2024-07-17 20:03:21) power up + 00:00:00 [warn] Warning: Heater 1 predicted maximum temperature at full power is 627°C power up + 00:00:01 [warn] WiFi module started power up + 00:00:08 [warn] WiFi module is connected to access point yablibli, IP address 192.168.1.61 power up + 00:00:09 [warn] HTTP client 192.168.1.163 login succeeded (session key 1182103538) 2024-08-02 11:30:11 [warn] Date and time set at power up + 00:00:09
-
@DonStauffer said in RepRapFirmware 3.6.0-alpha.2 for Duet main boards available:
@ProteanReverie Sorry I'm not up to speed on the latest features, but is there some particular feature that has to be enabled or configured to get that improvement in the ringing, or is it just improvements to the RFF code?
The difference between my pictures is only an update to the RFF code, but the difference in the code pertains to how input shaping is handled. So, if you are using input shaping the update should improve things. If not, you would likely need to configure input shaping as well as applying the update. You can learn more about Input Shaping for Duet here https://docs.duet3d.com/en/User_manual/Tuning/Input_shaping
-
Haven't used my RRF printer in a few months due to it not printing as well as the Qidi. I saw this post and decided to dust off the Jubilee and load up 3.6 alpha and give it a go. I only have a few prints in but see a big improvement in print quality over the 3.5 version it replaced. So far not having an issues but have only used a single tool. Will try to do a multi color this weekend.
-
@ProteanReverie said in RepRapFirmware 3.6.0-alpha.2 for Duet main boards available:
These tests were done with a Hemera Revo 0.4HF nozzle and PETG material. I am also starting tests with a 1.0 nozzle but do not have that data yet.
Here is data from my 1.0 nozzle tests.
Duet 2
accel test
3.5.2 = Never used RAM 11736, free system stack 112 words
3.6A2+3 = Never used RAM 22616, free system stack 116 wordsbenchy
3.5.2 = Never used RAM 11664, free system stack 122 words
3.6A2+3 = Never used RAM 18992, free system stack 116 wordsghost text
3.5.2 = Never used RAM 11808, free system stack 114 words
3.6A2+3 = Never used RAM 22112, free system stack 114 words
Duet 3
accel test
3.5.2 = Never used RAM 12068, free system stack 130 words
3.6A2+3 = Never used RAM 40076, free system stack 130 wordsbenchy
3.5.2 = Never used RAM 11972, free system stack 128 words
3.6A2+3 = Never used RAM 36236, free system stack 130 wordsghost text
3.5.2 = Never used RAM 12092, free system stack 128 words
3.6A2+3 = Never used RAM 39788, free system stack 130 words
additionally, here is data from the duet 3 using a 0.4 nozzle for the accel test model, since that data wasn't ready for my prior post
3.5.2 = Never used RAM 11876, free system stack 128 words
3.6A2+3 = Never used RAM 39884, free system stack 130 words
I have still not encountered any noticeable issues on either the Duet 2 Wi-Fi or Duet 3 Mini 5+ setups when using 3.6A2+3.
-
@dc42 I've been having major problems with bed leveling. One Z stepper either adjusts the wrong direction, or doesn't move at all. I had been doing extensive work on bed.g a few weeks ago and got it working perfectly. This problem doesn't correspond with that, but it gives a time frame which indicates to me there's something with this alpha version since that's the only major change since then. At that time I had probably run the routine 100 times in a row, working on LED issues. The actual leveling worked well.
-
@DonStauffer I too am having a similar problem with bed levelling. Printing with 3.6.0-alpha2+3 works fine and the input shaping is absolutely awesome! BTW, the printer I have is a delta.
The input shaping is so good that I am able to increase the accleration and jerk, without any artefacts. I was also able to drop the pressure advance value. I went from 0.21 to 0.14.
-
@balajiramani I need to look into input shaping. The pics I've seen a really awesome.
-
I've put new 3.6.0 alpha RRF builds at https://www.dropbox.com/scl/fo/yc7mnauicu5vqw6yegeq7/AKnV4j8k1MCADG4VE4EIG6Y?rlkey=skjxh23i9c953yvxm2tb8qr36&dl=0. Some notes:
- The issue with bed tramming might be fixed. I don't have a suitable machine to test it on.
- Scanning Z probes are fixed (they didn't work in previous 3.6.0 alpha releases)
- Also included are 3.6.0 alpha versions of some expansion board firmware (not EXP1HCL or M23CL). You can revert to 3.5.2 versions if you have any issues with them.
See https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-360-beta1-in-preparation for more details.
-
@dc42 Im just about to start deploying and testing 3.6.A2+4. and in a few weeks I should have a handful of Duet3 equipped machines ready for testing the firmware on.
Regarding the bed tramming bug on A2+3 I have not been able to repeat this bug using Duet2 hardware on a 2 z-motor setup. I have not tried this on my 3 z-motor setup yet. -
@Notepad the latest build is 3.6.0-alpha.4 which you can find at https://www.dropbox.com/scl/fo/cckwiq91gn16hvl1zdjnp/AF0SMEtkVfiArSPeYaBDGPY?rlkey=kqkknk9q1kiq684u4s55ce8d4&dl=0. Release notes are at https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-360-alpha4-in-preparation,
-
@dc42 M260 lines in my initialization macro called by config.g in alpha 4 generate a message "Error: Command is not supported"
;------------------------------------------------------------------------------- ; InitNeoPix ;------------------------------------------------------------------------------- ; To disable NeoPixel LEDs, in config.g comment out the call to this macro. ; You must restart afterward (don't just run config.g). ;------------------------------------------------------------------------------- ; Defines global data, initializes NeoDriver and turns off LEDs. Preventing ; this macro from running at machine startup should effectively disable all ; NeoPixel=related macros. ; ; Parameters: ; A I2C Address (default: 0x60) ; N Number of LEDs (default: 28) ;------------------------------------------------------------------------------- ; Don Stauffer August, 2024 ;------------------------------------------------------------------------------- if global.DebugLevel >= 1200 echo "InitNeoPix" ;------------------------------------------------------------------------------- ; Enumeration Constants ;------------------------------------------------------------------------------- var FUNC_REG_PIN = 0x01 var FUNC_REG_SPEED = 0x02 var FUNC_REG_BUF_LENGTH = 0x03 var NEO_DRIVER_PIN_NUM = 0x0F var SPEED400khz = 0 var SPEED800khz = 1 ;------------------------------------------------------------------------------- ; Other Constants ;------------------------------------------------------------------------------- var ADDR_BASE = 0x0E ;------------------------------------------------------------------------------- ; Parameters ;------------------------------------------------------------------------------- var AddrI2C = (exists(param.A) ? param. A : 0x60) var LEDCount = (exists(param.N) ? param.N : 28) ;------------------------------------------------------------------------------- ; Define global NeoPixel array ;------------------------------------------------------------------------------- if exists(global.NeoPix) set global.NeoPix = vector(2, vector(var.LEDCount, null)) else global NeoPix = vector(2, vector(var.LEDCount, null)) ;------------------------------------------------------------------------------- ; Initialize NeoDriver card settings ;------------------------------------------------------------------------------- M260 A{var.AddrI2C} B{var.ADDR_BASE, var.FUNC_REG_PIN, var.NEO_DRIVER_PIN_NUM} M260 A{var.AddrI2C} B{var.ADDR_BASE, var.FUNC_REG_SPEED, var.SPEED800khz} M260 A{var.AddrI2C} B{var.ADDR_BASE, var.FUNC_REG_BUF_LENGTH, 3 *var.LEDCount,0} ;------------------------------------------------------------------------------- ; Turn all LEDs off ;------------------------------------------------------------------------------- G4 P500 echo "5" M98 P"/macros/Lights/NeoPixel/TurnOffAll" A{var.AddrI2C} ;------------------------------------------------------------------------------- if global.DebugLevel >= 1200 echo "Leaving InitNeoPix" ;-------------------------------------------------------------------------------
-
@dc42 I am still seeing failures and head crashing into the bed on running G32 calibration on a delta. Is this a known issue?
-
@balajiramani are you definitely running the 3.6.0-alpha.4 build? There was a minor bug in G32 calibration on deltas in early 3.6.0 alpha builds but I fixed that some time ago.
-
@DonStauffer does that same macro work if you invoke it from the DWC command line using M98?
-
@dc42 Yes, I downloaded it from the latest link you posted. Here is a screenshot.