Stop print.... immediately!

Discussions about ideaMaker and other printing software.
pjyarnall
Posts: 22
Joined: Fri Jun 22, 2018 9:29 pm
Location: Canandaigua, NY

Stop print.... immediately!

Postby pjyarnall » Sat Jul 28, 2018 1:01 pm

Description: Presently, loading a print starts with heating up the exrtruder(s) and bed. Completely logical. However, it is impossible to stop the print if one suddenly realizes a change of some sort is needed. The Stop Print choice is ignored until all temps are reached.

Version: 3.1.7.1850

Mac OSX 10.11.6

A great deal of time is wasted waiting for temps to be reached before a stop print command is reacted to. Pro2 firmware needs a "stop now!!" ability. PLEASE!
Pro 2

Korni
Posts: 146
Joined: Wed Apr 11, 2018 8:11 am

Re: Stop print.... immediately!

Postby Korni » Sat Jul 28, 2018 3:02 pm

Yes

EldRick
Posts: 307
Joined: Thu Jun 22, 2017 5:55 am

Re: Stop print.... immediately!

Postby EldRick » Sat Jul 28, 2018 5:37 pm

Agreed - a real PIA.

Alex M.
Posts: 138
Joined: Tue Apr 10, 2018 4:59 pm

Re: Stop print.... immediately!

Postby Alex M. » Sat Jul 28, 2018 9:09 pm

Agreed - It would be much nicer if it just quit. I found that you can’t edit via the tune menu while warming up either.

Jetguy
Posts: 2649
Joined: Tue Mar 22, 2016 1:40 am
Location: In a van, down by the river

Re: Stop print.... immediately!

Postby Jetguy » Sat Jul 28, 2018 10:02 pm

Gcode M109 wait until setpoint is reached and do not execute any other line of gcode until complete.
It's that simple. So pressing a button on the front panel computer, that is not actually controlling the hardware of the printer is just sending another line of gcode in the buffer is why you sit and wait until that command completes.

The only command that can preempt such a command is the kill command in the gcode.
Kill would stop everything, and basically reset the motion control board.
At the same time, since we now use the front panel to set active values in memory (flowrate override, steps per mm for axis, PID tuning values) so the front panel would have to send a kill command, know full well during the reset this is a disconnect between the 2 control boards, wait for the motion control board to boot and establish the serial gcode console connection, pass all the startup safety check and then have the front panel resend the setting override values to ensure the motion control board was in the expected state with all the values and overrides in the front panel settings.

I'm pretty sure this is what the faststop command was at some point. Due to issues with error handling and the above technical sequence, I think that's why it was not enabled or ignored in the firmware at least on the N series.

Jetguy
Posts: 2649
Joined: Tue Mar 22, 2016 1:40 am
Location: In a van, down by the river

Re: Stop print.... immediately!

Postby Jetguy » Sun Jul 29, 2018 12:35 am

Alex M. wrote:Agreed - It would be much nicer if it just quit. I found that you can’t edit via the tune menu while warming up either.


Correct, the tuning menu, and really any button press on the Raise 3D Touch user interface or even the remote connection duplication of the touch UI is just sending gcode commands to the motion control board. However, if motion control board and firmware is running a standard wait until temp has been reached command, it will not execute another command except for one special preemptive command that trumps them all, the kill command is sent. Because that caused issues, it may or may not be implemented in the Raise 3D supplied versions of motion control firmware. Even if it is, that command comes with penalties, and that is, after it executes, it's not instantly that you resume and follow the next command- you just reset the system.

Details on Faststop doing some searching viewtopic.php?f=3&t=6244&p=25757&hilit=faststop#p25720
ABH wrote:It turns out that Raise3D is still using the M112 command for restarting the motion controller MCU, when FastStop is pressed. I put a sniffer on the serial line from the Raise Touch computer to see what happened. The problem with the Marlin 1.1.8 based firmware was in the new Marlin feature enabled under EMERGENCY_PARSER flag. I have now disabled this new Marlin feature and Raise3D FastStop now works in the same way as with Raise3D v1.1.6rev1 firmware.
The precompiled firmware files here http://forum.raise3d.com/viewtopic.php?f=3&t=6244&start=20#p25627 are all updated.
I also updated the Configuration_adv.h file in the BlTouch source file repository here https://github.com/ABH10/Marlin-for-Raise3D-N-series/tree/1.1.x_Raise3D_BLTouch.




If you want instant stop, I think it requires 2 things.
#1 in the settings menu of Raise Touch LCD menu, you have to enable fast-stop and that's disabled by default.
That means when you command a stop, you send an M112 kill command.
Home screen.jpg

More Settings.jpg

Select Advanced Settings.jpg

That setting is under "Settings" menu, then "Advanced Settings" (Picture is on an N1)
Advanced settings Faststop.jpg


#2 However, that also depends on what motion control firmware does or does not do with that M112 command.
Depending on if you have an N series or if you have a Pro2 series and what motion control firmware is loaded on the actual motion control board determines how that firmware handles the kill function. Here also comes the fundamental wakeup call to the Pro2 owners- you only have OEM closed source firmware. This is where the N series can run open source and thus rapidly customize the firmware (the above topic of the "EMERGENCY_PARSER flag"), you Pro2 owners are stuck begging Raise 3D to fix or grant your request or bugfix or feature request.

#3 All of this is subject to a fundamental limitation of the architecture, the front panel and remote interface is not actually running the hardware directly. There is a layer of communications and firmware that complicates this on a level I'm not sure some of you understood when you bought this printer.

ABH
Posts: 177
Joined: Sun Aug 14, 2016 7:31 pm

Re: Stop print.... immediately!

Postby ABH » Sat Aug 11, 2018 8:13 pm

I can mention that in my version of the Motion Controller Firmware here:
https://github.com/ABH10/Marlin-for-Rai ... .x_Raise3D
Marlins "Emergency Parser" is enabled.
The Emergency Parser kills (restarts) the motion controller immediately when the M112 code is received on the serial interface. It didn't work in original Marlin because of a bug (misuse of kill), as described here:
https://github.com/MarlinFirmware/Marlin/issues/9906
The "Emergency Parser" is needed for bypassing the serial receivers FIFO buffer in the motion controller, if we want a true "fast stop".

Jetguy
Posts: 2649
Joined: Tue Mar 22, 2016 1:40 am
Location: In a van, down by the river

Re: Stop print.... immediately!

Postby Jetguy » Sat Aug 11, 2018 10:24 pm

ABH wrote:I can mention that in my version of the Motion Controller Firmware here:
https://github.com/ABH10/Marlin-for-Rai ... .x_Raise3D


Just a personal thanks to you ABH and all you do for the group with your custom firmware.
Sadly, Pro2 users cannot take advantage of it.

Ari
Posts: 22
Joined: Fri Dec 23, 2016 3:18 pm

Re: Stop print.... immediately!

Postby Ari » Sun Aug 12, 2018 11:27 am

@ABH
To further reiterate Jetguy's thanks, we all very much appreciate your work to improve the firmware and the fact that you are kind enough to share your efforts with our community. Also Jetguy as well, come to that, for his help and willingness to share his knowledge with us.

Ari


Return to “Software”

Who is online

Users browsing this forum: No registered users and 5 guests