关闭 mariusl 打开了这个问题 2012 年 3 月 16 日 · 4条评论 关闭 M6换刀实施#79 mariusl 打开了这个问题 2012 年 3 月 16 日 · 4条评论 注释 马里乌斯 评论了 2012 年 3 月 16 日 你好, 我需要实现M6换刀功能的代码。我不确定如何在不搞砸缓冲区中已经存在的命令的情况下处理这个问题。你能建议一条合适的路线吗?如果有的话,我应该使用什么内部功能。 谢谢您的帮助 成员 泗门 评论了 2012 年 3 月 16 日 mc_dwell在 motion_control.c 中查看。根据您的分支,它将调用st_synchronize(master) 或plan_synchronize(edge)。此方法将确保当前缓冲的操作被完全执行,直到控制权返回给您的代码。在边缘分支中,您会看到它定期调用 以protocol_execute_runtime支持 Grbl 的实时“多任务处理”方面。这在工具更改期间不是必需的,我猜,但是当您在代码中阻塞 Grbl 的主执行线程时,它构成了“最佳实践”。 作者 马里乌斯 评论了 2012 年 3 月 16 日 谢谢西门,我会检查一下。 你如何建议 grbl 知道工具更改何时完成?我有一个自定义前端,它已经做了很多事情,所以我可以输入自定义消息。我已经实现了一条消息 Que,以 300 毫秒的间隔在后台进行状态报告。这独立于 gcode 握手运行。 成员 泗门 评论了 2012 年 3 月 16 日 如果换刀是手动的,我猜它在很多方面在语义上类似于 FEED_HOLD 状态?也许您可以等待CMD_CYCLE_START事件发生并重新定位工具,然后继续工作?查看用于异步命令字符处理的行164,以及用于此事件的标准处理的行。然后,您的前端会发送一个波浪号,表示 Grbl 可以继续。serial.cprotocol_execute_runtime158~ 作者 马里乌斯 评论了 2012 年 3 月 16 日 FEED_HOLD 是一个不错的选择。这样我就不会干扰任何其他代码。谢谢西门。 simen 关闭此作为完成 2012 年 3 月 16 日 喜欢 (0) 硬件变量覆盖 #44 设置说明($$) ? #45 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭 无法在 gsender 1.2.0 中打开 .gcode 文件 #367 RaspberryPi 运行 gsender 时出现问题 #89 向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭无法在 gsender 1.2.0 中打开 .gcode 文件 #367RaspberryPi 运行 gsender 时出现问题 #89向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473功能请求:抑制发送到机器的 gcode 中的 gcode 注释。 #444 关闭通过网络连接进行连接 #171操纵杆运动的剩余问题 #204 关闭新版本认为我的机器一直处于锁定状态 #474 关闭
你好,
我需要实现M6换刀功能的代码。我不确定如何在不搞砸缓冲区中已经存在的命令的情况下处理这个问题。你能建议一条合适的路线吗?如果有的话,我应该使用什么内部功能。
谢谢您的帮助