开源改变世界!!

实时命令应该在没有 \r\n #998的情况下处理

推推 grbl 2年前 (2022-10-19) 345次浏览 0个评论
关闭
piyushverma 打开了这个问题 2021 年 11 月 18 日 · 10 条评论
关闭

实时命令应该在没有 \r\n 的情况下处理#998

piyushverma 打开了这个问题 on 18 Nov 2021 · 10 条评论

注释

实时命令应该在没有 \r\n #998的情况下处理

皮尤什维尔马 评论 2021 年 11 月 18 日  

你好,

我面临类似的问题gnea/grbl#327
我尝试发送实时命令?在没有 \r\n 的 telnet 上,但 grbl 没有任何响应。

如果我添加 \r\n 那么它会回复 2 个额外的“ok”“ok”

甚至发送任何 grbl 命令,如 G0 G90 X0 \r\n 都会导致“ok”“ok”的双重回复

它应该像一个错误吗?

实时命令应该在没有 \r\n #998的情况下处理

问题不在于 grbl_esp32,而在于主机系统上的 telnet 客户端程序。Telnet 客户端通常以“linemode”启动,在这种模式下,当用户键入 Enter(回车)时,会收集并发送一行数据。telnet 客户端程序不知道吗?是一个特殊的 Grbl 实时角色,所以它对待?就像任何其他可打印字符一样并将其收集到一行中,当用户键入行尾键时发送该行。Telnet 协议早在编写 Grbl 之前就已经开发出来了,而 Grbl 使用 ? 作为一个特殊的“立即发送”字符,在计算机世界中是相当不寻常的。

某些 telnet 客户端可以配置为使用一次字符模式。每个 telnet 客户端都有不同的执行方式,因此您必须查阅 telnet 客户端程序的文档以了解如何操作。

实时命令应该在没有 \r\n #998的情况下处理

嗨 Piyush,
我认为它会分别回复 \r 和 \n。因此 command 和 \r 被视为一行,而 \n 被视为另一空行。我建议只尝试\n。它应该只返回一个“ok”。但是,我怀疑实时命令会以这种方式工作。尝试使用 websockets 而不是 telnet。如果你的 http 端口是 80,那么 websocket 端口默认是 81。但是,我没有成功与 grbl_esp32 的 ws 通信。所以如果你成功了,我想知道原因。
最好的,
拉维

实时命令应该在没有 \r\n #998的情况下处理

哦对不起。它不应该给出任何“好的”响应。应该只用人字形的报告回复。
如果您处于不和谐状态,请加入该项目的不和谐服务器。那里发生了很多讨论,让我们了解最新动态。邀请链接在 fluidNC 的 wiki 中。

实时命令应该在没有 \r\n #998的情况下处理

嗨拉维,

我找不到不和谐的链接,它只是说“有一个不和谐的服务器用于开发这个项目。请求邀请”
我搜索流体NC,但没有找到服务器。

请建议正确的名称。

谢谢皮尤什
_

实时命令应该在没有 \r\n #998的情况下处理

问题不在于 grbl_esp32,而在于主机系统上的 telnet 客户端程序。Telnet 客户端通常以“linemode”启动,在这种模式下,当用户键入 Enter(回车)时,会收集并发送一行数据。telnet 客户端程序不知道吗?是一个特殊的 Grbl 实时角色,所以它对待?就像任何其他可打印字符一样并将其收集到一行中,当用户键入行尾键时发送该行。Telnet 协议早在编写 Grbl 之前就已经开发出来了,而 Grbl 使用 ? 作为一个特殊的“立即发送”字符,在计算机世界中是相当不寻常的。

某些 telnet 客户端可以配置为使用一次字符模式。每个 telnet 客户端都有不同的执行方式,因此您必须查阅 telnet 客户端程序的文档以了解如何操作。

在这种情况下,\r\n 应该考虑传输层数据,在传递给 GRBL 之前应该在 telnet 层上删除这些数据。

我是如何使用 TCP 套接字的,所以它不依赖于等待进入,而是可能的 TELNET 客户端等待 GRBL 中的线路终止。

实时命令应该在没有 \r\n #998的情况下处理

嗨拉维,

我找不到不和谐的链接,它只是说“有一个不和谐的服务器用于开发这个项目。请求邀请”
我搜索流体NC,但没有找到服务器。

请建议正确的名称。

谢谢皮尤什
_

这是链接
https://discord.gg/MDsRDeNsTE

实时命令应该在没有 \r\n #998的情况下处理

它在 wiki 部分中提到了目录。如果您通过 PC 浏览,它是右侧窗格。在移动设备中,它位于页面末尾。

实时命令应该在没有 \r\n #998的情况下处理

在这种情况下,\r\n 应该考虑传输层数据,在传递给 GRBL 之前应该在 telnet 层上删除这些数据。

这是不正确的。行终止是 Grbl 协议的一部分。如果您的 TCP 套接字没有发送“?” 直到它看到一行结尾,您需要修复其缓冲区刷新策略。

无论如何,我们不太可能对 Grbl_Esp32 中的 telnet 代码进行任何修改。我们所有的开发工作都转向了 FluidNC。如果 Telnet 客户端处于字符模式,我知道 FluidNC 会立即处理“?”。我昨天测试了它。

实时命令应该在没有 \r\n #998的情况下处理

谢谢拉维,我在,

谢谢 Mitch,我将构建并尝试 FluidNC

实时命令应该在没有 \r\n #998的情况下处理

您不必构建 FluidNC,只需下载并安装预构建版本。所有配置都是在运行时使用文本文件完成的。

实时命令应该在没有 \r\n #998的情况下处理
 
添加标题文本添加粗体文本,<Ctrl+b>添加斜体文本,<Ctrl+i>
添加引号,<Ctrl+Shift+.>添加代码,<Ctrl+e>添加链接,<Ctrl+k>
添加项目符号列表,<Ctrl+Shift+8>添加编号列表,<Ctrl+Shift+7>添加任务列表,<Ctrl+Shift+l>
直接提及用户或团队引用问题、拉取请求或讨论

添加已保存的回复

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

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