/**
* Marlin 3D Printer Firmware
头描述详见其他两个文件头描述
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <Licenses- GNU Project - Free Software Foundation>.
*
*/
#pragma once /*#pragma once (比较常用) 只要在头文件的最开始加入这条指令就能够保证头文件被编译一次*/
/**
* Configuration.h
* 固件配置文件都在Configuration.h 中
* Basic settings such as:
* 基本设置有以下几个方面:
* - Type of electronics
* - 电器元件电路配置,意指世界各地某些厂商开发的板卡上的参数,例如对应芯片输出输入管脚定义,高低电平,信号功能等。
* - Type of temperature sensor
* - 温度传感器的类型 温度传感器是一种将温度变量转换为可传送的标准化输出信号的传感器。
* - (常用分为热电偶与热电阻,这里常用于热床和挤出头温度监测,不达到热度主程序不启动。)
* - Printer geometry
* - 打印成品最大体积尺寸,(常态设置长宽高行程)。
* - Endstop configuration
* - 限位开关设置 (常态设置为X,Y,Z轴最小起点,也可以根据结构不同设置成最大终点。Min X,Y,Z 和 Max X,Y,Z.)
* - LCD controller
* - LCD 显示屏的控制 (marlin标配单色点阵显示器有1602,和12864,还有3.5寸彩屏,4寸彩屏等内置库。
* - 例:12864液晶屏用的比较多。顾名思义,12864表示其横向可以显示128个点,纵向可以显示64个点。
* - 我们常用的12864液晶模块中有带字库的,也有不带字库的,其控制芯片也有很多种,如KS0108、T6963C,ST7920等等。)
* - Extra features
* - 还有一些其他的额外功能 (例如:断电续打、打完关机、断料检测、热床调平、WiFi远程传文件、远程管理等。
* - 酷炫的还有自制时候安装一些灯,当然这些都可以通过定义管脚编程实现自动化开关亮度调节)
*
* Advanced settings can be found in Configuration_adv.h
* - 更多的高级设置当然可以在高级配置文件里面找到
*/
#define CONFIGURATION_H_VERSION 02000902 /*定义当前配置文件版本是marlin 2.0.9.2版*/
//===========================================================================
//============================= Getting Started =================== /*开始走起正文*/
//===========================================================================
/**
* Here are some useful links to help get your machine configured and calibrated:
* 这给你几个链接,可能对于你调配机器有所帮助:调制和校准
*
* Example Configs: Branches · MarlinFirmware/Configurations · GitHub
* 配置案例大样链接
* Průša Calculator: RepRap Calculator - Prusa Printers
* 在线计算器链接,很有帮助,调配计算很多参数,比如常见的电机转数角度步数对应几何长度计算,各种类型耗材(PLA,ABS)线长和重量以及造价计算的对应关系。
* Filament 耗材 Stepper Motors 步进电机 Acceleration 最大加速度
* Calibration Guides: Calibration - RepRap
* 调校指南 Triffid Hunter's Calibration Guide - RepRap
* https://sites.google.com/site/repraplogphase/calibration-of-your-reprap
* https://youtu.be/wAL9d7FgInk
*
* Calibration Objects: The Essential Calibration Set by coasterman - Thingiverse
* 调校可用到的打印物体文件 XYZ 20mm Calibration Cube by iDig3Dprinting - Thingiverse
*/
//===========================================================================
//========================== DELTA / SCARA / TPARA ========================== DELTA三角洲架构,SCARA水平多关节架构,TPARA
//===========================================================================
//
// Download configurations from the link above and customize for your machine.
// Examples are located in config/examples/delta, .../SCARA, and .../TPARA.
// 从上面的链接下载配置并为您的机器定制。示例位于配置/示例/增量中,.../SCARA和.../TPARA。
//===========================================================================
// @section info
// Author info of this build printed to the host during boot and M115
/*这个版本的作者信息可以使用M代码M115反馈打印回传到主机*/
#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
/*定义STRING_CONFIG_H_AUTHOR函数的两个值没有和默认设置,设置固件作者信息,可在窗口通信的是候看到。谁做了改变*/
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
/*定义SCUSTOM_VERSION_FILE函数,版本文件惯例,根目录的路径(无引号)*/
/**
* *** VENDORS PLEASE READ ***
* 制造商供应商请阅读
* Marlin allows you to add a custom boot image for Graphical LCDs.
* 马林允许您为图形液晶显示器添加自定义引导映像。
* With this option Marlin will first show your custom screen followed
* 有了这个选项,马林将首先显示您的自定义屏幕
* by the standard Marlin logo with version number and web URL.
* 由标准的马林标志与版本号和网址。
* We encourage you to take advantage of this new feature and we also
* respectfully request that you retain the unmodified Marlin boot screen.
* 我们鼓励您利用这一新功能,我们还敬请您保留未修改的马林引导屏幕。
*/
// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION **
/*启动时显示马林引导屏幕。**支持批量生产模式** */
#define SHOW_BOOTSCREEN
/*定义 点亮启动屏幕,如果注释掉这行的话开机就不会显示开机初始画面,直接进入主界面。*/
// Show the bitmap in Marlin/_Bootscreen.h on startup.
/* 启动时显示的位图(开机画面)在 Marlin/_ Bootsscreen . h文件中 */
//#define SHOW_CUSTOM_BOOTSCREEN
/* 也可以定义第二顺序可以显示厂商自定义开机画面logo,取消//行首注释,即可显示 */
// Show the bitmap in Marlin/_Statusscreen.h on the status screen.
/* 显示位图屏幕状态文件在马林文件夹下 Statusscreen.h 中 */
//#define CUSTOM_STATUS_SCREEN_IMAGE
/*定义 屏幕待机状态,如果注释掉这行的话就不会显示待机状态,直接运行下一步程序。*/
// @section machine 机器选择
/**
* Select the serial port on the board to use for communication with the host.
* 选择板上用于与主机通信的串行端口,高级的板子可能不止一个
* This allows the connection of wireless adapters (for instance) to non-default port pins.
* 这里允许无线适配器(例如)连接到非默认端口引脚。
* Serial port -1 is the USB emulated serial port, if available.
* 串行端口-1是USB仿真串行端口(如果有的话)。
* Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader.
* 注意:第一个串行端口(-1或0)将始终由Arduino引导加载程序使用。
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
#define SERIAL_PORT 0
/* 启动串行接口 0 ,以实现与主机通讯 */
/**
* Serial Port Baud Rate
* 串行接口通信传输波特率,与主机在一个频道。
* This is the default communication speed for all serial ports.
* 这里对于所有串行接口采用相同的默认的通讯速率
* Set the baud rate defaults for additional serial ports below.
* 为下面的其他串行端口设置波特率默认值。
* 250000 works in most cases, but you might try a lower speed if
* you commonly experience drop-outs during host printing.
* 250000在大多数情况下是可行的,但是如果在主机打印过程中,可能您通常会遇到掉线的情况。
* You may try up to 1000000 to speed up SD file transfer.
* 您也可以尝试高达1000000来加速SD文件传输。
* :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
*/
#define BAUDRATE 250000
/* 定义 默认运行250000 比特率 可自行修改 */
//#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate
/* 定义 BAUD_RATE_GCODE 比特率改变可用M575命令,在做上位机时不通过改变固件即可更改。 可自行修改设置比特率
([2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]) */
/**
* Select a secondary serial port on the board to use for communication with the host.
* 在主板上选择另外一个即第二个串行接口作为与主机通讯
* Currently Ethernet (-2) is only supported on Teensy 4.1 boards.
* 目前以太网(-2)仅在Tinesy 4.1板上受支持。
* :[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
//#define SERIAL_PORT_2 -1
/* 定义运行第二个串行接口,取消注释即可运行。 */
//#define BAUDRATE_2 250000 // Enable to override BAUDRATE
/* 定义运行第二个串行接口通讯速率设置为250000,取消注释即可运行。启用以覆盖BAUDRATE */
/**
* Select a third serial port on the board to use for communication with the host.
* 在主板上选择另外一个即第三个串行接口作为与主机通讯
* Currently only supported for AVR, DUE, LPC1768/9 and STM32/STM32F1
* 目前仅在AVR系列,DUE系列,LPC1768/9和STM32系列/STM32F1系列芯片主板上受支持。
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
//#define SERIAL_PORT_3 1
/* 定义运行第三个串行接口,取消注释即可运行。 */
//#define BAUDRATE_3 250000 // Enable to override BAUDRATE
/* 定义运行第三个串行接口通讯速率设置为250000,取消注释即可运行。启用以覆盖BAUDRATE */
// Enable the Bluetooth serial interface on AT90USB devices
/* 支持AT90USB驱动 设备上启用蓝牙串行接口 */
//#define BLUETOOTH
/* 定义运行蓝牙串行接口,取消注释即可运行。 */
// Choose the name from boards.h that matches your setup
/* 选用与你匹配主板的名字,可在主板库 boards.h 文件中查询,然后调用启用安装。 */
#ifndef MOTHERBOARD
/* #ifndef是"if not defined"的简写&#