注释
我对复制到 Arduino 中的代码进行了一些调整。我在串行程序的末尾添加了 2 号,它们中的大多数都可以工作。这让我了解了我无法弄清楚的 Arduino 图书馆。我现在面临的唯一挑战是“SIGNAL(SIG_USART_RECV)”中断似乎在 Arduino 中不起作用。我要么调整了一些东西,要么它与某个地方可能发生在隐藏的 Arduino 库中的中断过程相冲突。我将对其进行更多修改并提供更新。 |
以下在 Arduino 中禁用 Arduino 的串行功能,以便 Grbl 串行工作。 // 定义 HardwareSerial_h 以抑制 Arduino 标准串行类的加载 |
我做了最简单的程序,并弄清楚为什么我无法在 Arduino Mega 上获得中断“SIGNAL(SIG_USART_RECV)”。我不得不给它加一个 0。“SIGNAL(SIG_USART0_RECV)”有效! |
更新!!!!迈向成功的第一步。我已经使用 Grbl 在我的 x 轴上进行了第一次移动。我已经成功地左右移动了它。 在 Arduino 中:我发现手动输入命令有问题。它不会发送触发 gcode 行运行的回车符“r/n/”。所以我在一行gcode触发器运行的末尾临时做了“*”条目。 现在我已经运行了基础知识,我正在考虑创建一个 gui。你目前在用什么? 我开始学习 python、tcl/tk 和 opengl,以便我可以使用 Linux EMC2 Axis GUI 界面并对其进行修改以发送串行代码行。 |
进度更新 我已经学习了一些 Python 教程,并且正在拼凑一个我自己的简单 USB Axis 版本,它可以将数据发送到 Simen grbl / Arduino 板。不过还有很多东西要学。 使用 python 我已经想出了如何:
我想我现在已经弄清楚了基本组件。接下来我需要将这些部分放在一起并对文件进行一些文本字符串处理。 (我还没有从 emc 轴代码中使用太多。它非常大,上次看它时我很难找到路。也许稍后。) |
很抱歉我之前没有回复。需要让 github 向我发送有关问题的更新。直到现在才注意到。 我个人使用此存储库的 ./scripts-folder 中的 ruby-scripts。控制台使用 socat 为 grbl 提供交互式 shell。stream 是一个小型 ruby 程序,用于将 gcode 文件流式传输到 Grbl。它工作得很好,我已经使用这个基本设置成功地完成了一些铣削工作——但一个合适的桌面客户端当然会好得多。 |
你好汉兰达, |
我已将 Grbl 的不同变体移植到 mega 和 c++。见 回复晚了非常抱歉。我们突然找到了我们的梦想家园并买下了它。 2011 年 3 月 22 日星期二上午 12:39,buddhafragt <
|
佛系 评论 2011 年 4 月 9 日
您好 Simen, /Applications/Arduino.app/Contents/Resources/Java/libraries/inc/stepper.c: stepper.c 未在代码中声明…. ?? 问候 上午 08.04.2011 20:51 Uhr schrieb “simen” unter
|
佛系 评论 2011 年 4 月 9 日
我忘了说我尝试了 TWISTER…. |
你好, 这么晚才回复很抱歉。我没有直接让我的 grbl 运行。已经有一段时间了……但是我所做的是对其进行了一些修改/微小的更改/加上添加了一些首选项,并且我制作了一个略有不同的版本。我讨厌偏离基地,但我做到了。
|
我在 Arduino Mega 上修改后的 grbl 版本并进行了一些额外的更改,位于:https
|
你好汉兰达, 感谢您分享您的修改! 最好的问候 Am 28.04.2011 5:25 Uhr schrieb “Highlander01” unter
|
西门你好! 我尝试了从 github 下载的 Twister。 位我从编译器收到一条错误消息: serial_protocol.cc:在函数’void sp_process()’中: 似乎缺少一个库,对吗? 顺便提一句。我使用 AVR Studio 4.1 此致 迈克尔·齐根 |
抱歉,Twister 是使用 AVR-GCC 构建的,这是一个完全不同的工具链。我使用 在 2012 年 10 月 21 日星期日下午 12:41,Michael notifications@github.com写道:
|
simen> AVR Studio 使用 WinAVR,事实上,它是为 Windows 编译的 avr-gcc |
我猜你是对的,@csdexter. 这个项目并不是真正的公共消费(你可能需要了解很多关于电机配置的知识才能立即使用它),事实证明我没有推动最新的变化。我刚刚做了,现在编译得很好。我真的很抱歉@buddhafragt! |
让我们清楚这一点@buddhafragt: Twister不是Grbl 到 Mega 的端口。它是来自早期版本的 Grbl 的前叉,旨在驱动两个步进电机,这些步进电机已在髋关节处连接成 scara 臂配置,作为超便宜的 XY 工作台替代品。我已经成功地使用它使用早期的 makerbot 打印头构建了一个零件,但它非常非常具有实验性! |
@simen, |
@buddhafragt你看到我对缺失补丁的评论了吗?尝试拉最新版本并重新编译! |
谢谢,用 Arduino IDE 编译:-)! |
我看到 grbl 正在使用 Arduino IDE 和 Arduino MEGA 编译“开箱即用”,这是怎么回事? 缓冲区大小是否重要? 有趣的是,使用 UNO,我遇到了编译器错误: |
就像我之前说的,grbl 不使用 Arduino。由于 Arduino 使用了一些用户未知的 AVR 资源(现在想到 Timer0)并定义了一些 grbl 已经具有的功能(UART),因此 Arduino IDE 中的编译和/或链接预计会失败——即使他们没有,生成的二进制文件应该是不可用的。 我不知道 Arduino 开发人员是否真的为不使用 Arduino API 的源代码实现了检测算法(即空的 .ino 用例,例如 Teacup),以便自动禁用所有 Arduino 部件并且生成的二进制文件是正确的。 |
如果 Twister 或 Grbl 在 Arduino IDE 下编译,我不知道!我认为它包括我们不使用的库。它应该是使用项目中的 makefile 构建的。 |
您好,我创建了一个 GRBL 的 Arduino 库。它基本上只是封装了当前设置,但使其与 Arduino IDE 兼容/可上传。 我对这个端口的想法是利用 Arduino 的硬件范围并使 GRBL 在更大范围的板上工作。 目前图书馆有两个例子。一个用于 UNO,一个用于 Duemilanove。目前配置相同,但定义了不同的名称,可用于更改每个板的配置设置。 |
@Protoneer: 做得好!您需要做什么才能让 IDE 像库一样工作?有什么大的变化还是小的变化?我认为这将是对主存储库的一个很好的注入,作为一种更简单的上传固件的方法。 |
就像生活中所有的艰难思考一样。直到你破解它然后它很容易回头才很难。:) 我在过去几天提出的拉取请求是大部分更改。 解决时间最长的事情是我不断遇到的链接问题。现在听起来可能很傻,但谁知道文件名需要重命名为 CPP 才能在 ARDUINO IDE 中工作?!?!?!?? |
@Protoneer它在文档中说:Arduino IDE 只处理 C++ 的一些怪癖,例如草图中没有原型(因为 IDE 会自动注入它们)。库必须由 .cpp 和 .h 文件组成,其中一对 .h/.cpp 文件的名称与文件夹完全相同(并且与库完全相同)。 该文件夹可能包含两个特殊文件夹和一个特殊文件:“examples”、“utility”和“keywords.txt”。第二个可能包含 .cpp 和 .c 文件的任意组合,编译时将遵循其类型(即 .cpp 的 avr-g++ 和 .c 的 avr-gcc)。 我将停在这里,无需使用 Arduino 文档中的引号向线程发送垃圾邮件;-) |
哈哈哈……我想到了RTFM。:) 好吧,这些点已经连接起来了,所以让我们制作更酷的东西…… |
当然,如果用 C++ 编译一个文件并打算从 C 代码链接到它,你需要一个好的旧 |
汉兰达01 评论 2010 年 3 月 21 日
寻求一些建议,
我应该使用不同的编译器,上传器。你在用什么?它是否需要硬件上的某种其他类型的基本固件,这与 Arduino Mega 附带的不同。
我有程序员记事本 [WinAVR] 来查看代码,但这似乎不能编译和加载到硬件。
所以,我目前正在将 Grbl 代码复制到 Arduino 软件中,然后将其加载到我的 Arduino Mega 硬件中并运行它。我必须禁用某些代码行才能让它运行。似乎 Arduino 附带了 Wiring.h 文件。它似乎与:#include “wiring_serial.h”、beginSerial 等…函数相冲突。我正在四处寻找是否可以禁用它。
我想我可能还需要做一些其他的调整,因为我在 ATMega1280 上运行。我认为您的代码适用于 ATMega168。我想我可以弄清楚这一点。只是一些与串行相关的不同标签。