386 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
Morton Jonuschat 8aa2ed3087 buildcommands: embed the minimal config in identify data
Generate defconfig before compile-time requests and pass it to buildcommands.py.
Store the resulting config under the identify dictionary's kconfig key so it matches the firmware.
An empty defconfig is valid when the selected board uses all default values.
Regenerate it whenever the build runs.

Signed-off-by: Morton Jonuschat <mjonuschat@gmail.com>
2026-09-08 17:59:51 -04:00
Timofey Titovets 301fa41848 klippy: Update requirements for Python 3.14
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2026-08-18 11:35:40 -04:00
Eric Callahan 430a2a8a00 spi_flash: remove invalid reference to "long"
Also remove unused "utils" import.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2026-06-12 10:19:02 -04:00
Eric Callahan 8a2da852f3 spi_flash: add support for fast SPI speeds
Some SD cards will fail to initialize at the 400KHz clock
documented in the official specification.  Add a "fast speed"
option that runs at 4MHz.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2026-06-12 10:19:02 -04:00
Kevin O'Connor ed1f9963c8 command: Try to encode messages even if space is low
Pass a maximum buffer size parameter to command_encode_and_frame() and
support encoding messages even if there may not be enough space for
the largest possible message.  In practice, most messages will encode
to a size notably smaller than their maximum so this improves buffer
utilization during heavy message traffic.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-05-25 17:27:09 -04:00
Dmitry Butyugin 4767a8ed97 motan: Added a script to export motan data as a CSV file
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-05-09 11:48:07 -04:00
Dmitry Butyugin 6fd5f822fb motan: Added support for capturing and plotting load cell data
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-05-09 11:48:07 -04:00
Dmitry Butyugin 2239041df6 calibrate_shaper: Fixed processing of max_vibrs_pcnt parameter
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-05-01 23:49:00 -04:00
Kevin O'Connor 293e1e9d58 scripts: Fix logextract "MCU shutdown" line detection
Due to recent changes, a shutdown log line may not have a description.
Update the logextract.py script accordingly.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-04-28 21:28:18 -04:00
Dmitry Butyugin ef8edf3aef shaper_calibrate: Added an option to limit remaining vibrations score
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-04-27 21:39:47 -04:00
Dmitry Butyugin db10e92e9b shaper_defs: Support parameterized shaper initialization
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2026-04-27 21:39:47 -04:00
Robert Schiele 29e2652777 katapult: Update flash_can.py to succesor tool flashtool.py
This updates the outdated CanBoot flash_can.py with the latest
version of Katapult flashtool.py, which should be fully backwards
compatible.

