Contact me: hankecnc@gmail.com

关于将 grbl 作为库加载的文档是错误的 #864

推推 grbl 3年前 (2023-01-23) 269次浏览

打开
mabushey 打开了这个问题 2015 年 12 月 3 日 · 11 条评论
打开

关于将 grbl 作为库加载的文档是错误的#864

mabushey 打开了这个问题 2015 年 12 月 3 日 · 11 条评论

注释

关于将 grbl 作为库加载的文档是错误的 #864
  1. 下载 Grbl 源代码 (v0.9i)。
╭─michael@corwin ~/Arduino/grbl  ‹master› 
╰─➤  git branch -v
* master d226555 Minor bug fixes.
  1. 确保您使用的是最新版本的 Arduino IDE
╭─michael@corwin ~/Arduino/grbl  ‹master› 
╰─➤  pacman -Q arduino
arduino 1:1.6.5.r5-2
  1. 将 Grbl 作为库加载到 Arduino IDE 中。
    Sketch -> Include Library -> Add .ZIP library…
    选择 /home/michael/Arduino/grbl/grbl (这是包含 .c 和 .h 文件的文件夹) -> OK
Arduino: 1.6.5 (Linux), Board: "Arduino/Genuino Uno"

java.io.FileNotFoundException: /home/michael/Arduino/grbl/grbl/grbl (No such file or directory)
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:220)
    at java.util.zip.ZipFile.<init>(ZipFile.java:150)
    at java.util.zip.ZipFile.<init>(ZipFile.java:164)
    at processing.app.tools.ZipDeflater.<init>(ZipDeflater.java:26)
    at processing.app.Base.handleAddLibrary(Base.java:2478)
    at processing.app.Base$11.actionPerformed(Base.java:1179)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
    at java.awt.Component.processMouseEvent(Component.java:6525)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6290)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4881)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
/home/michael/Arduino/grbl/grbl/grbl (No such file or directory)

没错,没有目录/home/michael/Arduino/grbl/grbl/grbl。我指定/home/michael/Arduino/grbl/grbl. 因为它喜欢添加一个额外的东西,grbl所以我尝试使用 just /home/michael/Arduino/grblbut that reportsA subfolder of your sketchbook is not a valid library

关于将 grbl 作为库加载的文档是错误的 #864
作者

无论如何,尝试使用 Arduino IDE 编写非 Arduino 固件似乎是一个非常愚蠢的想法……

使用 Arch,要运行make grbl.hex你需要安装avr-libc以及avr-gccpacman -S avr-gcc avr-libc

关于将 grbl 作为库加载的文档是错误的 #864
作者

还告诉 avrdude 使用一个没有人拥有并且不需要的 conf 文件,因为 CLI 上已经提供了选项是荒谬的。很可能有很多更改,并且文档从未更新过。对我有用的 avrdude 命令是:
avrdude -pm328p -carduino -P/dev/ttyACM0 -D -Uflash:w:grbl.hex

关于将 grbl 作为库加载的文档是错误的 #864
成员

@mabushey: 很抱歉你遇到了问题,你不必无礼。但我认为你完全忽略了这一点。使用 Arduino IDE 安装 Grbl 只是一种使其易于访问的方法,因为大多数人都知道如何使用它,并且不需要命令行。对于更高级的用户,您仍然可以使用 Arduino IDE 本身中的编译器工具,通过 Wiki 中的大纲方法进行编译和烧录。或者,像您可能已经做过的那样,通过自己安装工具进行编译。

Arduino 团队最近一直在改变 IDE 在后端的工作方式,Grbl 安装 hack 可能已被破解。上次我检查一切仍然正常,但如果您确实遇到问题,我们需要更新安装过程。

关于将 grbl 作为库加载的文档是错误的 #864
成员

只是为了在睡觉前关闭。我下载了 Arduino IDE (v1.6.6) 的当前稳定版本。使用“添加 .ZIP 库”菜单项添加 Grbl 源目录,并显示 GrblUpload 示例。Grbl 成功编译和安装,正如它应该的那样。

我不确定出了什么问题,但A subfolder of your sketchbook is not a valid library错误可能是一个线索。我的猜测是 grbl 源文件夹位于某种 Arduino IDE 文件结构中,它期待其他东西。我会把它移到别处再试一次。

关于将 grbl 作为库加载的文档是错误的 #864

