@guitartoys If you updated from 3.4 to 3.5 it's been done quite a few changes to RRF that will need attention from you as a user. More or less everyone updating from 3.4 to 3.5 need to do(depending on how advanced your setup is) some config adaptions to conform to the new features and changes, M950
for led strip creation etc. So check that first.
Posts made by Exerqtor
-
RE: LED Macros not working after Upgrade
-
RE: Software 3.5.1 released
@dc42 said in Software 3.5.1 released:
@PDBeal
yes we will release PanelDue 3.5 soon, based on the existing RC. We also have a new, more capable screen under development and that will eventually replace PanelDue in our product range.Finally! Looking forrward to hearing & seeing more about that!
-
RE: 1LC - extruder stopping/reversing - 3.5.1
I FOUND THE FAULT!...... AND IT WAS OF MY OWN DOING
đ
I had managed to delete a zero in the filament pressure advance setting making it
0.25
rather than0.025
. And on this small part that was enough PA to stop the extruding doing anything apparently!So scratch this!
đ¤Śââď¸đ¤Śââď¸đ¤Śââď¸
-
1LC - extruder stopping/reversing - 3.5.1
HW/SW setup: Duet Mini 5+ v1.02, Duet 1LC v1.2 running RRF 3.5.1 in standalone mode, FW retraction, Pressure advance & Input shaping enabled
And were on it again
đ¤Ł
I've been using RRF 3.5.1 since it came out without any issues, until today. Where it stopped extruding after laying down the first layer of the print. The symptomes it identical the the once i had in my "â¤3.5.0-rc1 thread"
in that it stops extrudring, but if i pause the print i can still manually extrude it with PD / DWC.Allthough now it seems like the extruder is downright reversing before I do the manual extrusion since i have to run a 20mm extrude command before anything starts coming out of the nozzle after i've paused
đ¤ˇââď¸
I've uploaded the job file >here< for reference.
- Extruding normally:
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: XNHXF-HR6KL-K65J0-409N2-K9W1Z-RV2MZ Used output buffers: 3 of 40 (40 max) === RTOS === Static ram: 103232 Dynamic ram: 126976 of which 0 recycled Never used RAM 7608, free system stack 128 words Tasks: NETWORK(2,nWait 7,95.4%,180) HEAT(3,nWait 6,0.9%,326) Move(4,nWait 6,1.3%,238) CanReceiv(6,nWait 1,1.8%,774) CanSender(5,nWait 7,0.0%,327) CanClock(7,delaying,0.3%,339) TMC(4,nWait 6,27.5%,68) MAIN(1,running,47.8%,644) IDLE(0,ready,28.5%,30) AIN(4,delaying,28.8%,260), total 232.3% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 40:58:13 ago, cause: software Last software reset at 2024-04-06 15:57, reason: User, Gcodes spinning, available RAM 7672, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00446000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,1,0 MCU revision 3, ADC conversions started 147493507, completed 147493507, timed out 0, errs 0 MCU temperature: min 33.8, current 46.0, max 47.0 Supply voltage: min 2.7, current 24.0, max 24.8, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/34, heap memory allocated/used/recyclable 2048/2040/1552, gc cycles 31383 Events: 0 queued, 0 completed Driver 0: ok, SG min 0, read errors 0, write errors 0, ifcnt 199, reads 29276, writes 199, timeouts 1, DMA errors 0, CC errors 0, failedOp 0x51 Driver 1: ok, SG min 0, read errors 0, write errors 0, ifcnt 197, reads 29278, writes 197, timeouts 1, DMA errors 0, CC errors 0, failedOp 0x41 Driver 2: ok, SG min 0, read errors 0, write errors 0, ifcnt 74, reads 29402, writes 74, timeouts 0, DMA errors 0, CC errors 0 Driver 3: ok, SG min 0, read errors 0, write errors 0, ifcnt 76, reads 29400, writes 76, timeouts 0, DMA errors 0, CC errors 0 Driver 4: ok, SG min 0, read errors 0, write errors 0, ifcnt 76, reads 29399, writes 76, timeouts 1, DMA errors 0, CC errors 0, failedOp 0x6a Driver 5: not present Driver 6: not present Date/time: 2024-04-21 11:52:35 Cache data hit count 4294967295 Slowest loop: 224.93ms; fastest: 0.10ms === Storage === Free file entries: 17 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 9.4ms, write time 28.1ms, max retries 0 === Move === DMs created 83, segments created 31, maxWait 136501469ms, 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 next step interrupt due in 148 ticks, enabled Moves shaped first try 2791, on retry 5160, too short 13198, wrong shape 37172, maybepossible 2899 === DDARing 0 === Scheduled moves 172, completed 132, hiccups 0, stepErrors 0, LaErrors 207, Underruns [0, 0, 14], 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.3 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 doing "G1 X187.996 Y157.057 E.02021" 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 P250" 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 1, axes/extruders owned 0x0000807 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 sensor: no filament === CAN === Messages queued 1387524, received 3025423, lost 0, errs 1292, boc 0 Longest wait 4ms for reply type 6013, peak Tx sync delay 5777, free buffers 26 (min 24), ts 737467/737465/0 Tx timeouts 0,0,1,0,0,0 last cancelled message type 30 dest 127 === Network === Slowest loop: 209.85ms; 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 c4:5b:be:ce:91:93 Module reset reason: Power up, Vcc 3.37, flash size 2097152, free heap 39400 WiFi IP address 192.168.10.x Signal strength -53dBm, channel 6, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0 M122 B121 Diagnostics for board 121: Duet TOOL1LC rev 1.1 or later firmware version 3.5.1 (2024-04-19 14:42:41) Bootloader ID: SAMC21 bootloader version 2.8 (2023-07-25) All averaging filters OK Never used RAM 3424, free system stack 71 words Tasks: Move(3,nWait 7,0.4%,91) HEAT(2,nWait 6,13.0%,91) CanAsync(5,nWait 4,0.0%,49) CanRecv(3,nWait 1,1.1%,71) CanClock(5,nWait 1,0.0%,67) ACCEL(3,nWait 6,0.0%,53) TMC(2,nWait 6,117.0%,53) MAIN(1,running,65.1%,315) IDLE(0,ready,0.0%,27) AIN(2,delaying,35.5%,112), total 232.1% Owned mutexes: Last reset 40:58:19 ago, cause: power up Last software reset at 2024-03-12 16:55, reason: StackOverflow, available RAM 2968, slot 0 Software reset code 0x0100 ICSR 0x0042600e SP 0x20007f34 Task Move Freestk 3342 ok Stack: 20004a80 20004ab4 0001cf33 20004c98 20004938 00000000 0001c011 20003320 fffffffd a5a5a5a5 00000000 20007f8c 00000000 20007f8c 0001cc97 00000000 200017c4 20001748 0001c4d7 20001748 200017c4 00000032 454c4449 00022700 0001ac77 200018e0 200018e0 Driver 0: pos 0, 568.8 steps/mm, standstill, SG min 0, read errors 1, write errors 0, ifcnt 34, reads 13277, writes 34, timeouts 15, DMA errors 0, CC errors 0, failedOp 0x6c, steps req 0 done 7086598 Moves scheduled 58604, completed 58604, in progress 0, hiccups 5327, segs 21, step errors 0, maxLate 0 maxPrep 571, maxOverdue 2012615, maxInc 1798443, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 1.00 Peak sync jitter 0/0, peak Rx sync delay 0, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 23.7, current 24.4, max 25.2 MCU temperature: min 38.7C, current 74.0C, max 74.0C Last sensors broadcast 0x00000012 found 2 87 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 3025529, send timeouts 0, received 1387682, lost 0, errs 0, boc 0, free buffers 18, min 17, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 561, adv -2012457/-1798230 Accelerometer: LIS3DH, status: 00 I2C bus errors 0, naks 3, contentions 0, other errors 0 === Filament sensors === Interrupt 5726621 to 0us, poll 4 to 3152us Driver 0: ok
- Stopped extruding:
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: XNHXF-HR6KL-K65J0-409N2-K9W1Z-RV2MZ Used output buffers: 9 of 40 (40 max) === RTOS === Static ram: 103232 Dynamic ram: 126976 of which 0 recycled Never used RAM 7608, free system stack 128 words Tasks: NETWORK(2,nWait 7,18.9%,180) HEAT(3,nWait 6,0.0%,326) Move(4,nWait 6,2.8%,238) CanReceiv(6,nWait 1,0.1%,774) CanSender(5,nWait 7,0.1%,327) CanClock(7,delaying,0.0%,339) TMC(4,nWait 6,0.9%,68) MAIN(1,running,75.3%,644) IDLE(0,ready,1.0%,30) AIN(4,delaying,0.9%,260), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 40:59:07 ago, cause: software Last software reset at 2024-04-06 15:57, reason: User, Gcodes spinning, available RAM 7672, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00446000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 147547577, completed 147547577, timed out 0, errs 0 MCU temperature: min 45.8, current 46.6, max 46.8 Supply voltage: min 23.6, current 23.7, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/34, heap memory allocated/used/recyclable 2048/736/248, gc cycles 31396 Events: 0 queued, 0 completed Driver 0: ok, SG min 0, read errors 0, write errors 0, ifcnt 199, reads 2845, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 1: ok, SG min 0, read errors 0, write errors 0, ifcnt 197, reads 2845, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 2: ok, SG min 0, read errors 0, write errors 0, ifcnt 74, reads 2845, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 3: ok, SG min 0, read errors 0, write errors 0, ifcnt 76, reads 2844, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 4: ok, SG min 0, read errors 0, write errors 0, ifcnt 76, reads 2845, writes 0, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present Date/time: 2024-04-21 11:53:29 Cache data hit count 4294967295 Slowest loop: 39.08ms; fastest: 0.11ms === Storage === Free file entries: 17 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 7.1ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 31, maxWait 267ms, 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 next step interrupt due in 4 ticks, enabled Moves shaped first try 68, on retry 95, too short 292, wrong shape 1411, maybepossible 118 === DDARing 0 === Scheduled moves 2432, completed 2392, hiccups 0, stepErrors 0, LaErrors 5, Underruns [0, 0, 0], 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.4 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 doing "G1 X201.402 Y171.761 E.00999" 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 P250" 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 1, axes/extruders owned 0x0000807 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 sensor: no filament === CAN === Messages queued 2595, received 1149, lost 0, errs 0, boc 0 Longest wait 5ms for reply type 6024, peak Tx sync delay 11, free buffers 26 (min 25), ts 271/271/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 21.21ms; fastest: 0.06ms 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 c4:5b:be:ce:91:93 Module reset reason: Power up, Vcc 3.37, flash size 2097152, free heap 36316 WiFi IP address 192.168.10.x Signal strength -48dBm, channel 6, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0 M122 B121 Diagnostics for board 121: Duet TOOL1LC rev 1.1 or later firmware version 3.5.1 (2024-04-19 14:42:41) Bootloader ID: SAMC21 bootloader version 2.8 (2023-07-25) All averaging filters OK Never used RAM 3424, free system stack 71 words Tasks: Move(3,nWait 7,1.2%,91) HEAT(2,nWait 6,0.5%,91) CanAsync(5,nWait 4,0.0%,49) CanRecv(3,nWait 1,0.3%,71) CanClock(5,nWait 1,0.0%,67) ACCEL(3,nWait 6,0.0%,53) TMC(2,nWait 6,4.0%,53) MAIN(1,running,88.1%,315) IDLE(0,ready,0.0%,27) AIN(2,delaying,5.9%,112), total 100.0% Owned mutexes: Last reset 40:59:12 ago, cause: power up Last software reset at 2024-03-12 16:55, reason: StackOverflow, available RAM 2968, slot 0 Software reset code 0x0100 ICSR 0x0042600e SP 0x20007f34 Task Move Freestk 3342 ok Stack: 20004a80 20004ab4 0001cf33 20004c98 20004938 00000000 0001c011 20003320 fffffffd a5a5a5a5 00000000 20007f8c 00000000 20007f8c 0001cc97 00000000 200017c4 20001748 0001c4d7 20001748 200017c4 00000032 454c4449 00022700 0001ac77 200018e0 200018e0 Driver 0: pos 0, 568.8 steps/mm, phase B may be disconnected, SG min 0, read errors 0, write errors 0, ifcnt 34, reads 25854, writes 0, timeouts 0, DMA errors 0, CC errors 0, steps req 0 done 406866 Moves scheduled 60709, completed 60708, in progress 1, hiccups 398, segs 21, step errors 0, maxLate 0 maxPrep 457, maxOverdue 2013538, maxInc 2011468, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 1.00 Peak sync jitter 0/0, peak Rx sync delay 0, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 24.0, current 24.5, max 24.9 MCU temperature: min 38.7C, current 74.9C, max 75.1C Last sensors broadcast 0x00000012 found 2 47 ticks ago, 0 ordering errs, loop time 1 CAN messages queued 1118, send timeouts 0, received 2590, lost 0, errs 0, boc 0, free buffers 18, min 17, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 552, adv -2013007/-1973684 Accelerometer: LIS3DH, status: 00 I2C bus errors 0, naks 0, contentions 0, other errors 0 === Filament sensors === Interrupt 5726621 to 0us, poll 5 to 1966us Driver 0: ok
It looks like it finishes off the 1st. layer like it should, but stops extruding imidiatly on the 2nd. layer.
So here is the last few lines of the 1st. layer with the first couple of the 2nd. layer:;TYPE:Gap infill ;WIDTH:0.243494 G1 F3000 G1 X194.078 Y165.281 E.00215 ;WIDTH:0.206023 G1 X194.003 Y165.141 E.00206 ;WIDTH:0.219771 G1 X193.929 Y165.035 E.00182 ;WIDTH:0.233277 G1 X193.856 Y164.929 E.00196 ; stop printing object 1_ćŚććč_FZWN_Wipe_Arm.STL id:0 copy 0 ;LAYER_CHANGE ;Z:0.35 ;HEIGHT:0.15 ; Before layer change G-code: START ; Before layer change G-code: END G10 ; retract M486 S-1 ; After layer change G-code: START ; Layer number 2 set global.layer_number = 2 ; After layer change G-code: END ;_SET_FAN_SPEED_CHANGING_LAYER M204 P5000 ; printing object 1_ćŚććč_FZWN_Wipe_Arm.STL id:0 copy 0 M204 T7000 M205 X12 Y12 M486 S0 G1 Z.5 F21000 G1 X185.25 Y170.869 Z.5 G1 Z.35 G11 ; unretract M205 X7 Y7 ;TYPE:Inner wall ;WIDTH:0.399999 G1 F12000 G1 X185.079 Y170.878 E.00379 G1 X184.642 Y171.156 E.01139 ;WIDTH:0.442875 G1 X184.564 Y171.307 E.00419 ;WIDTH:0.485751 G1 X184.486 Y171.459 E.00463 ;WIDTH:0.528627 G1 X184.407 Y171.61 E.00507 ;WIDTH:0.571502 G1 X184.329 Y171.761 E.0055 ;WIDTH:0.572198 G1 X184.329 Y172.896 E.03669 G1 X183.788 Y172.897 E.01747 G1 X183.79 Y171.759 E.03679 ;WIDTH:0.571501 G1 X183.769 Y171.52 E.00775
-
RE: Software bundle 3.5.0rc.4 now available
It's been working flawlessly without issues (other than my self imposed ones) on my Duet 3 Mini & 1LC in standalone mode
đ¤
-
BtnCmd progress bar?
Am I just missing something, or ain't it a panel for the job progress bar in BtnCmd?
I'm refering to something similiar to the one at the top of the Job-status tab in DWC.
-
Comma as decimal separator breaks M556
System info:
Duet3 Mini Wifi (RRF 3.5.0-rc3+8) & 1LC 1.2a (RRF 3.5.0-rc3+6) in standalone, DWC 3.5.0.rc3 & WiFiServer 2.1b7
I'm doing some tuning this weekend and just gave M556 / Axis skew compensation a go for the first time.
And I managed to input the command with commas for decimal separatos by a mistake. RRF "accepted" the command (green reply in DWC / console), but the settings did't apply. So when I sent M556 afterwards it was still
XY: -0.00000, YZ: 0.00000, ZX: 0.00000
.That's when I noticed the commas and switched over to using dots. Now the settings stuck and I started a print. But it turned out horrible, and the motion system was clunking like crazy so I stoped the print anything broke.
Then i restarted the print with only dots in M556, It reported back
XY: -0.00067, YZ: 0.00167, ZX: 0.00264
, started a new print and now it all worked.Maybe a safeguard or downright rejection of commas as separator should be in place if it don't accept it?
-
Input shaping & pressure advance tuning & RRF <3.5rc8
I know it's been discussed on older versions of RRF on quite a few occations by now allready, but please bear with me
đ
With the changes done to input shaping since RRF 3.5 dev started have we now come to a point where it should be brought up again in plenum?
Maybe a pinned thread in either the "beta firmware" or "tunning and tweaking" category where we as a community could discuss how to tackle it allongside the devs, both in it's current stage and as development progressesđ¤ˇââď¸
Or is it still some changes planned in the near future that will make starting that discussion in terms of the steps to approach tunning input shaping and with that what acceleration/jerk & print speeds works best for your printer on RRF <3.5rc8 obsolete?
I don't like using myself or my skillset as a metric for anyone or anything. Never the less I would like to at least think I've got a decent level of understanding when it comes to DIY 3D printers and what makes them tick and I try to keeping myself up to date with RRF's firmware and documentation development. And despite that I got the feeling that the whole subject of Input Shaping in RRF (even when using a 1LC or other supported form accelerometer) is at best concidered a guessing game, if not bordering to voodoo. And maybe this is by proxy due to the past(?) issues with pressure advance and how that's been implemented etc. Which i really think is a shame, and should be mitigated in some shape way or form.
I TOTALLY get that making any sort of documentation, guides or otherwise literature for anything is a huge undertaking. And that even when being used on one set motion platform/machine/, and here we are with a enormous difference in configurations, build qualities, experience levels etc., that just makes everything that much harder to document and account for.
So I don't know, could we help in any way to make a better/good SOLID way to attack these somewhat advanced tuning procedures?
Sorry for the lenghty somewhat rambly post, but it's something that's been annoying me for a while
đ
-
RE: Pause/resume issues in 3.5.0rc3+5?
@dc42 Ok, then i bet i've forgot to install rc8 or something, I'll have a look later!
Didn't try the command in DWC console, but the if i trued running the bed leveling from PD (that command is part of bed.g) nothing popped up on PD, so i went to check in DWC an there it was displayed.
Edit:
Just got home and checked PD, it's got 3.5.0-rc8 installed like I thought. And i just tried to run a tram from the button on PD, now it displayed the message like it should. So idk what was going on yesterday tbh. -
RE: Pause/resume issues in 3.5.0rc3+5?
@dc42 Uuhm i'm quite sure it's 3.5.0-rc8 / the latest one avalible on github.
I'll check once i get home.
-
RE: Probe repeatability.
I've got one i made a while back too:
; M48.g v3.0 ; Called as response to M48 ; Used to run probe repeatability test ;---/ ; -/--/--/--/--/--/--/--/--/--/--/--/--/--/--/--/-- ; THIS MACRO ONLY WORKS WITH RRF 3.5.0b1 AND LATER!! ;--/--/--/--/--/--/--/--/--/--/--/--/--/--/--/--/-- ;-/ ; ====================--------------------------------------------------------- ; Settings section ; ==================== ; Bed size var bedX = 350 ; Input your beds X axis size here (used to calculate bed center) var bedY = 350 ; Input your beds Y axis size here (used to calculate bed center) ; Nozzle clearance (gets overridden if you have global.Nozzle_CL) var Clearance = 5 ; The "safe" clearance you want to have between the noszzle and bed before moving the printhead ; Don't touch anyting bellow this point! ; ====================--------------------------------------------------------- ; Prep phase ; ==================== ;Calculate bed center set var.bedX = var.bedX / 2 set var.bedY = var.bedY / 2 if exists(global.Nozzle_CL) set var.Clearance = {global.Nozzle_CL} var msg = "How many samples do you want to take? (3-32)" ; Ask to set sample amount M291 S6 J1 R"Probe repeatability test" P{var.msg} L3 H32 F10 var Samples = {input} set var.msg = "Doing " ^ var.Samples ^ " samples. Please wait..." M291 S1 R"Probe repeatability test" P{var.msg} T5 M561 ; Clear any bed transform M290 R0 S0 ; Reset baby stepping M84 E0 ; Disable extruder stepper if exists(global.sb_leds) set global.sb_leds = "homing" ; Lower Z currents if fileexists("/sys/lib/current/z_current_low.g") M98 P"/sys/lib/current/z_current_low.g" ; Set low Z currents else M913 Z60 ; Set Z motors to 60% of their max current ; Lower Z relative to current position if needed if !move.axes[2].homed ; If Z ain't homed G91 ; Relative positioning G1 Z{var.Clearance} F9000 H1 ; Lower Z(bed) relative to current position G90 ; Absolute positioning elif move.axes[2].userPosition < {var.Clearance} ; If Z is homed and less than var.Clearance G1 Z{var.Clearance} F9000 ; Move to Z var.Clearance ; ====================--------------------------------------------------------- ; Home all axes ; ==================== ; Make sure all axes are homed, and home Z again anyways if !move.axes[0].homed || !move.axes[1].homed ; If X & Y axes aren't homed ; Home X & Y axis M98 P"/sys/homex.g" Z{true} A{true} ; Home X axis, pass param.Z since we allready lowered Z & A to indicate this is part of a homing sequence M98 P"/sys/homey.g" Z{ture} C{true} ; Home Y axis, pass param.Z since we allready lowered Z & C since XY currents/speeds are also ok ; Home Z axis M98 P"/sys/homez.g" Z{true} A{true} ; Home Z axis, pass param.Z since we allready lowered Z & A to indicate this is part of a homing sequence ; ====================--------------------------------------------------------- ; Probing code ; ==================== ; Move to bed center G90 ; Absolute positioning G1 X[var.bedX] Y[var.bedY] F6000 ; Move to the center of the bed ; LED status if exists(global.sb_leds) set global.sb_leds = "leveling" M558 K0 F180 A1 var loopCounter = 0 while true G30 P{var.loopCounter} K0 Z-9999 if iterations >= 1 echo "Sample number " ^ {iterations} ^ ": " ^ {sensors.probes[0].lastStopHeight - sensors.probes[0].triggerHeight} ^ "mm" set var.loopCounter = iterations if iterations = var.Samples - 1 G30 P{var.loopCounter} K0 Z-9999 S-1 break M558 K0 F300:180 A3 ; ====================--------------------------------------------------------- ; Finish up ; ==================== ; Uncomment the following lines to lower Z(bed) after probing G90 ; Absolute positioning G1 Z{var.Clearance} F2400 ; Move to Z var.Clearance ; Full currents if fileexists("/sys/lib/current/xy_current_high.g") M98 P"/sys/lib/current/xy_current_high.g" ; Set high XY currents else M913 X100 Y100 ; Set X Y motors to var.100% of their max current if fileexists("/sys/lib/current/z_current_high.g") M98 P"/sys/lib/current/z_current_high.g" ; Set high Z currents else M913 Z100 ; Set Z motors to var.100% of their max current set var.msg = "" ^ var.Samples ^ " samples complete, see console" M291 S1 R"Probe repeatability test" P{var.msg} T5 ; Test done message ; If using Voron TAP, report that probing is completed if exists(global.TAPPING) set global.TAPPING = false M402 P0 ; Return the hotend to the temperature it had before probing ; LED status if exists(global.sb_leds) set global.sb_leds = "ready"
-
RE: Pause/resume issues in 3.5.0rc3+5?
@dc42 Okok, I'll pull them, try one least time and report back before hitting the bunk.
A little bit off topic, but: I don't know if this is expected behaviour or (or when it got introduced), but for some reason this command:
M291 S4 R"Bed tramming" P"Are you sure you want to tram the bed?" K{"YES","CANCEL",}
Don't end up posting a message on PD, just DWC.
And I can confirm that the resume now works again, and that the Z-issues is resolved. I didn't notice any delay between between restoring the XYZ position and starting printing again though, at least not more than it's "allways" been.
-
RE: Pause/resume issues in 3.5.0rc3+5?
@dc42 Nothing to say sorry for, it's a pre-release afterall
-
RE: Pause/resume issues in 3.5.0rc3+5?
@dc42
Aaah i just did a test with the first ones you supplied there and was about to repport that the issue is persistent.I'll try the NEWER ones after dinner and report back!
@dc42 Naah that build is borked! Now Z won't even move after homing. Or if i try to move the bed from PD / DWC nothing happens.
The printer reported Z0.54 after homing, and if i try to lower Z with 5mm the reported Z-height changes to 5.54 but no actual movement.
Don't know if M122 reports will help any, but here they are:
=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.0-rc.3+6 (2024-04-02 14:34:06) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: XNHXF-HR6KL-K65J0-409N2-K9W1Z-RV2MZ Used output buffers: 29 of 40 (40 max) === RTOS === Static ram: 103232 Dynamic ram: 126672 of which 12 recycled Never used RAM 8380, free system stack 135 words Tasks: NETWORK(2,nWait 7,16.1%,229) HEAT(3,nWait 6,0.0%,351) Move(4,nWait 6,0.0%,256) CanReceiv(6,nWait 1,0.1%,797) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,339) TMC(4,nWait 6,0.8%,68) MAIN(1,running,81.2%,654) IDLE(0,ready,0.9%,30) AIN(4,delaying,0.8%,260), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:19:21 ago, cause: software Last software reset at 2024-04-02 15:40, reason: User, Gcodes spinning, available RAM 11360, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00489000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 1161890, completed 1161890, timed out 0, errs 0 MCU temperature: min 39.6, current 43.6, max 47.8 Supply voltage: min 2.8, current 24.1, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/43, heap memory allocated/used/recyclable 2048/1500/940, gc cycles 264 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 32, reads 61101, writes 32, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 32, reads 61101, writes 32, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 22, reads 61111, writes 22, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 21, reads 61111, writes 21, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 21, reads 61112, writes 21, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present Date/time: 2024-04-02 16:36:25 Cache data hit count 2117861953 Slowest loop: 164.57ms; fastest: 0.13ms === Storage === Free file entries: 16 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 7.6ms, write time 8.1ms, max retries 0 === Move === DMs created 83, segments created 11, maxWait 737572ms, bed compensation in use: none, height map offset 0.000, max steps late 1, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 5, on retry 0, too short 0, wrong shape 4, maybepossible 0 === DDARing 0 === Scheduled moves 25, completed 25, 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 0 is on, I-accum = 0.4 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 0 0 0 0, running macro 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 P250" 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 0x0000807 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 sensor: no filament === CAN === Messages queued 10493, received 23836, lost 0, errs 1307, boc 0 Longest wait 2ms for reply type 6031, peak Tx sync delay 8139, free buffers 26 (min 25), ts 5810/5808/0 Tx timeouts 0,0,1,0,0,0 last cancelled message type 30 dest 127 === Network === Slowest loop: 201.24ms; 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 1, noresp 1 Firmware version 2.1beta7 MAC address c4:5b:be:ce:91:93 Module reset reason: Power up, Vcc 3.37, flash size 2097152, free heap 36232 WiFi IP address 192.168.10.x Signal strength -54dBm, channel 6, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0 M122 B121 Diagnostics for board 121: Duet TOOL1LC rev 1.1 or later firmware version 3.5.0-rc.3+6 (2024-04-02 12:49:31) Bootloader ID: SAMC21 bootloader version 2.8 (2023-07-25) All averaging filters OK Never used RAM 3928, free system stack 134 words Tasks: Move(3,nWait 7,0.0%,135) HEAT(2,nWait 6,0.4%,105) CanAsync(5,nWait 4,0.0%,51) CanRecv(3,nWait 1,0.0%,71) CanClock(5,nWait 1,0.0%,59) ACCEL(3,nWait 6,0.0%,53) TMC(2,nWait 6,3.4%,53) MAIN(1,running,91.2%,315) IDLE(0,ready,0.0%,27) AIN(2,delaying,4.9%,112), total 100.0% Owned mutexes: Last reset 00:19:29 ago, cause: power up Last software reset at 2024-03-12 16:55, reason: StackOverflow, available RAM 2968, slot 0 Software reset code 0x0100 ICSR 0x0042600e SP 0x20007f34 Task Move Freestk 3342 ok Stack: 20004a80 20004ab4 0001cf33 20004c98 20004938 00000000 0001c011 20003320 fffffffd a5a5a5a5 00000000 20007f8c 00000000 20007f8c 0001cc97 00000000 200017c4 20001748 0001c4d7 20001748 200017c4 00000032 454c4449 00022700 0001ac77 200018e0 200018e0 Driver 0: pos 0, 568.8 steps/mm, standstill, SG min 0, read errors 0, write errors 0, ifcnt 11, reads 60547, writes 11, timeouts 0, DMA errors 0, CC errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, segs 0, step errors 0, maxLate 0 maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00 Peak sync jitter -2/9, peak Rx sync delay 219, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 23.7, current 24.7, max 24.9 MCU temperature: min 65.2C, current 71.7C, max 71.7C Last sensors broadcast 0x00000012 found 2 15 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 24032, send timeouts 0, received 10573, lost 0, errs 0, boc 0, free buffers 18, min 18, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Accelerometer: LIS3DH, status: 00 I2C bus errors 0, naks 3, contentions 0, other errors 0 === Filament sensors === Interrupt 5726621 to 0us, poll 4 to 1432us Driver 0: ok
I just saw that the printer state is permanently "Busy" now after trying to home & lower Z. Dispite the printer not doing anything.
-
RE: Pause/resume issues in 3.5.0rc3+5?
@gloomyandy Yeah I know, I meant the 3.5-mms-changes branch David made March first and the commits made to that branch March 4th [1] & [2] related to resume after pause. I stated the wrong branch name in the previous post(edited it by now).
-
RE: Pause/resume issues in 3.5.0rc3+5?
@gloomyandy Glad to hear my assumptions were right
đ
I'll avoid anything pause/resume related until then lolIs it related to the commits made for fixing pause/resume issues made in the 3.5-mms-changes branch? I don't think I had any issues before MMS got merged with 3.5-dev
đ¤
-
RE: Pause/resume issues in 3.5.0rc3+5?
@NeoDue Well it's happening in two different scenarios for me now at least, one from the printer being paused by a filament runout, and one from a filament change.
And since i'm not using
filament-error.g
the filament runout is pretty much just a regular pause but with a runout flag.So i'm quite sure it's something under the hood of RRF's thats broken and causing this
đ
-
RE: Pause/resume issues in 3.5.0rc3+5?
@NeoDue said in Pause/resume issues in 3.5.0rc3+5?:
@Exerqtor
Will do, but probably not before the weekend - I have to finish a longer print first.In the meantime, I will try to understand that complicated filament change logic of yours...
Offtopic and just to understand: why the heck do you use daemon.g to restart the print instead of simply using filament-change.g to handle everything, including the decision to resume the print?
It's talked about in this thread from about this time last year lol. It might be that RRF has changed it's behaviour in regard to how the states and resume is dealt with on filament change by now that I haven't picked up on. But if you skim through that thread you will see what I/we wanted to achieve.
-
RE: Pause/resume issues in 3.5.0rc3+5?
@NeoDue Thx for your feedback, but you're running a somewhat older version of 3.5.0 rc3 than I am. Please try these binaries and check if it still works.
I just tried another print with a manual filamentchange (who worked on on 3.5.0b4) and this make the machine stuck in a loop.
I've got the machine setup to automatically purge(if "ok") & resume the print once i click "ok" or "skip" in when
M600
is called (I'll post the macros farther down in the post).This is the way it's supposed to work (and have worked until recently):
M600
in the job g-code andfilament-change.g
gets run (look farther down for contence offilament-change.g
).- The printer goes into the filament change position and a
M291 S4
message with "OK" & "SKIP" get's displayed. - "OK" is pressed it will extrude(purge) "n" amount of filament, dim the chamber lights back down, change
global.FilamentCHG
totrue
and the that's the end offilament--change.g
.
If "SKIP" is pressed no filament will get extruded(purged), dim the chamber lights back down, changeglobal.FilamentCHG
totrue
and the that's the end offilament--change.g
. - The following condition in
daemon.g
get's ran:
; Resume after filament change if exists(global.FilamentCHG) if global.FilamentCHG = true && state.status = "paused" M24 ; Resume the pause automatically now that the manual filament change is done set global.FilamentCHG = false
M24
gets sent bydaemon.g
andresume.g
gets ran and the print continues(look farther down for contence ofresume.g
).
This is what happens now:
M600
in the job g-code andfilament-change.g
gets run (look farther down for contence offilament-change.g
).- The printer goes into the filament change position and a
M291 S4
message with "OK" & "SKIP" get's displayed. - "OK" is pressed it will extrude(purge) "n" amount of filament, dim the chamber lights back down, change
global.FilamentCHG
totrue
and the that's the end offilament-change.g
.
If "SKIP" is pressed no filament will get extruded(purged), dim the chamber lights back down, changeglobal.FilamentCHG
totrue
and the that's the end offilament--change.g
. - The following condition in
daemon.g
get's ran:
; Resume after filament change if exists(global.FilamentCHG) if global.FilamentCHG = true && state.status = "paused" M24 ; Resume the pause automatically now that the manual filament change is done set global.FilamentCHG = false
M24
gets sent bydaemon.g
andresume.g
gets ran and the print head returns over the point where it stopped printing but DON'T lower the nozzle down to the buildplate again.- Hovers over the buildplate for a split second and
filament-change.g
get's ran again, and hence it's stuck in a loop no matter if i press "OK" or "SKIP". The only way i can break the cycle is to power toggle the machine.
Here is the event log from the failed filament change/resumes:
2024-04-01 12:21:01 [warn] Started printing file 0:/gcodes/BFI/[a]_BFI_Front_with_Logo_M3_Symmetrical_x2_0.2mm_ABS_0.4n_21m8s.gcode 2024-04-01 12:21:03 [warn] M150 sent for logo : yellow 2024-04-01 12:21:03 [warn] M150 sent for nozzle : yellow 2024-04-01 12:21:04 [warn] M150 sent for logo : teal 2024-04-01 12:21:04 [warn] M150 sent for nozzle : bright_white 2024-04-01 12:21:32 [warn] M150 sent for logo : green 2024-04-01 12:21:32 [warn] M150 sent for nozzle : bright_white 2024-04-01 12:21:46 [warn] 9 points probed, min error -0.014, max error 0.013, mean -0.004, deviation 0.008 Height map saved to file 0:/sys/heightmap.csv 2024-04-01 12:21:47 [warn] M150 sent for logo : dim_gray 2024-04-01 12:21:47 [warn] M150 sent for nozzle : dim_red 2024-04-01 12:21:48 [warn] M150 sent for logo : yellow 2024-04-01 12:21:48 [warn] M150 sent for nozzle : yellow 2024-04-01 12:22:13 [warn] M150 sent for logo : light_blue 2024-04-01 12:22:13 [warn] M150 sent for nozzle : bright_white 2024-04-01 12:22:23 [warn] M150 sent for logo : red 2024-04-01 12:22:23 [warn] M150 sent for nozzle : bright_white 2024-04-01 12:24:51 [warn] Resume state saved 2024-04-01 12:26:46 [warn] Printing paused for filament change at X174.6 Y157.6 Z0.2 2024-04-01 12:26:48 [warn] Printing resumed 2024-04-01 12:26:48 [warn] Resume state saved 2024-04-01 12:27:20 [warn] Printing paused for filament change at X174.6 Y157.6 Z5.2 2024-04-01 12:27:21 [warn] Printing resumed 2024-04-01 12:27:21 [warn] Resume state saved 2024-04-01 12:27:38 [warn] Printing paused for filament change at X174.6 Y157.6 Z10.2 2024-04-01 12:27:40 [warn] Printing resumed 2024-04-01 12:27:40 [warn] Resume state saved 2024-04-01 12:29:17 [warn] Printing paused for filament change at X174.6 Y157.6 Z15.2 2024-04-01 12:29:18 [warn] Error: M0: Pause the print before attempting to cancel it 2024-04-01 12:29:19 [warn] Printing resumed 2024-04-01 12:29:19 [warn] Resume state saved 2024-04-01 12:29:22 [warn] Error: M0: Pause the print before attempting to cancel it 2024-04-01 12:32:34 [warn] HTTP client 192.168.10.1xx login succeeded (session key 4247479220) 2024-04-01 12:34:00 [warn] Printing paused for filament change at X174.6 Y157.6 Z20.2 2024-04-01 12:34:02 [warn] Printing resumed 2024-04-01 12:34:02 [warn] Resume state saved 2024-04-01 13:02:00 [warn] Warning: VIN under-voltage event (8.6V) power up + 00:00:03 [info] Event logging started at level warn power up + 00:00:03 [info] Running: Duet 3 Mini5plus WiFi: 3.5.0-rc.3+5 (2024-03-27 11:34:04) power up + 00:00:04 [warn] WiFi module started power up + 00:00:04 [warn] M150 sent for logo : n/a power up + 00:00:04 [warn] M150 sent for nozzle : n/a power up + 00:00:04 [warn] M150 sent for logo : n/a power up + 00:00:04 [warn] M150 sent for nozzle : n/a power up + 00:00:09 [warn] WiFi module is connected to access point RV32-IOT2G, IP address 192.168.10.x power up + 00:00:10 [warn] HTTP client 192.168.10.xx login succeeded (session key 3077884437) 2024-04-01 13:02:19 [warn] Date and time set at power up + 00:00:10
The
[warn] Error: M0: Pause the print before attempting to cancel it
errors got thrown because I tried pressing cancel in PD & DWC after pressing "OK" / "SKIP" btw.
; /sys/filament-change.g v2.2 ; Called when M600 is sent ; Used to do a filament change while printing ;---/ ; -/--/--/--/--/--/--/--/--/--/--/--/--/--/--/--/-- ; THIS MACRO ONLY WORKS WITH RRF 3.5.0b1 AND LATER!! ;--/--/--/--/--/--/--/--/--/--/--/--/--/--/--/--/-- ;-/ ; ====================--------------------------------------------------------- ; Settings section ; ==================== ; Will not be used if you're using a "goto" macro var x = 40 ; The X axis location where you want the hotend to "park" while changing filament var y = 0 ; The Y axis location where you want the hotend to "park" while changing filament var spd = 15000 ; The speed of which you want the hotend to move to the "park" location var lift = 20 ; The Z clearance you want your nozzle to have from the print while changing filament var lights = true ; true / false depending if you have chamber lights or not that you want to turn on ; If you don't have lights you want to turn on don't mess with these var io = 0 ; The GPIO port number (set by M950) for the lights you want to turn on var pwm = 1 ; The PWM to be set on the GPIO port above, 0=off 1=full power var purge = 60 ; The amount of filament your hotend need to purge for a clean filament/color change ; Will be swaped out with global.unload_length if you have that defined! var unload = 12 ; The length of which filament have to be retracted to clear the meltzone ; Don't touch anyting beyond this point(unless you know what you're doing)!! ; ====================--------------------------------------------------------- if exists(global.unload_length) set var.unload = global.unload_length var pwm_res = state.gpOut[{var.io}].pwm ; Store the PWM from the PPIO port so that it can be returned after changing filament if var.lights M42 P{var.io} S{var.pwm} ; Turn on the lights if fileexists("/sys/lib/beep/l.g") M98 P"/sys/lib/beep/l.g" ; Long beep M400 ; Wait for moves to finish G91 ; Relative positioning M83 ; Extruder relative positioning G10 ; Retraction G1 Z1.00 X20.0 Y20.0 F20000 ; Short quick move to disengage from print G1 Z{var.lift - 1} F800 ; Go to spesified Z clearance if !fileexists("/sys/lib/goto/front_right.g") G90 ; Absolute positioning G1 X{var.x} Y{var.y} F{var.spd} ; Move the nozzle to the location defined in the settings section if fileexists("/sys/lib/goto/front_right.g") M98 P"/sys/lib/goto/front_right.g" {var.spd} ; Move to front right for filament change G1 E2 F800 ; Extrude slightly to help form a nice tip on the filament G1 E{-(var.unload)} F800 ; Retract filament from the meltzone M400 ; Wait for moves to finish if fileexists("/sys/lib/beep/xl.g") M98 P"/sys/lib/beep/xl.g" ; Extra long beep M291 S4 R"Manual Filament Change" P"Change & prime filament, then press OK." K{"OK","SKIP",} ; "OK" if input = 0 G1 E{var.purge} F200 ; Purge filament ; "SKIP" if input = 1 G1 E{var.unload} F800 ; Extrude filament back to the meltzone M400 ; Wait for moves to finish if var.lights M42 P{var.io} S{var.pwm_res} ; Return lights to previous state if !exists(global.FilamentCHG) global FilamentCHG = true else set global.FilamentCHG = true
; resume.g ; Called before a print from SD card is resumed G1 R1 X0 Y0 Z5 F15000 ; Go to 5mm above position of the last print move G1 R1 X0 Y0 ; Go back to the last print move M83 ; Relative extruder moves