Contact me: hankecnc@gmail.com

功能请求 M109/M190 可中断 #685

推推 grbl 3年前 (2023-02-06) 317次浏览
关闭
justmyopinion 打开了这个问题 2013 年 12 月 18 日 · 40条评论
关闭

功能请求 M109/M190 可中断#685

justmyopinion 打开了这个问题 2013 年 12 月 18 日 · 40条评论

评论

功能请求 M109/M190 可中断 #685

如果像 M109/M190 那样的加热器命令设置/温度/等待可以被中断,那就太好了。
如果发送了错误的参数或硬件错误,Marlin 将无限挂起。
如果这些命令可以在没有硬件重置的情况下被主机取消,那就太好了。

功能请求 M109/M190 可中断 #685
贡献者

如果您希望它们是可中断的,您不应该使用 M104 和 M140 吗?

M104 应设置热端温度并控制返回
M140 应设置床温并控制返回

如果您稍后决定等待温度,请使用 M116 之类的东西。

功能请求 M109/M190 可中断 #685

我确实使用 M104/140,但它们没有我开始工作时需要的功能,而 M109/190 非常方便等待加热器在挤出前达到目标。
我不知道M116。

功能请求 M109/M190 可中断 #685
贡献者

好吧,我猜你要么在固件中等待,要么在软件中等待。所以你要么用你的温度发送 M104,然后在软件中等待直到达到温度(你可以随时中断),或者你使用 M109 让固件等待。我不确定您无法通过这种方式实现的用例是什么。你有例子吗?

基本上,我总是在“手动”调整温度时使用 M104,然后在实际打印时只使用 M109。

例如,Repetier 和 OctoPrint 中的按钮发送 M104 和 M140。

如果您使用 M104 和 M140 设置温度,然后确定它是正确的,您可以发送 M116,它应该等到实际达到设定温度。

功能请求 M109/M190 可中断 #685

M109/190 用作我的 Repetier Host 启动码,打印时完美无缺,但如果您需要取消作业,则不方便,因为您必须等待作业队列清空,如果温度错误,这可能会花费相当长的时间set.Host中没有wait for temperature实现,依赖fw实现,不可取消。
我试图说服 Repetier 开发人员按照您的建议实施此功能,但到目前为止没有成功,所以可能只有我有这种糟糕的经历,所以也许我不得不忍受它。
我仍然没有找到在 marlin 代码中实现的 M116,但这并不重要,因为 M109/190 可以完成这项工作。

功能请求 M109/M190 可中断 #685
贡献者

是的,我明白你的意思。公平地说,我的打印通常在进行中失败,因此一种无需等待缓冲区清除即可取消打印的方法(以一种不需要物理重置的方式)更有用。

例如,如果我发送 M109 并错误地输入了 900 而不是 90,我将永远等待,等待一个无需去打印机就可以轻松解决的情况。

基本上,我希望 M0 在我并不关心的缓冲区之前或之后立即终止打印,甚至中断预热,但让固件保持在我可以从 gcode 重置它的状态。这可能已经奏效了,我没有尝试在 M0 之后发送 M999,但查看源代码,似乎只有单击按钮才能奏效。

功能请求 M109/M190 可中断 #685

确切地!

功能请求 M109/M190 可中断 #685
贡献者

这个是大约一年前创建的,有很多变化,请下载最新的 marlin 副本,看看问题是否仍然存在。您还可以使用最新的 arduino IDE 来刷新 marlin 固件。如果您的板文件等只能在旧的 ide 下工作,请先升级它们,以便它们在最新的 IDE 下工作。

如果您为不在https://github.com/ErikZalm/Marlin/tree/Marlin_v1/ArduinoAddons中的硬件创建板文件,请 fork marlin 并添加文件,然后创建一个拉取请求,以便我们可以获得硬件支持的。这也将使人们了解人们正在使用什么硬件。