aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* force_move: Use strings for axes to clear in clear_homing_state()Kevin O'Connor2025-01-2114-39/+38
| | | | | | | Pass a string such as "xyz" to kin.clear_homing_state(). This makes the parameter a little less cryptic. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Pass set_position() homing_axes parameter as a stringKevin O'Connor2025-01-2116-23/+28
| | | | | | | | Use strings such as "xyz" to specify which axes are to be considered homing during a set_position() call. This makes the parameter a little less cryptic. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper_enable: Directly call clear_homing_state() on motor off eventKevin O'Connor2025-01-2110-36/+1
| | | | | | | | Call clear_homing_state() on each motor off event. This simplifies the kinematic classes as they no longer need to register and handle the motor_off event. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Add a "Professional Services" link to Contacts pageKevin O'Connor2025-01-211-0/+7
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Improve wording of main Klipper pageKevin O'Connor2025-01-212-16/+18
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* tmc2240: Allow the slope_control field to be configured via printer.cfgKevin O'Connor2025-01-102-0/+3
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* heaters: Disable heater if it appears main thread has stopped updatingKevin O'Connor2025-01-101-3/+7
| | | | | | | | | | Update the heating code to periodically check that the main thread is operating properly. This is a mitigation for some rare cases where the main thread may lockup while the background heater updating code continues to run. The goal is to detect these rare failures and disable future heater updates. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* lib: Update can2040 to v1.7.0Kevin O'Connor2025-01-102-12/+119
| | | | | | This provides improved support on rp2350 chips. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* force_move: Implement CLEAR for SET_KINEMATIC_POSITION (#6262)Dennis Marttinen2025-01-1016-46/+77
| | | | | | | | `CLEAR` clears the homing status (resets the axis limits) without turning off the motors. This is particularly useful when implementing safe Z homing in `[homing_override]` on printers with multiple independent Z steppers (where `FORCE_MOVE` can't be used). Signed-off-by: Dennis Marttinen <twelho@welho.tech>
* github: Change to upload-artifact@v4Kevin O'Connor2025-01-091-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Config for Geeetech A-series printers: A10/M/T and A20/M/T (#6767)Alexander Bazarov2025-01-032-0/+257
| | | | | | | | | | | | 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>
* z_tilt: return done when reties is 0 (#6766)KrauTech2024-12-191-1/+1
| | | Signed-off-by: Chris Krause <krautech3d@gmail.com>
* docs: Document the QUAD_GANTRY_LEVEL command in G-Codes.mdKevin O'Connor2024-12-191-0/+15
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Document Z_TILT_ADJUST RETRIES and RETRY_TOLERNACE options in G-Codes.mdKevin O'Connor2024-12-191-5/+7
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Kconfig: Simplify WANT_XXX definitionsKevin O'Connor2024-12-122-31/+26
| | | | | | | | | | | | | Use WANT_ADXL345 and WANT_MPU9250 instead of WANT_SENSOR_ADXL345 and WANT_SENSOR_MPU9250. This makes these definitions similar to the other accelerometer defintions. Order menu so accelerometers are close to each other in the menu. Simplify Makefile as Kconfig already assures a symbol will only be defined if its dependencies are met. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* angle: mt6826s added supportTimofey Titovets2024-12-124-4/+198
| | | | Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* angle: mt6816 added supportTimofey Titovets2024-12-123-9/+90
| | | | Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* ar100: disable angle sensors code in CITimofey Titovets2024-12-121-0/+1
| | | | Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* Kconfig: split sensorsTimofey Titovets2024-12-122-11/+37
| | | | Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* lib: fix rp2040_flash (#6760)BIGTREETECH2024-12-061-1/+1
| | | Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
* resonance_tester: Added a new sweeping_vibrations resonance test method (#6723)Dmitry Butyugin2024-12-056-51/+171
| | | | | This adds a new resonance test method that can help if a user has some mechanical problems with the printer. Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
* tmc2240: Correct maximum TMC2240 UART address. (#6757)Liam Powell2024-12-021-1/+1
| | | Signed-off-by: Liam Powell <liam@liampwll.com>
* display: Add support for `AIP31068` based displays (#6639)Alexander Bazarov2024-12-023-5/+241
| | | display: Add support for `AIP31068` based displays
* klippy: Fix missing default parameter of invoke_async_shutdown()Kevin O'Connor2024-12-021-1/+1
| | | | | | Allow invoke_async_shutdown() to be called with just one parameter. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Improve checksum detection in get_raw_command_parameters()Kevin O'Connor2024-12-011-1/+1
| | | | | | | Only consider a trailing '*' to indicate a checksum if the remainder of the string is a number. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Some optimizations to get_raw_command_parameters()Kevin O'Connor2024-12-011-10/+10
| | | | | | Add some minor optimizations to the get_raw_command_parameters() code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Use the same M117/M118 fixup for M23Kevin O'Connor2024-12-011-2/+2
| | | | | | | | The M23 command has similar requirements for extracting the full parameter string that M117/M118 have. Use the same code for those fixups. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Fixup M117/M118 command identification in cmd_default()Kevin O'Connor2024-12-011-7/+9
| | | | | | | | Alter gcmd._command in cmd_default if the special M117/M118 handling is detected. This avoids having to recheck for this condition in get_raw_command_parameters(). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Improve handling of extended g-code commands with '*;#' charactersKevin O'Connor2024-12-011-15/+11
| | | | | | | | | | | | The g-code command parser did not allow three characters to be passed as parameters to commands (asterisk, semicolon, pound sign). Rework the parsing code to better leverage the python shlex package so that these characters can be supported. In particular, this should allow better support for printing g-code files that have unusual characters in the filename. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Don't silently discard characters inside a command nameKevin O'Connor2024-12-012-7/+11
| | | | | | | | | | | Don't silently drop leading numbers and unusual characters at the start of a command - for example, don't interpret '99M88' as 'M88'. Don't silently drop spaces in a command - for example, don't interpret "M 101" as the command "M101". Doing so will cause other parts of the code (such as get_raw_command_parameters() ) to not work properly. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode: Validate extended g-code command namesKevin O'Connor2024-12-011-0/+4
| | | | | | | Extended g-code command names may only contain A-Z, 0-9, and underscore, and the first two characters may not be digits. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Remove arbitrary constants controlling junction deviationKevin O'Connor2024-11-291-19/+19
| | | | | | | | | | | | | | | | When calculating the junction speed between two moves the code checked for angles greater than 0.999999 or less than -0.999999 to avoid math issues (sqrt of a negative number and/or divide by zero). However, these arbitrary constants could unnecessarily pessimize junction speeds when angles are close to 180 or 0 degrees. Change the code to explicitly check for negative numbers during sqrt and to explicilty check for zero values prior to division. This simplifies the code and avoids unnecessarily reducing some junction speeds. Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Use delta_v2 when calculating centripetal forceKevin O'Connor2024-11-291-4/+5
| | | | | | | | | | | As a minor math optimization, it's possible to calculate: .5 * self.move_d * self.accel * tan_theta_d2 using: self.delta_v2 * .25 * tan_theta_d2 because self.delta_v2 is "2. * self.move_d * self.accel". Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Add spi0_gpio4_gpio3_gpio2 bus to support fysetc PITB V2 (#6683)Jessica Hunt2024-11-271-3/+24
| | | | | | | | | | | | | | | | The Fysetc PITB V2 board uses a spi bus config that is supported by the RP2040 chip, but not klipper, so this adds the relevant config to the file to allow you to run the tmc5160's on the board via hardware SPI. This resolves the issue of software spi not working on this board, which I was unable to fully understand. I have also seen other users encounter similar bus config issues with the rp2040 setting up things like accelerometers and such with this pin layout. As requested, this also uses the new convention for spi bus naming, while maintaining the old bus names for compatibility. Signed-off-by: Jessica Hunt <hunt.jessica@proton.me>
* docs: Update Measuring Resonances document with LIS2DW/LIS3DH informationWulfsta2024-11-271-8/+11
| | | | Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
* docs: Update config screenshot for rpi235x (#6748)Thijs Triemstra2024-11-271-0/+0
| | | Signed-off-by: Thijs Triemstra <info@collab.nl>
* ci-install: Run 'apt-get update' prior to 'apt-get install'Kevin O'Connor2024-11-221-0/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: update `Manual_Level.md` referenceEmmanuel Ferdman2024-11-191-1/+1
| | | | Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
* rp2040: Improve indentation in Kconfig fileKevin O'Connor2024-11-141-34/+34
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Add rp2350 to benchmarksKevin O'Connor2024-11-142-7/+20
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Add rp2350 bootrom based chipid and reboot to bootloader codeKevin O'Connor2024-11-144-9/+65
| | | | | | | This adds the bootrom code needed to implement "reboot into bootloader" and "chipid" capabilities. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Move chipid reading to bootrom.cKevin O'Connor2024-11-144-108/+120
| | | | | | | | | | | Rewrite chipid.c so that it contains just the USB and canbus id manipulation code. Move the low-level chipid reading to bootrom.c. Also, introduce a new bootrom_reboot_usb_bootloader() function in bootrom.c so that the main.c code does not need to know the specifics of rebooting into the bootrom. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* temperature_mcu: Add support for rp2350 MCUsKevin O'Connor2024-11-141-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* flash_usb: Initial support for flashing rp2350 chipsKevin O'Connor2024-11-141-4/+7
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* lib: Update rp2040_flash code to support rp2350 rebootKevin O'Connor2024-11-141-5/+15
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* lib: Update rp2040_flash to upstream picotool.git v2.0.0Kevin O'Connor2024-11-149-78/+877
| | | | | | This is in preparation for adding rp2350 flash support. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Initial rp2350 supportKevin O'Connor2024-11-146-24/+62
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Use a higher USB PLL internal frequencyKevin O'Connor2024-11-141-1/+5
| | | | | | | The rp2350 chip requires a higher internal frequency, so choose a value that works for both rp2040 and rp2350. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Avoid using memcpy() on USB dpramKevin O'Connor2024-11-141-7/+30
| | | | | | | | Some versions of the system memcpy() may make unaligned memory accesses, which can result in a bus fault when accessing the usb dpram device memory. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Rename rp2040_link.lds.S to rpxxxx_link.lds.SKevin O'Connor2024-11-133-3/+3
| | | | | | This is in preparation for rp2350 support. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>