注释
对于g2core,我觉得把 我还想知道是否应该将Resetg2core 的命令从“^x”更改为“%d”? https://github.com/cncjs/cncjs/blob/v1.9.17/src/app/controllers/TinyG/TinyGController.js#L1165-L1171 'reset': () => {
this.workflow.stop();
this.feeder.reset();
this.write('\x18'); // ^x
},
这里的reset命令代表的是软复位,不是硬件复位。我想我可能多年来都弄错了。 |
我试过了 !和 % 在不同的行。那没有用。问题是 % 的语义不包括停止主轴。 我目前在一个 writeln 中发布 !^d 的解决方案工作得很好。我不确定!部分是必要的;只是做 ^d 可能会起作用。!有利于以后可以恢复的馈电。 ^x 对于重置是正确的。当我想确保控制器已完全重新启动时,我会使用它。请不要将其更改为 ^d。^d 用于取消 GCode 文件运行。它就像一个坚硬、直接的 M30 我还通过 GPIO 进行了硬件重置,但我很少需要使用它。 |
经过更多测试后,我认为为 g2core 执行 gcode:stop 的最佳方法是简单地发出 ^d ,不需要 ! 根本。所以是否在不同的行上执行它们的问题消失了,因为你只需要发出一个字符 ^d |
发行说明指出,Job Kill (^d) 命令已添加到固件版本 101 我应该只对固件版本 101 |
@cheton |
描述
使用 g2core,当您暂停带有进给的作业时,主轴会(正确地)停止,但如果您随后决定终止作业,则主轴会重新启动,让主轴在机器应该空闲时继续运行。危险的!
我认为这个问题的根本原因是 TinyG 和 g2core 协议之间的差异。g2core 支持一个“job kill”字符 – ^d – TinyG 没有。在 src/app/controllers/TinyG/TinyGController.js 中,如果 gcode:stop 处理程序发出 ‘!\x04’ 而不是 ‘!%’,问题就会消失。
但这可能不适用于 TinyG。我在 g2 区域中打开了一个问题,以寻求有关正确解决方案synthetos/g2#404的指导