aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mcu: Write a warning to the log if an incorrect mcu frequency is detectedKevin O'Connor2024-03-131-0/+14
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* heaters: Clarify reported stats after a shutdownKevin O'Connor2024-03-131-1/+6
| | | | | | | | | | The pid logic can continue after a shutdown, even though the pin commands sent to the mcu are ignored. However, this behavior can result in confusing "stats" messages in the log. Explicitly disable updates after a shutdown event so that the log statistics are more clear. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* pid_calibrate: Fix PID_CALIBRATE command when used with heater_genericKevin O'Connor2024-03-132-8/+12
| | | | | | | Make sure the SAVE_CONFIG command saves the calculated PID parameters to the correct config name. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Replace max_accel_to_decel with minimum_cruise_ratioKevin O'Connor2024-03-1310-50/+85
| | | | | | | | | The user facing max_accel_to_decel setting is complicated and confusing. Replace it with a new minimum_cruise_ratio parameter. Internally this user-facing parameter will calculate the existing low-level "accel_to_decel" mechanism. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Fix USART3 ALT pinout on STM32G0 (#6523)Attila2024-03-101-1/+1
| | | Signed-off-by: Attila Rakosi <rattila5@hotmail.com>
* config: "static_value" in [output_pin enable_pin] is deprecated (#6520)Ulf D2024-03-081-1/+1
| | | Signed-off-by: Ulf Dieckmann <1coderookie@quantentunnel.de>
* config: update Kobra Plus build instructions and fan settingsDerek Kaser2024-03-041-2/+2
| | | | Signed-off-by: Derek Kaser <derek.kaser@gmail.com>
* avr: enable small code size options for atmega32u4Jake2024-03-021-1/+1
| | | | Signed-off-by: Jake Beju <jake.beju@gmail.com>
* docs: updates BED_MESH_CALIBRATE descriptionPedro Lamas2024-02-201-5/+11
| | | | | | Adds the ADAPTIVE and ADAPTIVE_MARGIN parameters to the documentation. Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
* shaper_calibrate: Fixed crashes in SHAPER_CALIBRATE and TEST_RESONANCESDmitry Butyugin2024-02-172-12/+16
| | | | | | | Fixed crashes due to wrong parameter passed to the shaper selection function and when the custom FREQ_END is specified. Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
* scripts: Added shaper tuning parameters to calibrate_shaper scriptDmitry Butyugin2024-02-164-25/+145
| | | | | | | | | | | | | | | The added parameters include square_corner_velocity, shaper frequencies to optimize, input shapers to test, input shaper damping ratio and damping ratios to test. All these options can be useful for fine-tuning the input shapers when the default suggestions generated by the tuning script are not optimal. Also the `SHAPER_CALIBRATE` command was modified to pass some of these parameters to the shaper tuning routine. Specifically, square corner velocity and the maximum tested frequency are used to adjust shaper tuning and maximum acceleration recommendations. Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
* docs: Note removal of deprecated options in Config_Changes.mdKevin O'Connor2024-02-151-0/+8
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* bed_mesh: Remove deprecated relative_reference_indexKevin O'Connor2024-02-153-44/+6
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* extruder: Remove deprecated commands and configKevin O'Connor2024-02-153-44/+5
| | | | | | | | Remove the deprecated SET_EXTRUDER_STEP_DISTANCE and SYNC_STEPPER_TO_EXTRUDER commands. Remove the deprecated shared_heater config option. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* heaters: Remove deprecated thermistor "NTC 100K beta 3950"Kevin O'Connor2024-02-152-8/+0
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Fix typo in Skew_Correction.mdKevin O'Connor2024-02-151-1/+1
| | | | | | Reported by @streetgt. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: update BED_MESH_OFFSET descriptionEric Callahan2024-02-152-7/+17
| | | | | | Add the ZFADE parameter to the documentation. Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* bed_mesh: add ZFADE parameter to BED_MESH_OFFSETEric Callahan2024-02-151-3/+10
| | | | | | | | When a ZFADE value is passed to BED_MESH_OFFSET it is used to adjust how fade is applied. This resolves issues with fade when SET_GCODE_OFFSET is used during a tool change. Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* docs: Add required dependency to run numpy with python3 on RPI (#6491)Anders Brujordet2024-02-131-1/+1
| | | Signed-off-by: Anders Brujordet <anders@brujordet.no>
* docs: Fix typo in Probe_Calibrate.mdKevin O'Connor2024-02-091-1/+1
| | | | | | Reported by @nmattia. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* bed_mesh: fix profile_name reporting in get_status()Eric Callahan2024-01-281-10/+8
| | | | | | | | | | | | | | Adaptive meshing avoids saving the mesh after calibration to prevent users from inadvertently overwriting an existing profile with an adaptive mesh. This introduced a change in behavior of how get_status() reports the profile_name, as it can now be an empty string when a mesh is active. This patch assigns adaptive meshes a name with a unique postfix. In addition, it moves profile name tracking from the profile manager to the ZMesh class. Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* bed_mesh: fix manual mode point generationEric Callahan2024-01-281-5/+8
| | | | | | | Do not generate points for the zero_reference_position or faulty_regions when manual probing is requested. Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* virtual_sdcard: fix virtual SD file position count (#6472)Kiswich2024-01-271-1/+1
| | | Signed-off-by: Zhang Qiwei <zxy16305@gmail.com>
* bed_mesh: Implement adaptive bed mesh (#6461)voidtrance2024-01-265-4/+181
| | | | | | | | | | | | | | | | | | | | Adaptive bed mesh allows the bed mesh algorithm to probe only the area of the bed that is being used by the current print. It uses [exclude_objects] to get a list of the printed objects and their area on the bed. It, then, modifies the bed mesh parameters so only the area used by the objects is measured. Adaptive bed mesh works on both cartesian and delta kinematics printers. On Delta printers, the algorithm, adjusts the origin point and radius in order to translate the area of the bed being probe. Signed-off-by: Mitko Haralanov <voidtrance@gmail.com> Signed-off-by: Kyle Hansen <kyleisah@gmail.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Only change SPI settings while peripheral is disabledKevin O'Connor2024-01-251-0/+4
| | | | | | | Make sure to disable/enable the peripheral to ensure the clock polarity is properly set prior to a change in CS. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Load vectortable into ramKevin O'Connor2024-01-252-0/+27
| | | | | | | Load the interrupt vector table into ram at startup. This reduces the chance of a flash cache access causing timing instability. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Run all code from ramKevin O'Connor2024-01-251-2/+3
| | | | | | | Place all normal code into ram. This reduces the chance that rp2040 instruction cache misses could cause subtle timing issues. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* rp2040: Always link using rp2040_link.lds.SKevin O'Connor2024-01-252-3/+11
| | | | | | Use the rp2040 specific linker script even when using a bootloader. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* armcm_boot: Avoid invoking functions in reset_handler_stage_two()Kevin O'Connor2024-01-251-4/+28
| | | | | | | | | | Avoid calling memset() and memcpy() prior to copying the ram and clearing the bss. Also, place both ResetHandler() and reset_handler_stage_two() in an explicit ".text.armcm_boot" linker section. These changes make it easier to support targets that want to run all code in ram. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Remove support for set_pwm() cycle_time parameterKevin O'Connor2024-01-234-32/+13
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* pwm_cycle_time: New module for output pins with dynamic cycle timesKevin O'Connor2024-01-239-38/+204
| | | | | | | | | Remove support for changing the cycle time of pwm pins from the output_pin module. Use a new pwm_cycle_time module that supports setting dynamic cycle times. This simplifies the output_pin code and low-level pin update code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* output_pin: Deprecate the maximum_mcu_duration parameterKevin O'Connor2024-01-233-9/+14
| | | | | | | Advise users to configure a pwm_tool config section if checking for maximum mcu duration is required. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Remove support for "static" pinsKevin O'Connor2024-01-234-48/+9
| | | | | | | | | Update static_digital_output.py to directly configure static digital pins. There are no other users of "static" pins, so remove that support from mcu.py, replicape.py, and sx1509.py. This simplifies the low-level pin handling code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* output_pin: Deprecate static_value parameterKevin O'Connor2024-01-239-41/+42
| | | | | | | | | | | | Remove support for configuring "static" pins in output_pin module. A "static" pin only saves a few bytes of memory in the micro-controller. The savings does not justify the increased code complexity. Deprecate the static_value parameter to warn users. In the interim, a static_value parameter will set both value and shutdown_value parameters. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Remove product names from bootloader choices menuKevin O'Connor2024-01-221-7/+7
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Add 36KiB bootloader offset option (#6449)Jakub2024-01-221-0/+3
| | | | | - This offset is used by Anycubic Kobra 2 Neo bootloader Signed-off-by: Jakub Przystasz <jakub.przystasz@gmail.com>
* stm32g0: Disable internal pull-down resistors on UCPDx CCx pins, because ↵BIGTREETECH2024-01-211-0/+2
| | | | | klipper never uses UCPD (#6462) Signed-off-by: Alan.Ma from BigTreeTech <tech@biqu3d.com>
* sensor_lis2dw: No need to schedule start of bulk readingKevin O'Connor2024-01-192-53/+18
| | | | | | It's simpler and faster to enable the lis2dw in the python code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_mpu9250: No need to schedule start of bulk readingKevin O'Connor2024-01-192-108/+43
| | | | | | It's simpler and faster to enable the mpu9250 in the python code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_adxl345: No need to schedule start of bulk readingKevin O'Connor2024-01-192-53/+18
| | | | | | It's simpler and faster to enable the adxl345 in the python code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* bulk_sensor: Don't assume chip_clock is zero on start of queriesKevin O'Connor2024-01-194-9/+13
| | | | | | | Send an explicit clock query in ChipClockUpdater to seed the initial clock. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_bulk: New C file with helper code for sending bulk sensor measurementsKevin O'Connor2024-01-1913-189/+153
| | | | | | | | | | Refactor the low-level "bulk sensor" management code in the mcu. This updates the sensor_adxl345.c, sensor_mpu9250.c, sensor_lis2dw.c, and sensor_angle.c code to use the same "bulk sensor" messages. All of these sensors will now send "sensor_bulk_data" and "sensor_bulk_status" messages. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_angle: No need to send messages when stopping queriesKevin O'Connor2024-01-192-10/+4
| | | | | | Simplify the mcu code as any messages are ignored by the host anyway. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_lis2dw: No need to send messages when stopping queriesKevin O'Connor2024-01-192-25/+4
| | | | | | Simplify the mcu code as any messages are ignored by the host anyway. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_mpu9250: No need to send messages when stopping queriesKevin O'Connor2024-01-192-15/+2
| | | | | | Simplify the mcu code as any messages are ignored by the host anyway. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* sensor_adxl345: No need to send messages when stopping queriesKevin O'Connor2024-01-192-24/+2
| | | | | | Simplify the mcu code as any messages are ignored by the host anyway. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Add send_wait_ack() support to CommandWrapperKevin O'Connor2024-01-191-0/+3
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Update to mkdocs to use latest jinj2 versionKevin O'Connor2024-01-181-2/+2
| | | | | | | | There is a jinja2 security advisory on the current Jinja2 version. Klipper is not impacted by this advisory (as it does not run jinja2 on any untrusted data), but there is no harm in updating. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Rename note_kinematic_activity() to note_mcu_movequeue_activity()Kevin O'Connor2024-01-184-10/+10
| | | | | | Rename this function to make it more clear why it is called. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Rename MoveQueue class to LookAheadQueueKevin O'Connor2024-01-182-31/+33
| | | | | | | Rename this class so that is is not confused with the mcu "move queue". Signed-off-by: Kevin O'Connor <kevin@koconnor.net>