关闭 erosalesodev 打开了这个问题 2022 年 1 月 2 日 · 5 条评论 关闭 M226 Gcode命令实现#1108 erosalesodev 打开了这个问题 2022 年 1 月 2 日 · 5 条评论 注释 销售商 评论了 2022 年 1 月 2 日 嗨,我正在尝试执行M226等待 pin 命令,到目前为止,我有一个解决方案,只不过是一个简单while的读取 pin 状态的解决方案,问题是循环阻塞,以防其他命令到达它正在执行的那一刻将不会被处理,有人有解决这个问题的想法。感谢您阅读。 terjeio 评论了 2022 年 1 月 2 日 您可以在循环中使用适当的参数调用protocol_execute_realtime()或delay_sec()(并可能在 上退出sys.abort)。但它仍然会阻止新的 gcode 和 $ 命令——这是什么意图? M226 的替代方法是实施M66或使用M0(在G4完成排队运动之后)等待循环开始输入。 作者 销售商 评论了 2022 年 1 月 2 日 是的,我试过这个 system_set_exec_state_flag(EXEC_FEED_HOLD); // Use feed hold for program pause. protocol_execute_realtime(); // Execute suspend. while(digitalRead(pinVal)!= stateVal){ } printPgmString(PSTR("Pin ready\n")); system_set_exec_state_flag(EXEC_CYCLE_START); protocol_execute_realtime(); // Execute. pinVal是管脚号,stateVal是逻辑值 这个用在等离子切割中等待Arc Ok信号,表示切割电压稳定,需要等待它开始。 这就是为什么等待 pin 被实现,停止运动工作但仍然有重新启动运动周期的问题。 主要思想是尝试实现 waint for pin 命令,该命令允许等待 Arc Ok 信号并停止运动直到出现,并使用所有命令、停止队列和等待中接收的命令重新启动运动 作者 销售商 评论了 2022 年 1 月 2 日 谢谢@terjeio对于这个想法,我会尝试sys.abort并protocol_exec发挥作用 马里奥巴斯 评论了 2022 年 1 月 3 日 选择使用 M66 的引脚是如何声明的? 作者 销售商 评论了 2022 年 1 月 5 日 完毕 protocol_execute_realtime(); // Execute suspend. while(digitalRead(pinVal)!= stateVal){ } protocol_exec_rt_system(); // Executes run-time command` erosalesodev已完成 关闭 2022 年 1 月 5 日 喜欢 (0) 第 4 轴 cnc 屏蔽 arduino uno #1347 grbl 0.8 请修复错误信息。 #1348 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 关闭
嗨,我正在尝试执行M226等待 pin 命令,到目前为止,我有一个解决方案,只不过是一个简单
while的读取 pin 状态的解决方案,问题是循环阻塞,以防其他命令到达它正在执行的那一刻将不会被处理,有人有解决这个问题的想法。感谢您阅读。