# Marlin **Repository Path**: null_754_7638/marlin ## Basic Information - **Project Name**: Marlin - **Description**: marlin固件编译 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-07-28 - **Last Updated**: 2022-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Marlin #### 介绍 marlin固件编译 更新时间: 2021/7/10 对应Marlin版本: fixbug2.0.x(当时最新:2.0.9.1) 对应机器: Ender 3S(即为3 PRO) 对应主板:原厂4.2.7 做一个记录,顺便为不能翻墙的伙伴提供一点点帮助 #### 启用功能 BLtouch 断料检测 原地址: https://github.com/MarlinFirmware 下载Marlin以及配置文件Configurations #### 编译教程 1. 若是在对应机器在配置里面,则去配置文件中找到对应配置文件(四个) 复制对应四个文件,分别为_Statusscreen.h文件_Bootscreen.h文件,Configuration_adv.h文件,Configuration.h文件 进入下载好的marlin代码文件中,marlin代码文件中有一个Marlin的文件 进入其中,该文件夹中有lib,src等等,粘贴替换 2. 在Configuration_adv.h文件,Configuration.h文件中修改,开启相应的功能取消相应的注释,修改参数,禁用功能注释掉相应#define 3. 通过vscode的Atuo build Marlin插件编译 可以使用beyond compare进行对比查看修改参数 #### 使用说明 (需要翻) 具体配置参数可以查看 插件安装也在其中 https://marlinfw.org/docs/configuration/configuration.html 可以参照这个编译 https://github.com/flawioo/creality-ender-3-board-v4.2.7 cpoy说明: Creality-Ender-3-board-v4.2.7 Marlin Firmware to get Creality v4.2.7 boards working perfectly Steps to help anybody that needs to get this board working ok Download bugfix from git hub https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip Download Configuration exemples: https://github.com/MarlinFirmware/Configurations/archive/bugfix-2.0.x.zip In platformio.ini Change: default_envs = mega2560 To: default_envs = STM32F103RET6_creality In Configuration.h Simplest firmware Change: #define MOTHERBOARD BOARD_CREALITY_V4 To: #define MOTHERBOARD BOARD_CREALITY_V427 Change: #define CUSTOM_MACHINE_NAME "Ender-3 Pro V1.5" To: #define CUSTOM_MACHINE_NAME "Ender-3 32bits" // Or any name you'd like to Change: //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN To: #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // Enable BLTouch probe pins (white and black wires) to be connected to Z- or Change: //#define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default To: #define Z_MIN_PROBE_PIN 17 // Creality V4.2.7 BLTouch OUT (written on the board) Pinout on board (5 pins named as BL_T) and respective connections Board-----BLTouch wires G---------Green----Servo V---------Red------Servo IN--------Yellow---Servo G---------White----Probe (if it doesn't work, try to swap with Black) OUT-------Black----Probe (if you are using Z_MIN_PROBE_PIN 17, if you don't, please just uncomment Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN as above) Change: //#define BLTOUCH To: #define BLTOUCH Change: #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } To: #define NOZZLE_TO_PROBE_OFFSET { -40, -10, 0 } // Using this thingfile as mount, measure correctly using your mounted BLTouch https://www.thingiverse.com/thing:3003725 Change: #define PROBING_MARGIN 10 To: #define PROBING_MARGIN 15 // If you'd want stay away from the edges (higher values goes to center of the bed) Change: #define MIN_SOFTWARE_ENDSTOP_Z To: //#define MIN_SOFTWARE_ENDSTOP_Z // To allow to set Z offset values in negative Change: //#define AUTO_BED_LEVELING_BILINEAR To: #define AUTO_BED_LEVELING_BILINEAR Change: //#define LCD_BED_LEVELING To: #define LCD_BED_LEVELING Change: //#define Z_SAFE_HOMING To: #define Z_SAFE_HOMING In my case using runout_sensor Change: //#define FILAMENT_RUNOUT_SENSOR To: #define FILAMENT_RUNOUT_SENSOR Change: //#define NOZZLE_PARK_FEATURE To: #define NOZZLE_PARK_FEATURE // To change filament Change: #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } To: #define NOZZLE_PARK_POINT { (X_MAX_POS - 10), (Y_MIN_POS + 10), 20 } // To change the position of the hotend in front on the right of the bed In Configuration_adv.h Change: //#define BLTOUCH_DELAY 500 To: #define BLTOUCH_DELAY 500 Change: //#define ADVANCED_PAUSE_FEATURE To: #define ADVANCED_PAUSE_FEATURE Change: //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. To: #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. Change: //#define PINS_DEBUGGING // M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe To: #define PINS_DEBUGGING // Only if you'd like to discover new features, if you don't, don't let it as it is Compile In Auto Build Marlin at Visual Studio, click on Build botton and wait for the green line 机翻: Creality-Ender-3-board-v4.2.7 Marlin 固件使 Creality v4.2.7 板完美运行 帮助需要使该板正常工作的任何人的步骤 从 git hub https://github.com/MarlinFirmware/Marlin/archive/bugfix-2.0.x.zip下载错误修正 下载配置示例:https : //github.com/MarlinFirmware/Configurations/archive/bugfix-2.0.x.zip 在 platformio.ini 中 更改:default_envs = mega2560 为:default_envs = STM32F103RET6_creaality 在配置.h 最简单的固件 更改:#define MOTHERBOARD BOARD_CREALITY_V4 改为 :#define MOTHERBOARD BOARD_CREALITY_V427 更改:#define CUSTOM_MACHINE_NAME "Ender-3 Pro V1.5" 为:#define CUSTOM_MACHINE_NAME "Ender-3 32bits" // 或任何您想要的名称 更改://#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN 至:#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // 使 BLTouch 探针(白色和黑色线)连接到 Z- 或 更改://#define Z_MIN_PROBE_PIN 32 // 引脚 32 是 RAMPS 默认值 :# define Z_MIN_PROBE_PIN 17 // Creality V4.2.7 BLTouch OUT(写在板上) 板上的引脚排列(5 个引脚命名为 BL_T)和相应的连接 板-----BLTouch线 G---------绿色----伺服 V---------红色------伺服 IN--------黄色---伺服 G---------White----Probe(如果不起作用,尝试与Black交换) OUT-------Black----Probe(如果你正在使用Z_MIN_PROBE_PIN 17,如果你没有,请取消Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN如上) 更改://#define BLTOUCH 为:#define BLTOUCH 更改:#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } 至:#define NOZZLE_TO_PROBE_OFFSET { -40, -10, 0 } // 使用这个 thingfile 作为安装,使用你安装的 BLTouch 正确测量https://www.thingiverse.com/东西:3003725 更改:#define PROBING_MARGIN 10 为:#define PROBING_MARGIN 15 // 如果您想远离边缘(较高的值会到达床的中心) 更改:#define MIN_SOFTWARE_ENDSTOP_Z 到://#define MIN_SOFTWARE_ENDSTOP_Z // 允许将 Z 偏移值设置为负 更改://#define AUTO_BED_LEVELING_BILINEAR 为:#define AUTO_BED_LEVELING_BILINEAR 更改://#define LCD_BED_LEVELING 为:#define LCD_BED_LEVELING 更改://#define Z_SAFE_HOMING 为:#define Z_SAFE_HOMING 在我的情况下使用 runout_sensor 更改://#define FILAMENT_RUNOUT_SENSOR 为:#define FILAMENT_RUNOUT_SENSOR 更改://#define NOZZLE_PARK_FEATURE 为:#define NOZZLE_PARK_FEATURE // 更换灯丝 更改:#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 } To: #define NOZZLE_PARK_POINT { (X_MAX_POS - 10), (Y_MIN_POS + 10), 20 } // 改变热端的位置在床的右边前面 在 Configuration_adv.h 更改://#define BLTOUCH_DELAY 500 改为:#define BLTOUCH_DELAY 500 更改://#define ADVANCED_PAUSE_FEATURE 为:#define ADVANCED_PAUSE_FEATURE 更改: //#define PARK_HEAD_ON_PAUSE // 在暂停和灯丝更换期间停放喷嘴。 To: #define PARK_HEAD_ON_PAUSE // 在暂停和更换灯丝期间停放喷嘴。 更改://#define PINS_DEBUGGING // M43 - 显示引脚状态、切换引脚、手表引脚、手表限位器和切换 LED、测试伺服探头 To:#define PINS_DEBUGGING // 仅当您想发现新功能时,如果您不要,不要让它原样 编译 在 Visual Studio 的 Auto Build Marlin 中,单击 Build botton 并等待绿线\ 1 在 00:00:26.355 成功 我编译的固件在哪里 在我的情况下:C:\creality-v4.2.7-marlin-2.0.6-bugfix\Marlin-bugfix-2.0.x.pio\build\STM32F103RET6_creality 在你的情况下:somedir.pio\build\STM32F103RET6_creality #### 编译好的包 在justdownload文件中,提供了一个简中的 #### 可能遇到的问题 卡在log界面,原因EEPROM需要初始化,我这个编译的中文的,先刷一遍英文版再刷一遍中文版就可以进了