开源改变世界!!

SD 卡 #19

推推 grbl 2年前 (2022-10-20) 378次浏览 0个评论
关闭
bdring 打开了这个问题 on 9 Aug 2018 · 22 条评论
关闭

SD卡#19

bdring 打开了这个问题 on 9 Aug 2018 · 22 条评论

注释

SD 卡 #19
所有者

婚戒 评论 on 9 Aug 2018

我正准备研究使用 SD 卡流式传输文件。我需要确定最佳的命令格式。

我应该模仿马林鱼的命令吗?

我想我将从一个小的功能集开始,并在必要时添加功能。我需要的最基本的功能是什么?

  • 在启动时挂载(不即时更改)
  • 列出文件
  • 选择一个文件
  • 运行文件
  • 获取状态(可能需要遵循 Grbl 报告风格)
SD 卡 #19 bdring 添加了 增强 新功能或请求标签 on 9 Aug 2018
SD 卡 #19

能够在文件的指定行号处恢复作业将非常方便。

SD 卡 #19

米桑 评论 on 10 Aug 2018  

Marlin SD 卡用户注意到的一件事是上传过程非常缓慢。有几个因素促成了这一点:

  • 一位(串行)SD 卡接口

  • 低速串行连接(打印时没什么大不了的)

  • 低效的停止和等待协议(针对所涉及的长延迟)

如果你走同样的路,也许你想先测试一下乐观的 SD 写入速度是多少。如果不够好,用户可能不得不将 SD 卡移动到计算机上以进行快速文件传输。

或者您可能已经完全排除了无线文件上传:不确定您的命令列表是否完整(因为没有提及文件传输)。

添加“跳过线”值作为@DirtyEngineer建议可以通过在运行文件之前使用的临时命令来完成。

SD 卡 #19
合作者

luc-github 评论 on 10 Aug 2018  

串口上传速度很糟糕,ESP32的优点是可以通过WiFi上传

SD 卡 #19
所有者作者

婚戒 评论 on 10 Aug 2018

我想我会推迟上传功能。我从来没有在reraps中使用过这个功能,因为速度太慢了。115200 波特是默认值。

从行号重新启动可能会令人困惑,因为有些人使用 gcode 行号。

此外,报告功能将报告发送的字节数/发送的总数。你怎么知道是什么线?很难报告行数,因为您必须在运行文件之前计算行数。

SD 卡 #19

现在我看了一下,Marlin 中的 M32 命令确实包含一个可选的偏移值http://marlinfw.org/docs/gcode/M032.html

我同意使用这样的功能可能是有风险的,但它应该只用于那些最终会正确的熟练用户:-)

SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 10 日

是的……如果您跳过 G90、G21 M3 等……您就有麻烦了。

SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 19 日

我创建了一个 wiki 并添加了一个建议的SD 卡系统。

我想编写一些简单快速的代码,因此我了解所有涉及的问题。它比 Marlin 更像 Grbl,所以我不太喜欢惹恼我使用的发件人。

SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 20 日

wiki 中的所有功能基本上都可以正常工作。

我在 SD 卡上遇到了一些奇怪的问题,当我列出文件时,我在 Windows 中对其所做的更改无法正确显示。

  • 我添加了一个名为 1.nc 的文件。当我列出文件时它没有显示,但我实际上可以使用 $F=/1.nc 从该文件运行作业
  • 我重命名了一个文件,但它总是显示旧名称。

ESP32 是否有一个隐藏的表格,而 Windows 没有?

除此之外,它工作得很好。我开始使用 gcode 发件人进行测试,看看是否有任何问题。

SD 卡 #19
SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 20 日

我很擅长弹射。我不这样做就搞砸了我的打印机的卡片。

我发现了一个奇怪的线索……我正在过滤 gcode 文件扩展名(.nc、.txt、.gcode)的文件。

如果我在 Windows 上查看该卡,我会看到…

1.nc
foo.txt
parsetest.nc
1.nc

这是我 ESP32 的输出。它正在将某些内容更改为大写,并且可能无法通过过滤器。(我关闭了这个转储的过滤器)

[文件:/foo.txt 大小:53]
[文件:/HAD.NC 大小:7864]
[文件:/parsetest.nc 大小:178]
[文件:/1.NC 大小:7864]

我可以修复过滤器,但发生了什么?

SD 卡 #19
SD 卡 #19

Windows 列表中如何有两个名为 1.nc 的文件?

SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 20 日

我打字的错误。这是一个截图

SD 卡 #19

SD 库似乎不区分大小写。我更喜欢长格式,但是如何使用 SD 库强制使用 8.3?

SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 20 日  

无论如何……这不再是一个问题。我使过滤器不区分大小写,因此它显示了所有文件。SD 库不区分大小写,因此发送命令的方式无关紧要。

天哪,这太酷了!

我测试了几个发件人,他们都可以处理。有些人比其他人有更好的反馈。

  • Grbl 控制器(Andriod 通过蓝牙):我能够将机器归位并启动 SD 卡工作。它会继续询问状态,因此您可以在工作期间查看 DRO。如果您打开详细输出,您还可以在控制台窗口中看到完成百分比,但它过得很快。它抑制了很多消息,因此在列出文件时看不到输出。
  • UGS(通过 USB 在 Windows 上):我能够将机器归位并开始工作。如果您打开详细输出,您可以看到 DRO 和完成百分比,甚至可以看到文件列表。
  • LaserGrbl(Windows 通过 USB):我能够回家并开始工作。它没有详细模式,因此您看不到完成百分比,但您可以看到 DRO 和文件列表。

使用所有这三个,您甚至可以关闭程序并且工作继续进行。如果您尝试重新连接,某些程序会在启动时发送 grbl reset。那会扼杀这份工作。

明天我会努力做一个视频。

SD 卡 #19

SD 代码在任何分支上都可用吗?我会尝试测试其中的一些,但我没有找到它,所以我在这里主要是靠耳朵玩 :-)

SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 21 日

我很快创建了一个分支。事情看起来足够稳定。

这是该功能的博客文章和视频

SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 21 日

分支已被推送。

顺便说一句:Sonny(Grbl Guy)今天看到我的视频后给我发了一封电子邮件。我们讨论了我创建的协议。

  • 他只建议对我在 SD 上报告文件的方式进行微调。我将空格更改为逗号。
  • 他批准了 $F 方法并将其保留用于此用途。
  • 他批准我的角色 B、S&W 用于蓝牙、SD 卡和 WiFi 用于 $I {OPT:…] 响应。
SD 卡 #19
合作者

luc-github 评论 2018 年 8 月 23 日  

嗨,当我刚刚进入 GRBL 世界时,我有 1 个问题:
关于 SD 命令,为什么不使用标准 SDM命令(https://reprap.org/wiki/G-code)?
M20 M21 M24
这是有据可查并被广泛使用的(reprap – marlin, repetier, smoothieware),并且 GRBL 已经使用了一些 GCODE,也不需要在主流上为这种用法保留 $F
抱歉,如果它是一个已经回答的问题

关于 SD 文件名:SD wiki 描述 $F=\FOO.NC应该$F=/FOO.NC像在这个线程和代码中描述的那样?

SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 23 日

SD Wiki 页面已更新,谢谢

Grbl 喜欢严格遵守 NIST 风格的 G 和 M 代码。LinuxCNC 对此有很好的参考。$ 命令涵盖了 NIST 风格中未定义的内容。对于 SD 功能,我决定坚持这一点。

我的首要任务是不破坏与现有 gcode 发件人的兼容性。有了 Grbl 不太可能实现的新功能,我们在做事上有一定的灵活性。我绝对愿意就此进行讨论,但我认为有一些设置是 $xx=xx.x 和一些设置是 Mxxx Pxxx 会一团糟。

SD 卡 #19
合作者

luc-github 评论 2018 年 8 月 23 日

非常感谢分享和澄清,我还找到了官方参考https://ws680.nist.gov/publication/get_pdf.cfm?pub_id=823374并按照代码中的描述检查了 p20 所以我现在完全理解 M 命令用于特定目的和您的决定。

SD 卡 #19
所有者作者

婚戒 评论 2018 年 8 月 23 日

是的,Grbl 确实有一些特殊的“停车”功能 M 代码,默认情况下在 config.h 中禁用。

我认为如果我们坚持“尽量不破坏任何发件人”的主要计划,我们在决定如何实施新功能时具有灵活性。

我认为如果添加一个通常会在 gcode 文件中的新功能,它可能应该是一个 M 命令。

SD 卡 #19
所有者作者

婚戒 评论 2018 年 9 月 9 日

这现在是主人的一部分……关闭

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

添加已保存的回复

喜欢 (0)

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