注释
|
我会将其标记为问题,而不是真正的问题。 |
|
星期一之前我又要出城了。您应该使用 WebUI 分支并查看 command.txt 以了解 SD 命令的工作原理。 WebUI 将很快合并到 master 中。 |
|
@GandalfOp在发送下一个命令之前,您需要发送单独的命令并等待控制器返回相应的“ok”。如果您需要发送一系列命令并且它不是 G 代码文件作业,我会在您的软件中为您正在等待响应的不同命令组创建标志,并使用全局计数器值来管理您当前的命令在序列中。这样万无一失。 如果您定期轮询“?” 命令 我建议添加一个计时器来捕获任何命令超时或有效管理任何返回以“<”开头的响应的命令。 请查看我在 vb.NET 中编写的 GRBL 工具中的示例。我有一个枚举来设置我正在编辑设置的状态。然后它在“ok”响应之间按顺序发送相应的命令组。 ‘加速设置 |
|
我认为最好的方法是为命令创建另一个通道。如果您查看 serialCheckTask(),您会发现它可以从多个来源(串行、蓝牙、wifi、telnet)读取命令。 添加另一个源,如“local_control”,将允许 Grbl 从队列中读取命令。按钮等可以将命令添加到队列中。 让 Grbl 控制这些命令的读取很重要。您不能立即推送大多数命令,因为 Grbl 的缓冲区可能已满或尚未准备好执行新命令。 您可以查看其他资源作为如何实施新资源的示例。添加一个带有 LCD 等的综合本地控制面板可能是一个更大项目的一部分。我现在没有时间这样做并且添加本地显示器违背了我对 Grbl_ESP32(最好的本地显示器)的基本愿景是与您的手机或 PC 的无线连接) |
|
伟大的!非常感谢,这将非常有帮助! 非常感谢! |
|
伟大的!将尝试以这种方式运行我的代码!非常感谢! |



您好,
我正在尝试从代码行执行一些 GRBL 代码,就像我从通用 Gcode 发送器发送它们一样(例如:)
if (Start_Button == 1) { "Send $FM" "Send $F" "Send $F=/mycode }我不会“按字面意思”那样做,因为我将在开始按钮上使用中断,然后从内部激活一个全局变量,并在这个全局变量触发时使用一个手表来执行我的代码。
有什么方法可以“发送$FM”吗?否则,这些命令是否存储在内存地址中?这样我就可以直接打电话给地址了。
非常感谢!