开源改变世界

问题:超越 GRBL #23

推推 grbl 3年前 (2023-02-02) 213次浏览
关闭
jarretluft 打开了这个问题 2016 年 1 月 5 日 · 13条评论
关闭

问题:超越 GRBL#23

jarretluft 打开了这个问题 2016 年 1 月 5 日 · 13条评论

注释

问题:超越 GRBL #23

@cheton,只是想向您抛出一个想法,看看您的想法。

我想知道您是否对用户如何更轻松地配置 cnc.js 以与其他 cnc 控制器一起工作有任何建议。您是否认为可以通过配置文件覆盖所有 grbl 特定代码,以便不理解 $H、~、? 等内容的控制器可以用这些命令的自己版本替换?

我问是因为除了我的 grbl 控制器之外,我还有一个运行 TinyG2 的 arduino DUE 和一个 smoothieboard 控制器。这些控制器理论上可以由 cnc.js 控制,如果代码被更新以处理它们的特定命令而不是 GRBL,但现在看起来唯一的方法是在你的代码中搜索 grbl 特定命令的所有实例并在其他两个板上更新它们的等价物。同样,需要实施用于解析响应和处理其 gcode 缓冲区/队列的协议。

你有什么想法可以更简单地将 cnc.js 扩展到 GRBL 之外吗?我认为他们可能是一个机会,可以独立于任何一个控制器的代码开发客户端(Web 界面),然后创建不同的 server.js 文件来处理那些控制器特定的命令、队列、状态更新等,用于其他控制器板,但是如果这是可行的,或者它是否会造成比其价值更多的问题,你会比我更清楚。:)

如果您有任何想法,我将不胜感激,或者如果这不是您想要采用 cnc.js 的方向,我会理解,因为您可能不想增加复杂性来处理您无法直接测试的控制器!

谢谢,
-J。

问题:超越 GRBL #23

@jarretluft… https://github.com/openhardwarecoza/LaserWeb和 bCNC 一样也在朝着这个方向发展。

问题:超越 GRBL #23
合作者

未来的方向会一直这样下去。现在大多数客户端小部件并不高度依赖 Grbl,我想说通过在客户端和服务器端之间建立一个抽象接口是可行的,这将允许通过发送特定于供应商的命令(例如~, !, ?, $G) 直接从服务器而不是 Web 界面。

否则,我确实有计划server.js在 ES6 中完全重写服务器(即),并将考虑使用相同的客户端到服务器通信接口但提供不同的服务器实现来支持 Grbl 和 TinyG2。然而,添加对 TinyG2 的支持可能需要等待 v2 的发布,在 v1 的第一个稳定版本中有几项任务必须完成。

即将发布的版本的粗略路线图:

  • v1
    • 小部件管理界面
    • 客户端/服务器抽象
    • 重构服务器代码
    • 准备好国际化
    • 文档
  • v2
    • 用于 x64 和 ARMv7 架构的 Docker 镜像
    • TinyG2 支持
    • Shuttle Express jog dial support  #20 Shuttle Express jog dial support
      (如果我能在这方面取得一些进展,可能会转移到 v1?)
cheton 添加了引用此问题的提交 2016 年 1 月 20 日

问题:超越 GRBL #23
合作者

刚刚在 ES6 中完全重写了 CNC 服务器,控制器接口也准备好了。现在在这里添加新的控制器支持会容易得多。

另外,我前几天还购买了gSheild v5 。一旦我收到新购买的包裹,我就会让我的 Arduino Due 运行 TinyG2,并尝试弄清楚如何让它与cnc.js.

问题:超越 GRBL #23 cheton 将此 添加到 2.0里程碑 2016 年 2 月 17 日
问题:超越 GRBL #23 奇顿 添加了 增强 标签 2016 年 2 月 17 日
问题:超越 GRBL #23

关于 TinyG2 支持的任何消息?

问题:超越 GRBL #23
合作者
奇顿 评论了 2016 年 6 月 15 日  

你好@hareedy,

我目前正忙于另一个项目,但我可能会在一个月左右的时间内完成。目前我可以在 Arduino Due 上运行 TinyG,但如果有一些示例代码可以解析 TinyG 响应,那将会很有帮助。那会为我节省很多时间。?

问题:超越 GRBL #23

谢谢@cheton,John Lauer 的 chilipeppr 项目确实支持 TinyG2 并且到目前为止它处理得很好,我想 TinyG 小部件回购将是一个很好的启动。
https://github.com/chilipeppr/widget-tinyg

问题:超越 GRBL #23
合作者

@hareedy

非常感谢,我真的很感激!

widget.js中的这个onRecvCmd 函数包含用于解析 TinyG 响应的有用信息。?

问题:超越 GRBL #23

@cheton很高兴做出贡献,我不得不说 chilipeppr 很棒,但我们需要一个离线解决方案作为 cncjs 的桌面版本,我希望它将支持 G2 作为 GRBL 的惊人支持。
谢谢你。

问题:超越 GRBL #23
合作者
奇顿 评论了 2016 年 7 月 6 日  

我目前正在研究这个。敬请期待更多的更新。?

问题:超越 GRBL #23
合作者

分支中现已提供对 TinyG2 的支持master。在接下来的几天里,我将使用 G 代码示例运行一些测试,以确保当前的实现能够按预期工作。

问题:超越 GRBL #23
合作者

快完成了。v1.5.0 版本将在未来几天内发布。

问题:超越 GRBL #23
合作者

我刚刚向 NPM 发布了 cnc v1.5.0 版本。它已经使用在 Arduino Due 上运行的 TinyG2 v0.97 固件进行了测试,但我确定它是否适用于其他固件版本或硬件平台。如果您发现任何问题,请在此处发布问题。

连接小部件

建立串口连接前选择TinyG2

问题:超越 GRBL #23

TinyG2 小部件

您可以在 TinyG2 小部件中查看实时状态

问题:超越 GRBL #23

问题:超越 GRBL #23 cheton 从 2.0里程碑 中删除了这个2016 年 8 月 5 日
喜欢 (0)