开源改变世界

Planner 同步后的延迟 #416

推推 grbl 2年前 (2023-01-22) 315次浏览

关闭
timryder 打开了这个问题 2014 年 5 月 29 日 · 4条评论
关闭

Planner 同步后的延迟#416

timryder 打开了这个问题 2014 年 5 月 29 日 · 4条评论

注释

Planner 同步后的延迟 #416

我正在将 Grbl 用于自定义应用程序,我发现每当我调用
protocol_buffer_synchronize();
我注意到每次调用后都会有很大的延迟。
例如,我正在编写一些自定义 GCode 来协调工具和 G4 作为延迟。
我为这个工具写了一个特殊的 M 代码来打开输出,然后我调用 G4 P0.05 以确保这个工具到达工件,我希望它尽快完成,因为工具不应该延迟一次G4 已经完成,我想立即开始动议。

相反,我看到在处理下一个命令之前有 ~250 – 500 毫秒的延迟

使用 0.9c rev,一个想法?

Planner 同步后的延迟 #416
作者

注意:我决定使用冷却液喷雾功能代替我的自定义 M 代码进行测试,只是为了检查它是否是我所做的。我还在我的 gcode 中注释掉了 G4,所以它只是严格使用 M7,

这仍然有延迟,因为它还调用了 protocol_buffer_synchronize();

任何帮助表示赞赏:)

Planner 同步后的延迟 #416
成员

@timryder: 是的。尝试使用源代码中的 stream.py 流程序。此方法预加载串行读取缓冲区,因此“ok”通信协议之间没有滞后时间,也不必等待下一个命令的较慢串行下载。

如果您已经在使用它或者您正在使用的 GUI 正在使用它,我很惊讶会有这么大的延迟。在我对规划器和解析器的计时中,每个块不应超过 4 毫秒左右,但通常为 0.2-0.4 毫秒。在绝对最坏的情况下,恢复和重新加载整个规划器缓冲区的时间不应超过 50-100 毫秒。

Planner 同步后的延迟 #416
成员

@timryder:另外,禁用 step_idle_lock 设置。通过将它设置为 0 秒以在它停止时完全禁用你的步进器,或者将它设置为 255,这将使其保持启用状态。这可能与您看到的延迟有关。

Planner 同步后的延迟 #416
作者

关闭,肯定是step_idle_lock的设置。 👍

喜欢 (0)