注释
|
进一步的测试表明这可能是我的问题的根源: 我尝试了一个由多次重复组成的测试文件:
这工作得很好。 但是在那之前做一个 $G ,事情就会变得一团糟。第一个 $G 被认为是未确认的,然后对 G0 的“确定”被视为对 $G 的确认,最后缓冲区中有 G0 命令并且 bCNC 被卡住以供确认。 所以看起来至少 $G 和其他命令的确认机制被破坏了。这可能是 Smoothie 或 bCNC 的错,我不确定是哪一个。 |
|
唔!这是 grbl 的作用: https://github.com/grbl/grbl/blob/master/grbl/protocol.c#L49
report_status_message 将始终打印“ok”或错误:https ://github.com/grbl/grbl/blob/master/grbl/report.c#L40 这是有道理的,尤其是看到 $H 确实得到了“确定”。 现在我们来看看 Smoothieware,结果它故意跳过了通知,根据评论: https://github.com/Smoothieware/Smoothieware/blob/edge/src/modules/utils/simpleshell/SimpleShell.cpp#L216
这来自 2018 年 9 月 30 日的提交 54f0098a4,不幸的是,它没有提供任何关于理由的解释。 所以很明显有人必须在这里改变一些东西。我将尝试在 Smoothieware 上打开错误报告。我想如果他们想保留它,bCNC 将需要一个解决方法。 |
|
报告给 Smoothieware: 经过一番讨论,确定了。我明天会做一些测试。 所以确认这不是 bCNC 错误,但在关闭它之前,我建议将这个添加到常见问题解答或文档中的其他地方,以防其他人遇到它? |
哪些版本的 smoothie 受此影响? |
|
不幸的是,Smoothieware 似乎根本没有编号的版本或版本号。 受影响的版本将是 2018 年 9 月 30 日之后发布的任何内容。 第一个固定版本在 commit a555b096 中上传,时间为 2018 年 12 月 15 日星期六 22:20:56 +0000 我已经测试过了,$G 的问题已经解决了。 |
我不确定要在常见问题解答中添加什么。如果他们没有版本控制方案,那就有点难了。我想我只是补充一下,用户应该始终使用最新版本的控制器固件,尤其是 smoothieware。 我暂时关闭它。因为 bCNC 没有真正的问题。 |


我正在努力解决我当前与 Smoothieboard 相关的问题。其中之一似乎是 bCNC 认为某些命令尚未完成,将它们保留在缓冲区中,工作最终在它们堆积时停滞不前。
这是我发现可以预见的工作方式:
$G再生产:
从协议日志:
缓冲:
$G手动发出 $G 具有相同的效果,$G 不断堆积在缓冲区中。
GRBL 文档 ( https://github.com/gnea/grbl/wiki/Grbl-v1.1-Commands ) 表明这是正确的:
但是,我目前没有 Grbl 开发板。有人可以确认 Grbl 之后是否说“ok”,以及是否有指定正确答案的标准?我不确定是修复 smoothie 还是 bCNC,但我想目前 bCNC 中的 smoothie 特定解决方法可能是有序的。