aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras
Commit message (Collapse)AuthorAgeFilesLines
* tmc: Do not override tcoolthrs if it is configuredAlex Voinea2023-03-151-10/+8
| | | | | | | | | | | If tcoolthrs is configured (not the default 0), then do not force the value of tcoolthrs=0xfffff during homing. This way, tcoolthrs can be set to a custom value during homing. `tpwmthrs` and `en_pwm_mode`/`en_spreadcycle` are now also correctly restored if they were changed after startup. Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
* tmc: Enable `multistep_filt` for drivers that support itAlex Voinea2023-03-152-0/+2
| | | | | | | `multistep_filt` was not configured at all on tmc2240 and tmc5160. As such, it would default to the value of 0 when the GCONF field was sent to the driver. However, that field has a default value of 1 in the driver, so klipper was overriding the defaults by accident. This field improves the stability of velocity based thresholds (it's effectively TSTEP filtering) and it also improves the current regulation stability in stealthchop2 (according to the datasheet). This field was already set to 1 correctly in the tmc2208/tmc2209 driver code. Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
* tmc2209: Remove duplicate `pdn_disable` initializationAlex Voinea2023-03-151-1/+0
| | | Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
* probe: expose name on status reportPedro Lamas2023-03-141-1/+2
| | | | Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
* probe: Allow overriding horizontal_move_z on gcodeLasse Dalegaard2023-03-141-1/+5
| | | | Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
* tmc: Beautify initialization codeAlex Voinea2023-03-074-5/+19
| | | | | Purely esthetic. Make all tmc driver init code similar to one another. The various fields were grouped based on the register which they affect or the function they perform. Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
* tmc5160: allow changing the globalscaler at runtimeAlex Voinea2023-03-071-10/+12
| | | | | | | | | Previously, the globalscaler was calculated during the config parsing and set to a fixed value. If the current was changed for any reason after the initialization, only IRUN and IHOLD would be changed. This however caused issues: - If the new current was lower, then the resolution of the possible current values would be low since there are only 32 IRUN/IHOLD steps. - If the new current was higher, it wouldn't actually work since IRUN and IHOLD are capped at 31, so it wouldn't be possible to increase the current without increasing globalscaler. With this commit, the globalscaler is recalculated whenever necessary in order to ensure the correct range of IRUN/IHOLD is used. Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
* tmc: Fix s2vs field formattersAlex Voinea2023-03-072-2/+6
| | | | | Rename the field formatter text for tmc2208/tmc2209 and implement it also for tmc5160. Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
* tmc2240: initial implementationAlex Voinea2023-03-013-2/+401
| | | | | Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper_enable: report statusPedro Lamas2023-02-131-0/+4
| | | | Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
* screws_tilt_adjust: status result as dictionaryPedro Lamas2023-02-031-6/+7
| | | | Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
* bed_mesh: do not load a profile on startupEric Callahan2023-02-011-5/+0
| | | | | | | Some users may not desire this behavior and others may wish to initialize to a profile not named default. Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* replicape: Only call note_pwm_enable() in main threadKevin O'Connor2023-01-171-11/+17
| | | | | | | | The pca9685_pwm set_pwm() code can be called from a background thread (when the pin controls a heater). Propagate updates to the main thread for enable tracking. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* z_tilt: Improve python3 compatibilityKevin O'Connor2023-01-171-1/+1
| | | | | | | | | Sort using comparison on only first item in list to avoid greater/less than comparison of stepper objects (which causes an error on Python3). Reported by discourse user salbang. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* palette2: Fix errors with bad handling of NoneType in a few locationsClifford Roche2022-12-311-5/+6
| | | | | | Issue specific to Python 3, NoneType is being used to compare heartbeat time (actually caused by invalid condition operator), and by returning NoneType in timer functions. Signed-off-by: Clifford Roche <clifford.roche@gmail.com>
* tmc: Configurable microstep lookup table (#5920)Alex Voinea2022-12-213-4/+71
| | | | | | | Make all the microstep lookup table registers configurable via the config file. It also loads the default values. TMC220x and TMC2660 do not support this feature. Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
* manual_probe: Add Z_OFFSET_APPLY_ENDSTOP for deltajanherich2022-12-191-0/+45
| | | | | | | | | | Current Z_OFFSET_APPLY_ENDSTOP command only works for printers with cartesian architecture which have separate Z axis defined. But this functionality (persisting Z babystep value to endstops) is exactly as convinient for delta printers, therefore this PR implements it. Signed-off-by: Jan Herich <jan.herich@gmail.com>
* bed_mesh: Allow bedmeshing at 1mm spaced intervals (#5918)Keyan Mobli2022-12-191-1/+1
| | | Signed-off-by: Keyan Mobli <keyan@kmobli.com>
* screws_tilt_adjust: Add get_status() method (#5921)theophile2022-12-171-0/+14
| | | Signed-off-by: Christopher Meredith <chmeredith@gmail.com>
* gcode_arcs: Allow either one of I, J, K to be default-zero on G2/G3 (#5939)maze2022-12-141-1/+1
| | | Signed-off-by: Wijnand Modderman-Lenstra <maze@pyth0n.org>
* save_variables: Verify filename path is writeable at startupJustin Schuh2022-12-111-0/+2
| | | | Signed-off-by: Justin Schuh <code@justinschuh.com>
* gcode_arcs: No need to import gcode module to access Coord()Kevin O'Connor2022-12-111-6/+8
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* gcode_arcs: support XY, XZ and YZ planesAndrew Mirsky2022-12-111-28/+73
| | | | | | | add G17, G18 and G19 commands to select arc planes enhance G2/G3 to support arc moves in XY, XZ and YZ planes Signed-off-by: Andrew Mirsky <andrew@mirsky.net>
* stm32: add STM32H723 supportbigtreetech2022-12-021-0/+6
| | | | | Signed-off-by: Chen.BJ from BigTreeTech chenbj@biqu3d.com Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32g4: implement build,usb,can,i2c,spi,serial,adc.Matt Baker2022-12-021-0/+1
| | | | Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
* safe_z_home: Fix final z hop to use relative z coordinates (#5879)redstone992022-11-221-1/+4
| | | | | | | | | | | After a G28 z-axis homing, there is a final z hop. It was hoping to height z_hop as an absolute z height rather than relative. If the z-axis home leaves the head at a z height higher than z_hop, e.g. because you were using a probe to do z homing, this meant that it was z hopping in the negative z direction, which could result in crashing the toolhead. Signed-off-by: Joshua Redstone <redstone@gmail.com>
* mpu9250: add MPU6500 (#5767)Yifei Ding2022-11-191-4/+14
| | | Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
* bed_mesh: disallow null profile namesEric Callahan2022-11-111-0/+6
| | | | Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* menu: Conditional display of common Control utilsGrigi2022-11-031-3/+24
| | | | | | | | | | This will hide features in the Klipper Display menu that isn't applicable for the machine, therefore we can add extra alignment tools in the Control menu as well. Also conditionally displays Setup/Calibration options. Signed-off-by: Nickolas Grigoriadis <nagrigoriadis@gmail.com>
* adxl345: Apply correct scaling for X,Y and Z axesDmitry Butyugin2022-10-251-3/+4
| | | | | | | | According to ADXL345/ADXL343 datasheets, at 3.3V supply voltage, which is most frequent in the various boards, the sensitivity of X and Y axes changes to 265 LSB/g from 256 LSB/g at 2.5V. Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
* atsamd: Add Kconfig definitions for same51j19 and same54p20 chipsKevin O'Connor2022-10-131-2/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* print_stats: add `SET_PRINT_STATS_INFO` G-Code for pass slicer variables to ↵Stefan Dej2022-10-051-1/+28
| | | | | | | Klipper (#5726) This adds a gcode command that can be used insight the slicer to pass the total layer count and current layer information. Signed-off-by: Stefan Dej <meteyou@gmail.com>
* z_thermal_adjust: get_temp hotfixalchemyEngine2022-09-301-0/+6
| | | | | | | M105 expects get_temp method. Module crashes when gcode_id parameter is set and M105 called. Add methods as hotfix. Signed-off-by: Robert Pazdzior <robertp@norbital.com>
* z_thermal_adjust: Add Z thermal adjuster module (#4157)alchemyEngine2022-09-251-0/+183
| | | | | | Use a frame-coupled temperature probe to compensate for thermal expansion in real-time. Signed-off by: Robert Pazdzior <robertp@norbital.com>
* thermocouple: Only shutdown on multiple consecutive sensor errorsKevin O'Connor2022-09-231-6/+10
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* spi_temperature: Separate out fault handling from temperature calculationKevin O'Connor2022-09-231-26/+35
| | | | | | | Introduce a new handle_fault() method to handle processing of sensor faults. This simplifies the calc_temp() methods. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* thermocouple: Report fault information in fault fieldKevin O'Connor2022-09-231-6/+6
| | | | | | | Send the fault information explicitly in the query_thermocouple fault field for max6675, max31855, and max31865. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32l4: add stm32l412 support with adc,i2c,spi,usbMatt Baker2022-09-151-0/+1
| | | | Signed-off-by: Matt Baker <baker.matt.j@gmail.com>
* virtual_sdcard: read new lines as-isPedro Lamas2022-09-111-2/+2
| | | | Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
* tmc: Improve error on missing stepper sectionKevin O'Connor2022-09-051-0/+4
| | | | | | | | If a tmc driver can't find the stepper config section it reports a "missing microsteps" error which can be confusing. Provide a more explicit error message. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* fan: add enable_pin option (#5732)dalegaard2022-09-031-0/+11
| | | Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
* mcp4018: Add SET_DIGIPOT command to mcp4018 implementation (#5737)jake-b2022-09-021-1/+14
| | | | | | | | | Added a SET_DIGIPOT command to the mcp4018 implementation. Previously the mcp4018 was read only, and set at the time of configuration. This allows you to change the value during a print, which is needed for some older printers that need to lower the stepper current during preheating. Signed-off-by: Jake Bordens <jake@allaboutjake.com>
* extruder_stepper: Support configuring pressure advance from configDmitry Butyugin2022-09-011-0/+2
| | | | | | | Also added status report for extruder_stepper objects with the current pressure advance parameters values. Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
* save_variables: Do not write to console when variables are savedMapleLeafMakers2022-09-011-1/+0
| | | | | | | Removes a call to gcmd.respond_info which writes 'VARIABLE SAVED' to the console every time the SAVE_VARIABLE command is called. Signed-off-by: Andre LeBlanc <mapleleafmakers@gmail.com>
* palette2: Fix UART encodingClifford Roche2022-08-191-5/+8
| | | | | | Raised from issue #5645, UTF-8 encoded symbols or other unexpected symbols on the UART raise an exception which causes klipper to stop. This change support UTF-8 encoded characters (from file names) as well as ignoring unexpected bytes. Signed-off-by: Clifford Roche <clifford.roche@gmail.com>
* canbus_ids: Use 4 as the first nodeid to reduce id bitstuffingKevin O'Connor2022-07-291-1/+3
| | | | | | | Starting with nodeid 4 instead of nodeid 0 can reduce bitstuffing of the id field in common configurations. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* bed_screws: report statusPedro Lamas2022-07-281-5/+14
| | | | Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
* manual_probe: report statusPedro Lamas2022-07-211-2/+23
| | | | Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
* respond: No forced spaces (#5152)chestwood962022-06-301-1/+12
| | | Signed-off-by: Adrian Joachim <adi.joachim12@gmail.com>
* stm32: Add MCU temp for Stm32h7 (#5606)adelyser2022-06-271-0/+6
| | | | | Added mcu temperature to the stm32h7 processor. Signed-off-by: Aaron DeLyser <bluwolf@gmail.com>