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>
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>
Support endstops and probes attached to a different micro-controller
than their associated steppers.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
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>
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>
Added optional PROFILE parameter to allow bed_mesh_calibrate to
save the mesh directly into the provided profile name instead of
default. If omitted, it will be stored in default.
Signed-off-by: Randell L Hodges <rhodges@taxfodder.com>
Fix reference to neopixel color_data in status reference documentation
so the given example works as expected.
Signed-off-by: Matt Heath <hello@mattheath.com>
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>
Try to keep the host mcu_position synchronized with the
micro-controller by querying during startup and after every homing
event.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Look for lines that don't start with a list and don't start with a
space to check for the end of a list. This fixes the rendering of the
list in BLTouch.md .
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Just a quick cleanup to where I flubbed the Z_OFFSET_APPLY_ENDSTOP and Z_OFFSET_APPLY_PROBE documentation
Signed-off-by: Ben Eastep <shifting@shifting.ca>
Restore old link behavior - each document file will have a single html
file ending in the ".html" suffix.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
- Keeps the markdown inside the code blocks as is
- Logs the modified lines (mkdocs serve —verbose)
Signed-off-by: Damien Martin <damlobster@gmail.com>
whilst this line is in Measuring_Resonances.md, users following this guide for other reasons have no cause reason to read that and don't have an explanation for what they didn't know they didn't do.
Signed-off-by: Rowland Straylight <rowlandstraylight@gmail.com>
Created two new extended gcodes: Z_OFFSET_APPLY_ENDSTOP, and Z_OFFSET_APPLY_PROBE.
These use the z gcode offset to revise the probe offset, or z endstop position
allowing users to make a frequently used babystepping value permanent without
manual config editing.
Signed-off-by: Ben Eastep <shifting@shifting.ca>
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>
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>
- Add dual_carriage abilities for hybrid-corexy and hybrid-corexz
- Introduce the module idex_mode
- Fix add_stepper to the correct rail in hybrid-corexy
Signed-off-by: Fabrice GALLET <tircown@gmail.com>
Sometimes an automated filament load is implemented,
but extruder might not always extrude filament.
This adds a flag to check if this operation is possible.
Signed-off-by: Kamil Trzcinski <ayufan@ayufan.eu>
If a high UART frequency is used to communicate with TMC2208/TMC2209
drivers then it may not be possible for Klipper to communicate with
the drivers until they are reset. Note this in the troubleshooting
document.
Reported by @matthewlloyd.
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>
This is useful for macros that'd like to skip QGL if already leveled,
e.g.:
```
{% if not printer.quad_gantry_level.applied %}
QUAD_GANTRY_LEVEL
{% endif %}
```
Signed-off-by: Michael Rose <elementation@gmail.com>
neopixel: add sync param to prevent waking toolhead
dotstar: refactor to match neopixel methods and add sync parameter
Signed-off-by: Paul McGowan <mental405@gmail.com>
ADXL345 3.3v and GND pins can be wired closer to the other
pins on RPi, which is often more convenient.
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
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>
These commands were never used by the main code and are not
particularly helpful for debugging. Remove them to reduce code size -
in particular on the pru architecture.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
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>
Just a small attempt to make the build process slightly clearer
In the compilation instructions for the rPi mcu
Signed-off-by: Ben Eastep <shifting@shifting.ca>
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>
Move the reference of "printer" status fields from
Command_Templates.md to a new Status_Reference.md file.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This is useful when a saved bed mesh is used to ensure that the bed level
has not drifted too far from where it was when the mesh was created.
Signed-off-by: Johannes Stuettgen <johannes.stuettgen@gmail.com>
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>
Create a sample-aliases.cfg with all the aliases that are currently
hardcoded in the klippy.pins.py module.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
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>
Rework the micro-controller command protocol so that it supports
direct communication with the serialqueue.c code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
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>
Make the baud rate an optional parameter to the console.py tool. When
not present, it will default to 250000.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Add new fields to Command_Templates.md.
Remove unused self.rpm variable.
Use an explicit get_frequency() method in keeping with Klipper's
convention of not "peeking into member variables".
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>
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>
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>