Signed-off-by: Robert Schiele <rschiele@gmail.com>
2026-04-08 15:03:28 -04:00
Maksim Bolgov c65d1a28e8 motan: Support capturing lis3dh accelerometer data
Signed-off-by: Maksim Bolgov <maksim8024@gmail.com>
2026-04-08 15:00:44 -04:00
Kevin O'Connor 54c7b65d5d motan: Support capturing bmi160 and icm20948 accelerometer data
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-02-24 10:05:21 -05:00
Kevin O'Connor 3aa56f3bd0 motan: Rename "adxl345" dataset to "accelerometer"
Make it possible to use other types of accelerometers in the
motan_graph.py tool.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-02-24 10:05:21 -05:00
Kevin O'Connor 43b2d55d9b motan: Don't default to subscribing to all sensors in data_logger
Subscribing to all sensors can cause a burden on the MCU communication
channels.  Add a new '-s' command line option to data_logger.py that
allows a user to request the subscriptions that they wish to capture.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-02-24 10:05:21 -05:00
Timofey Titovets 60b6271c98 motan: print avaliable keys on error
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2026-02-23 21:38:57 -05:00
Kevin O'Connor bb96318725 ci-install: Install scipy/numpy in github regression test case environment
This is in preparation for enhanced load_cell test cases which require
these packages.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-01-20 11:34:21 -05:00
Kevin O'Connor e590bc87d8 spi_flash: Don't import mcu module
Avoid using mcu.CommandQueryWrapper() and mcu.CommandWrapper()
classes.  Instead, implement local variants of these classes.  This
will make it easier to modify the mcu classes without fear of breaking
the spi_flash code.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2026-01-20 11:34:21 -05:00
Markus Küffner 2cc3608945 buildcommands: retrieve version from klippy version file (#7134)
Signed-off-by: Markus Küffner <kueffner.markus@gmail.com>
2025-12-30 10:15:35 -05:00
Dmitry Butyugin 2aff840f68 shaper_calibrate: Reworked multi-file shaper autocalibration
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2025-11-21 17:48:56 -05:00
Timofey Titovets b4c7cf4a33 analyzers: define sos filter
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2025-11-17 19:37:09 -05:00
Timofey Titovets 63ae0d7df4 analyzers: label undefined derivatives
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2025-11-17 19:37:09 -05:00
Kevin O'Connor 9117c09037 graphstats: Set MAXBUFFER=1
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-10-10 11:07:50 -04: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 c98527ff00 docs: Updated the docs to the latest shaper changes and fixed typos
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2025-10-04 13:07:49 -04:00
Dmitry Butyugin d825d43108 scripts: Updated graph_shaper.py script
The change removes the shapers defined there in favor of the
standard ones and makes the script a lot more configurable
via command-line arguments.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2025-10-04 13:07:49 -04:00
Sezgin AÇIKGÖZ a683ef3503 spi_flash: add timestamp to firmware filenames on sdcard upload (#7063)
Some Creality bootloaders skip flashing if the firmware filename is
unchanged. By appending a timestamp to the firmware filename during
sdcard upload, each update generates a unique name, ensuring that
the bootloader always accepts and flashes the new firmware.

Signed-off-by: Sezgin AÇIKGÖZ <sezginacikgoz@mail.com>
2025-09-29 20:24:13 -04:00
C0co 7ed7791723 spi_flash: Update board_defs.py (#7006)
Added X-Smart3, X-Plus3 and X-Max3 mainboards

Signed-off-by: Phil Groenewold <philgroenewold@gmx.de>
2025-08-21 11:32:33 -04:00
Ben Lye cfc58d3ce7 spi_flash: Add qidi-x7 to board_defs.py (#6979)
Added board definition for stm32f401xc-based Qidi X-7 board used in Qidi Q1 Pro and Plus4.

Signed-off-by: Ben Lye <ben@lye.co.nz>
2025-08-11 17:49:35 -04:00
Burrito e1176e4dfb spi_flash: Add ZNP Robin Nano v2.2 to board defs (#6986)
Adds support for the ZNP Robin Nano DW v2.2 board, used in the Neptune 3
Pro/Plus/Max.

Signed-off-by: Zyjay Cruz <burrito@burrito.software>
2025-07-28 18:25:48 -04:00
Sasquatch 4a567c8d10 spi_flash: FATFS fix missing long filenames support needed by flash-sdcard.sh (#6981)
enable long file support, needed for boards using swspi and long filenames for firmware like mks robin 1.1/1.2

added MKS robin nano 1.2 board with description what and why

Signed-off-by: Leszek Zajac <zajc3w@gmail.com>
2025-07-27 12:09:11 -04:00
Thijs Triemstra 60879fd298 klippy: fix typos in python code (#6989)
Signed-off-by: Thijs Triemstra <info@collab.nl>
2025-07-25 12:31:19 -04:00
Timofey Titovets 9323a5dfe2 readlog.py: add support for stallguard data
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2025-07-12 16:17:22 -04:00
Timofey Titovets b724b3a348 data_logger.py: add tmc/stallguard_dump endpoint
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2025-07-12 16:17:22 -04:00
Kevin O'Connor 5666b88c69 ar100: Convert to or1k-elf toolchain
The more.musl.cc site is blocking downloads from all github actions,
which makes it difficult to use that site for the ar100 cross build
toolchain.  Convert to the openrisc or1k-elf toolchain as a
replacement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-06-08 14:15:50 -04:00
Kevin O'Connor aa3388cc59 klippy-requirements: Update setuptools revision to 78.1.1
A security vulnerability was found in setuptools - increase package
dependency to fixed version.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-06-02 13:31:17 -04:00
Gareth Farrington f6d878a898 filter_workbench: Add Filter Workbench
Add a filter workbench Jupiter notebook to help printer developers tune filters based on probing data

Signed-off-by: Gareth Farrington <gareth@waves.ky>
2025-05-29 19:10:51 -04:00
Kevin O'Connor 1af219fad6 klippy_requirements: Update dependencies to support Python v3.13
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-05-12 21:51:53 -04:00
Kevin O'Connor 1cc6398074 klippy-requirements: Add comments to each of the requirements
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-05-02 13:52:20 -04:00
Eric Callahan 1e045e8ee0 build: add msgspec python requirement
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-05-02 12:19:13 -04:00
Timofey Titovets 2e82fc4790 spi_flash: fix hw bus
_try_send_command() expects a list of args,
But receives a string.

Fixes abc76ee963.

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2025-04-28 15:58:55 -04:00
Timofey Titovets bfda326c24 spi_flash: fix spi bus switch (#6906)
Fixes abc76ee963.

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2025-04-20 11:39:24 -04:00
Kevin O'Connor 4e7fcc2704 check-software-div: Add a new build check for software divide
Update the build checks to include a check for unexpected software
divide operations.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-04-17 12:09:19 -04:00
Timofey Titovets abc76ee963 software_spi: set rate limiting ticks from the host
Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
2025-04-17 11:37:12 -04:00
Kevin O'Connor 5493bdfb48 ci-install: Use prebuilt pru gcc binaries
Don't build the pru binaries directly in the build test cases, instead
use the upstream binaries provided.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-04-08 23:34:17 -04:00
JamesH1978 508c28e689 spi_flash: Update board_defs.py - BTT Octopus Max EZ (#6817)
Addition to the board_defs file for the BTT Octopus Max EZ, written and confirmed by discord user Nikki @winningfaith81

Signed-off-by: James Hartley <james@hartleyns.com>
2025-02-15 13:04:57 -05:00
Kevin O'Connor 01b0e98ab2 klippy-requirements: Require setuptools on python 3.12
The python-can v3.3.4 package requires setuptools to be an explicit
dependency when run on python v3.12, but there is no single version of
setuptools that runs on all supported versions of python.  So, tie
setuptools to python versions 3.12 or later.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-02-02 20:53:33 -05:00
Kevin O'Connor f2e69a3703 ci-install: Run 'apt-get update' prior to 'apt-get install'
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-11-22 14:59:40 -05:00