-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 5b98f01
Showing
1,807 changed files
with
1,702,444 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
out | ||
*.so | ||
*.pyc | ||
.config | ||
.config.old | ||
.vscode/ | ||
klippy/.version |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
# Klipper build system | ||
# | ||
# Copyright (C) 2016-2020 Kevin O'Connor <[email protected]> | ||
# | ||
# This file may be distributed under the terms of the GNU GPLv3 license. | ||
|
||
# Output directory | ||
OUT=out/ | ||
|
||
# Kconfig includes | ||
export KCONFIG_CONFIG := $(CURDIR)/.config | ||
-include $(KCONFIG_CONFIG) | ||
|
||
# Common command definitions | ||
CC=$(CROSS_PREFIX)gcc | ||
AS=$(CROSS_PREFIX)as | ||
LD=$(CROSS_PREFIX)ld | ||
OBJCOPY=$(CROSS_PREFIX)objcopy | ||
OBJDUMP=$(CROSS_PREFIX)objdump | ||
STRIP=$(CROSS_PREFIX)strip | ||
CPP=cpp | ||
PYTHON=python3 | ||
|
||
# Source files | ||
src-y = | ||
dirs-y = src | ||
|
||
# Default compiler flags | ||
cc-option=$(shell if test -z "`$(1) $(2) -S -o /dev/null -xc /dev/null 2>&1`" \ | ||
; then echo "$(2)"; else echo "$(3)"; fi ;) | ||
|
||
CFLAGS := -I$(OUT) -Isrc -I$(OUT)board-generic/ -std=gnu11 -O2 -MD \ | ||
-Wall -Wold-style-definition $(call cc-option,$(CC),-Wtype-limits,) \ | ||
-ffunction-sections -fdata-sections -fno-delete-null-pointer-checks | ||
CFLAGS += -flto -fwhole-program -fno-use-linker-plugin -ggdb3 | ||
|
||
OBJS_klipper.elf = $(patsubst %.c, $(OUT)src/%.o,$(src-y)) | ||
OBJS_klipper.elf += $(OUT)compile_time_request.o | ||
CFLAGS_klipper.elf = $(CFLAGS) -Wl,--gc-sections | ||
|
||
CPPFLAGS = -I$(OUT) -P -MD -MT $@ | ||
|
||
# Default targets | ||
target-y := $(OUT)klipper.elf | ||
|
||
all: | ||
|
||
# Run with "make V=1" to see the actual compile commands | ||
ifdef V | ||
Q= | ||
else | ||
Q=@ | ||
MAKEFLAGS += --no-print-directory | ||
endif | ||
|
||
# Include board specific makefile | ||
include src/Makefile | ||
-include src/$(patsubst "%",%,$(CONFIG_BOARD_DIRECTORY))/Makefile | ||
|
||
################ Main build rules | ||
|
||
$(OUT)%.o: %.c $(OUT)autoconf.h | ||
@echo " Compiling $@" | ||
$(Q)$(CC) $(CFLAGS) -c $< -o $@ | ||
|
||
$(OUT)%.ld: %.lds.S $(OUT)autoconf.h | ||
@echo " Preprocessing $@" | ||
$(Q)$(CPP) -I$(OUT) -P -MD -MT $@ $< -o $@ | ||
|
||
$(OUT)klipper.elf: $(OBJS_klipper.elf) | ||
@echo " Linking $@" | ||
$(Q)$(CC) $(OBJS_klipper.elf) $(CFLAGS_klipper.elf) -o $@ | ||
$(Q)scripts/check-gcc.sh $@ $(OUT)compile_time_request.o | ||
|
||
################ Compile time requests | ||
|
||
$(OUT)%.o.ctr: $(OUT)%.o | ||
$(Q)$(OBJCOPY) -j '.compile_time_request' -O binary $^ $@ | ||
|
||
$(OUT)compile_time_request.o: $(patsubst %.c, $(OUT)src/%.o.ctr,$(src-y)) ./scripts/buildcommands.py | ||
@echo " Building $@" | ||
$(Q)cat $(patsubst %.c, $(OUT)src/%.o.ctr,$(src-y)) | tr -s '\0' '\n' > $(OUT)compile_time_request.txt | ||
$(Q)$(PYTHON) ./scripts/buildcommands.py -d $(OUT)klipper.dict -t "$(CC);$(AS);$(LD);$(OBJCOPY);$(OBJDUMP);$(STRIP)" $(OUT)compile_time_request.txt $(OUT)compile_time_request.c | ||
$(Q)$(CC) $(CFLAGS) -c $(OUT)compile_time_request.c -o $@ | ||
|
||
################ Auto generation of "board/" include file link | ||
|
||
create-board-link: | ||
@echo " Creating symbolic link $(OUT)board" | ||
$(Q)mkdir -p $(addprefix $(OUT), $(dirs-y)) | ||
$(Q)rm -f $(OUT)*.d $(patsubst %,$(OUT)%/*.d,$(dirs-y)) | ||
$(Q)rm -f $(OUT)board | ||
$(Q)ln -sf $(CURDIR)/src/$(CONFIG_BOARD_DIRECTORY) $(OUT)board | ||
$(Q)mkdir -p $(OUT)board-generic | ||
$(Q)rm -f $(OUT)board-generic/board | ||
$(Q)ln -sf $(CURDIR)/src/generic $(OUT)board-generic/board | ||
|
||
# Hack to rebuild OUT directory and reload make dependencies on Kconfig change | ||
$(OUT)board-link: $(KCONFIG_CONFIG) | ||
$(Q)mkdir -p $(OUT) | ||
$(Q)echo "# Makefile board-link rule" > $@ | ||
$(Q)$(MAKE) create-board-link | ||
include $(OUT)board-link | ||
|
||
################ Kconfig rules | ||
|
||
$(OUT)autoconf.h: $(KCONFIG_CONFIG) | ||
@echo " Building $@" | ||
$(Q)mkdir -p $(OUT) | ||
$(Q) KCONFIG_AUTOHEADER=$@ $(PYTHON) lib/kconfiglib/genconfig.py src/Kconfig | ||
|
||
$(KCONFIG_CONFIG) olddefconfig: src/Kconfig | ||
$(Q)$(PYTHON) lib/kconfiglib/olddefconfig.py src/Kconfig | ||
|
||
menuconfig: | ||
$(Q)$(PYTHON) lib/kconfiglib/menuconfig.py src/Kconfig | ||
|
||
################ Generic rules | ||
|
||
# Make definitions | ||
.PHONY : all clean distclean olddefconfig menuconfig create-board-link FORCE | ||
.DELETE_ON_ERROR: | ||
|
||
all: $(target-y) | ||
|
||
clean: | ||
$(Q)rm -rf $(OUT) | ||
|
||
distclean: clean | ||
$(Q)rm -f .config .config.old | ||
|
||
-include $(OUT)*.d $(patsubst %,$(OUT)%/*.d,$(dirs-y)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
Welcome to the Klipper project! | ||
|
||
[![Klipper](docs/img/klipper-logo-small.png)](https://www.klipper3d.org/) | ||
|
||
https://www.klipper3d.org/ | ||
|
||
Klipper is a 3d-Printer firmware. It combines the power of a general | ||
purpose computer with one or more micro-controllers. See the | ||
[features document](https://www.klipper3d.org/Features.html) for more | ||
information on why you should use Klipper. | ||
|
||
To begin using Klipper start by | ||
[installing](https://www.klipper3d.org/Installation.html) it. | ||
|
||
Klipper is Free Software. See the [license](COPYING) or read the | ||
[documentation](https://www.klipper3d.org/Overview.html). We depend on | ||
the generous support from our | ||
[sponsors](https://www.klipper3d.org/Sponsors.html). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# This file is an example config file for cartesian style printers. | ||
# One may copy and edit this file to configure a new cartesian | ||
# printer. | ||
|
||
# DO NOT COPY THIS FILE WITHOUT CAREFULLY READING AND UPDATING IT | ||
# FIRST. Incorrectly configured parameters may cause damage. | ||
|
||
# See docs/Config_Reference.md for a description of parameters. | ||
|
||
[stepper_x] | ||
step_pin: PF0 | ||
dir_pin: PF1 | ||
enable_pin: !PD7 | ||
microsteps: 16 | ||
rotation_distance: 40 | ||
endstop_pin: ^PE5 | ||
position_endstop: 0 | ||
position_max: 200 | ||
|
||
[stepper_y] | ||
step_pin: PF6 | ||
dir_pin: !PF7 | ||
enable_pin: !PF2 | ||
microsteps: 16 | ||
rotation_distance: 40 | ||
endstop_pin: ^PJ1 | ||
position_endstop: 0 | ||
position_max: 200 | ||
|
||
[stepper_z] | ||
step_pin: PL3 | ||
dir_pin: PL1 | ||
enable_pin: !PK0 | ||
microsteps: 16 | ||
rotation_distance: 8 | ||
endstop_pin: ^PD3 | ||
position_endstop: 0.5 | ||
position_max: 200 | ||
|
||
[extruder] | ||
step_pin: PA4 | ||
dir_pin: PA6 | ||
enable_pin: !PA2 | ||
microsteps: 16 | ||
rotation_distance: 33.500 | ||
nozzle_diameter: 0.500 | ||
filament_diameter: 3.500 | ||
heater_pin: PB4 | ||
sensor_type: EPCOS 100K B57560G104F | ||
sensor_pin: PK5 | ||
control: pid | ||
pid_Kp: 22.2 | ||
pid_Ki: 1.08 | ||
pid_Kd: 114 | ||
min_temp: 0 | ||
max_temp: 210 | ||
|
||
[heater_bed] | ||
heater_pin: PH5 | ||
sensor_type: EPCOS 100K B57560G104F | ||
sensor_pin: PK6 | ||
control: watermark | ||
min_temp: 0 | ||
max_temp: 110 | ||
|
||
[mcu] | ||
serial: /dev/ttyACM0 | ||
|
||
[printer] | ||
kinematics: cartesian | ||
max_velocity: 500 | ||
max_accel: 3000 | ||
max_z_velocity: 25 | ||
max_z_accel: 30 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# This file is an example config file for corexy (and also h-bot) | ||
# style printers. One may copy and edit this file to configure a new | ||
# corexy printer. | ||
|
||
# DO NOT COPY THIS FILE WITHOUT CAREFULLY READING AND UPDATING IT | ||
# FIRST. Incorrectly configured parameters may cause damage. | ||
|
||
# See docs/Config_Reference.md for a description of parameters. | ||
|
||
[stepper_x] | ||
step_pin: PF0 | ||
dir_pin: PF1 | ||
enable_pin: !PD7 | ||
microsteps: 16 | ||
rotation_distance: 40 | ||
endstop_pin: ^PE5 | ||
position_endstop: 0 | ||
position_max: 200 | ||
homing_speed: 50 | ||
|
||
[stepper_y] | ||
step_pin: PF6 | ||
dir_pin: PF7 | ||
enable_pin: !PF2 | ||
microsteps: 16 | ||
rotation_distance: 40 | ||
endstop_pin: ^PJ1 | ||
position_endstop: 0 | ||
position_max: 200 | ||
homing_speed: 50 | ||
|
||
[stepper_z] | ||
step_pin: PL3 | ||
dir_pin: PL1 | ||
enable_pin: !PK0 | ||
microsteps: 16 | ||
rotation_distance: 8 | ||
endstop_pin: ^PD3 | ||
position_endstop: 0.5 | ||
position_max: 200 | ||
|
||
[extruder] | ||
step_pin: PA4 | ||
dir_pin: PA6 | ||
enable_pin: !PA2 | ||
microsteps: 16 | ||
rotation_distance: 33.500 | ||
nozzle_diameter: 0.400 | ||
filament_diameter: 1.750 | ||
heater_pin: PB4 | ||
sensor_type: ATC Semitec 104GT-2 | ||
sensor_pin: PK5 | ||
control: pid | ||
pid_Kp: 22.2 | ||
pid_Ki: 1.08 | ||
pid_Kd: 114 | ||
min_temp: 0 | ||
max_temp: 250 | ||
|
||
[heater_bed] | ||
heater_pin: PH5 | ||
sensor_type: EPCOS 100K B57560G104F | ||
sensor_pin: PK6 | ||
control: watermark | ||
min_temp: 0 | ||
max_temp: 130 | ||
|
||
[fan] | ||
pin: PH6 | ||
|
||
[mcu] | ||
serial: /dev/ttyACM0 | ||
|
||
[printer] | ||
kinematics: corexy | ||
max_velocity: 300 | ||
max_accel: 3000 | ||
max_z_velocity: 25 | ||
max_z_accel: 30 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# This file is an example config file for corexz style printers. One | ||
# may copy and edit this file to configure a new corexz printer. | ||
|
||
# DO NOT COPY THIS FILE WITHOUT CAREFULLY READING AND UPDATING IT | ||
# FIRST. Incorrectly configured parameters may cause damage. | ||
|
||
# See docs/Config_Reference.md for a description of parameters. | ||
|
||
[stepper_x] | ||
step_pin: PF0 | ||
dir_pin: PF1 | ||
enable_pin: !PD7 | ||
microsteps: 16 | ||
rotation_distance: 40 | ||
endstop_pin: ^PE5 | ||
position_endstop: 0 | ||
position_max: 200 | ||
homing_speed: 50 | ||
|
||
[stepper_y] | ||
step_pin: PF6 | ||
dir_pin: PF7 | ||
enable_pin: !PF2 | ||
microsteps: 16 | ||
rotation_distance: 40 | ||
endstop_pin: ^PJ1 | ||
position_endstop: 0 | ||
position_max: 200 | ||
homing_speed: 50 | ||
|
||
[stepper_z] | ||
step_pin: PL3 | ||
dir_pin: PL1 | ||
enable_pin: !PK0 | ||
microsteps: 16 | ||
rotation_distance: 8 | ||
endstop_pin: ^PD3 | ||
position_endstop: 0.5 | ||
position_max: 200 | ||
|
||
[extruder] | ||
step_pin: PA4 | ||
dir_pin: PA6 | ||
enable_pin: !PA2 | ||
microsteps: 16 | ||
rotation_distance: 33.500 | ||
nozzle_diameter: 0.400 | ||
filament_diameter: 1.750 | ||
heater_pin: PB4 | ||
sensor_type: ATC Semitec 104GT-2 | ||
sensor_pin: PK5 | ||
control: pid | ||
pid_Kp: 22.2 | ||
pid_Ki: 1.08 | ||
pid_Kd: 114 | ||
min_temp: 0 | ||
max_temp: 250 | ||
|
||
[heater_bed] | ||
heater_pin: PH5 | ||
sensor_type: EPCOS 100K B57560G104F | ||
sensor_pin: PK6 | ||
control: watermark | ||
min_temp: 0 | ||
max_temp: 130 | ||
|
||
[fan] | ||
pin: PH6 | ||
|
||
[mcu] | ||
serial: /dev/ttyACM0 | ||
|
||
[printer] | ||
kinematics: corexz | ||
max_velocity: 300 | ||
max_accel: 3000 | ||
max_z_velocity: 50 | ||
max_z_accel: 30 |
Oops, something went wrong.