Skip to content

Commit

Permalink
Merge branch 'KalicoCrew:main' into feature/mcu_support_stm32h503
Browse files Browse the repository at this point in the history
  • Loading branch information
PhilippMolitor authored Dec 23, 2024
2 parents a9f41b8 + 5f463e1 commit 2a21e32
Show file tree
Hide file tree
Showing 113 changed files with 1,931 additions and 1,883 deletions.
4 changes: 2 additions & 2 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
ko_fi: koconnor
custom: https://www.klipper3d.org/Sponsors.html#klipper-developers
ko_fi: kalicocrew
custom: https://docs.kalico.gg/Sponsors.html#the-crew
30 changes: 30 additions & 0 deletions .github/workflows/cd-bleeding-edge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Rebase bleeding-edge-v2

on:
workflow_dispatch:

jobs:
rebase-bleeding-edge:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: configure git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: fetch branches
run: |
git fetch origin main bleeding-edge-v2
- name: rebase bleeding-edge-v2 onto main
run: |
git checkout bleeding-edge-v2
git rebase main
- name: push changes
run: |
git push origin bleeding-edge-v2 --force
7 changes: 4 additions & 3 deletions .github/workflows/cd-docs.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: docs deployment
name: Docs deployment

on:
workflow_dispatch:
push:
Expand Down Expand Up @@ -39,5 +40,5 @@ jobs:
- name: Deploy
uses: JamesIves/[email protected]
with:
branch: gh-pages # The branch the action should deploy to.
folder: site # The folder the action should deploy.
branch: gh-pages
folder: site
1 change: 0 additions & 1 deletion .github/workflows/ci-build_test.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# Perform continuous integration tests on updates and pull requests
name: Build test

on:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# Perform continuous integration tests on pull requests
name: Ruff

on: pull_request
Expand Down
9 changes: 9 additions & 0 deletions config/sample-duet3-1lc.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -77,5 +77,14 @@ heater_temp: 50.0
pin: toolboard:PA9
z_offset: 20

[samd_sercom sercom_i2c]
sercom: sercom1
tx_pin: toolboard:PA16
clk_pin: toolboard:PA17

[lis3dh]
i2c_mcu: toolboard
i2c_bus: sercom1

[mcu toolboard]
canbus_uuid: 4b194673554e
5 changes: 5 additions & 0 deletions docs/Config_Changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ deprecated. It will be removed in the near future. Use
instead. The `printer[fan object].speed` status will be replaced by
`printer[fan object].value` and `printer[fan object].power`.

