diff --git a/.github/workflows/klipper3d-deploy.yaml b/.github/workflows/cd-docs.yaml similarity index 65% rename from .github/workflows/klipper3d-deploy.yaml rename to .github/workflows/cd-docs.yaml index 4754cffb8..e3d49d618 100644 --- a/.github/workflows/klipper3d-deploy.yaml +++ b/.github/workflows/cd-docs.yaml @@ -1,4 +1,4 @@ -name: klipper3d deploy +name: docs deployment on: workflow_dispatch: push: @@ -6,7 +6,7 @@ on: - master paths: - docs/** - - .github/workflows/klipper3d-deploy.yaml + - .github/workflows/cd-docs.yaml jobs: deploy: @@ -20,17 +20,21 @@ jobs: python-version: "3.10" - uses: actions/cache@v3 + id: pip-cache with: path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('docs/_klipper3d/mkdocs-requirements.txt') }} + key: ${{ runner.os }}-pip-${{ hashFiles('docs/_kalico/mkdocs-requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - name: Install dependencies - run: pip install -r docs/_klipper3d/mkdocs-requirements.txt + if: steps.pip-cache.outputs.cache-hit != 'true' + run: pip install -r docs/_kalico/mkdocs-requirements.txt - name: Build MkDocs Pages - run: docs/_klipper3d/build-translations.sh + run: | + cd docs/ + mkdocs build -f _kalico/mkdocs.yml - name: Deploy uses: JamesIves/github-pages-deploy-action@v4.4.3 diff --git a/.github/workflows/ci-docs_test.yaml b/.github/workflows/ci-docs_test.yaml new file mode 100644 index 000000000..31d1638d7 --- /dev/null +++ b/.github/workflows/ci-docs_test.yaml @@ -0,0 +1,34 @@ +name: docs deployment +on: + pull_request: + paths: + - docs/** + - .github/workflows/ci-docs_test.yaml + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup python + uses: actions/setup-python@v4 + with: + python-version: "3.10" + + - uses: actions/cache@v3 + id: pip-cache + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('docs/_kalico/mkdocs-requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install dependencies + if: steps.pip-cache.outputs.cache-hit != 'true' + run: pip install -r docs/_kalico/mkdocs-requirements.txt + + - name: Build MkDocs Pages + run: | + cd docs/ + mkdocs build -f _kalico/mkdocs.yml --strict diff --git a/.gitignore b/.gitignore index 14b15b235..424cd74e8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ +# development out *.so *.pyc +__pycache__/ .config .config.old klippy/.version @@ -12,3 +14,11 @@ _test_.* klippy/plugins/* !klippy/plugins/__init__.py .vscode + +# docs +site/ +.env/ +.venv/ +env/ +venv/ +mkdocs-env/ diff --git a/README.md b/README.md index a890b4f40..3c668b218 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -
+ -[![Action Status](https://github.com/DangerKlippers/danger-klipper/actions/workflows/ci-build_test.yaml/badge.svg?branch=master)](https://github.com/DangerKlippers/danger-klipper/actions/workflows/ci-build_test.yaml) +[![Action Status](https://github.com/kalico-crew/kalico/actions/workflows/ci-build_test.yaml/badge.svg?branch=master)](https://github.com/kalico-crew/kalico/actions/workflows/ci-build_test.yaml) -# Welcome to the Danger Klipper project! +# Welcome to the Kalico project! This is a community-maintained fork of the [Klipper](https://github.com/Klipper3d/klipper) firmware. @@ -10,140 +10,140 @@ Our goal is to support features and behavior that could be "risky" if used incor If I want my printer to light itself on fire, I should be able to make my printer light itself on fire. -See the [Danger Features document](https://dangerklipper.io/Danger_Features.html) for more information on *some* of the differences from Klipper. +See the [Danger Features document](https://docs.kalico.gg/Danger_Features.html) for more information on *some* of the differences from Klipper. ## Features merged into the master branch: -- [core: no Python2 tests; no PRU boards](https://github.com/DangerKlippers/danger-klipper/pull/39) +- [core: no Python2 tests; no PRU boards](https://github.com/kalico-crew/kalico/pull/39) -- [core: git-untracked folder, plugins for user-plugins](https://github.com/DangerKlippers/danger-klipper/pull/82) +- [core: git-untracked folder, plugins for user-plugins](https://github.com/kalico-crew/kalico/pull/82) -- [core: danger_options](https://github.com/DangerKlippers/danger-klipper/pull/67) +- [core: danger_options](https://github.com/kalico-crew/kalico/pull/67) -- [core: rotate log file at every restart](https://github.com/DangerKlippers/danger-klipper/pull/181) +- [core: rotate log file at every restart](https://github.com/kalico-crew/kalico/pull/181) -- [fan: normalising Fan PWM power](https://github.com/DangerKlippers/danger-klipper/pull/44) ([klipper#6307](https://github.com/Klipper3d/klipper/pull/6307)) +- [fan: normalising Fan PWM power](https://github.com/kalico-crew/kalico/pull/44) ([klipper#6307](https://github.com/Klipper3d/klipper/pull/6307)) -- [fan: reverse FAN](https://github.com/DangerKlippers/danger-klipper/pull/51) ([klipper#4983](https://github.com/Klipper3d/klipper/pull/4983)) +- [fan: reverse FAN](https://github.com/kalico-crew/kalico/pull/51) ([klipper#4983](https://github.com/Klipper3d/klipper/pull/4983)) -- [heaters: modify PID without reload](https://github.com/DangerKlippers/danger-klipper/pull/35) +- [heaters: modify PID without reload](https://github.com/kalico-crew/kalico/pull/35) -- [heaters: MPC temperature control](https://github.com/DangerKlippers/danger-klipper/pull/333) +- [heaters: MPC temperature control](https://github.com/kalico-crew/kalico/pull/333) -- [heaters: velocity PID](https://github.com/DangerKlippers/danger-klipper/pull/47) ([klipper#6272](https://github.com/Klipper3d/klipper/pull/6272)) +- [heaters: velocity PID](https://github.com/kalico-crew/kalico/pull/47) ([klipper#6272](https://github.com/Klipper3d/klipper/pull/6272)) -- [heaters: PID-Profiles](https://github.com/DangerKlippers/danger-klipper/pull/162) +- [heaters: PID-Profiles](https://github.com/kalico-crew/kalico/pull/162) -- [heaters: expose heater thermistor out of min/max](https://github.com/DangerKlippers/danger-klipper/pull/182) +- [heaters: expose heater thermistor out of min/max](https://github.com/kalico-crew/kalico/pull/182) -- [heaters/fan: new heated_fan module](https://github.com/DangerKlippers/danger-klipper/pull/259) +- [heaters/fan: new heated_fan module](https://github.com/kalico-crew/kalico/pull/259) -- [gcode: jinja2.ext.do extension](https://github.com/DangerKlippers/danger-klipper/pull/26) ([klipper#5149](https://github.com/Klipper3d/klipper/pull/5149)) +- [gcode: jinja2.ext.do extension](https://github.com/kalico-crew/kalico/pull/26) ([klipper#5149](https://github.com/Klipper3d/klipper/pull/5149)) -- [gcode: gcode_shell_command](https://github.com/DangerKlippers/danger-klipper/pull/71) ([klipper#2173](https://github.com/Klipper3d/klipper/pull/2173) / [kiuah](https://github.com/dw-0/kiauh/blob/master/resources/gcode_shell_command.py) ) +- [gcode: gcode_shell_command](https://github.com/kalico-crew/kalico/pull/71) ([klipper#2173](https://github.com/Klipper3d/klipper/pull/2173) / [kiuah](https://github.com/dw-0/kiauh/blob/master/resources/gcode_shell_command.py) ) -- [gcode: expose math functions to gcode macros](https://github.com/DangerKlippers/danger-klipper/pull/173) ([klipper#4072](https://github.com/Klipper3d/klipper/pull/4072)) +- [gcode: expose math functions to gcode macros](https://github.com/kalico-crew/kalico/pull/173) ([klipper#4072](https://github.com/Klipper3d/klipper/pull/4072)) -- [gcode: HEATER_INTERRUPT gcode command](https://github.com/DangerKlippers/danger-klipper/pull/94) +- [gcode: HEATER_INTERRUPT gcode command](https://github.com/kalico-crew/kalico/pull/94) -- [gcode: RELOAD_GCODE_MACROS command](https://github.com/DangerKlippers/danger-klipper/pull/305) +- [gcode: RELOAD_GCODE_MACROS command](https://github.com/kalico-crew/kalico/pull/305) -- [probe: dockable Probe](https://github.com/DangerKlippers/danger-klipper/pull/43) ([klipper#4328](https://github.com/Klipper3d/klipper/pull/4328)) +- [probe: dockable Probe](https://github.com/kalico-crew/kalico/pull/43) ([klipper#4328](https://github.com/Klipper3d/klipper/pull/4328)) -- [probe: drop the first result](https://github.com/DangerKlippers/danger-klipper/pull/2) ([klipper#3397](https://github.com/Klipper3d/klipper/issues/3397)) +- [probe: drop the first result](https://github.com/kalico-crew/kalico/pull/2) ([klipper#3397](https://github.com/Klipper3d/klipper/issues/3397)) -- [probe: z_calibration](https://github.com/DangerKlippers/danger-klipper/pull/31) ([klipper#4614](https://github.com/Klipper3d/klipper/pull/4614) / [protoloft/z_calibration](https://github.com/protoloft/klipper_z_calibration)) +- [probe: z_calibration](https://github.com/kalico-crew/kalico/pull/31) ([klipper#4614](https://github.com/Klipper3d/klipper/pull/4614) / [protoloft/z_calibration](https://github.com/protoloft/klipper_z_calibration)) -- [z_tilt: z-tilt calibration](https://github.com/DangerKlippers/danger-klipper/pull/105) ([klipper3d#4083](https://github.com/Klipper3d/klipper/pull/4083) / [dk/ztilt_calibration](https://github.com/DangerKlippers/danger-klipper/pull/54)) +- [z_tilt: z-tilt calibration](https://github.com/kalico-crew/kalico/pull/105) ([klipper3d#4083](https://github.com/Klipper3d/klipper/pull/4083) / [dk/ztilt_calibration](https://github.com/kalico-crew/kalico/pull/54)) -- [stepper: home_current](https://github.com/DangerKlippers/danger-klipper/pull/65) +- [stepper: home_current](https://github.com/kalico-crew/kalico/pull/65) -- [stepper: current_change_dwell_time](https://github.com/DangerKlippers/danger-klipper/pull/90) +- [stepper: current_change_dwell_time](https://github.com/kalico-crew/kalico/pull/90) -- [homing: post-home retract](https://github.com/DangerKlippers/danger-klipper/pull/65) +- [homing: post-home retract](https://github.com/kalico-crew/kalico/pull/65) -- [homing: sensorless minimum home distance](https://github.com/DangerKlippers/danger-klipper/pull/65) +- [homing: sensorless minimum home distance](https://github.com/kalico-crew/kalico/pull/65) -- [homing: min_home_dist](https://github.com/DangerKlippers/danger-klipper/pull/90) +- [homing: min_home_dist](https://github.com/kalico-crew/kalico/pull/90) -- [virtual_sdcard: scanning of subdirectories](https://github.com/DangerKlippers/danger-klipper/pull/68) ([klipper#6327](https://github.com/Klipper3d/klipper/pull/6327)) +- [virtual_sdcard: scanning of subdirectories](https://github.com/kalico-crew/kalico/pull/68) ([klipper#6327](https://github.com/Klipper3d/klipper/pull/6327)) -- [retraction: z_hop while retracting](https://github.com/DangerKlippers/danger-klipper/pull/83) ([klipper#6311](https://github.com/Klipper3d/klipper/pull/6311)) +- [retraction: z_hop while retracting](https://github.com/kalico-crew/kalico/pull/83) ([klipper#6311](https://github.com/Klipper3d/klipper/pull/6311)) -- [danger_options: allow plugins to override conflicting extras](https://github.com/DangerKlippers/danger-klipper/pull/82) +- [danger_options: allow plugins to override conflicting extras](https://github.com/kalico-crew/kalico/pull/82) -- [danger_options: expose the multi mcu homing timeout as a parameter](https://github.com/DangerKlippers/danger-klipper/pull/93) +- [danger_options: expose the multi mcu homing timeout as a parameter](https://github.com/kalico-crew/kalico/pull/93) -- [danger_options: option to configure the homing elapsed distance tolerance](https://github.com/DangerKlippers/danger-klipper/pull/110) +- [danger_options: option to configure the homing elapsed distance tolerance](https://github.com/kalico-crew/kalico/pull/110) -- [danger_options: option to ignore ADC out of range](https://github.com/DangerKlippers/danger-klipper/pull/129) +- [danger_options: option to ignore ADC out of range](https://github.com/kalico-crew/kalico/pull/129) -- [temperature_mcu: add reference_voltage](https://github.com/DangerKlippers/danger-klipper/pull/99) ([klipper#5713](https://github.com/Klipper3d/klipper/pull/5713)) +- [temperature_mcu: add reference_voltage](https://github.com/kalico-crew/kalico/pull/99) ([klipper#5713](https://github.com/Klipper3d/klipper/pull/5713)) -- [adxl345: improve ACCELEROMETER_QUERY command](https://github.com/DangerKlippers/danger-klipper/pull/124) +- [adxl345: improve ACCELEROMETER_QUERY command](https://github.com/kalico-crew/kalico/pull/124) -- [extruder: add flag to use the PA constant from a trapq move vs a cached value](https://github.com/DangerKlippers/danger-klipper/pull/132) +- [extruder: add flag to use the PA constant from a trapq move vs a cached value](https://github.com/kalico-crew/kalico/pull/132) -- [force_move: turn on by default](https://github.com/DangerKlippers/danger-klipper/pull/135) +- [force_move: turn on by default](https://github.com/kalico-crew/kalico/pull/135) -- [respond: turn on by default](https://github.com/DangerKlippers/danger-klipper/pull/296) +- [respond: turn on by default](https://github.com/kalico-crew/kalico/pull/296) -- [exclude_object: turn on by default](https://github.com/DangerKlippers/danger-klipper/pull/306) +- [exclude_object: turn on by default](https://github.com/kalico-crew/kalico/pull/306) -- [bed_mesh: add bed_mesh_default config option](https://github.com/DangerKlippers/danger-klipper/pull/143) +- [bed_mesh: add bed_mesh_default config option](https://github.com/kalico-crew/kalico/pull/143) -- [config: CONFIG_SAVE updates included files](https://github.com/DangerKlippers/danger-klipper/pull/153) +- [config: CONFIG_SAVE updates included files](https://github.com/kalico-crew/kalico/pull/153) -- [kinematics: independent X&Y accel/velocity for corexy and cartesian](https://github.com/DangerKlippers/danger-klipper/pull/4) +- [kinematics: independent X&Y accel/velocity for corexy and cartesian](https://github.com/kalico-crew/kalico/pull/4) -- [kinematics: independent X&Y accel/velocity for corexz](https://github.com/DangerKlippers/danger-klipper/pull/267) +- [kinematics: independent X&Y accel/velocity for corexz](https://github.com/kalico-crew/kalico/pull/267) -- [idle_timeout: allow the idle timeout to be disabled](https://github.com/DangerKlippers/danger-klipper/issues/165) +- [idle_timeout: allow the idle timeout to be disabled](https://github.com/kalico-crew/kalico/issues/165) -- [canbus: custom CAN bus uuid hash for deterministic uuids](https://github.com/DangerKlippers/danger-klipper/pull/156) +- [canbus: custom CAN bus uuid hash for deterministic uuids](https://github.com/kalico-crew/kalico/pull/156) -- [filament_switch|motion_sensor: runout distance, smart and runout gcode](https://github.com/DangerKlippers/danger-klipper/pull/158) +- [filament_switch|motion_sensor: runout distance, smart and runout gcode](https://github.com/kalico-crew/kalico/pull/158) -- [z_tilt|qgl: custom threshold for probe_points_increasing check](https://github.com/DangerKlippers/danger-klipper/pull/189) +- [z_tilt|qgl: custom threshold for probe_points_increasing check](https://github.com/kalico-crew/kalico/pull/189) -- [save_config: save without restarting the firmware](https://github.com/DangerKlippers/danger-klipper/pull/191) +- [save_config: save without restarting the firmware](https://github.com/kalico-crew/kalico/pull/191) -- [configfile: recursive globs](https://github.com/DangerKlippers/danger-klipper/pull/200) / ([klipper#6375](https://github.com/Klipper3d/klipper/pull/6375)) +- [configfile: recursive globs](https://github.com/kalico-crew/kalico/pull/200) / ([klipper#6375](https://github.com/Klipper3d/klipper/pull/6375)) -- [temperature_fan: curve control algorithm](https://github.com/DangerKlippers/danger-klipper/pull/193) +- [temperature_fan: curve control algorithm](https://github.com/kalico-crew/kalico/pull/193) -- [shaper_calibrate: store and expose accel_per_hz](https://github.com/DangerKlippers/danger-klipper/pull/224) +- [shaper_calibrate: store and expose accel_per_hz](https://github.com/kalico-crew/kalico/pull/224) -- [resonance_tester: accepts ACCEL_PER_HZ in TEST_RESONANCES](https://github.com/DangerKlippers/danger-klipper/pull/312) +- [resonance_tester: accepts ACCEL_PER_HZ in TEST_RESONANCES](https://github.com/kalico-crew/kalico/pull/312) -- [mcu: support for AT32F403](https://github.com/DangerKlippers/danger-klipper/pull/284) +- [mcu: support for AT32F403](https://github.com/kalico-crew/kalico/pull/284) -- [z_tilt, quad_gantry_level: adaptive horizontal move z](https://github.com/DangerKlippers/danger-klipper/pull/336) +- [z_tilt, quad_gantry_level: adaptive horizontal move z](https://github.com/kalico-crew/kalico/pull/336) -- [core: non-critical-mcus](https://github.com/DangerKlippers/danger-klipper/pull/339) +- [core: non-critical-mcus](https://github.com/kalico-crew/kalico/pull/339) -- [gcode_macros: !python templates](https://github.com/DangerKlippers/danger-klipper/pull/360) +- [gcode_macros: !python templates](https://github.com/kalico-crew/kalico/pull/360) -- [core: action_log](https://github.com/DangerKlippers/danger-klipper/pull/367) +- [core: action_log](https://github.com/kalico-crew/kalico/pull/367) -- [danger_options: configurable homing constants](https://github.com/DangerKlippers/danger-klipper/pull/378) +- [danger_options: configurable homing constants](https://github.com/kalico-crew/kalico/pull/378) If you're feeling adventurous, take a peek at the extra features in the bleeding-edge-v2 branch [feature documentation](docs/Bleeding_Edge.md) and [feature configuration reference](docs/Config_Reference_Bleeding_Edge.md): -- [extruder/pa: do not smooth base extruder position, only advance](https://github.com/DangerKlippers/danger-klipper/pull/266) +- [extruder/pa: do not smooth base extruder position, only advance](https://github.com/kalico-crew/kalico/pull/266) -- [dmbutyugin's advanced-features branch - Pull Request #262](https://github.com/DangerKlippers/danger-klipper/pull/262) +- [dmbutyugin's advanced-features branch - Pull Request #262](https://github.com/kalico-crew/kalico/pull/262) - stepper: high precision stepping protocol - extruder: sync extruder motion with input shaper - extruder: new print_pa_tower utility - input_shaper: smooth input shapers - input_shaper: new print_ringing_tower utility -## Switch to Danger Klipper +## Switch to Kalico > [!NOTE] -> Any add-on modules you are using will need to be reinstalled after switching to Danger Klipper. This includes things like Beacon support, led-effect, etc. +> Any add-on modules you are using will need to be reinstalled after switching to Kalico. This includes things like Beacon support, led-effect, etc. > > Any data in ~/printer_data such as printer configs and macros will be unaffected. @@ -155,10 +155,10 @@ If desired, make a backup copy of your existing Klipper installation by running: mv ~/klipper ~/klipper_old ``` -Then clone the Danger Klipper repo and restart the klipper service: +Then clone the Kalico repo and restart the klipper service: ```bash -git clone https://github.com/DangerKlippers/danger-klipper.git ~/klipper +git clone https://github.com/kalico-crew/kalico.git ~/klipper sudo systemctl restart klipper ``` @@ -166,13 +166,13 @@ sudo systemctl restart klipper For users that are not comfortable using Git directly, [KIAUH v6](https://github.com/dw-0/kiauh) is able to use custom repositories. -To do this, add the Danger Klipper repo to KIAUH's custom repository settings with the following steps: +To do this, add the Kalico repo to KIAUH's custom repository settings with the following steps: From the KIAUH menu select: - [S] Settings - 1\) Set custom Klipper repository -- Use `https://github.com/DangerKlippers/danger-klipper` as the new repository URL +- Use `https://github.com/kalico-crew/kalico` as the new repository URL - Use `master` or `bleeding-edge-v2` as the new branch name - Select 'Y' to apply the changes - Enter 'B' for back twice @@ -183,7 +183,7 @@ Can switch back to mainline klipper at any time via a `git checkout upstream_mas ```bash cd ~/klipper -git remote add danger https://github.com/DangerKlippers/danger-klipper.git +git remote add danger https://github.com/kalico-crew/kalico.git git checkout -b upstream-master origin/master git branch -D master git checkout -b master danger/master @@ -193,17 +193,15 @@ sudo systemctl restart moonraker --- -"Dangerous Klipper for dangerous users" - -Klipper is a 3d-Printer firmware. It combines the power of a general +Kalico 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://dangerklipper.io/Features.html) for more -information on why you should use Klipper. +[features document](https://docs.kalico.gg/Features.html) for more +information on why you should use Kalico. -To begin using Klipper start by -[installing](https://dangerklipper.io/Installation.html) it. +To begin using Kalico start by +[installing](https://docs.kalico.gg/Installation.html) it. -Klipper is Free Software. See the [license](COPYING) or read the -[documentation](https://dangerklipper.io/Overview.html). +Kalico is Free Software. See the [license](COPYING) or read the +[documentation](https://docs.kalico.gg/Overview.html). -[![Join me on Discord](https://discord.com/api/guilds/1029426383614648421/widget.png?style=banner2)](https://discord.gg/armchairengineeringsux) +[![Join me on Discord](https://discord.com/api/guilds/1297243471442214913/widget.png?style=banner2)](https://kalico.gg/discord) diff --git a/docs/API_Server.md b/docs/API_Server.md index 3da4584b1..ee92b8929 100644 --- a/docs/API_Server.md +++ b/docs/API_Server.md @@ -1,8 +1,8 @@ # API server -This document describes Klipper's Application Programmer Interface +This document describes Kalico's Application Programmer Interface (API). This interface enables external applications to query and -control the Klipper host software. +control the Kalico host software. ## Enabling the API socket @@ -14,10 +14,10 @@ started with the `-a` parameter. For example: This causes the host software to create a Unix Domain Socket. A client can then open a connection on that socket and send commands to -Klipper. +Kalico. See the [Moonraker](https://github.com/Arksine/moonraker) project for -a popular tool that can forward HTTP requests to Klipper's API Server +a popular tool that can forward HTTP requests to Kalico's API Server Unix Domain Socket. ## Request format @@ -28,16 +28,16 @@ terminated by an ASCII 0x03 character: