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>
Break listing up by module name. Provide links to "extended"
commands. Sort reference by module name.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Many non-English speaking countries use a comma as a decimal separator for printed numbers. This can create some confusion in documentation and config files when not surrounded by contextual clues like parenthesis. Improve documentation by adding spaces to coordinates.
Signed-off-by: Paul McGowan <mental450@gmail.com>
Changing motor current may itself introduce unwanted motor movement.
As such, document that specifying a hold_current is not recommended.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
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>
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>
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>
The code automatically reduces the hold_current so that it is no
greater than the run_current. However, this could lead to confusing
behavior if one reduced and then increased the run_current via
SET_TMC_CURRENT commands. To avoid that, this change adds support for
tracking the requested hold_current - thus changes to run_current
don't subtly alter the hold_current.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
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>
Support endstops and probes attached to a different micro-controller
than their associated steppers.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Allows contoller_fan sections to monitor only certain steppers instead of
all of them, similar to how heaters are currently handled.
Signed-off-by: Sophie Hirn <sophie.hirn@wyvernscale.com>
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>
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>
To support continuous belt printing, add nestable repeat
loop support via an `[sdcard_loop]` module.
Supported G-Code:
- SDCARD_LOOP_BEGIN COUNT=n ; Loop for N times, or infinitely if N is 0
- SDCARD_LOOP_END ; End of loop
- SDCARD_LOOP_DESIST ; Complete all loops without iterating
Marlin M808 compatibility example in `config/sample-macros.cfg`:
- M808 Ln ; Loop for N times, or infinitely if N is 0
- M808 ; End of loop
- M808 K ; Complete all loops without iterating
Added unit tests in test/klippy/sdcard_loop.test
See https://reprap.org/wiki/G-code#M808:_Set_or_Goto_Repeat_Marker
Signed-off-by: Jason S. McMullan <jason.mcmullan@gmail.com>
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>
Module which bring support for P2 devices running in connected mode. This enables using a Palette2 directly with Klippy without Octoprint, or without Palette2 plugins for Octoprint which are not functional out of the box with Klipper.
Signed-off-by: Clifford Roche <clifford.roche@gmail.com>
This adds support for BMP280 and BME680 sensor ICs,
along with fixing calibration data readout for BME280.
Gas sensor readout for the BME680 is just the raw compensated value.
To get actual meaningful values, more research is needed.
Signed-off-by: Michael Kurz <michi.kurz@gmail.com>
Add functionality to support a Filament Motion Sensor for detecting extruder jams as well as runouts. Works by an encoder toggling the switch_pin 0/1 as the filament is pulled through the sensor.
Signed-off-by: Joshua Wherrett <thejoshw.code@gmail.com>
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>
This adds new config options for fans: 'tachometer_pin' to specify the
GPIO pin, and 'tachometer_ppr' (default 2) to specify the number of
signal pulses per revolution. The rpm is also exposed by get_status for
command templates and the API server. For fast fans (at least 10000
RPM), the polling interval can be shortened using the
'tachometer_poll_interval' option.
There is a new mcu object for a generic edge counter, which repeatedly
polls a GPIO pin and periodically reports the count to the host.
Signed-off-by: Adrian Keet <arkeet@gmail.com>
This patch adds the ability to daisy-chain multiple tmc2130 and
tmc5160 drivers.
Signed-off-by: Marco D'Alessio <marco@wrecklab.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Initial commit of code to support 1-wire (Dallas) sensors such
as the DS18B20. Requires Linux kernel drivers to create a file
in /sysfs which is read by this module, and temperature
typically returned to a temperature_fan.
Signed-off-by: Alan Lord <alanslists@gmail.com>
Signed-off-by: Josh Headapohl <joshhead@gmail.com>
Add support for automatically calculating the internal step_distance
from new config parameters - rotation_distance, microsteps,
full_steps_per_rotation, and gear_ratio.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Use javascript to fixup the "github pages" rendering of links to files
outside the docs/ directory. Then use normal relative links in the
documentation.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
- remove lot of helper methods
- differentiate class instantiate from config or directly
- don't use 'enable' template rendering when static value is used.
- new element 'disabled'
- other internal adjustments
Signed-off-by: Janar Sööt <janar.soot@gmail.com>
Add an 'mcu' option to the board_pins config and use that to specify
the name of the mcu to apply the aliases to. Support applying the
aliases to multiple mcus.
Add support for any number of options starting with an "aliases_"
prefix.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Move all the config reference information from files in the config/
directory to a new Config_Reference.md document.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>