在 Windows 7 和 Arduino IDE 1.6.6 下,WIKI 页面上的说明完美无缺。也许 IDE 的 Linux 版本有些奇怪。此外,至少在 IDE 的 Windows 版本中,您可以简单地将包含 .c 和 .h 文件的 grbl 文件夹放入 arduino 库文件夹(documents\Arduino\libraries),然后重新启动 IDE

至于:
“无论如何,尝试使用 Arduino IDE 编写非 Arduino 固件似乎是一个非常愚蠢的想法……”

考虑到您正在尝试加载一个免费的开源固件,该固件是由为该项目贡献时间的人们开发的,这是一个非常严厉的声明。WIKI说明之所以使用IDE上传,是为了让非程序员更容易安装固件。顺便说一句,这是一种您之前使用过的很多方法都没有问题的方法。如果你确实发现了问题,一定要报告,但没有必要称所做的事情是“愚蠢的”或“荒谬的”

关于将 grbl 作为库加载的文档是错误的 #864

如果有问题,我今天可以在 linux 上给它一个托盘 sind 修复它。
Il 03/dic/2015 08:51 “109JB” notifications@github.com ha scritto:

在 Windows 7 和 Arduino IDE 1.6.6 下,WIKI 页面上的说明
完美无缺。也许
IDE 的 Linux 版本有些奇怪。此外,至少在 IDE 的 Windows 版本中,您可以简单
地将包含 .c 和 .h 文件的 grbl 文件夹放入 arduino
库文件夹(documents\Arduino\libraries),然后重新启动 IDE

至于:
“无论如何,尝试使用 Arduino IDE 编写非 Arduino 固件似乎是一个
非常愚蠢的想法……”

考虑到您正在尝试加载一个
免费的开源固件,该固件是由
为该项目贡献时间的人们开发的,这是一个非常严厉的声明。WIKI说明之所以使用IDE
上传,是为了让非程序员更容易安装
固件。顺便说一句,这是一种您之前使用过的很多方法都没有
问题的方法。如果你确实发现了问题,一定要报告,但
没有必要称所做的事情是“愚蠢的”或“荒谬的”


直接回复此电子邮件或在 GitHub
#864(评论)上查看。

关于将 grbl 作为库加载的文档是错误的 #864
作者

@chamnit– 我很抱歉我的挫败感被认为是粗鲁无礼的。那不是意图。事实上,我觉得当我们有 avrdude 时使用 Arduino IDE 将 GRBL 闪烁为“愚蠢”不应该影响你。

我认为你是对的,我错过了重点。我的观点是 Arduino IDE 出现了一大堆错误并且无法正常工作。我遇到问题的原因是文档太糟糕了,我发现它们更多的是障碍而不是帮助。我在最近的 Linux 系统上发布了对我有用的内容,因此希望可以清理文档。我认为应删除所有对 avrdude.conf 的引用。当配置选项已在命令行上指定/覆盖时,为什么要创建和指定配置文件?

感谢所有回复。GRBL 改变了一切。太奇妙了。让我们让人们更容易刷它。

关于将 grbl 作为库加载的文档是错误的 #864
成员

@mabushey:使用 Arduino IDE 的 avrgcc 和其他工具编译 Grbl 时,需要“avrdude.conf”(至少在我的 Mac 上)。如果您的机器上已经单独安装了 avr 工具,我想您将不需要它。同样,直接通过命令行使用 Arduino IDE 或 IDE 的后端工具可在操作系统类型和版本之间提供一致的基础。它使支持变得容易得多。

Grbl 的文档是基于 Wiki 的,所以如果您有关于如何修复它们的建议,请随时进行编辑或添加,以免其他人遇到您遇到的问题。

关于将 grbl 作为库加载的文档是错误的 #864
作者

@chamnit 我有 Arch、Debian、Ubuntu 和 FreeBSD 机器。这个周末我会做一些测试,看看我是否可以清理文档。

关于将 grbl 作为库加载的文档是错误的 #864
作者

使用 avrdude,我能够在不到 5 分钟的时间内在 Ubuntu 机器上刷入 grbl。我正在考虑创建一个 docker 映像,它将自动在 Uno 上闪烁 GRBL。

关于将 grbl 作为库加载的文档是错误的 #864

问题本身有什么解决办法吗?问题至少在 Ubuntu 14.04 LTS 中仍然存在。

喜欢 (0)