注释
合作者
追溯到 1 月 8 日 ( 2abdcdb ),并且可以重现该问题。 我尝试修改 Optional<GcodeCommand> activeCommand = this.getActiveCommand();
if( activeCommand.isPresent() ) {
processed =
String.format(Localization.getString("controller.exception.sendError"),
activeCommand.get().getCommandString(),
lookupCode(response, false)).replaceAll("\\.\\.", "\\.");
this.errorMessageForConsole(processed + "\n");
this.commandComplete(processed);
this.pauseStreamingEvent(); // Send a feed hold
} else {
...
但这只有在支持流媒体的情况下才有效? |
合作者
我刚刚意识到这会与#970中描述的行为相矛盾。错误暂停由@flounderscore进行工具更改。我想,如果您想以这种方式解决错误,解决方法是使用单步执行模式,直到真正支持工具更改为止? |
所有者作者
@breiler是的,UGS 不适合工具更改,我认为您甚至无法伪造它。GRBL 不会等到它到达换刀命令,所以它很可能会停在错误的位置。有几个解决方案。 制作一个 gcode 解析器来寻找 拥有一个可以告诉控制器/通信器做某些事情的“pragma”功能也很酷。例如 throw 之类的东西 另一个可能更简单的选择可能是将程序分成单独的块,并使用类似的东西 |
是否有像在 bCNC 中那样实施半自动换刀/探测的计划? |
所有者作者
已通过#972解决 |
问题描述
@breiler
IDLE
我注意到,在状态有机会从变为之前检测到错误时,UGS 不会暂停RUN
。我不确定这是新的倒退还是旧的倒退。预期行为
即使最后报告的状态是 ,UGS 也应该发出一个进给保持命令
IDLE
。实际行为
该程序继续运行所有命令,直到出现错误的命令为止,此时它停止,因为通信器正确地暂停了自己。
重现问题的步骤
运行以下程序。每次都将错误放在第一行,
奇怪的是,这个案例看起来是由这个块处理的
GUIBackend.java
:规格
版本
主分支
操作系统
苹果操作系统
平台
GRBL 1.1f