开源改变世界!!

有关 $ 代码 #110的信息

推推 grbl 2年前 (2022-10-19) 151次浏览 0个评论

关闭
GandalfOp 打开了这个问题 on 30 Mar 2019 · 8 条评论
关闭

$代码信息#110

GandalfOp 打开了这个问题 on 30 Mar 2019 · 8 条评论

注释

有关 $ 代码 #110的信息

您好,
我正在尝试从代码行执行一些 GRBL 代码,就像我将从 Universal Gcode Sender 发送它们一样(例如:)

if (Start_Button == 1) { "Send $FM" "Send $F" "Send $F=/mycode }

我不会“从字面上”这样做,因为我将在开始按钮上使用中断,然后从内部激活一个全局变量,并在这个全局变量触发时使用手表来执行我的代码。

有没有办法“发送$FM”?否则,这些命令是否存储在内存地址中?这样我就可以直接打电话给地址了。

非常感谢!

有关 $ 代码 #110的信息
作者

甘道夫 评论 on 30 Mar 2019

我会将其标记为问题,而不是真正的问题。

有关 $ 代码 #110的信息
所有者

婚戒 评论 on 30 Mar 2019

直到星期一我又出城了。您应该使用 WebUI 分支并查看 command.txt 以了解 SD 命令是如何工作的。

WebUI 将很快合并到 master。

有关 $ 代码 #110的信息

斯利克索 评论 on 31 Mar 2019  

@GandalfOp您需要发送单独的命令并等待控制器返回相应的“ok”,然后再发送下一个命令。如果您需要发送一系列命令并且它不是 G 代码文件作业,我会在您的软件中为您正在等待响应的不同命令组创建标志,并使用全局计数器值来管理您当前的命令在序列中。这样就万无一失了。

如果您定期轮询“?” 我建议添加一个计时器来捕获任何命令超时或有效管理任何返回以“<”开头的响应的命令。

请参阅我在 vb.NET 中编写的 GRBL 工具中的示例。我有一个枚举来设置我正在编辑设置的状态。然后它在“ok”响应之间按顺序发送相应的命令组。

‘Accel 设置
Case ChipState.UpdatingAccelSettings
If Dataval.StartsWith(“ok”) = True Then
AccelInt += 1
Select Case AccelInt
Case 1
SP.SendAsciiStringLine(“$111=” & numYMax.Value)
Case 2
SP.SendAsciiStringLine(“$112= ” & numZMax.Value)
案例 3
SP.SendAsciiStringLine(“$120=” & numXAccel.Value)
案例 4
SP.SendAsciiStringLine(“$121=” & numYAccel.Value)
案例 5
SP.SendAsciiStringLine(“$122=” & numZAccel.Value )
Case 6
Accelint = 0
CurrState = ChipState.Idle
MsgBox(“每轴的加速度和最大速度已成功设置。”, MsgBoxStyle.信息,“设置已更新”)
结束选择

有关 $ 代码 #110的信息
所有者

婚戒 评论 2019 年 4 月 2 日

@GandalfOp

我认为最好的方法是为命令创建另一个通道。如果您查看 serialCheckTask(),您会发现它可以从多个来源(串行、蓝牙、wifi、telnet)读取命令。

添加另一个源,如“local_control”,将允许 Grbl 从队列中读取命令。按钮等可以将命令添加到队列中。

允许 Grbl 控制这些命令的读取非常重要。您不能立即推送大多数命令,因为 Grbl 的缓冲区可能已满或尚未准备好执行新命令。

您可以查看其他来源作为如何实施新来源的示例。添加一个全面的本地控制面板,带 LCD 等可能是一个更大项目的一部分。我现在没有时间这样做,添加本地显示器违背了我对 Grbl_ESP32(最好的本地显示器)的基本愿景是与您的手机或 PC 的无线连接)

有关 $ 代码 #110的信息

伟大的!非常感谢,这将非常有帮助!
将尝试添加 local_control 这样,如果正确完成,它将自动执行什么@Slixxor说。本来我是没有考虑的,但是你说得对,我们需要等到“ok”返回…

非常感谢!

有关 $ 代码 #110的信息
所有者

婚戒 评论 2019 年 4 月 27 日

我最近玩了添加宏按钮。我想为公共活动简化我的一台机器。

有关 $ 代码 #110的信息

一个按钮将机器归位,另外两个从 SD 卡运行文件。

该代码当前位于运动学分支中。这里有特点。

  • 您最多可以分配 4 个按钮
  • 这些按钮具有去抖动功能,因此您不会意外多次单击。
  • 几乎可以通过串口发送的任何内容都可以通过按钮发送
  • 目前您需要对命令进行硬编码,但我们可能会对其进行调整,例如宏或 $N 的东西
有关 $ 代码 #110的信息
作者

甘道夫 评论 2019 年 4 月 29 日  

伟大的!将尝试以这种方式运行我的代码!非常感谢!
编辑:我使用了运动学选项,禁用了#define USE_KINEMATICS,因为我使用的是笛卡尔绘图仪,并且效果很好(至少实际上!仍然需要连接电机)Thnx 很多!

有关 $ 代码 #110的信息

您好,很抱歉回答了一个已关闭的问题,但我更改了引脚图以使其在 ESP32 CNC 板上工作,我只能使其工作在引脚 13 上接线,并且只有在按下引脚时才会激活(开关,而不是单按按钮)奇怪的是,当我在 Universal GcodeSender 上执行此操作时,只需按一下按钮,它实际上会激活整个 gcode,而连接到电机的同一程序需要永久按下按钮。

有什么我可以使用的信息吗?

谢谢!

有关 $ 代码 #110的信息
 
添加标题文本添加粗体文本,<Ctrl+b>添加斜体文本,<Ctrl+i>
添加引号,<Ctrl+Shift+.>添加代码,<Ctrl+e>添加链接,<Ctrl+k>
添加项目符号列表,<Ctrl+Shift+8>添加编号列表,<Ctrl+Shift+7>添加任务列表,<Ctrl+Shift+l>
直接提及用户或团队引用问题、拉取请求或讨论

添加已保存的回复

请记住,对此存储库的贡献应遵循我们的 GitHub 社区指南
通过赞助他们 来表达 您对 bdring的支持。

 赞助

标签
还没有
项目

还没有

发展

没有分支或拉取请求

3名参与者
有关 $ 代码 #110的信息有关 $ 代码 #110的信息有关 $ 代码 #110的信息

喜欢 (0)

您必须 登录 才能发表评论!