Klipper 开源固件安装与配置指南
klipper项目地址:https://gitcode.com/gh_mirrors/kli/klipper
1. 项目目录结构及介绍
在Klipper项目中,源代码主要分布在以下几个关键目录中:
-
src:核心源代码目录,包含了Klipper的主要功能实现。
main.cpp
:主程序入口点。protocol
:处理来自主机的通信协议。mcu
:微控制器相关代码,用于与硬件交互。
-
examples:提供了不同设备的配置示例。
-
scripts:辅助脚本,用于编译、安装或更新固件。
-
docs:项目文档,包括Markdown格式的用户手册和开发者指南。
-
tools:一些有用的工具,如生成配置文件的模板。
-
config.h.in:默认配置头文件,通过宏定义控制固件的行为。
2. 项目的启动文件介绍
Klipper的启动过程主要由以下文件驱动:
-
main.cpp:这是整个程序的起点,负责初始化系统并调用其他组件进行后续操作,例如设置定时器、初始化串口通信等。
-
config.h:配置头文件,一般根据具体打印机的硬件需求进行定制。这个文件是由
scripts/configure.py
脚本从config.h.in
生成的,包含各种硬件参数、传感器设置以及打印优化选项。
3. 项目的配置文件介绍
Klipper的配置文件是基于文本的,通常以.yaml
或.ini
扩展名。配置文件分为两部分:
-
system.yaml:全局系统配置,包含基本的硬件连接(如电机、热床、限位开关)和网络设置。
-
printer.yaml:打印机特定配置,详细定义了每个轴的行程、校准数据、步进电机参数、温度控制器设置等。
配置文件主要内容:
-
general: 包含通用设置,如打印速度限制、端口号、日志级别等。
-
motors: 每个电机的配置,包括电机类型、步骤每毫米、电流限制等。
-
endstops: 限位开关的配置,指定它们的位置和触发方式。
-
heaters: 温度控制器设置,如加热棒和热床的PID参数。
-
bed: 床铺校平和设置,可能包括BLTouch或其他自动校平方法。
-
hotend: 热端设置,可以有多个,对应不同的喷嘴。
-
extruders: 丝材挤出机的配置,包括步进电机、丝材直径等。
配置文件可以通过修改直接编辑,或者使用scripts/gen-config.py
脚本来自动生成基于默认值的初始配置。
在实际操作时,建议先阅读Klipper的官方文档以获取更详细的指导,特别是关于如何根据你的3D打印机配置这些文件的部分。完成配置后,使用scripts/send-to-device.sh
脚本将配置文件上传到设备上,并启动Klipper服务。如果遇到问题,官方GitHub仓库中的Issue和论坛讨论通常能找到解决方案。