注释
另一种方法是在 KeyDOWN 上发送一个大移动并在 KeyUP 上发出 GRBL 进给保持 (!)。现在只需进行一次软重置,以清除 GRBL 缓冲区中剩余的大移动。 |
好的。听起来这可能是更好的方法。我会玩弄它。那么,为什么可以在 GUI 中轻松完成的任务之一是推动慢跑成为 GRBL 不可或缺的一部分? |
我想到了一个原因,即您建议的方法并非在所有情况下都有效。软限制。如果用户启用了软限制,那么简单地发送一个大的移动是行不通的。然而,它仍然可以通过让 GUI 计算从当前位置到软限制边界的距离并发出该距离的移动来完成。我会努力的。 |
这也是我在 GrblPanel 中的做法。重复率是可配置的。 一个优势是,Grbl 的计划者会在一些人排队时介入并平滑移动。队列长度指示器作为一个可见的提醒很有用,可以让您了解您离当前位置还有多远。 格里特 发件人:109JB [ mailto:notifications@github.com ] 请注意,我认为我已经找到了一种从 GUI 实现连续慢跑的方法,而且它似乎工作得很好。我正在使用 Visual Basic,这就是我的做法。例如,对于 x+ 慢跑,我有一个专用于连续慢跑的 VB 计时器。当按下点动按钮并将增量设置为“连续”时,程序会检测到 KeyDown 或 MouseDown 事件并将标志设置为 true 并启用计时器。在计时器内,真标志导致程序不断向 grbl 发送“G91X0.001”,直到检测到 KeyUP 或 MouseUP 事件。然后将标志设置为 false 并关闭计时器。 我还添加了一个滚动条,当用户更改滚动条的位置时,它会更改发送到 grbl 的点动距离。(即:G91X0.001 是最小值,G91X0.1 是最大值)。这从而改变了点动速度。 似乎在使用带有 GRBL 的 Arduino 进行测试时效果很好,但没有连接到机器上。今晚我会在机器上测试它。这可能是一种避免不得不花时间将一些并不真正需要的东西合并到 grbl 中的方法,因为这种解决方法看起来可以完成这项工作。 现在,我将它放在我设置的非常简陋的测试程序中。我计划今晚将它整合到我的完整 GUI 中,并将发布一个视频链接,展示它在 gui 和机器上的运行情况。 — |
确切地说,GUI 中的一些想法足以处理慢跑。 发件人:109JB [ mailto:notifications@github.com ] 好的。听起来这可能是更好的方法。我会玩弄它。那么,为什么可以在 GUI 中轻松完成的任务之一是推动慢跑成为 GRBL 不可或缺的一部分? — |
如果您使用状态报告对其进行监控,也可以限制计划器中的运动量。限制为 5 个动作,当用户释放按键时,让 Grbl 完成 5 个动作。工作得很好,不需要重置。 |
请注意,我认为我已经找到了一种从 GUI 实现连续慢跑的方法,而且它似乎工作得很好。我正在使用 Visual Basic,这就是我的做法。例如,对于 x+ 慢跑,我有一个专用于连续慢跑的 VB 计时器。当按下点动按钮并将增量设置为“连续”时,程序会检测到 KeyDown 或 MouseDown 事件并将标志设置为 true 并启用计时器。在计时器内,真标志导致程序不断向 grbl 发送“G91X0.001”,直到检测到 KeyUP 或 MouseUP 事件。然后将标志设置为 false 并关闭计时器。
我还添加了一个滚动条,当用户更改滚动条的位置时,它会更改发送到 grbl 的点动距离。(即:G91X0.001 是最小值,G91X0.1 是最大值)。这从而改变了点动速度。
似乎在使用带有 GRBL 的 Arduino 进行测试时效果很好,但没有连接到机器上。今晚我会在机器上测试它。这可能是一种避免不得不花时间将一些并不真正需要的东西合并到 grbl 中的方法,因为这种解决方法看起来可以完成这项工作。
现在,我将它放在我设置的非常简陋的测试程序中。我计划今晚将它整合到我的完整 GUI 中,并将发布一个视频链接,展示它在 gui 和机器上的运行情况。