注释
问题不在于 grbl_esp32,而在于主机系统上的 telnet 客户端程序。Telnet 客户端通常以“linemode”启动,在这种模式下,当用户键入 Enter(回车)时,会收集并发送一行数据。telnet 客户端程序不知道吗?是一个特殊的 Grbl 实时角色,所以它对待?就像任何其他可打印字符一样并将其收集到一行中,当用户键入行尾键时发送该行。Telnet 协议早在编写 Grbl 之前就已经开发出来了,而 Grbl 使用 ? 作为一个特殊的“立即发送”字符,在计算机世界中是相当不寻常的。 某些 telnet 客户端可以配置为使用一次字符模式。每个 telnet 客户端都有不同的执行方式,因此您必须查阅 telnet 客户端程序的文档以了解如何操作。 |
嗨 Piyush, |
哦对不起。它不应该给出任何“好的”响应。应该只用人字形的报告回复。 |
嗨拉维, 我找不到不和谐的链接,它只是说“有一个不和谐的服务器用于开发这个项目。请求邀请” 请建议正确的名称。 谢谢皮尤什 |
在这种情况下,\r\n 应该考虑传输层数据,在传递给 GRBL 之前应该在 telnet 层上删除这些数据。 我是如何使用 TCP 套接字的,所以它不依赖于等待进入,而是可能的 TELNET 客户端等待 GRBL 中的线路终止。 |
|
它在 wiki 部分中提到了目录。如果您通过 PC 浏览,它是右侧窗格。在移动设备中,它位于页面末尾。 |
这是不正确的。行终止是 Grbl 协议的一部分。如果您的 TCP 套接字没有发送“?” 直到它看到一行结尾,您需要修复其缓冲区刷新策略。 无论如何,我们不太可能对 Grbl_Esp32 中的 telnet 代码进行任何修改。我们所有的开发工作都转向了 FluidNC。如果 Telnet 客户端处于字符模式,我知道 FluidNC 会立即处理“?”。我昨天测试了它。 |
谢谢拉维,我在, 谢谢 Mitch,我将构建并尝试 FluidNC |
您不必构建 FluidNC,只需下载并安装预构建版本。所有配置都是在运行时使用文本文件完成的。 |
皮尤什维尔马 评论 2021 年 11 月 18 日 •
你好,
我面临类似的问题gnea/grbl#327
我尝试发送实时命令?在没有 \r\n 的 telnet 上,但 grbl 没有任何响应。
如果我添加 \r\n 那么它会回复 2 个额外的“ok”“ok”
甚至发送任何 grbl 命令,如 G0 G90 X0 \r\n 都会导致“ok”“ok”的双重回复
它应该像一个错误吗?