注释
|
同样的问题在这里! |
|
又是一样。Smoothie 实现有什么作用?它使用标准的 3d 打印 g/mcodes 吗?我有支持 M3/M5 和其他一些的 Marlin 和 Repetier 版本,我喜欢 bCNC 并且想将它与 Marlin 或 Repetier 一起使用。 |
|
很想将 bCNC 与 mpcnc rumba (arduino) 板一起使用。 |
|
到目前为止,我已经将代码分解为单独的文件,因此添加插件以支持新的运动控制器应该相对容易。将新插件添加到此目录应该差不多就足够了: https://github.com/vlachoudis/bCNC/tree/master/bCNC/controllers 因此,如果您愿意添加对更多控制器的支持,当然欢迎拉取请求。 |
我试着弄明白。你有什么建议从哪里开始吗?例如,关于如何集成 Smoothie.py 的任何注释? |
我不是任何此控制器支持逻辑的原始作者。并且开发过程非常不理想。基本上是这样的:有 GRBL v0 支持。然后人们开始添加 if() 条件来处理 GRBL v1 和 Smoothie 的所有额外情况。然后我来将这些随机分散的条件代码块分离到 python 类中,这样它们就可以根据您使用的控制器进行互换。我现在调用活动控制器类的方法,而不是原来的分支代码。此外,当我发现某些代码在多个控制器类中重复使用时,我刚刚创建了父类(_genericController 和 _genericGRBL),其中包含要由子类继承的公共代码。 例如,参见 jog() 方法。_GenericController 类中有通用的jog 方法,所有插件都继承该方法。但是 GRBL1 使用高级 GRBL 慢跑功能有自己的慢跑实现。 所以并没有真正的计划,只是有机地演变成现在的状态。
我认为第一步是了解 marlin 协议。并尝试说出它与 GRBL 和/或冰沙有何不同。这样你就会知道你是否可以在你的新类中重用 _genericController 和/或 _genericGRBL 中的一些代码。 一旦了解了差异,您就可以开始复制现有的控制器插件文件之一,并尝试以新名称对其进行修改。如果有一些以前没有被任何控制器处理的情况,您将必须向控制器添加新方法(以及在_genericController 中具有相同名称的空方法),然后修改 bCNC 本身以调用此方法。 |
|
也许我联系了 Marlin 的开发团队,我希望我们能以某种方式合作。如我所见,需要 Marlin 支持。bCNC 是最好的开源实时 CNC 控制器应用程序之一,而 Marlin 支持大量不同的 CNC 控制器板。这可以取得巨大的成功。 |
|
另请注意,Marlin 主要设计用于 3D 打印机,我不确定它对 CNC 铣削有多大用处。 |
|
Marlin 已经内置了所有 CNC 功能。许多公司使用它来驱动带有专有 CNC 软件的 CNC。您可以检查固件,它支持激光和主轴。 |
|
我开始了实现对 Marlin 固件支持的工作。遗憾的是,这并不像添加一个新的控制器文件那么简单。 bCNC 与 Marlin 不兼容的非综合列表:
我想按以下步骤执行更改:
请让我知道这对您来说是否可行? |
如果我们也检查 Klipper FW 可能会更好。也许在 Marlin 之前实现起来要容易得多,因为它在板上有一个非常薄的 FW,据我所知,所有计算和 g 代码解析都是在服务器上进行的,主要是用 Python 代码。如果我们能在那里解决与 g 代码相关的问题,这可以让我们在 Marlin FW 上抢占先机。 |


有没有计划在未来的版本中支持 Marlin/Repetier/RepRap?我知道已经有一些版本的 Marlin 已经被移植到 GRBL 上,但这些版本总是限于它们从中分叉出来的任何构建。