Commit Graph

125 Commits

Author SHA1 Message Date
Dmitry Butyugin a4cd0336bd
idex_modes: Fixed the case when carriages home in the same direction (#6310)
Previous version of the code assumed that dual carriages home away
from each other, which is not true on some machines, which have the
second dual carriage homing on the first carriage. The new code
correctly identifies the relative order of the carriages now.

This fixes discrepancies between the documentation and the actual
implementation of the carriages kinematic ranges calculation.

Notes about dual_carriage homing and proximity checks changes

Fixed clearing of homing state after homing in certain modes

In case of multi-MCU homing it is possible that the carriage position
will end up outside of the allowed motion range due to latencies in data
transmission between MCUs. Selecting certain modes after homing could
result in home state clearing instead of blocking the motion of the
active carriage. This commit fixes this undesired behavior.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-09-29 13:46:42 -04:00
Donna Whisnant 00b78c68cc docs: Update Config_Changes.md to reflect new SKR-3 flash-sdcard naming.
Signed-off-by: Donna Whisnant <dewhisna@dewtronics.com>
2023-08-11 20:00:36 -04:00
Dmitry Butyugin 36be1cfc51
idex_modes: COPY and MIRROR mode implementation (#6297)
COPY and MIRROR mode implementation

Correctly apply input shaper params to new dual_carriage

Added SAVE_/RESTORE_IDEX_STATE commands

Documentation updates for the new IDEX modes

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-08-01 12:23:52 -04:00
Eric Callahan 9a77d8859b docs: note rri deprecation in config_changes
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-06-20 11:48:17 -04:00
Alex Voinea 5ee72d320c tmc: Configurable `multistep_filt`
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
2023-06-16 16:38:42 -04:00
Kevin O'Connor 23bbbaa21b Kconfig: Change default CANbus frequency to 1000000
Change the default CANbus frequency from 500000 to 1000000.  A higher
frequency allows for greater data transfer rates, lower latency of
messages, and should overall be more robust.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-05-30 20:08:06 -04:00
Kevin O'Connor 5f0d252b40 docs: Minor update to Config_Changes.md dates
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-05-25 12:53:06 -04:00
Dmitry Butyugin 624d360a34 resonance_tester: Apply input shaper params on SHAPER_CALIBRATE
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2023-05-25 12:52:29 -04:00
Kevin O'Connor 22ee889f41 serialqueue: Rename stalled_bytes stat to upcoming_bytes
The stalled_bytes counter refers to the number of bytes that are not
yet eligible for transmission.  However, the naming leads to confusion
as it could be interpretted as an inability to transmit data.  Rename
to upcoming_bytes to try to avoid that confusion.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-04-07 15:17:43 -04:00
Alex Voinea bee1c67416 tmc5160: allow changing the globalscaler at runtime
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>
2023-03-07 10:55:44 -05:00
Pedro Lamas fa78e6b8fb screws_tilt_adjust: status result as dictionary
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2023-02-03 18:16:19 -05:00
Eric Callahan e3253cb79e docs: note change to bed_mesh profile behavior
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2023-02-01 11:07:16 -05:00
Kevin O'Connor cbc17a7cb6 docs: Note v0.11.0 release in Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2023-01-04 12:04:45 -05:00
JamesH1978 3cd8a72e60
spi_flash: Add SKR2 F429 chip variant to spi_flash (#5956)
Later addition of a F429 variant SKR2 was released. Changed btt-skr2 to btt-skr-2-f407 and added a new alias for btt-skr-2-f429

Signed-off-by: James Hartley <james@hartleyns.com>
2023-01-04 12:01:28 -05:00
Kevin O'Connor 9727f00e50 docs: Minor update to safe_z_home change description in Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-11-22 18:57:15 -05:00
redstone99 14eec15267
safe_z_home: Fix final z hop to use relative z coordinates (#5879)
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>
2022-11-22 18:55:43 -05:00
Kevin O'Connor b9e195f098 flash_usb: Use hexid "2e8a:0003" for rp2040 already in bootloader mode
Use a USB hex id to indicate that the device is already in bootloader
mode.  This makes the rp2040 flashing code similar to the other
boards.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-16 10:59:11 -04:00
Kevin O'Connor ea4f6d6a77 rp2040: Implement workaround for USB errata "rp2040-e5"
The rp2040 USB may not connect after a reset.  Implementation the
recommended workaround.

Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-12 11:25:57 -04:00
Kevin O'Connor 647a1cd8ca temperature_fan: Remove deprecated pid_integral_max option
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 12:10:48 -04:00
Kevin O'Connor 555ac58a3f pca9632: Add support for configurable color_order
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 11:48:25 -04:00
Kevin O'Connor a7f69caa37 docs: Note change to neopixel/dotstar API status fields
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Pedro Lamas 38b992532a display_status: stops M73 from setting progress to 0 if P missing
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-03-08 14:20:35 -05:00
Kevin O'Connor 4815a946c2 extruder_stepper: Do not default to synching with "extruder" at startup
With recent changes, the extruder_stepper may be used for new
purposes, and synchronizing to the "extruder" motion queue at startup
may become a confusing default.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-04 13:38:59 -05:00
Kevin O'Connor 2e17519a7e extruder: Deprecate old extruder commands and shared_heater config option
Deprecate SET_EXTRUDER_STEP_DISTANCE and SYNC_STEPPER_TO_EXTRUDER.
Recommend using SET_EXTRUDER_ROTATION_DISTANCE and
SYNC_EXTRUDER_MOTION.

Deprecate the extruder "shared_heater" option and reocmmend using
extruder_stepper config sections to obtain the same functionality.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-02-10 13:25:16 -05:00
Kevin O'Connor 34a1ce4837 tmc2130: Rework current selection to prefer vsense=1
It is preferable to program the tmc drivers with an irun (or cs)
setting near 31, as otherwise the driver may have reduced microstep
precision.  It was possible for the driver to be programmed with
irun=16 or irun=17 when it could have been configured with irun=31
with vsense=1 instead.  This would occur on tmc2130/tmc2208/tmc2209
drivers for values around 0.900 to 1.000 amps (when using a typical
sense_resistor settings of 0.110 Ohms).

Change the code to prefer using vsense=1 to avoid this issue.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-01-16 19:00:00 -05:00
Dmitry Butyugin 309b8e030f scripts: Migrated shaper calibration scripts to Python3
Also updated instructions to install python3-numpy and
python3-matplotlib Python packages.

Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2021-12-30 18:14:53 -05:00
Kevin O'Connor 520273e5ab stepper: Support step_pulse_duration even on TMC drivers in UART/SPI mode
Commit 689231df changed the default step_pulse_duration to 100ns for
TMC drivers that are configured in UART/SPI mode, but it failed to
document that change in Config_Changes.md and Config_Reference.md.
Update those documents to reflect that change.

Update the code so that a user may specify a custom
step_pulse_duration even on TMC drivers that are configured in
UART/SPI mode.  This may be useful for drivers that use a level
shifter on the step pin that requires more than a ~300ns to detect a
level change.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-29 16:56:29 -05:00
Yifei Ding a1af78cb83 docs: Rename Documents
Signed-off-by: Yifei Ding <yifeiding@protonmail.com>
2021-11-22 21:03:32 -05:00
Kevin O'Connor d93e21fe67 docs: Expand on default_parameter_X conversion in Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-16 11:45:30 -05:00
Kevin O'Connor c179db3d43 temperature_sensors: Deprecate "NTC 100K beta 3950" thermistor
It seems the common "beta 3950" thermistors generally follow a
temperature table defined by the new "Generic 3950" definition.  Using
a table that actually follows the "beta 3950" temperature curve is
generally less accurate.  Deprecate the existing "NTC 100K beta 3950"
definition to avoid this common issue.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-10 18:56:51 -05:00
Kevin O'Connor 4acfd8d7c8 stepper: Make step pulse duration customizable at run-time
Remove the STEP_DELAY Kconfig option and replace it with a per-stepper
step_pulse_duration printer.cfg config option.

The AVR code will continue to have optimized code to step and "unstep"
in the same function (which is automatically activated when the step
delay is 40 ticks or less).  This change removes the Kconfig option
for single function step/unstep on 32bit processors.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-04 12:06:27 -04:00
Kevin O'Connor ffeafb690b docs: Note removal of deprecated features in Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-11-02 12:45:11 -04:00
Kevin O'Connor c84956befe heaters: Change default smooth_time from 2 seconds to 1 second
A larger smooth_time results in a slower reaction time for the PID.
This increased delay can cause temperature oscillations with high
power heaters.  Many boards produce good results without any
smoothing.  So, it seems a smooth_time of 1 second is a better
default.

Reported by @ReXT3D.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-09-03 18:11:05 -04:00
Kevin O'Connor 404b64fd62 adxl345: Change default chip name from "default" to "adxl345"
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:26:36 -04:00
Kevin O'Connor e03e0e9dac adxl345: Move g-code commands to new helper class
Separate out the G-Code command handlers to a new ADXLCommandHelper()
class.  This helps separate the sensing code from the user interface
code.

Deprecate the RATE parameter of the ACCELEROMETER_MEASURE command.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-30 12:25:45 -04:00
Kevin O'Connor e37d2dee90 docs: Note config list change to Config_Changes.md
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-21 18:08:11 -04:00
Kevin O'Connor 3814a13251 homing: Calculate homing position based on trigger time
Calculate the "homing position" using the endstop trigger time instead
of the position of the steppers.

This is in preparation for multi-mcu homing.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-17 22:35:59 -04:00
Kevin O'Connor bd0185cf75 docs: Don't use section-index plugin during klipper3d.org site generation
The section-index plugin can cause some confusing navigation.  Use the
simpler site navigation for now.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-17 19:39:23 -04:00
Kevin O'Connor cf3c7cd99a avr: Rename the analog-only PE0/PE1 pins on atmega168/328 to PE2/PE3
The atmega328pb has officially named these pins as PE2 and PE3, so use
that naming scheme instead of the previous Klipper invented names.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-08-14 22:00:17 -04:00
Damien cff61605fb docs : make modifications to all md files to make them compatible with mkdocs
all markdown files must have a single H1 heading at the top.

Signed-off-by: Damien Martin <damlobster@gmail.com>

Update CNAME
2021-07-27 13:15:25 -04:00
Kevin O'Connor 103dcf27ff controller_fan: Minor updates
Document change in behavior of the controller_fan module.

Lookup heater objects in connect() event handler.

Return list of stepper names from stepper_enable.get_steppers().

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-20 10:34:14 -04:00
Kevin O'Connor d1bdde56cc samd_sercom: Specify the sercom explicitly in a config option
Do not infer the sercom from the config section name, as that
prevents one from using SPI buses on multiple samd mcus.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-07-04 09:48:45 -04:00
Kevin O'Connor 6db40df6af docs: Deprecate pid_integral_max config option
The default pid_integral_max setting should be sufficient; it's not
necessary to complicate the documentation and config to support
customization.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-06-12 13:29:11 -04:00
Kevin O'Connor 977c334e2e docs: Avoid link descriptions that span multiple lines
The Jekyll markdown renderer gets confused by links that span multiple
lines.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-28 20:58:32 -04:00
Kevin O'Connor f10247a498 gcode_macro: Deprecate default_parameter_<name>
The Jinja2 "set" directive is more flexible and easier to understand
than default_parameter_XXX parameters.  Deprecate it and encourage
using "set" as a replacement.

This also deprecates direct access to parameters via parameter name in
a macro.  Going forward, the `params` pseudo-variable must be used to
access a parameter.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-05-03 12:43:53 -04:00
Kevin O'Connor b1ea4f3bef toolhead: Do not limit SET_VELOCITY_LIMIT to values specified in config
Allow a larger velocity, accel, and square_corner_velocity than what
is specified in the config file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-04-30 11:26:19 -04:00
Kevin O'Connor dd4f2d81b6 docs: Deprecate support for the pin_map config option
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-25 10:50:56 -04:00
Kevin O'Connor c7dc3e78bf docs: Update CAN bus documents
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-13 11:33:56 -05:00
Kevin O'Connor 3ea2e4fc58 tmc2660: Do not enable SFILT by default
None of the other TMC driver enable SFILT by default and it seems
enabling SFILT may not be ideal for sensorless homing.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-03-10 12:07:18 -05:00
Kevin O'Connor f035de264f tmc: Add support for periodic checking of driver status
Check the status of all Trinamic stepper motor drivers once a second.
If the driver reports an error then invoke a shutdown.  Also log any
serious warnings.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2021-02-27 10:39:47 -05:00