Issues with pause resume and cancel
-
This started with just pause and cancel.
When I pause a print, XY movement stops fairly quickly but then about 5 seconds later another XY move happens on its own and the printer was then left in a "Busy" state.
Pause just issues a simple M25.
; pause.g ; called when a print from SD card is paused M83 ; relative extruder moves G1 E-5 F3600 ; retract 5mm of filament G91 ; relative positioning G1 Z5 F600 ; lift Z by 5mm
Do we need to add M400's in these macros as well?
It seems that "start" and "end" macros called from gcode files aren't being run either. The print I just finished left the printer in "Processing" state with the following dump. Note the state of "file* "
17:08:19 M122: === Diagnostics === RepRapFirmware for Duet 3 v0.6 version 3.0beta11 running on Duet 3 version v0.6 Board ID: 08DGM-9T66A-G63SJ-6J9F4-3SD6S-1U03B Used output buffers: 1 of 32 (13 max) === RTOS === Static ram: 68792 Dynamic ram: 172592 of which 0 recycled Exception stack ram used: 568 Never used ram: 151264 Tasks: NETWORK(ready,2044) HEAT(blocked,1204) CanReceiv(suspended,3808) CanSender(suspended,1424) CanClock(blocked,1412) TMC(blocked,80) MAIN(running,1808) IDLE(ready,156) Owned mutexes: === Platform === Last reset 05:39:17 ago, cause: software Last software reset at 2019-10-14 11:29, reason: Unknown, spinning module Platform, available RAM 151316 bytes (slot 3) Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 38.4, current 38.6, max 38.8 Supply voltage: min 23.6, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Driver 0: standstill, reads 24120, writes 0 timeouts 0, SG min/max not available Driver 1: standstill, reads 24120, writes 0 timeouts 0, SG min/max not available Driver 2: standstill, reads 24119, writes 0 timeouts 0, SG min/max not available Driver 3: standstill, reads 24119, writes 0 timeouts 0, SG min/max not available Driver 4: standstill, reads 24120, writes 0 timeouts 0, SG min/max not available Driver 5: standstill, reads 24120, writes 0 timeouts 0, SG min/max not available Date/time: 2019-10-14 17:08:18 Slowest loop: 6.66ms; fastest: 0.28ms === Move === Hiccups: 0, FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves: 27356, completed moves: 27356, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.1 Heater 1 is on, I-accum = 0.4 === GCodes === Segments left: 0 Stack records: 4 allocated, 4 in use Movement lock held by null http* is idle in state(s) 0 telnet is idle in state(s) 0 file* is idle in state(s) 0 54 54, running macro serial is idle in state(s) 0 aux is assembling a command in state(s) 0 daemon* is ready with "M122" in state(s) 0 queue* is idle in state(s) 0 lcd is idle in state(s) 0 spi is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 0.77ms; fastest: 0.01ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 0 of 8 - Ethernet - State: 0 Socket states: 0 0 0 0 0 0 0 0 === CAN === Messages sent 1224, longest wait 0ms for type 0 === Linux interface === State: 0, failed transfers: 0 Last transfer: 31ms ago RX/TX seq numbers: 40908/21407 SPI underruns 0, overruns 0 Number of disconnects: 0 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v1.1.0.3 Code buffer space: 4096 Configured SPI speed: 2000000 Hz Full transfers per second: 36.94
-
Bumping this up a bit...
M25 (pause) doesn't even attempt to run pause.g but leaves the printer in "Pausing" state.
Running M0 H1 (cancel) in this state, runs stop.g and leaves the printer in "Busy" state.
cancel.g never seems to be run (maybe because the printer is still in "Pausing" state and not "Paused"?)M24 (resume) after a pause doesn't even attempt to run resume.g, restarts the print from the beginning (which causes much carnage!), and leaves the printer still in the "pausing" state (which leaves the DWC showing the resume and cancel buttons with no way to pause again).