Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. Diamondback
    3. Posts
    • Profile
    • Following 0
    • Followers 0
    • Topics 46
    • Posts 451
    • Best 44
    • Controversial 0
    • Groups 0

    Posts made by Diamondback

    • RE: Filament Monitor Data Access from OM

      @dc42 Thanks for adding this in 3.5 rc2 🙂 Very useful 👍
      (The sensor here is almost 1m away from the extruder, so in case the signal looks too noisy, that's why)
      2023-12-27_00-38-25.png

      cc @herrtschaefer

      posted in Filament Monitor
      Diamondbackundefined
      Diamondback
    • RE: Magnet Filament Monitor V4 - Calibration Issue

      @dc42 Good news 🙂 With 3.5rc2, all my sensors appear to work for now 🙂 They collect data that seems right, they change status when inserting filament etc.
      I haven't tested yet what happens if they actually detect an issue, but so far so good. Will keep you posted if anything weird comes up. Many thanks 🙂

      posted in Filament Monitor
      Diamondbackundefined
      Diamondback
    • RE: [3.5 rc1+] Error while changing filament

      @chrishamm Anything else I can help with?

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: [3.5 rc1+] Error while changing filament

      @chrishamm
      Actual filament files: (I've picked one specific filament, there are many more like this)
      load.g

      M98 P"/macros/FilamentConfig/PETG/load"
      

      unload.g

      M98 P"/macros/FilamentConfig/PETG/unload"
      

      config.g

      M98 P"/macros/FilamentConfig/PETG/config"
      

      Filament specific redirection layer: (Each filament type has its own set of macros with the same code but different parameters)

      /macros/FilamentConfig/PETG/load:

      M98 P"/macros/FilamentConfig/Generic/load" T230 S210 R150 F{global.pebbleFeedSpeedDefault} 
      

      /macros/FilamentConfig/PETG/unload:

      M98 P"/macros/FilamentConfig/Generic/unload" T240
      

      /macros/FilamentConfig/PETG/config:

      M98 P"/macros/FilamentConfig/Generic/config" N"PETG - Generic"
      

      Generic macros:
      /macros/FilamentConfig/Generic/load:

      set global.toolheadDisplayState = "filamentLoad"
      var extrusionTemp = var.T
      var extrusionMinTemp = var.S
      var retractionMinTemp = var.R
      set global.pebbleFeedSpeed = var.F ;apply commanded pebble feed speed
      
      M98 P"/macros/Misc/Lights/On"
      M291 P"Heating for purge" R"Filament" S0 T5
      M98 P"/macros/Toolchanging/HomeIfNotHomed"
      var previousTemp = tools[state.currentTool].active[0]
      M568 P{state.currentTool} S{var.extrusionTemp} R0
      M116 P{state.currentTool}
      M302 S{var.extrusionMinTemp} R{var.retractionMinTemp}         	;Cold extrusion settings
      
      if move.axes[1].userPosition > 0 ;make sure we do not try to move to the purge location without being far away from the dock
          G90
          G1 Y0 F25000
      G1 X-70 F25000
      G1 Y-220 F25000
      M400
      
      M98 P"/macros/Misc/Beep"
      M291 P"Ready to feed new filament?" R"Filament Loading" S2
      
      var keepFeeding = true
      while var.keepFeeding == true
          G1 E300 F3000
          M400
      
          M291 S4 P"Filament loaded correctly?" R"Filament Loading" K{"Yes", "No, feed again"}
          if input == 0
              set var.keepFeeding = false
      
      M98 P"/macros/Tool/Purge"
      M568 P{state.currentTool} S{var.previousTemp} R0
      M116 P{state.currentTool}
      M98 P"/macros/Misc/Beep"
      set global.toolheadDisplayState = "idle"
      
      set global.deactivateToolAfterFilamentChange = true
      

      /macros/FilamentConfig/Generic/unload:

      set global.toolheadDisplayState = "filamentUnload"
      var releaseTemp = var.T
      M98 P"/macros/Misc/Lights/On"
      var previousTemp = tools[state.currentTool].active[0]
      M568 P{state.currentTool} S{var.releaseTemp} R0
      M116 P{state.currentTool}
      M98 P"/macros/Misc/Beep"
      G91
      G1 E-10 F3000
      G4 S2
      G1 E-30 F10000
      M291 P"Ready to pull out filament?" R"Filament" S2
      G1 E-500 F5000
      G90
      M400
      M568 P{state.currentTool} S{var.previousTemp} R0
      M116 P{state.currentTool}
      M98 P"/macros/Misc/Beep"
      set global.toolheadDisplayState = "idle"
      
      set global.deactivateToolAfterFilamentChange = true
      

      /macros/FilamentConfig/Generic/config:

      if state.currentTool < 0
      	M99
      
      var pressureAdvance = 0
      var retractionDistance = 0.5
      var retractionSpeed = 2000
      var zHopDistance = 0
      var minExtrudeTemp = 180
      var pebbleFeedSpeed = global.pebbleFeedSpeedDefault
      
      var name = param.N
      var nozzleSize = global.toolNozzleSizes[state.currentTool]
      
      M98 P"/macros/FilamentConfig/Generic/GetFilamentSettingsWithNameAndSize" N{var.name} S{var.nozzleSize}
      
      if global.lastMacroResult == null
      	var errMsg = "Can't find filament settings for filament '" ^ var.name ^ "' and " ^ var.nozzleSize ^ "mm nozzle , falling back to defaults!"
      	echo {var.errMsg}
      	M291 P{var.errMsg} R"Filament Config" S2
      else
      	set var.pressureAdvance = global.lastMacroResult[0]
      	set var.retractionDistance = global.lastMacroResult[1]
      	set var.retractionSpeed = global.lastMacroResult[2]
      	set var.zHopDistance = global.lastMacroResult[3]
      	set var.minExtrudeTemp = global.lastMacroResult[4]
      	set var.pebbleFeedSpeed = global.lastMacroResult[5]
      
      var minRetractTemp = var.minExtrudeTemp - 30
      
      echo "Using filament settings: " ^ var.name ^ " with " ^ var.nozzleSize ^ "mm nozzle, Retraction: " ^ var.retractionDistance ^ "mm@" ^ var.retractionSpeed ^ "mm/min, Z-Hop: " ^ var.zHopDistance 
      echo "PA: " ^ var.pressureAdvance ^ ", minimum extrusion temperature: " ^ var.minExtrudeTemp ^ ", pebble feed speed: " ^ var.pebbleFeedSpeed
      
      M207 S{var.retractionDistance} F{var.retractionSpeed} Z{var.zHopDistance} 	;retraction settings
      M572 D{tools[state.currentTool].extruders[0]} S{var.pressureAdvance} 		;pressure advance settings
      M302 S{var.minExtrudeTemp} R{var.minRetractTemp}							;cold extrusion settings
      set global.pebbleFeedSpeed = var.pebbleFeedSpeed 							;set pebble feed speed
      

      In order of appearance...
      /macros/Misc/Lights/On:

      M42 P1 S230
      

      /macros/Toolchanging/HomeIfNotHomed:

      if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed || !move.axes[3].homed
        echo "Not all axis homed, starting full homing process"
        G28
      

      /macros/Misc/Beep

      M300 S500 P400
      

      /macros/Tool/Purge:

      M98 P"/macros/Toolchanging/Wiper/PrimeBrush" R15
      
      G90
      M564 S1
      

      /macros/Toolchanging/Wiper/PrimeBrush:

      var primeRepeats = 4
      if exists(var.R)
      	set var.primeRepeats = var.R
      
      M98 P"/macros/Toolchanging/Wiper/PrimeBrushPebbleDisk" R{var.primeRepeats}
      

      /macros/Toolchanging/Wiper/PrimeBrushPebbleDisk:

      if state.currentTool < 0
      	echo "Can't Prime & Brush, no tool selected!"
      	M99
      	
      var brushStartPositionX = -80
      var brushStartPositionY = -220
      var brushEndPositionX = -130
      var brushEndPositionY = -220
      var pebblePositionX = -151.0
      var pebblePositionY = -220.0
      
      var diskStep = 50
      
      var wiperHeightPurgeInitial = 20.6
      var wiperHeightPurgeBulk = var.wiperHeightPurgeInitial - 1.5
      var wiperHeightRotate = var.wiperHeightPurgeBulk - 2
      var wiperHeightIdle = var.wiperHeightPurgeInitial - 5
      var wiperHeightBrush = var.wiperHeightPurgeInitial + 0.5
      
      var wiperPurgeAmountPrime = 2
      var wiperPurgeAmountInitial = 2
      var wiperPurgeAmountBulk = 3
      
      var wiperHeightFeedrate = 3000
      
      if state.currentTool < 0
      	echo "Can't Prime & Brush, no tool selected!"
      	M99
      
      if heat.heaters[tools[state.currentTool].heaters[0]].current > heat.coldExtrudeTemperature
      	M106 S255
      	M564 S0
      	G90
      	G1 W{var.wiperHeightIdle} F{var.wiperHeightFeedrate}
      	G1 X{var.brushStartPositionX} Y{var.brushStartPositionY} F25000
      	G1 W{var.wiperHeightBrush} F{var.wiperHeightFeedrate}
      	G1 X{var.brushEndPositionX} Y{var.brushEndPositionY} F25000
      	
      	G1 W{var.wiperHeightPurgeBulk} F{var.wiperHeightFeedrate}
      	G1 X{var.pebblePositionX} Y{var.pebblePositionY} F25000
      
      	var primeRepeats = 10
      	if exists(var.R)
      		set var.primeRepeats = var.R
      		
      
      	while iterations < var.primeRepeats
      		G92 D0
      		M83
      		M106 S255
      		G90		
      		G1 W{var.wiperHeightPurgeInitial} F5000
      		;G11
      		if iterations == 0
      			G1 E{var.wiperPurgeAmountPrime} F{global.pebbleFeedSpeed}
      		else	
      			G0 E1 F3000
      		G1 E{var.wiperPurgeAmountInitial} F{global.pebbleFeedSpeed}
      
      		M106 S255
      		;G1 W{var.wiperHeightPurgeBulk} F5000
      		G1 W{var.wiperHeightPurgeBulk} E{var.wiperPurgeAmountBulk} F{global.pebbleFeedSpeed/7}
      		G4 P400
      		G0 E-1 F3000
      		;G10
      		
      		G90
      		G92 D0
      		G1 W{var.wiperHeightRotate} D{var.diskStep} F10000
      		G91
      		;G1 D{var.diskStep} F20000
      		G90
      
      	G90
      	M106 S0
      	G1 W{var.wiperHeightPurgeBulk} F{var.wiperHeightFeedrate}
      	G1 X{var.brushEndPositionX} Y{var.brushEndPositionY} F25000
      	G1 W{var.wiperHeightBrush} F{var.wiperHeightFeedrate}	
      	G1 X{var.brushStartPositionX} Y{var.brushStartPositionY} F25000
      
      	M564 S1
      else
      	echo "Skipping Prime & Brush due to unheated tool"
      

      /macros/FilamentConfig/Generic/GetFilamentSettingsWithNameAndSize:

      set global.lastMacroResult = null
      if !exists(param.N) || !exists(param.S)
      	M99
      
      var name = param.N
      var size = param.S
      
      while iterations < #global.filamentSettings
      	if global.filamentSettings[iterations][0] == var.name        
      		var nozzleSizeId = -1
      		while iterations < #global.nozzleSizeMap
      			if global.nozzleSizeMap[iterations] == var.size
      				set var.nozzleSizeId = iterations
      
      		if var.nozzleSizeId >= 0
      			var settings = global.filamentSettings[iterations][1][var.nozzleSizeId]
      			set global.lastMacroResult = var.settings			
      			M99
      		else
      			echo "Can't find nozzle size id for nozzle size: " ^ var.size
      			M99
      
      echo "Can't find filament settings for filament: " ^ var.name
      
      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • [3.5 rc1+] Error while changing filament

      Hey,
      I'm getting a weird error while using the DWC "change filament" functionality:

      Error: M701: Unload the current filament before you attempt to load another one
      Error: Push(): stack overflow on HTTP
      

      I guess the first line is a follow-up to the stack overflow error?
      Any clue what might be happening here? I think this started with the 3.5rc1.

      M122:

      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.1+ (2023-11-01 10:30:38) running on Duet 3 MB6HC v1.02 or later (standalone mode)
      Board ID: 08DJM-9P63L-DJ3T0-6J1F4-3S06S-9A1V9
      Used output buffers: 3 of 40 (33 max)
      === RTOS ===
      Static ram: 154836
      Dynamic ram: 132700 of which 20 recycled
      Never used RAM 29620, free system stack 136 words
      Tasks: NETWORK(1,ready,36.2%,147) ETHERNET(5,nWait,0.3%,117) ACCEL(6,nWait,0.0%,348) HEAT(3,nWait,0.0%,325) Move(4,nWait,0.0%,216) CanReceiv(6,nWait,0.0%,795) CanSender(5,nWait,0.0%,334) CanClock(7,delaying,0.0%,350) TMC(4,nWait,8.3%,59) MAIN(1,running,55.1%,103) IDLE(0,ready,0.0%,30), total 100.0%
      Owned mutexes:
      === Platform ===
      Last reset 00:24:14 ago, cause: software
      Last software reset at 2023-11-12 12:49, reason: User, Gcodes spinning, available RAM 29468, slot 2
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      MCU temperature: min 40.9, current 42.1, max 42.2
      Supply voltage: min 23.5, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
      12V rail voltage: min 12.2, current 12.3, max 12.5, under voltage events: 0
      Heap OK, handles allocated/used 495/405, heap memory allocated/used/recyclable 24576/24388/1184, gc cycles 337
      Events: 0 queued, 0 completed
      Driver 0: standstill, SG min 0, mspos 456, reads 35702, writes 19 timeouts 0
      Driver 1: standstill, SG min 0, mspos 360, reads 35703, writes 19 timeouts 0
      Driver 2: standstill, SG min 0, mspos 424, reads 35703, writes 19 timeouts 0
      Driver 3: standstill, SG min 0, mspos 904, reads 35703, writes 19 timeouts 0
      Driver 4: standstill, SG min 0, mspos 520, reads 35699, writes 23 timeouts 0
      Driver 5: standstill, SG min 0, mspos 408, reads 35703, writes 19 timeouts 0
      Date/time: 2023-11-12 13:13:54
      Slowest loop: 13.69ms; fastest: 0.05ms
      === Storage ===
      Free file entries: 19
      SD card 0 detected, interface speed: 25.0MBytes/sec
      SD card longest read time 3.1ms, write time 2.3ms, max retries 0
      === Move ===
      DMs created 125, segments created 6, maxWait 1308373ms, bed compensation in use: none, height map offset 0.000, 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 28, completed 28, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], 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 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
      Heater 0 is on, I-accum = 0.0
      Heater 1 is on, I-accum = 0.2
      === 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 doing "G4 P500" in state(s) 0 0, running macro
      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 0x8000000f
      Code queue 0 is empty
      Q1 segments left 0, axes/extruders owned 0x0000000
      Code queue 1 is empty
      === Filament sensors ===
      check 0 clear 0
      Extruder 0: no data received, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
      Extruder 1: no data received, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
      Extruder 2: no data received, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
      Extruder 3: no data received, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
      === CAN ===
      Messages queued 13155, received 29867, lost 0, errs 0, boc 0
      Longest wait 1ms for reply type 6042, peak Tx sync delay 10, free buffers 50 (min 49), ts 7274/7273/0
      Tx timeouts 0,0,0,0,0,0
      === Network ===
      Slowest loop: 40.94ms; fastest: 0.03ms
      Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
      HTTP sessions: 1 of 8
      = Ethernet =
      Interface state: active
      Error counts: 0 0 0 1 0 0
      Socket states: 5 2 2 2 2 0 0 0
      === WiFi ===
      Interface state: disabled
      Module is disabled
      Failed messages: pending 0, notrdy 0, noresp 0
      Socket states: 0 0 0 0 0 0 0 0
      === Multicast handler ===
      Responder is inactive, messages received 0, responses 0
      
      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: does not completely finish the last layer of the print 3.5.0-b4

      @dc42 Some more prints done, nothing new to report, all working fine.

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: does not completely finish the last layer of the print 3.5.0-b4

      @dc42 So far no issues with not finishing the print with this build.

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: [3.5 RC1] Toolchanges messing up Z height?

      No, i'm not using G92 during my print at all. It's being used for the homing process of the coupler axis once, but that's about it.

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: does not completely finish the last layer of the print 3.5.0-b4

      @dc42 More info on this from my side. What I have been seeing appears to be the combination of two issues.

      1. Not finishing of the extrusion bit of the print file
      2. Some weird crashing/stalling movement issues after pausing and unpausing the print

      The first issue seems to be new with RC1, but the second issue also just happened to me on beta 4. I will try to actually replicate what it's doing, maybe without a tool or without a nozzle or something. It's kinda scary, but I don't fully understand what exactly is happening. The printer makes very loud nosies as if it's stalling/crashing into something, but ultimately it somehow ends up moving in the right places. I haven't been able to actually see what it's doing, I only heard it a couple of times and saw the end result. I will try to film it or something and then make a new thread about that.

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: does not completely finish the last layer of the print 3.5.0-b4

      @dc42 Can you elaborate what sort of condition lead to the SD print not finishing properly? Can you tell what it would do "instead"?
      Would it just ignore all the rest of the file? Or just parts of it? What I can imagine given the behavior I saw is that RRF ignored the last few lines of actual extrusion but then executed all the management stuff afterwards (tool deselection, toolhead parking etc)
      In that case the headcrash would happen due to the nozzle still being in the middle of the print and Z not being lifted...
      Is that something that seems plausible?

      I really want to understand this issue and help debug it but I'm not really fond of destroying another Revo nozzle...

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: Magnet Filament Monitor V4 - Calibration Issue

      For comparision the same sensor and settings on beta 4 (recorded minutes ago), which at least does communicate with it to some degree, the switch signal works perfectly fine.
      Without filament in it:
      4da73d80-1d26-4c4b-813a-3c80cd5515a7-image.png

      With filament in it:
      65a7cc63-03b6-48f5-837a-5850fd589fd8-image.png

      posted in Filament Monitor
      Diamondbackundefined
      Diamondback
    • RE: Magnet Filament Monitor V4 - Calibration Issue

      @dc42 Looks like the issue is the same as with rc1. I do not seem to get any communication with my sensors. The sensors themself appear to be booting up correctly (3x green flash) then they continue to flash alternating green and red. When i insert filament the green LED starts to flash rapidly to the point where it's always lit.

      Some data bits:
      753b7bd9-671e-444a-824b-7eb1eae2df7d-image.png

      d714b0af-e129-497f-9254-e184b7e46549-image.png

      d6299bbd-0d52-49bc-bc37-a79d1283a249-image.png

      eeedcdd9-c4f5-4cd3-a6ee-a69a8deba74a-image.png

      posted in Filament Monitor
      Diamondbackundefined
      Diamondback
    • RE: does not completely finish the last layer of the print 3.5.0-b4

      Ah, sorry, wrong thread 😞 I meant to post in the filament monitor one...

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: does not completely finish the last layer of the print 3.5.0-b4

      @dc42 said in does not completely finish the last layer of the print 3.5.0-b4:

      @Diamondback you could try the new build at https://www.dropbox.com/scl/fo/tjznycpk7bv7sj71p0ssl/h?rlkey=096p4nvgmigyrb20jj8olg3wu&dl=0. I wasn't able to replicate your issue exactly, but I did replicate and fix another, possibly related, issue with print jobs not quite completing.

      Will do. Does this also include the fix for the not quite finished print?
      ( https://forum.duet3d.com/post/325940 )

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: Custom Heater Colors

      @chrishamm said in Custom Heater Colors:

      @Diamondback Colors are defined here. At the moment you'd have to build a custom DWC version to change the colors but I'll probably make that configurable in v3.6.

      That would be much appreciated! 🙂

      posted in Duet Web Control
      Diamondbackundefined
      Diamondback
    • RE: does not completely finish the last layer of the print 3.5.0-b4

      Any news on any of this? I have a hunch the crashing part is related to whether or not I paused the print at some point... I don't really want to test this idea though, the stuff is too expensive to keep destroying Revo nozzles from crashes...

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: [3.5 RC1] Toolchanges messing up Z height?

      @gloomyandy It's working fine on 3.5b4.

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: [3.5 RC1] Toolchanges messing up Z height?

      @gloomyandy Seems to be new with RC1, I haven't seen such an issue on any of the previous 3.5 betas (b4 is what I used last).

      Gonna roll back to b4 I guess and see...

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • RE: [3.5 RC1] Toolchanges messing up Z height?

      This happens every time btw, by now I have 4 of these failed attempts with the same symptoms. Restarted the printer inbetween as well.

      Looks like we someone on the E3D discord server has the same issue:
      https://discord.com/channels/756501859702800426/761238228690403328/1164609195987972097

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback
    • [3.5 RC1] Toolchanges messing up Z height?

      Hey,
      very weird problem here... Currently trying to do a 4 tool print on my toolchanger... I carefully calibrated X, Y and Z offsets of all tools to the point where the first layer goes down pretty perfectly.
      Things become weird and when the printer does the second layer... My tool order on the first layer is T0, T1, T2, T3, second layer is T3, T0, T1, T2.

      Everything is fine until the printer switches to T0 on the second layer, at that point it adds like an 0.5-0.7mm offset on the Z axis and keeps printing way too high. Weirdly enough, the T3 (so the first tool being used) on that layer works perfectly fine with the correct Z height.
      While things are going wrong with T0, DWC displays the correct Z height (0.4mm), so I assume something is wrong with the offsets?
      I haven't printed past T0 on the second layer to see what the remaining two tools will do since I don't want to waste even more filament...

      Babystepping is at 0 and is not being touched during the print.

      How do I even start to debug this? Has anyone seen something similar?

      I've attached some images of the issue. Black is T0, beige is T1, green is T2, yellow is T3. All 4 first layers are perfect, second yellow layer is also perfect, second black layer is way too high.
      IMG_20231019_143014.jpg

      IMG_20231019_142329.jpg

      IMG_20231019_142321.jpg

      posted in Beta Firmware
      Diamondbackundefined
      Diamondback