Commit Graph

2361 Commits

Author SHA1 Message Date
Kurt Haenen f2a5800cea
configfile: Expose options awaiting to be saved (#5270)
Adds a save_config_pending_items to the status reported by
configfile reflecting the items and values that a future
SAVE_CONFIG would actually persist.

Signed-off-by: Kurt Haenen <kurt.haenen@gmail.com>
2022-06-20 12:10:57 -04:00
Eric Callahan 78454dd3b1 bed_mesh: cache mesh status
Prevent calls to `get_status()` from creating a new
status dict on each request.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2022-06-17 09:06:21 -04:00
bluesforte f55b9d3e57 mpu9250: Adding support for MPU-9250 (and MPU-6050) accelerometer
Add support for mpu9250 accelerometer over I2C bus.

Signed-off-by: Harry Beyel <harry3b9@gmail.com>
2022-06-16 11:09:33 -04:00
Kevin O'Connor 7f9ea231b7 delta_calibrate: Fix Python3 error in DELTA_ANALYZE
Reported by @CODeRUS.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-13 13:51:07 -04:00
functionpointer 33ecc6d62e
ds18b20: fix string conversion error on startup (#5559)
Signed-off-by: Lorenzo Pfeifer <Lorenzo.Pfeifer+github@googlemail.com>
2022-06-08 18:05:27 -04:00
Kevin O'Connor d61d3ade23 ds18b20: Don't propagate incorrect temperature on a fault
Just log an error on a fault.

Remove the host check for min/max temperature as the micro-controller
code already implements that check.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-08 12:48:40 -04:00
functionpointer 2dc20c011d ds18b20: Allow some read errors
Allows a limited number of DS18B20 read failures
before stopping the printer. This is designed to
tolerate spurious read errors, while still stopping
for serious issues.

The printer will stop when the sensor

fails to report a value five times in a row.

Implementation works as follows:
The MCU reports any read errors using a new "fault"
parameter in its answers.
The Python code tracks the number of errors
and triggers the shutdown. This paves the way for
more sophisticated error handling in the future,
as well as an example for other sensors to follow.

Signed-off-by: Lorenzo Pfeifer <Lorenzo.Pfeifer+github@googlemail.com>
2022-06-08 12:39:12 -04:00
Kevin O'Connor 04eb72dcd5 virtual_sdcard: Fix merge error
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-06-03 14:23:56 -04:00
Frank Tackitt 89c59b035e exclude_objects: initial implementation
Adding Klipper functionality to support cancelling objects while
printing.

This module keeps track of motion in and out of objects and adjusts
movements as needed.  It also tracks object status and provides that to
clients.

The Klipper module is relatively simple, and only provides one piece of
the workflow. Moonraker already supports processing uploaded files to
insert the required gcode markers for cancelling objects, using
https://github.com/kageurufu/cancelobject-preprocessor. This library is
also available as an executable for use in slicers, and pip
installations also include the script as a callable.

Mainsail has integrated support, and code changes for Fluidd are
available. Support in other interfaces is planned, and we've spoken to
several other developers about integrating frontend support in their
projects.

Signed-off-by: Troy Jacobson <troy.d.jacobson@gmail.com>
Co-authored-by: Franklyn Tackitt <git@frank.af>
Co-authored-by: Eric Callahan <arksine.code@gmail.com>
2022-06-03 14:12:04 -04:00
Troy Jacobson 04952db1e8 tuning_tower: add is_active() method
Signed-off-by: Troy Jacobson <troy.d.jacobson@gmail.com>
Co-authored-by: Franklyn Tackitt <git@frank.af>
2022-06-03 14:12:04 -04:00
Troy Jacobson 2e04be4451 virtual_sdcard: Add reset_file event
Signed-off-by: Troy Jacobson <troy.d.jacobson@gmail.com>
Co-authored-by: Franklyn Tackitt <git@frank.af>
2022-06-03 14:12:04 -04:00
Pedro Lamas c16eab212e virtual_sdcard: Adds on_error_gcode
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
2022-06-03 11:26:34 -04:00
Mikkel Schmidt af38d708cb
adxl345: Support recording data from multiple ADXL345's in one run, and more. (#5224)
Add PROBE and CHIP to TEST_RESONANCES

Since it's possible to specify more than one chip
in TEST_RESONANCES the CHIP parameter has been
renamed to CHIPS

Signed-off-by: Mikkel Schmidt <mikkel.schmidt@gmail.com>
2022-05-23 19:56:58 -04:00
Kevin O'Connor 8268478006 homing: Fix bug in multi_complete()
Reported by @skrogh.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-13 13:53:17 -04:00
Kevin O'Connor a94146b554 pins: Improve pin description checks
Make sure whitespace isn't in the pin description.  Also make sure an
alias doesn't map to an invalid pin.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-09 16:33:46 -04:00
Kevin O'Connor 7e76bd561a klippy: Minor changes to message protocol error
Minor indentation and variable name changes.

Don't remove linebreaks from message_protocol_error lines.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-05-06 21:06:13 -04:00
Felicia Hummel b18786bc91
klippy: Reworked the MCU protocol error message (#5470)
The MCU protocol error message often confuses users, especially after getting bombarded with the config format error line. This PR tries to improve it and has the following goals:

- Put the technical error at the end to prevent confusion and avoid the immediate jump to help channels instead of continuing to read
- Inform the user first what the type of error is (In this case: MCU Protocol error) and not at the end of the long error message
- Give the users a clear instruction what to do (pretty much unchanged), but possibly more approachable because the user is not confused by the technical error anymore
- Shows the version numbers of Klipper separate from all MCU version numbers so that it is more obvious that this is the version of Klipper
- Separates the version numbers between outdated MCUs and up-to-date MCUs, so that it becomes obvious if a MCU flash failed because the MCU doesn't disappear from the outdated list
- Previously, when viewing the errors in a web frontend, additional line breaks made it extremely hard to read the message, sometimes with as little as one word on one line. The error messages are now formatted to not have rogue line breaks, improving readability.

Signed-off-by: Felicia Alexa Hummel <felicia@drachenkatze.org>
2022-05-06 20:51:34 -04:00
Kevin O'Connor de14d106a1 shaper_calibrate: Add missing import
Reported by @Ludy87.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-23 21:49:50 -04:00
Martin Hierholzer 7793784640 spicmds: Allow inversion of CS pin for SPI busses
Signed-off-by: Martin Hierholzer <martin@hierholzer.info>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-22 13:25:03 -04:00
Kevin O'Connor fb3bae4531 neopixel: Simplify color_order parsing
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 12:55:32 -04:00
Kevin O'Connor 260fd7d367 pca9632: Fix color_order assignment
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 11:07:05 -04:00
Kevin O'Connor fb02e2b577 neopixel: Fix color_order assignment
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 10:55:35 -04:00
Kevin O'Connor 5f0885958d neopixel: Support chains with a mix of color_order
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 10:16:10 -04:00
Kevin O'Connor 53a7f1dd76 led: Remove has_white check from LEDHelper
There is no harm in checking for a white config setting.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 09:34:25 -04:00
Kevin O'Connor 630d3b3444 led: Fix SET_LED TRANSMIT=1 handling
If the final update in a series of SET_LED update commands didn't
alter a color than the transmit would not occur - even if prior
commands did make color changes.  Refactor the update code and fix.

Reported by @mstansberry.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-18 08:55:21 -04:00
Uli 240f8ea60b
htu21d: SI7021 is has id 0x15 (#5375)
This is most probably the result of a copy paste error. All vendor documentation for SI7021 (e.g. https://www.silabs.com/documents/public/data-sheets/Si7021-A20.pdf) points to 21 and it actually only works when adapted to 0x15 (=21).

Signed-off-by: Uli Wolf <github+klipper@wolf-u.li>
2022-04-11 10:33:41 -04:00
Dmitry Butyugin 76b22b3125 smart_effector: Initial support of programmable SmartEffector
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
2022-04-09 19:04:57 -04:00
Kevin O'Connor 22297229b7 temperature_fan: Fix divide by zero error when pid_Ki is zero
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 12:11:54 -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 f0700c0985 pca9632: Support using hardware I2C
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-07 11:43:52 -04:00
Kevin O'Connor dc7b02f329 neopixel: Support arbitrary RGBW strings in color_order config
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-04-06 09:27:36 -04:00
Kevin O'Connor e6bfc4c9aa led: Support setting display_template parameters via SET_LED_TEMPLATE
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 1ab3ac39e4 led: Support automated LED updates based on display_template results
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor a6ab56c0a6 display: Add a new PrinterDisplayTemplate class for tracking template macros
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 2001eecd5e pca9533: Add support for 4 brightness levels
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 47828b4056 pca9533: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 271c2ac95b pca9632: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 0c425cf014 mcp4018: Support setting minclock and reqclock in SoftwareI2C class
This is in preparation for pca9632 changes.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 9136a29196 dotstar: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 8b8818c0f7 neopixel: Update to use LEDHelper class
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor 96795def9c led: Add support for PWM controlled LEDs
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-31 13:08:12 -04:00
Kevin O'Connor c08f83ff47 pid_calibrate: Improve Python3 compatibility in debug file output
Reported by @kpishere.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:37:03 -04:00
Kevin O'Connor 4d1c3478ab angle: Add support for reading tle5012b chip registers (for debugging)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor 1275281ab6 angle: Initialize tle5012b chip variants to same configuration
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor 1b08553a42 angle: Report tle5012b temperature
Export the tle5012b temperature readings when performing measurements.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor f9d505e376 sensor_angle: Support TLE5012b frame counter for timing
Use the tle5012b internal frame counter to calculate the time of each
measurement.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor aec742ece4 angle: Initial support for angle sensor calibration
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Kevin O'Connor 74937326d3 sensor_angle: Add support for bulk querying of spi angle sensors
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2022-03-29 20:34:46 -04:00
Alex Maclean 8049243221 atsam: Add support for SAM E70
Signed-off-by: Alex Maclean <monkeh@monkeh.net>
2022-03-26 11:59:27 -04:00