开源改变世界

USB主机支持 #42

推推 grbl 3年前 (2023-02-08) 211次浏览
打开
karoria 打开了这个问题 2022 年 7 月 12 日 · 10 条评论
打开

USB主机支持#42

karoria 打开了这个问题 2022 年 7 月 12 日 · 10 条评论

评论

USB主机支持 #42

你好@terjeio
我想知道我是否可以激活 teensy4.1 的本机 USB 主机并将其用作辅助源以从除 SD 卡之外的 USB 笔式驱动器读取程序。我希望这应该很容易。我使用 PIO 进行编译。你能指导我完成为它包含哪个库的过程,以及如何在服务器上(包括 ftp)托管它的空间和 sd。
提前感谢您为 DIY CNC 社区所做的一切,并向您致以崇高的敬意。
问候,
拉维

USB主机支持 #42
贡献者

好像 SD 卡库已经支持 USB 驱动器了。我想sdcard.c需要更改以挂载 USB 驱动器而不是 SD 卡才能使其工作。可能需要进行更多更改才能使其与 SD 卡一起工作。

USB主机支持 #42
作者

好的。会尝试的。谢谢。

USB主机支持 #42
作者

你好@terjeio抱歉,我无法在 sdcard.c 中找到需要更改的内容以挂载 USB 驱动器而不是 SD 卡。请你指点我好吗?

USB主机支持 #42
贡献者

我相信这是这里设置的设备名称

也许来自 uSDFS 示例之一的这段代码是使用什么的线索?

#if TEST_DRV == 0
  const char *Dev = "0:/";  // SPI
#elif TEST_DRV == 1
  const char *Dev = "1:/";  // SDHC
#elif TEST_DRV == 2
  const char *Dev = "2:/";  // USB
#endif
USB主机支持 #42
作者

感谢提示。我在 driver.c 中得到的定义将其更改为 2:/ 并且 USB 通过 FTP 打开。但是还有一些奇怪的文件。我已经用 FAT32 格式化了,但是 www 目录有一些不同的名称,比如 WW~1 我认为它应该与 FS 或 FTP 权限有关。尽管我已将 www 目录放在 USB 驱动器的根目录中,但我的 webUI 无法打开。

USB主机支持 #42
贡献者

www 目录有一些不同的名称,如 WW~1

出于某种原因,FatFs 没有启用长文件名支持?

您也可以通过 WinSCP 尝试 WebDAV – 这不会跟踪可能会与 ftp 混淆的当前工作目录。

尽管我已将 www 目录放在 USB 驱动器的根目录中,但我的 webUI 无法打开。

ESP3D WebUI怎么样- 一样吗?
你使用webui后端吗?
如果是这样,那么您可以尝试使用 WEBUI_ENABLE 2 而不是 1 来强制使用 v2 协议 – 如果设置为 1,我会尝试自动检测要使用的协议。另请注意,由于 v3 支持已完成,webui 后端现在处于某种流动状态。
哦,你的 webui 代码是 gzipped (index.html.gz)?

USB主机支持 #42
作者

我没有使用 ESP3D webUI。但会检查它。我正在使用未压缩的 grblTouch,使用起来非常简单。我也不使用任何 webUI 后端(实际上我不明白后端是什么意思)但我可以肯定地告诉你我没有使用 ESP3D webUI 中的任何代码。将尝试使用 Luc 的 webUI 并在我有时间时在此处发布结果。

USB主机支持 #42
贡献者

(实际上我不明白你所说的后端是什么意思)

好的,这可以解释它 -如果没有后端存在,我已经删除了从www目录中获取index.html的支持。您还必须将它移动到根目录或实现一个重定向请求的小型后端。

后端是根据提供的 url 以不同方式处理 http 请求的代码,它是通过向 http 服务器注册url 处理程序来设置的。它还可以向服务器注册文件重定向器,当找不到文件时调用该文件重定向器 – 这可用于在文件系统的其他地方查找文件。

iMXRT1062 驱动程序获得了 littlefs 支持,这是为了在闪存中存储文件。您可以使用它来存储 grblTouch 代码,通过文件重定向,您可以检查代码是否存在于 sdcard 上,如果没有则回退到 littlefs。

USB主机支持 #42
作者

好的。听起来很有趣。实际上我正在使用 server.c,但我的代码有点旧,您可能会做很多更改。会玩弄你的建议。顺便说一句,你能告诉我如何将我的 grblTouch 网络应用程序保存到闪存吗?我可以看到你在 server.c 中提到的路径是 /embedded 的。

USB主机支持 #42
贡献者

顺便说一句,你能告诉我如何将我的 grblTouch 网络应用程序保存到闪存吗?我可以看到你在 server.c 中提到的路径是 /embedded 的。

实际的文件系统路径是 /littlefs – /embedded 文件系统路径是只读的,文件存储在.c 文件中。该文件中存放的WebUI index.html.gz 用于更新littlefs 中的WebUI 图像,当在/ 或/www目录中找不到index.html.gz或打开http:///forcefallback=yes 时。所有这些都是通过 server.c 中的文件重定向来处理的——您可以重定向任何您想要的文件名。

使用 WinSCP,我通过在高级设置中将 /littlefs指定为远程目录,通过 WebDAV 打开 /littlefs 挂载。

USB主机支持 #42

对除根挂载以外的挂载的 ftp 访问尚不可用——我稍后会解决这个问题。

比我以前知道的要复杂一些,但是 http 服务器守护进程现在灵活多了。

如果将 grblTouch 存储在闪存中,您确实应该最小化 javascript 并对结果进行 gzip 压缩——这样您将节省大量闪存。如果不这样做,甚至可能无法将其存储在闪存中。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

2名参加者
USB主机支持 #42USB主机支持 #42

喜欢 (0)