我有一台带有 MKS Robin 主板 + TMC2209 的 3D 打印机。
怎么给Marlin加一段代码,比如做一个实体按键开始预热等。想用现有的主板,不想用OctoPrint。
我有 Arduino 编程的基本知识。我可以很容易地编写软件以在按下按钮时运行该功能,但我找不到如何将它集成到 Marlin 中。
我有一台带有 MKS Robin 主板 + TMC2209 的 3D 打印机。
怎么给Marlin加一段代码,比如做一个实体按键开始预热等。想用现有的主板,不想用OctoPrint。
我有 Arduino 编程的基本知识。我可以很容易地编写软件以在按下按钮时运行该功能,但我找不到如何将它集成到 Marlin 中。
ultralcd.cpp
也许,只是也许,这篇文章来自如何向挤出机电机控制添加物理按钮?#10394可以提供帮助(重点是我的):
而不是直接在 stepper.cpp 上工作,我宁愿建议看看 LCD 控制部分,并集成准备/移动/Z 轴代码的仿真。至于可访问的引脚,也许使用任何未使用的止端器?
这是有道理的,因为它类似于 0scar 的问题需要更改的位置(即文件)。使用 Marlin 固件时,能否在插入 SD 卡时自动运行 G 代码脚本?. 这种情况下的文件是ultralcd.cpp
(见我的回答)。
但是,ultralcd.cpp
似乎已被删除、移动或重命名为ultralcd_st7920_u8glib_rrd_AVR.cpp
. 看起来不抱希望。以前它是在第三部分bug修正,看到这个答案,并链接即 ultralcd.cpp
是现在死了。
或者,这篇文章很有帮助地建议:
这不是我们要添加的功能。但是可以通过连接 LCD 代码并遵循当前用于 KEYPAD 的技术来使用按钮进行移动。
所以,这似乎是一个有希望的起点。我不确定(目前)是哪个文件。它可能是处理 RepRapWorld 键盘的代码(见下文)。
这也很有用,RepRapWorld键盘:
将其连接到 RAMPS AUX-2 端口。配置固件以使用键盘。Marlin 固件完全支持键盘。
您可以模拟(即逆向工程)这块简单的硬件(其上最复杂的 IC 只是一个移位寄存器)并使用已经内置的代码。
FWIW,这里引用了类似的声音(9 按钮)键盘,添加自定义键盘,马林鱼
但是,进一步阅读后,尚不清楚是否仍支持 RepRapWorld 键盘,请参阅功能请求:添加对 reprapworld 键盘的支持 #1142。显然 RepRapWorld 没有(6 年前)支持它,也没有提供源代码,并希望 Marlin 编码人员免费支持它。
尽管如此,以下帖子还建议了其他可能有用的信息来源:
为了获得有关配置和故障排除帮助的最佳结果,请使用以下资源:
- RepRap.org马林鱼论坛
- 汤姆的 3D 论坛
- Facebook 群组“马林鱼固件”
- Facebook 群组“用于 3D 打印机的 Marlin 固件”
- YouTube 上的马林鱼配置
- 马林不和谐服务器。加入链接:https : //discord.gg/n5NJ59y
在向社区寻求帮助后,如果共识指向 Marlin 中的错误,那么您应该发布错误报告。
应当指出的是,作为一项规则,马林人喜欢的潜在问题进行固件论坛讨论的第一个,之前的任何错误报告或功能请求提交到Github上。这是为了阻止他们的 Github 问题页面变得过于混乱。
另请注意,Tom 的 3D 论坛现已停止使用。
另请参阅Marlin/ LCD-Keypad Code Mod,尽管该线程似乎主要由哀叹软件维护和生命周期的帖子组成,然后在最后失去动力并死亡。但是,这篇文章提到了uiconfing.h
or ui.h
。