注释
|
”’ |
|
是的,它似乎通过解析规划器缓冲区的大小并确保不填充它来工作。 在那种情况下,我可以在 wiki 上写几行吗? |
|
我在慢跑模式下为“自动进给”所做的是不发送短移动,但是当按下键开始移动时,发出慢跑命令以移动到轴行程的最远范围;当您按下停止键时,它会发出点动停止命令。 在 UGS 的特定情况下;您正在使用的 API 是否可以区分按键、按键重复和按键事件?如果是这样,我会做的是: 按下键时:发送当前点动步长的移动。 |
|
我这样做的方式是在按钮按下(或操纵杆移动)事件上,我将发送方线程切换到一种特殊的“实时慢跑模式”,它的工作方式不同于正常的流媒体模式。按下按钮事件(或操纵杆返回原位)请求发送方线程取消实时慢跑模式。 实时慢跑模式基本上可以: 虽然我们没有被要求取消慢跑{根据问题#741 循环迅速将缓冲区填满,但取消慢跑命令将其刷新。有必要发送 G4 并等待它完成,然后再发送任何其他内容,否则可能会发生奇怪的事情(请参阅前面的线程)。 |
|
看看你上面的日志,我想你可能没有等到最后的点动命令回复 OK 就发送了点动取消实时命令?因此,最终命令可能仍在管道中,并且在取消命令将其刷新后完成处理并进入队列。 |
|
谢谢@AlexHolden,是的,这很有意义,我理解这是 GRBL 中的设计(现在一分钱掉了)。我怀疑情况会是这样,你证实了这一点。 我现在需要弄清楚哪种替代方案最有前途,这样它就可以重新用于其他控制器,例如 Marlin、TinyG 和 g2core,并且对用户来说也是最直观的。 |
|
你好亲爱的朋友们, 我有个问题 ; 为什么 GRBL 中没有专用的 JOG 引脚? 为什么 GRBL 没有在软件中解决这个问题? 谢谢你 |
|
一个 Pin 控制所有,一个 Pin 找到它们,一个 Pin 把它们全部带走,并在运动中计算出它应该向哪个轴和方向移动? |


我一直在努力尝试在 UGS 中实现连续慢跑,如果用户按住慢跑按钮,它将进入连续模式,并且在释放按钮后应该停止。
所以它似乎在大多数时候都有效,只要按下点动按钮,我们就会将点动命令排队,每次以固定的间隔填充缓冲区中的一个命令。释放按钮后,我们将发送点动取消命令,它会按预期停止。
但是我发现很难找到一个很好的平衡点来保持规划器缓冲区充满 GRBL,这样它就会以所需的进给速度保持慢跑,而不是填充它。似乎一旦它被填满,它就无法取消并完全清除计划缓冲区。我试着按照这里的讨论#95,但没有确定的解决方案?
当我开始慢跑时,命令正在填充缓冲区:
现在发出了取消点动命令(0x85),它将减速:
但随后我会收到一条 ok 消息并再次开始加速,它会继续运行:
我知道在这个例子中我使用了太大的步长和不合理的进给率,但这只是为了说明一个问题,否则会是间歇性的。
我们可能可以在 UGS 中解决这个问题并跟踪规划器缓冲区的使用情况。但这将要求我们的用户设置 $10=3,所以我认为这不是最佳设置。你还有其他建议吗?
我在 1.1e.20161219 和 1.1h.20190825 中得到了相同的结果