Marlin - Marlin 是基于 Arduino 平台的 RepRap 3D 打印机的优化固件。| 许多商业 3D 打印机都安装了 Marlin。如果需要特定机器的源代码,请咨询相关供应商。

Created at: 2011-08-13 16:07:20
Language: C++
License: GPL-3.0

马林固件的标志

马林3D打印机固件

GPL-V3.0 许可证 贡献 上次发布日期 置信区间状态 GitHub 赞助商
在Twitter上关注MarlinFirmware

其他文档可以在马林主页上找到。请测试此固件,并让我们知道它是否以任何方式行为异常。志愿者随时待命!

马林 2.1 错误修复分支

不适用于生产用途。请谨慎使用!

Marlin 2.1 通过添加对更快的 32 位和基于 ARM 的电路板的支持,同时改进了对 8 位 AVR 板的支持,将这种流行的 RepRap 固件提升到了一个新的水平。请阅读以下内容,了解 Marlin 决定使用“硬件抽象层”。

此分支用于对最新 2.1.x 发行版的修补程序。此分支将定期构成下一个次要 2.1.x 版本的基础。

“版本”页面上下载早期版本的 Marlin。

配置示例

在构建 Marlin 之前,你需要针对特定硬件对其进行配置。你的供应商应该已经提供了源代码以及已安装固件的配置,但如果你决定升级,则需要更新的配置文件。Marlin 用户贡献了数十个经过测试的示例配置来帮助你入门。访问 MarlinFirmware/Configurations 存储库,为你的硬件找到合适的配置。

建筑马林鱼 2.1

要构建Marlin 2.1,你需要Arduino IDE 1.8.8或更高版本PlatformIO。我们已经发布了有关使用Arduino构建Marlin和使用PlatformIO for ReArm构建Marlin的详细说明(这适用于其他32位板)。

硬件抽象层 (HAL)

Marlin 2.0引入了一个抽象层,允许为32位平台构建所有现有的高级代码,同时仍然保持完整的8位AVR兼容性。保持AVR兼容性和单个代码库对我们来说很重要,因为我们希望确保功能和补丁得到尽可能多的测试和关注,并且所有平台始终受益于最新的改进。

支持的平台

平台 单 片 机 示例板
Arduino AVR 阿特梅加 RAMPS, Melzi, RAMBo
Teensy++ 2.0 AT90USB1286 印刷板
Arduino Due SAM3X8E RAMPS-FD, RADDS, RAMPS4DUE
ESP32 ESP32 FYSETC E4, E4d@BOX, MRR
LPC1768 ARM® 皮质-M3 MKS SBASE, Re-ARM, Selena Compact
LPC1769 ARM® 皮质-M3 冰沙板, Azteeg X5 迷你, TH3D EZ板
STM32F103 ARM® 皮质-M3 麦蓝 M200, GTM32 Pro, MKS 罗宾, BTT SKR 迷你
STM32F401 ARM® 皮质-M4 武装, 伦巴32, SKR Pro, 勒奇, FYSETC S6, 火炮红宝石
STM32F7x6 ARM® 皮质-M7 博格,雷姆拉姆V1
STM32G0B1RET6 ARM® 皮质-M0+ 大树科技 SKR 迷你 E3 V3.0
STM32H743xIT6 ARM® 皮质-M7 BigTreeTech SKR V3.0, SKR EZ V3.0, SKR SE BX V2.0/V3.0
萨姆51P20A ARM® 皮质-M4 阿达弗瑞特中央大酒店 M4
青少年 3.5 ARM® 皮质-M4
青少年 3.6 ARM® 皮质-M4
青少年4.0 ARM® 皮质-M7
青少年 4.1 ARM® 皮质-M7
Linux Native x86/ARM/等 树莓派

提交补丁

建议的补丁应作为针对(bugfix-2.1.x)分支的拉取请求提交。

  • 此分支用于在 Marlin 2.0.x 生命周期期间修复错误和集成任何新功能。
  • 遵循编码标准,与维护者一起获得分数。
  • 请将功能请求和 Bug 报告提交到问题队列。此处还列出了支持资源。
  • 无论何时添加新功能,请确保向中添加测试,然后在本地运行测试(如果可能)。
    buildroot/tests
    • 它是可选的:在Windows上运行所有测试可能需要很长时间,并且它们无论如何都会在GitHub上运行。
    • 如果你在Linux上运行测试(或在WSL上使用Linux卷上的代码)上运行测试,则速度要快得多。
    • 可以使用 或 。
      make tests-all-local
      make tests-single-local TEST_TARGET=...
    • 如果你更喜欢 Docker,则可以使用 或 。
      make tests-all-local-docker
      make tests-all-local-docker TEST_TARGET=...

马林支持

问题队列是为 Bug 报告和功能请求保留的。要获取有关配置和故障排除的帮助,请使用以下资源:

贡献

Marlin不断改进,这要归功于来自世界各地的大量贡献者带来了他们的专业和才能。巨大的感谢是由于所有贡献者定期修补错误,帮助引导流量,并且基本上防止Marlin分崩离析。没有他们,马林的继续存在是不可能的。

管理

普通用户可以打开和关闭自己的问题,但只有管理员才能执行与项目相关的操作,例如添加标签,合并更改,设置里程碑和踢巨魔。目前的马林管理团队包括:

许可证

Marlin 是在 GPL 许可证下发布的,因为我们相信开放开发。GPL既有权利又有义务。无论你使用 Marlin 固件作为开放还是闭源产品的驱动程序,都必须使 Marlin 保持打开状态,并且必须根据请求向最终用户提供兼容的 Marlin 源代码。遵守Marlin许可证的最直接方法是在Github上制作Marlin的分支,执行你的修改,并将用户引导到你修改后的分叉。

虽然我们无法阻止在闭源或因专利而瘫痪的产品(3D打印机,CNC等)中使用此代码,但我们更希望你选择其他固件,或者更好的是,自己制作固件。