M291 S3 not blocking when called with M98
-
Hiya - not sure if this was intentional but when I call an M291 command into a gcode job using M98, the cancel option doesn't perform the M292 P1 block.
But if I write the M291 manually at the beginning of the job gcode , the cancel option works.
M291 P"The cutting job is about to start! Ensure spindle switch is set to on. If any process form the workflow has been missed cancel job now." R"WARNING" S3
-
I think this is an issue with M291 being within M98 commands. I also tried calling a macro at the end of a gcode job so the user would be prompted to move the spindle to a safe location or cancel.
G53 G1 F1000 Z-1 ; move z axis to safe z T-1 ; Deselect tool M291 P"Move carraige to safe X Y Axis location at rear of machine." R"WARNING" S3 ; saftey message G53 G0 Y710 ; move gantry to rear of y axis
If I cancel the message which should perform a m292 P1 - I cannot input any commands into the console and the duet seem to get stuck in a loop.
-
@educatingsavvas Can you please share the output of M122 when it gets stuck in a loop?
-
@chrishamm Hiya - I'm not able to send the M122 command as the send button is displaying a spinning wheel of doom.
-
@educatingsavvas can you try through USB instead?
-
@jay_s_uk Do you mean using YAT?
-
@educatingsavvas yep. that should use another stream so won't be blocked in the same way DWC is
-
@educatingsavvas which Duet are you running on, and are you running it standalone or in SBC mode?
-
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0beta7+7 (2022-01-14 08:59:56) running on Duet WiFi 1.02 or later
Board ID: 0JD0M-9P6B2-NJ4S8-6J9D8-3S46P-TV6AM
Used output buffers: 2 of 24 (15 max)
=== RTOS ===
Static ram: 23844
Dynamic ram: 73496 of which 324 recycled
Never used RAM 11488, free system stack 130 words
Tasks: NETWORK(ready,13.2%,258) HEAT(notifyWait,0.0%,353) Move(notifyWait,0.0%,307) MAIN(running,86.8%,362) IDLE(ready,0.0%,30), total 100.0%
Owned mutexes: USB(MAIN)
=== Platform ===
Last reset 00:06:52 ago, cause: power up
Last software reset at 2022-01-24 13:29, reason: User, GCodes spinning, available RAM 11272, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Step timer max interval 0
MCU temperature: min 31.9, current 32.8, max 33.3
Supply voltage: min 24.2, current 24.3, max 24.6, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/24/24, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: pos 400, standstill, SG min n/a
Driver 1: pos 400, standstill, SG min n/a
Driver 2: pos -400, standstill, SG min n/a
Driver 3: pos 400, standstill, SG min n/a
Driver 4: pos 0, standstill, SG min n/a
Driver 5: pos 0
Driver 6: pos 0
Driver 7: pos 0
Driver 8: pos 0
Driver 9: pos 0
Driver 10: pos 0
Driver 11: pos 0
Date/time: 2022-01-24 14:02:19
Cache data hit count 4294967295
Slowest loop: 3.90ms; fastest: 0.20ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 3.3ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 3, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 11, completed 11, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARi
ng ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
=== GCodes ===
Segments left: 0
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
USB is ready with "m122" 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
Code queue is empty
=== Network ===
Slowest loop: 201.05ms; fastest: 0.10ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(1), 1 sessions
HTTP sessions: 1 of 8- WiFi -
Network state is active
WiFi module is providing access point
Failed messages: pending 0, notready 0, noresp 2
WiFi firmware version 1.23
WiFi MAC address 26:a1:60:2d:e2:6e
WiFi Vcc 3.45, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 23448
WiFi IP address 10.10.10.10
Connected clients 1
Clock register ffffffff
Socket states: 2 0 0 0 0 0 0 0
ok
- WiFi -
-
@educatingsavvas you'll need to change a few settings to get the full M122 output (unless @dc42 or @chrishamm say thats enough)
Heres some info https://duet3d.dozuki.com/Wiki/YAT -
@jay_s_uk Just done it
-
@educatingsavvas you may want to change the line endings to make it a little more readable
-
@dc42 It's a Duet 2 Wifi in stand alone mode.
-
@educatingsavvas said in M291 S3 not blocking when called with M98:
WiFi firmware version 1.23
Not really related, but your wifi server is a bit out of date. How have you been updating the firmware? Regardless, you should be able to update just the wifi firmware by uploading the latest version.
https://github.com/Duet3D/RepRapFirmware/releases/download/3.3/DuetWiFiServer.bin
-