325 Commits
Author SHA1 Message Date
Uriah Kessman 2d9c7feff2 tmc5262: Add TMC5262 stepper driver
Add SPI access, internal-clock PLL setup, integrated-current-sense
current control, SpreadCycle, temperature reporting, and standard TMC
fault and status helpers. Check the PLL whenever registers are restored
and clear the phase offset when reinitializing the PLL.

Document the new configuration and include a Klippy regression case.
Derived from the GPLv3 TMC5262 driver by Rogerio Goncalves in Kalico.

Signed-off-by: Rogerio Goncalves <rogerlz@gmail.com>
Signed-off-by: Uriah Kessman <fishyfabspnw@gmail.com>
2026-10-18 22:27:41 -04:00
沐枫 8cdfdd98c0 load_cell: add CS1237 support (#7370)
Signed-off-by: Xiaoyue Cui <2508041672@qq.com>
2026-09-18 22:30:57 -04:00
Morton Jonuschat a2954d22c3 test: disable neopixel on stm32f042
Embedding the minimal Kconfig in the identify dictionary pushed the
stm32f042 regression build past its 32KiB flash limit on older
toolchains. Disabling NeoPixel support frees enough space to fit.

Signed-off-by: Morton Jonuschat <mjonuschat@gmail.com>
2026-09-08 17:59:51 -04:00
Lev Voronov ccbc7d8501 test: add n32g45x mcu build tests
The n32g45x had no build coverage. Add a USB and a CAN config so CI
compiles both the 96MHz and 128MHz clock paths.

Signed-off-by: Lev Voronov <minicx@disroot.org>
2026-09-08 11:34:13 -04:00
Timofey Titovets f0892d82b0 load_cell_probe: Workaround move out of range for G28 Z
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2026-08-27 20:25:25 -04:00
Kevin O'Connor 6376b18341 test: Add a smart_effector test case
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-05-25 17:08:34 -04:00
Dmitry Butyugin e5394f3069 ads131m0x: Added ADS131M02 and ADS131M04 sensors support (#7264)
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-05-23 19:30:38 -04:00
Kevin O'Connor 455ef070e8 z_tilt: Use solve_linear_equations() instead of coordinate_descent()
It's simpler and more accurate to use linear least squares.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-05-14 12:38:21 -04:00
Kevin O'Connor ef7b13b1f2 probe_eddy_current: Add new PROBE_EDDY_CURRENT_TAP_CALIBRATE command
Add a command to help configure the tap_threshold parameter.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-05-01 23:39:15 -04:00
Kevin O'Connor 460ee78340 probe_eddy_current: Rework tap_threshold to use hz/mm
Rework the tap_threshold to use units of hz/mm (instead of hz).  This
will make it easier to implement tap calibration based on results of
PROBE_EDDY_CURRENT_CALIBRATE and previous tap attempts.  It can also
make the tap_threshold more stable with different probe speeds and
sensor rates.

As a result of this change, existing user configurations will need to
be updated.  It is hoped that existing configurations will have a
value that is sufficiently low that they will reliably get an error
until they can recalibrate.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-05-01 23:31:17 -04:00
Dmitry Butyugin 530cd05122 input_shaper: Added documentation and tests for customizable parameters
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-04-27 21:39:47 -04:00
Neelix 373f200ca6 polar: add velocity scaling (#7172)
Print near the origin lead in to fast motor movements, therefore the
movement needs to be scaled down. The start of the scaling is done via
a rotation velocity limit from the config.

Signed-off-by: Nils Hensch <nils.hensch@gmx.de>
2026-04-16 10:52:33 -04:00
Kevin O'Connor 20df766e21 probe_eddy_current: Rename config option z_offset to descend_z
The config option 'z_offset' name is confusing as its behavior is
notably different from how other probe hardware uses 'z_offset'.
Rename to 'descend_z' to make its behavior more clear.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-03-24 13:07:19 -04:00
Kevin O'Connor a44e905ffe trigger_analog: Support not compiling trigger_analog on small flash builds
Allow the user to deselect CONFIG_WANT_TRIGGER_ANALOG even if one of
the sensors could utilize the support.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-02-23 21:24:38 -05:00
Dmitry Butyugin 187481e251 dual_carriage: Allow dual carriage inactivation
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-02-19 21:37:18 -05:00
Dmitry Butyugin 4c89f7f826 generic_cartesian: Full IQEX printers support (#7165)
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-02-04 16:54:05 -05:00
Kevin O'Connor 5c23f9296a probe_eddy_current: implement tap support
Use SOS filters + derivative filter to generate dF/dT on mcu.
Feed that to the MCU's trigger_analog peak detection.
Interpret peak time as a tap event

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2026-01-29 20:57:55 -05:00
Kevin O'Connor 4d9d57c0bd test: Add a bed_mesh test case
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-01-26 18:40:48 -05:00
Kevin O'Connor 3c56eb7f6f load_cell_probe: Enhance regression test case
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-01-21 12:06:27 -05:00
Kevin O'Connor 8be004401e probe_eddy_current: Implement regression test case
Update the code to support simple regression test cases.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-01-20 11:34:21 -05:00
Kyoungkyu Park dd625933f7 avr: add lgt8f328p support
Signed-off-by: Kyoungkyu Park <choryu.park@choryu.space>
2025-12-30 21:51:15 -05:00
Dmitry Butyugin 79189203e2 generic_cartesian: Added option 'axis' for primary carriages
This also enables arbitrary using names for primary carriages
with generic_cartesian kinematics.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2025-11-25 18:12:43 -05:00
Dmitry Butyugin ec82cee7fc resonance_tester: Support testing resonances over Z axis
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2025-10-04 19:50:34 -04:00
Dmitry Butyugin caf7accf2d input_shaper: Z-axis input shaper
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2025-10-04 19:50:34 -04:00
Dmitry Butyugin 768b19e8be input_shaper: Limit maximum damping_ratio of the shapers
Numerically optimized versions of *EI shapers have been tuned
for specific ranges of damping ratios and will show poor stability
outside of these designated ranges.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2025-10-04 13:07:49 -04:00
Timofey Titovets 58e179d128 filament_motion_sensor: define tests
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2025-09-04 14:20:25 -04:00
Kevin O'Connor 179a56ce92 gcode_move: Fix M114 when extra axes are defined
Commit d40fd219 added support for defining extra axes, however that
change could break the M114 command.  Update the code to fix M114.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-08-31 12:19:43 -04:00
Kevin O'Connor 371647109f test: Add a long move test to manual_stepper.test
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-08-20 16:47:32 -04:00
Kevin O'Connor 3ef760c18f toolhead: Remove support for max_accel_to_decel
This support was deprecated on 20240313.  Remove the remaining
compatibility code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-08-11 19:14:37 -04:00
Kevin O'Connor 354b1e666b pca9632: Remove custom software i2c - use normal mcu software i2c instead
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-07-22 14:04:50 -04:00
Kevin O'Connor 7201f41664 manual_stepper: Support registering as an additional axis
Add a new G-Code command that can register a manual_stepper as an
additional axis on standard G-Code G1 commands.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-05-12 20:15:03 -04:00
Dmitry Butyugin 89ffbbed4c dual_carriage: Fixed broken safe_distance parameter
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2025-05-07 14:23:39 -04:00
Dmitry Butyugin cc6736c3e3 kinematics: Generic Cartesian kinematics implementation (#6815)
* tests: Added a regression test for generic_cartesian kinematics

* kinematics: An intial implementation of generic_cartesian kinematics

* generic_cartesian: Refactored kinematics configuration API

* generic_cartesian: Use stepper instead of kinematic_stepper in configs

* generic_cartesian: Added SET_STEPPER_KINEMATICS command

* generic_cartesian: Fixed parsing of section names

* docs: Generic Caretsian kinematics documentation and config samples

* generic_cartesian: Implemented multi-mcu homing validation

* generic_cartesian: Fixed typos in docs, minor fixes

* generic_cartesian: Renamed `kinematics` option to `carriages`

* generic_cartesian: Moved kinematic_stepper.py file

* idex_modes: Internal refactoring of handling dual carriages

* stepper: Refactored the code to not store a reference to config object

* config: Updated example-generic-cartesian config

* generic_cartesian: Restricted SET_STEPPER_CARRIAGES and exported status

* idex_modes: Fixed handling stepper kinematics with input shaper enabled

* config: Updated configs and tests for SET_DUAL_CARRIAGE new params

* generic_cartesian: Avoid inheritance in the added classes

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2025-05-06 18:06:36 -04:00
Kevin O'Connor 4aa2250221 test: Disable all additional features in atmega328 build
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-04-16 15:24:05 -04:00
Kevin O'Connor d98abfc5db Kconfig: Replace WANT_DISPLAYS with individual options
Support setting WANT_ST7920 and WANT_HD44780 individually.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-04-16 13:54:39 -04:00
Kevin O'Connor c3c64adc32 Kconfig: Replace WANT_GPIO_BITBANGING with individual options
Support setting individual options instead of one global option (
WANT_BUTTONS, WANT_TMCUART, WANT_NEOPIXEL, WANT_PULSE_COUNTER,
WANT_HX71X).

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-04-16 13:54:27 -04:00
Kevin O'Connor d96bb6ca82 test: Disable optional features in atmega328 build
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-04-16 13:19:54 -04:00
Kevin O'Connor 3c1bf4ccfe test: Add rp2350 build to test cases
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-02-26 20:28:50 -05:00
Alexander Bazarov 8a3d2afd79 config: Config for Geeetech A-series printers: A10/M/T and A20/M/T (#6767)
Based on few configs found on the discourse forum, facebook groups.
In addition, using official schematics from:
https://www.geeetech.com/download.html
https://github.com/Geeetech3D/Diagram/files/8199212/GT2560V4.1BSCHA20T.pdf

Contains macros for filament mixing based on:
https://klipper.discourse.group/t/mixing-color-support/2246/12
https://klipper.discourse.group/t/mixing-hotend-m163-emulation/11423/2

Signed-off-by: Alexander Bazarov <oss@bazarov.dev>
2025-01-03 09:32:07 -05:00
Timofey Titovets 896343d943 ar100: disable angle sensors code in CI
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2024-12-12 14:28:45 -05:00
Kevin O'Connor 906431bb00 rp2040: Rename CONFIG_RP2040_yyy Kconfig symbols to CONFIG_RPXXXX_yyy
Rename the Kconfig symbols.  This is in preparation to adding support
for the rp2350 mcu.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-13 14:25:59 -05:00
Lieven Vanhercke a34034494e config: Added board config for Mellow Fly E3 v2 (#6682)
Signed-off-by: Lieven Vanhercke <lieven.vanh@gmail.com>
2024-11-06 19:58:16 -05:00
Kevin O'Connor 293858c51f hx71x: Avoid base classes to improve python2 compatibility
Also, add a load_cell regression test case.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-09-12 13:15:01 -04:00
Dmitry Butyugin ba2a149e9a idex_modes: Improved restoring position in RESTORE_DUAL_CARRIAGE_STATE
Previous implementation could crash the idex carriages into each other.
The new code moves the idex carriages together, eliminating this risk
and decreasing the time needed to restore the carriages positions.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2024-08-03 14:40:52 -04:00
Gareth Farrington 055f07c638 ads1220: Add ADS1220 bulk sensor to load_cell
Add support for the ADS1220 as an alternative to HX71x that supports SPI and higher sample rates.

Signed-off-by: Gareth Farrington <gareth@waves.ky>
2024-07-31 21:22:33 -04:00
Gareth Farrington c0095812ff hx71x: Load Cell Skeleton and HX71x bulk ADC
* Create the load_cell host module skeleton to create the sensors and start taking samples.
* Add support for the HX717 and HX711 ADC sensors.

Signed-off-by: Gareth Farrington <gareth@waves.ky>
2024-07-31 21:22:06 -04:00
Dmitry Butyugin c84d78f3f1 extruder: Allow dynamic adjustment of pressure advance (#6635)
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2024-07-11 14:43:21 -04:00
elmo 4d21ffc1d6 config: Adds support for the Tronxy Crux1 printer (#6627)
Signed-off-by: Louis West <lowest@mailbox.org>
2024-06-27 12:59:48 -04:00
Jayofelony 6cd174208b config: Add Artillery Genius Pro config (#6604)
Signed-off-by: Jeroen Oudshoorn <oudshoorn.jeroen@gmail.com>
2024-05-27 20:57:42 -04:00
Elias Bakken 3078912f1d stm32: STM32F031 updates (#6607)
Add support for STM32F031x6 which is the 32 KB version of the STM32F031 MCU.

Add new I2C bus variant.

Signed-off by: Elias Bakken <elias@iagent.no>
2024-05-25 15:47:48 -04:00