20241223: The `CLEAR_RETRACTION` command does not reset parameters to
default config values anymore, a [`RESET_RETRACTION`](./G-Codes.md#reset_retraction)
command was added to achieve this. Automatic resetting behavior on
events was removed.

20240430: The `adc_ignore_limits` parameter in the `[danger_options]`
config section has been renamed to `temp_ignore_limits` and it now
covers all possible temperature sensors.
Expand Down
127 changes: 106 additions & 21 deletions docs/Config_Reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
This document is a reference for options available in the Kalico
config file.

Sections and options are marked with an ⚠️ to denote configurations that are changed from stock Klipper.

The descriptions in this document are formatted so that it is possible
to cut-and-paste them into a printer config file. See the
[installation document](Installation.md) for information on setting up
Expand Down Expand Up @@ -135,6 +137,9 @@ A collection of Kalico-specific system options
# If the bed mesh should be logged at startup
# (helpful for keeping the log clean during development)
# The default is True.
#log_velocity_limit_changes: True
# If changes to velocity limits should be logged. If False, velocity limits will only
# be logged at rollover. Some slicers emit very frequent SET_VELOCITY_LIMIT commands
#log_shutdown_info: True
# If we should log detailed crash info when an exception occurs
# Most of it is overly-verbose and fluff and we still get a stack trace
Expand All @@ -145,6 +150,30 @@ A collection of Kalico-specific system options
#log_webhook_method_register_messages: False
```

## ⚠️ Configuration references

In your configuration, you can reference other values to share
configuration between multiple sections. References take the form of
`${option}` to copy a value in the current section, or
`${section.option}` to look up a value elsewhere in your configuration.

Optionally, a `[constants]` section may be used specifically to store
these values. Unlike the rest of your configuration, unused constants
will show a warning instead of causing an error.

```
[constants]
run_current_ab: 1.0
i_am_not_used: True # Will show "Constant 'i_am_not_used' is unused"
[tmc5160 stepper_x]
run_current: ${constants.run_current_ab}
[tmc5160 stepper_y]
run_current: ${tmc5160 stepper_x.run_current}
# Nested references work, but are not advised
```

## Common kinematic settings

### [printer]
Expand Down Expand Up @@ -1423,6 +1452,13 @@ extended [G-Code command](G-Codes.md#z_tilt) becomes available.

#### [z_tilt_ng]

z_tilt's next generation, adding the Z_TILT_CALIBRATE and Z_TILT_AUTODETECT
extended [G-Code commands](G-Codes.md#z_tilt_ng). Z_TILT_CALIBRATE performs multiple
probing runs to calculate z_offsets, enabling accurate tilt adjustment with fewer
probe points. Z_TILT_AUTODETECT automatically determines pivot positions for each
Z stepper through iterative probing. When this section is present, these extended
commands become available, enhancing bed leveling accuracy and calibration efficiency.

```
[z_tilt_ng]
#z_positions:
Expand Down Expand Up @@ -1824,7 +1860,7 @@ file for a Marlin compatible M808 G-Code macro.
[sdcard_loop]
```

### [force_move]
### [force_move]

This module is enabled by default in Kalico!

Expand Down Expand Up @@ -1890,7 +1926,12 @@ allowing per-filament settings and runtime tuning.
# The vertical height by which the nozzle is lifted from the print to
# prevent collisions with the print during travel moves when retracted.
# The minimum value is 0 mm, the default value is 0 mm, which disables
# zhop moves.
# zhop moves. The value will be reduced if the zhop move reaches
# maximum z.
#clear_zhop_on_z_moves: False
# If True, when a change in Z is sent while toolhead is retracted,
# z_hop is cancelled until next retraction. Otherwise,
# `z_hop_height` is applied as an offset to all movements.
```

### [gcode_arcs]
Expand Down Expand Up @@ -2032,8 +2073,9 @@ Support for LIS2DW accelerometers.

```
[lis2dw]
cs_pin:
# The SPI enable pin for the sensor. This parameter must be provided.
#cs_pin:
# The SPI enable pin for the sensor. This parameter must be provided
# if using SPI.
#spi_speed: 5000000
# The SPI speed (in hz) to use when communicating with the chip.
# The default is 5000000.
Expand All @@ -2043,6 +2085,46 @@ cs_pin:
#spi_software_miso_pin:
# See the "common SPI settings" section for a description of the
# above parameters.
#i2c_address:
# Default is 25 (0x19). If SA0 is high, it would be 24 (0x18) instead.
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed: 400000
# See the "common I2C settings" section for a description of the
# above parameters. The default "i2c_speed" is 400000.
#axes_map: x, y, z
# See the "adxl345" section for information on this parameter.
```

### [lis3dh]

Support for LIS3DH accelerometers.

```
[lis3dh]
#cs_pin:
# The SPI enable pin for the sensor. This parameter must be provided
# if using SPI.
#spi_speed: 5000000
# The SPI speed (in hz) to use when communicating with the chip.
# The default is 5000000.
#spi_bus:
#spi_software_sclk_pin:
#spi_software_mosi_pin:
#spi_software_miso_pin:
# See the "common SPI settings" section for a description of the
# above parameters.
#i2c_address:
# Default is 25 (0x19). If SA0 is high, it would be 24 (0x18) instead.
#i2c_mcu:
#i2c_bus:
#i2c_software_scl_pin:
#i2c_software_sda_pin:
#i2c_speed: 400000
# See the "common I2C settings" section for a description of the
# above parameters. The default "i2c_speed" is 400000.
#axes_map: x, y, z
# See the "adxl345" section for information on this parameter.
```
Expand Down Expand Up @@ -3518,14 +3600,17 @@ control: curve
# fan would run with 0.5 at 55°)
#cooling_hysteresis: 0.0
# define the temperature hysteresis for lowering the fan speed
# (temperature differences to the last measured value that are lower than
# the hysteresis will not cause lowering of the fan speed)
# (in simple terms this setting offsets the fan curve when cooling down
# by the specified amount of degrees celsius. For example, if the
# hysteresis is set to 5°C, the fan curve will be moved by -5°C. This
# setting can be used to reduce the effects of quickly changing
# temperatures around a target temperature which would cause the fan to
# speed up and slow down repeatedly.)
#heating_hysteresis: 0.0
# same as cooling_hysteresis but for increasing the fan speed, it is
# recommended to be left at 0 for safety reasons
#smooth_readings: 10
# the amount of readings a median should be taken of to determine the fan
# speed at each update interval, the default is 10
# This parameter is deprecated and should no longer be used.
```

### [fan_generic]
Expand Down Expand Up @@ -4350,17 +4435,17 @@ run_current:

### [tmc5160]

Configure a TMC5160 stepper motor driver via SPI bus. To use this
feature, define a config section with a "tmc5160" prefix followed by
the name of the corresponding stepper config section (for example,
"[tmc5160 stepper_x]").
Configure a TMC5160 or TMC2160 stepper motor driver via SPI bus.
To use this feature, define a config section with a "tmc5160" prefix
followed by the name of the corresponding stepper config section
(for example, "[tmc5160 stepper_x]").

```
[tmc5160 stepper_x]
cs_pin:
# The pin corresponding to the TMC5160 chip select line. This pin
# will be set to low at the start of SPI messages and raised to high
# after the message completes. This parameter must be provided.
# The pin corresponding to the TMC5160 or TMC2160 chip select line.
# This pin will be set to low at the start of SPI messages and raised
# to high after the message completes. This parameter must be provided.
#spi_speed:
#spi_bus:
#spi_software_sclk_pin:
Expand Down Expand Up @@ -4468,8 +4553,8 @@ sense_resistor:
#driver_BBMCLKS: 4
#driver_BBMTIME: 0
#driver_FILT_ISENSE: 0
# Set the given register during the configuration of the TMC5160
# chip. This may be used to set custom motor parameters. The
# Set the given register during the configuration of the TMC5160 or
# TMC2160 chip. This may be used to set custom motor parameters. The
# defaults for each parameter are next to the parameter name in the
# above list.
#⚠️driver_s2vs_level: 6 # Short to Supply tolerance, from 4 to 15
Expand All @@ -4480,9 +4565,9 @@ sense_resistor:
#diag0_pin:
#diag1_pin:
# The micro-controller pin attached to one of the DIAG lines of the
# TMC5160 chip. Only a single diag pin should be specified. The pin
# is "active low" and is thus normally prefaced with "^!". Setting
# this creates a "tmc5160_stepper_x:virtual_endstop" virtual pin
# TMC5160 or TMC2160 chip. Only a single diag pin should be specified.
# The pin is "active low" and is thus normally prefaced with "^!".
# Setting this creates a "tmc5160_stepper_x:virtual_endstop" virtual pin
# which may be used as the stepper's endstop_pin. Doing this enables
# "sensorless homing". (Be sure to also set driver_SGT to an
# appropriate sensitivity value.) The default is to not enable
Expand Down Expand Up @@ -5714,7 +5799,7 @@ Trad Rack multimaterial system support. See the following documents from the
TradRack repo for additional information:
- [Tuning.md](https://github.com/Annex-Engineering/TradRack/blob/main/docs/Tuning.md):
document referenced by some of the config options below.
- [Trad Rack config reference document](https://github.com/Annex-Engineering/TradRack/blob/main/docs/klipper/Config_Reference.md): contains info on additional config
- [Trad Rack config reference document](https://github.com/Annex-Engineering/TradRack/blob/main/docs/kalico/Config_Reference.md): contains info on additional config
sections that are expected to be used alongside [trad_rack].

```
Expand Down
1 change: 1 addition & 0 deletions docs/Danger_Features.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- `--rotate-log-at-restart` can be added to your Kalico start script or service to force log rotation every restart.
- [`[virtual_sdcard] with_subdirs`](./Config_Reference.md#virtual_sdcard) enables scanning of subdirectories for .gcode files, for the menu and M20/M23 commands
- [`[firmware_retraction] z_hop_height`](./Config_Reference.md#firmware_retraction) adds an automatic z hop when using firmware retraction
- [`[constants]` and `${constants.value}`](./Config_Reference.md#configuration-references) allow re-using values in your configuration

## Enhanced behavior

Expand Down
4 changes: 2 additions & 2 deletions docs/Features.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,8 @@ Kalico supports many standard 3d printer features:
speed can be monitored on fans that have a tachometer.

* Support for run-time configuration of TMC2130, TMC2208/TMC2224,
TMC2209, TMC2240, TMC2660, and TMC5160 stepper motor drivers. There
is also support for current control of traditional stepper drivers
TMC2209, TMC2240, TMC2660, TMC5160 and TMC2160 stepper motor drivers.
There is also support for current control of traditional stepper drivers
via AD5206, DAC084S085, MCP4451, MCP4728, MCP4018, and PWM pins.

* Support for common LCD displays attached directly to the printer. A
Expand Down
Loading

0 comments on commit 2a21e32

Please sign in to comment.