-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix G34 probing range/error bug #17052
Conversation
I noticed a warning about the for loop
I didn't write that code, and never tried to verify its correctness. My name probably shows up on plenty of Blame history on there due to minor cleanup from my other PRs, and even those were likely thinkyhead pushing style changes along with my edits. My contribution to all of this was adding the "known stepper positions" feature. I tried to leave everything around it as untouched as possible, to avoid breaking existing users. There is very likely other bugs in this space that could use improvements. It all comes down to having more users willing to contribute, so I'm really happy you're doing this. That printer is off-site for me and a bit inconvenient to get to, so my ability to work with this code is currently somewhat limited. |
One thing I noticed in And, I believe it's possible to keep the safety check in the probing. Simply increase the amount of margin being added to Z by whatever amount is the largest reasonable discrepancy you would expect. In this way the probe will at least stop before going to the point of damage. |
I probably will think about that z_probe formula, but I'll tackle my other 3D printing issues first.
Yes, the printer could know what position it is at, given that it just probed it. However, I don't have enough knowledge of Marlin to implement that while being sure I don't mess up some internal movement planning systems. Also, at least for my printer, the homing is done by probing in the middle of the bed, while G34 is not. If the bed is uneven, this could potentially decrease accuracy.
There are two different kinds of safety check here: b) probe.cpp, l. 575: Let's assume that z_probe (G34_M422.cpp, l.142) is 40mm. Then, the Z coordinate is shifted by 40/2 == 20mm, so that when the nozzle is touching the printbed, Z would read 20mm. That leads to the fact that the probe triggers at Z = ~22mm, which is far higher than what the probe routine expects. Hence, it throws the error, because it is triggered early, not late. That is why I disabled it. |
You'd have to go out of your way and hit the planner directly to get it wrong. The |
Yes, well the only real issue is A different "spoof" is just const float z_probe_low_point = TEST(axis_known_position, Z_AXIS)
? -offset.z + Z_PROBE_LOW_POINT : -10.0; With that trick the probe gets a full centimeter of freedom below Z=0. |
* Add TMC micro-steps sanity check (MarlinFirmware#17044) Co-authored-by: Scott Lahteine <github@thinkyhead.com> * Suppress thisItemNr warning (MarlinFirmware#17049) * Don't define 'valptr' if unused (MarlinFirmware#17048) * Fix ambiguous type Co-Authored-By: Andrew Kroll <xxxajk@gmail.com> * fix #33 * Fix G34 probing range/error bug (MarlinFirmware#17052) * Default on/off for Power Loss Recovery (MarlinFirmware#17051) * Fix nested comment warning (MarlinFirmware#17045) * Keep name around for old configs * Finish M900 updates * Add single extruder LIN_ADVANCE test * Neopixel on LPC uses GPIO toggling * [cron] Bump distribution date (2020-03-03) * Fix MMU test * fix #34 * No more direct G28 calls * Asynchronous M114 and (R)ealtime position option (MarlinFirmware#17032) * Minor EEPROM cleanup * Software SPI for 12864 fix #31 * fix #1 * General code cleanup * mftest: Set machine name * Fix EEPROM compile errors * Use BED_MAXTEMP for PTC_MAX_BED_TEMP (MarlinFirmware#17061) * Update FYSETC S6 pins/variants (MarlinFirmware#17056) * Fix TEMP_PROBE_PIN for SKR 1.4 Co-Authored-By: Anthrix <anthrix@users.noreply.github.com> * fix #36 * [cron] Bump distribution date (2020-03-04) * fix #35 в основном за счет кеширования * Move shared code to wait_for_bed_heating * Avoid name conflict with 'UART' * Allow Z_STOP_PIN override on SKR 1.4 (MarlinFirmware#17063) * SAMD51 SoftwareSerial (MarlinFirmware#17041) * [cron] Bump distribution date (2020-03-05) * Move SENSORLESS_PROBING to the probes section Fixes a bug with HAS_BED_PROBE not being set before use. * Fix SKR test for ONBOARD SD * Fix CI test for SENSORLESS_PROBING * Define Z_MIN_PROBE_PIN for Cohesion 3D Remix * Update Turkish language (MarlinFirmware#17070) * Update Chinese (TW) language (MarlinFirmware#17071) * [cron] Bump distribution date (2020-03-06) * Add pins to the pins debug list * Clean up pins debugging * Fix M0/M1 message string * Non-blocking Max7219 test pattern * Change PID dummy value to NAN Fixes MarlinFirmware#17078 * [cron] Bump distribution date (2020-03-07) * Pins debug followup * Max7219 init last * Max7219 suspend/resume * More pins debugging cleanup * Emergency Parser dumb terminal compatibility * Add / correct comments * [cron] Bump distribution date (2020-03-08) * More useful ENABLED / DISABLED macros (MarlinFirmware#17054) * Revert that wack backoff * More general SD_DETECT_INVERTED override * [ToolChanger] Lock the current tool at power-up (MarlinFirmware#17093) * Fixes for Z4 axis, CS pins (MarlinFirmware#17097) * [cron] Bump distribution date (2020-03-09) * fix #37 * Add debug logging for setup() * Move 'last_pause_state' closer to usage * Additional numtostr functions * DOGM SPI delay is less common * Make BOOTSCREEN_TIMEOUT generally available * Ensure welcome message * [cron] Bump distribution date (2020-03-10) * SD_DETECT_INVERTED => SD_DETECT_STATE (MarlinFirmware#17112) * Fix Z4 stepper indirection macros (MarlinFirmware#17107) * Always look for PLR file, but more quickly * Fix broken enqueue_P * [cron] Bump distribution date (2020-03-11) * Tweaks to finishSDPrinting (MarlinFirmware#17082) * Fix G34, add HOME_AFTER_G34 option (MarlinFirmware#17108) Co-authored-by: Scott Lahteine <github@thinkyhead.com> * Fix pio environments for Anet 1.x (MarlinFirmware#17109) * M220 print FR percentage (MarlinFirmware#17101) * fix #38 * fix #23 * Announce SD file open Requested in MarlinFirmware#17110 * Apply soft limits to joystick jogging (MarlinFirmware#17114) * Fix and update DGUS displays (MarlinFirmware#17072) * Revert Anet 1.x envs change (MarlinFirmware#17120) * Non-const REMEMBER needed for RESTORE * More explicit EEPROM types (MarlinFirmware#17127) * Fix STM32 _WRITE macro parameter (MarlinFirmware#17121) * Fix M810 macro multiple use Fixes MarlinFirmware#17125 * [cron] Bump distribution date (2020-03-12) * [cron] Bump distribution date (2020-03-13) * Use arduinoststm32 3.x for FYSETC S6 (MarlinFirmware#17131) * Fix BAUD_RATE_GCODE, etc. (MarlinFirmware#17135) * Fix DUGS / DGUS typo * Add OnPidTuning event to Malyan LCD (MarlinFirmware#17143) All ExtUI LCDs need to keep up with ExtUI API changes. * Shorten German BLTouch menu item names (MarlinFirmware#17151) * Fix Emergency Parser stuck state * Fix end of short (auto0.g) prints * M0 Q preserve status * Shorter paths to HAL, ExtUI (MarlinFirmware#17156) * [cron] Bump distribution date (2020-03-14) * Fix G26 corrupted position * Apply loop shorthand macros (MarlinFirmware#17159) * Quad Z leveling, G34 (R)ecalculate (MarlinFirmware#17122) * Config version 020005 * Allow Tool Offset adjustments to have another digit of precision Some of the items in the Tool Offset Adjustment menu (in particular, the Z Offset!!!) were only adjustable with .1mm accuracy. This is not enough. So the edit menu is switched to float52 to fix the issue. * [cron] Bump distribution date (2020-03-15) * Fix LCD progress bar Fixes MarlinFirmware#17162 * Add EEPROM_BOOT_SILENT option * Do later mounting of LCD-based SD * Add a global machine state * #39 - скорость и слои * #35 improved * Fix incorrect type on ubl_storage_slot (MarlinFirmware#17170) * Fix Z after ABL Bilinear G29 with fade Co-Authored-By: Alan T <interstellarmisfit@users.noreply.github.com> * Fix G34 Z lower, extra "BLTOUCH" debug line (MarlinFirmware#17175) * Configurable SLOWDOWN divisor (MarlinFirmware#17171) * [cron] Bump distribution date (2020-03-16) * Shorter LCD remaining time to prevent overlap (MarlinFirmware#17181) * LPC1768 EEPROM fallback to flash, add overrides (MarlinFirmware#17184) * Fix Z_MIN_PROBE_PIN on SKR 1.4 (MarlinFirmware#17187) * [cron] Bump distribution date (2020-03-17) * мелкие исправления * Fix MKS SBASE 1.6 E1 heater pin (MarlinFirmware#17191) * ARMED support for TMC UART, probe temp (MarlinFirmware#17186) * Apply HAS_TMC_UART to pins files * More decimal places for babystep / Z probe offset (MarlinFirmware#17195) * Add Copymaster3D board (MarlinFirmware#17188) * [cron] Bump distribution date (2020-03-18) * Tweak some lambdas * New Controller Fan options and M710 gcode (MarlinFirmware#17149) * Implement CONTROLLER_FAN_USE_Z_ONLY Followup to MarlinFirmware#17149 * Add M42 M, improve M43 (MarlinFirmware#17173) * [cron] Bump distribution date (2020-03-19) * #41 исправлена порча памяти в меню движения по оси Z * Fix FYSETC mini 12864 init / glitches (MarlinFirmware#17209) * [cron] Bump distribution date (2020-03-20) * fix #41 * fix #26 * [cron] Bump distribution date (2020-03-21) * Split up STM32 pins files (MarlinFirmware#17212) * [cron] Bump distribution date (2020-03-22) * Stay at v0.91 of USBComposite for STM32F1 * whitespace * Use pin/port names for CHITU pins * Add a pins formatting script * Format some pins files * fix #39 * Fix custom version file include * Tweak serial port descriptions * [cron] Bump distribution date (2020-03-23) * Fix Copymaster Y_MAX pin (MarlinFirmware#17267) * Fix CONTROLLER_FAN options compile * Skip impossible PWM sanity-checks * Fix an unused var warning * Add USB serial support to SERIAL_PORT_2 on DUE (MarlinFirmware#17245) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * DGUS updates (MarlinFirmware#17260) * Fix extra M114 output line Fixes MarlinFirmware#17255 * [cron] Bump distribution date (2020-03-24) * Delay after homing_backoff for CoreXY sensorless homing (MarlinFirmware#17273) * Sanity-check CORE backlash axes (MarlinFirmware#17279) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Fix limits on acceleration editing (MarlinFirmware#17280) * Fix Emergency Parser on DUE (MarlinFirmware#17276) Co-authored-by: Scott Lahteine <github@thinkyhead.com> * Add SoftwareSerialM for MKS Robin (MarlinFirmware#17207) * Sanity check CONTROLLERFAN_SECS * Adjust for timing shift on Max7219 displays on AVR's Something has shifted. The previous timing delays on the Max7219 debug displays is too tight without this correction. I suspect something has been optimized and roughly 50ns of needed setup and hold time has disappeared. This corrects the issue and the display results are clean again. * Update LCD timing on Formbot T-Rex 2+ machines The code is slightly more optimized than it used to be and this has caused the setup and hold times on the Formbot T-Rex 2+ machines to be insufficient. This change gives sufficient margin and the LCD Display is clean again. * [cron] Bump distribution date (2020-03-25) * Allow PID_DEBUG to be turned on and off (MarlinFirmware#17284) M303 D will now toggle activation of PID_DEBUG output. This allows the debug capability to be built into the firmware, but turned on and off as needed. * M303 followup - Put 'D' before other params for clean exit. - Use serial on/off for debug status. * Drop old comment * [cron] Bump distribution date (2020-03-26) * Use "dist" instead of "delta" for clarity * Allow G2_PWM to be slimmer * motion.cpp: HAS_DIST_MM_ARG * Fix M0 unused var warning * Update Russian language (MarlinFirmware#17290) * Update Italian language (MarlinFirmware#17293) * Tweak eeprom storage type * Tweak ui.finish_status * [cron] Bump distribution date (2020-03-27) * small fixes after merge * Fix SD finished ExtUI / host action (MarlinFirmware#17285) * QSPI EEPROM for SAMD51 (MarlinFirmware#17292) * Fix Stepper PWM menu (MarlinFirmware#17298) * Store case light brightness in EEPROM (MarlinFirmware#17307) * [cron] Bump distribution date (2020-03-28) * Add Funmat HT V4.0 board support (MarlinFirmware#17305) Co-authored-by: Scott Lahteine <github@thinkyhead.com> * Limited backlash editing with Core kinematics (MarlinFirmware#17281) * Simplify TWIBus debug * Clean up user-wait, SD completion (MarlinFirmware#17315) * fix #42 * Fix typo... * [cron] Bump distribution date (2020-03-29) * Fix Trigorilla 1.4 missing spaces * Fix STM32F1 USB Composite Dependency Co-authored-by: Lord-Quake <Lord-Quake@users.noreply.github.com> * Fix extra unskew call Fixes MarlinFirmware#17264 * do_pause_e_move => unscaled_e_move * Minor HAL cleanup * No unscaled_e_move for CNC * Load balance some tests * [cron] Bump distribution date (2020-03-30) * [cron] Bump distribution date (2020-03-31) * Pulldown for all FastIO headers Co-Authored-By: borsegbr <borsegbr@users.noreply.github.com> * Fix last arc segment Co-Authored-By: ellensp <ellensp@hotmail.com> * Additional TERN macros * Fix Fysetc stm32flash usage (MarlinFirmware#17331) * STM32F1: Restore M43 build support (MarlinFirmware#17336) * Improve / fix FTDI EVE Touch UI (MarlinFirmware#17338) - Fix timeout and debugging string - Fix check for whether `LCD_TIMEOUT_TO_STATUS` is valid - Fix incorrect debugging message - Make capitalization of callbacks consistent. - Allow Touch UI to use hardware SPI on Einsy boards - Move print stats to About Printer page. - More generic about screen with GPL license. - Add missing handler for power loss event - Less code duplication on status screen and main/advanced menu; more legible - Reorganize advanced and main menu to add more features - Hide home Z button when using Z_SAFE_HOMING - Fix compilation errors when certain features enabled - Fix missing labels in UI - Improve color scheme - Add new preheat menus - Fix incorrect rendering of Marlin logo on boot - Add Level X Axis and Auto calibrate buttons * Shorten some internal pin names * [cron] Bump distribution date (2020-04-01) * Fix M710 report formatting (MarlinFirmware#17356) * Fix extra TMC serial begin calls (MarlinFirmware#17351) * [cron] Bump distribution date (2020-04-02) * More 8 extruders (TMC) support * Minor code cleanup * Fix up 'system' includes * Fix ESP32 eeprom flag * Clean up UI declarations, apply TERN_ * fix #32 * fix #45 * voltage * fix #33 * fix #33 * fix typo in #34 * уточнил оранжевый и желтый цвета под свой дисплей * Переключил TMC2208 UART на 256 шагов вместо 16 * отключил интерполяцию для всех, принудительно 64 микрошага на экструдер, пересчитал шаги для бмг * таймаут дисплея измени до 15 минут, отрабатывал не так как надо в начале печати * Revert "Переключил TMC2208 UART на 256 шагов вместо 16" This reverts commit c32f37f. * Revert "отключил интерполяцию для всех, принудительно 64 микрошага на экструдер, пересчитал шаги для бмг" This reverts commit 4b20493. * вернул настройки tmc как было до экспериментов с микрошагами * поправил под актуальный pid e * fix #46 * 10 минут таймаут дисплея * убрал la понизил скорость кулера на хотенде * двигатели 900 ма * Update Configuration_adv.h * update * Revert "Merge branch 'bugfix-2.0.x-UltiSteel-ssavickiy' into ssavickiy" This reverts commit bd0938a, reversing changes made to a95b5db. Co-authored-by: Jason Smith <jason.inet@gmail.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com> Co-authored-by: ellensp <ellensp@hotmail.com> Co-authored-by: Andrew Kroll <xxxajk@gmail.com> Co-authored-by: Юрий Першин <ursoft2004@mail.ru> Co-authored-by: jufimu12 <jufimu12@gmail.com> Co-authored-by: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Co-authored-by: thinkyhead <thinkyhead@users.noreply.github.com> Co-authored-by: George Fu <nailao_5918@163.com> Co-authored-by: Anthrix <anthrix@users.noreply.github.com> Co-authored-by: MangaValk <patrickvalkmanga@hotmail.com> Co-authored-by: Vert <vert@vertshobbies.com> Co-authored-by: Daniel Kreuzhofer (@danieldotnet) <daniel@kreuzhofer.de> Co-authored-by: Gurmeet Athwal <gurmeet.athwal@gmail.com> Co-authored-by: Jamie <vector76@users.noreply.github.com> Co-authored-by: BigTreeTech <38851044+bigtreetech@users.noreply.github.com> Co-authored-by: nick-diel <35879080+nick-diel@users.noreply.github.com> Co-authored-by: Erkan Colak <erkanc@gmx.de> Co-authored-by: Roxy-3D <Roxy-3D@users.noreply.github.com> Co-authored-by: Karl Andersson <karl@iaccess.se> Co-authored-by: Alan T <interstellarmisfit@users.noreply.github.com> Co-authored-by: Giuliano Zaro <3684609+GMagician@users.noreply.github.com> Co-authored-by: Pascal de Bruijn <pmjdebruijn@pcode.nl> Co-authored-by: Joe Prints <33383148+JoePrints@users.noreply.github.com> Co-authored-by: RasmusAaen <rasmus@aaen.net> Co-authored-by: rado79 <51396577+rado79@users.noreply.github.com> Co-authored-by: mkpfalz <50922721+mkpfalz@users.noreply.github.com> Co-authored-by: MarkMan0 <38912829+MarkMan0@users.noreply.github.com> Co-authored-by: Acenotass <44540957+Acenotass@users.noreply.github.com> Co-authored-by: Mathias Rasmussen <mathiasvr@gmail.com> Co-authored-by: oscarsan1 <oscarsan1@users.noreply.github.com> Co-authored-by: thisiskeithb <thisiskeithb@outlook.com> Co-authored-by: Lord-Quake <Lord-Quake@users.noreply.github.com> Co-authored-by: borsegbr <borsegbr@users.noreply.github.com> Co-authored-by: Eric Ptak <trouch@trouch.com> Co-authored-by: Tanguy Pruvot <tpruvot@users.noreply.github.com> Co-authored-by: Marcio T <mlt4356-github@yahoo.com> Co-authored-by: Marcelo Castagna <margaale@users.noreply.github.com> Co-authored-by: Simon Jouet <simon-jouet@users.noreply.github.com> Co-authored-by: Юрий Першин <build@vmpsoft.com>
* Suppress thisItemNr warning (MarlinFirmware#17049) * Don't define 'valptr' if unused (MarlinFirmware#17048) * Fix ambiguous type Co-Authored-By: Andrew Kroll <xxxajk@gmail.com> * fix #33 * Fix G34 probing range/error bug (MarlinFirmware#17052) * Default on/off for Power Loss Recovery (MarlinFirmware#17051) * Fix nested comment warning (MarlinFirmware#17045) * Keep name around for old configs * Finish M900 updates * Add single extruder LIN_ADVANCE test * Neopixel on LPC uses GPIO toggling * [cron] Bump distribution date (2020-03-03) * Fix MMU test * fix #34 * No more direct G28 calls * Asynchronous M114 and (R)ealtime position option (MarlinFirmware#17032) * Minor EEPROM cleanup * Software SPI for 12864 fix #31 * fix #1 * General code cleanup * mftest: Set machine name * Fix EEPROM compile errors * Use BED_MAXTEMP for PTC_MAX_BED_TEMP (MarlinFirmware#17061) * Update FYSETC S6 pins/variants (MarlinFirmware#17056) * Fix TEMP_PROBE_PIN for SKR 1.4 Co-Authored-By: Anthrix <anthrix@users.noreply.github.com> * fix #36 * [cron] Bump distribution date (2020-03-04) * fix #35 в основном за счет кеширования * Move shared code to wait_for_bed_heating * Avoid name conflict with 'UART' * Allow Z_STOP_PIN override on SKR 1.4 (MarlinFirmware#17063) * SAMD51 SoftwareSerial (MarlinFirmware#17041) * [cron] Bump distribution date (2020-03-05) * Move SENSORLESS_PROBING to the probes section Fixes a bug with HAS_BED_PROBE not being set before use. * Fix SKR test for ONBOARD SD * Fix CI test for SENSORLESS_PROBING * Define Z_MIN_PROBE_PIN for Cohesion 3D Remix * Update Turkish language (MarlinFirmware#17070) * Update Chinese (TW) language (MarlinFirmware#17071) * [cron] Bump distribution date (2020-03-06) * Add pins to the pins debug list * Clean up pins debugging * Fix M0/M1 message string * Non-blocking Max7219 test pattern * Change PID dummy value to NAN Fixes MarlinFirmware#17078 * [cron] Bump distribution date (2020-03-07) * Pins debug followup * Max7219 init last * Max7219 suspend/resume * More pins debugging cleanup * Emergency Parser dumb terminal compatibility * Add / correct comments * [cron] Bump distribution date (2020-03-08) * More useful ENABLED / DISABLED macros (MarlinFirmware#17054) * Revert that wack backoff * More general SD_DETECT_INVERTED override * [ToolChanger] Lock the current tool at power-up (MarlinFirmware#17093) * Fixes for Z4 axis, CS pins (MarlinFirmware#17097) * [cron] Bump distribution date (2020-03-09) * fix #37 * Add debug logging for setup() * Move 'last_pause_state' closer to usage * Additional numtostr functions * DOGM SPI delay is less common * Make BOOTSCREEN_TIMEOUT generally available * Ensure welcome message * [cron] Bump distribution date (2020-03-10) * SD_DETECT_INVERTED => SD_DETECT_STATE (MarlinFirmware#17112) * Fix Z4 stepper indirection macros (MarlinFirmware#17107) * Always look for PLR file, but more quickly * Fix broken enqueue_P * [cron] Bump distribution date (2020-03-11) * Tweaks to finishSDPrinting (MarlinFirmware#17082) * Fix G34, add HOME_AFTER_G34 option (MarlinFirmware#17108) Co-authored-by: Scott Lahteine <github@thinkyhead.com> * Fix pio environments for Anet 1.x (MarlinFirmware#17109) * M220 print FR percentage (MarlinFirmware#17101) * fix #38 * fix #23 * Announce SD file open Requested in MarlinFirmware#17110 * Apply soft limits to joystick jogging (MarlinFirmware#17114) * Fix and update DGUS displays (MarlinFirmware#17072) * Revert Anet 1.x envs change (MarlinFirmware#17120) * Non-const REMEMBER needed for RESTORE * More explicit EEPROM types (MarlinFirmware#17127) * Fix STM32 _WRITE macro parameter (MarlinFirmware#17121) * Fix M810 macro multiple use Fixes MarlinFirmware#17125 * [cron] Bump distribution date (2020-03-12) * [cron] Bump distribution date (2020-03-13) * Use arduinoststm32 3.x for FYSETC S6 (MarlinFirmware#17131) * Fix BAUD_RATE_GCODE, etc. (MarlinFirmware#17135) * Fix DUGS / DGUS typo * Add OnPidTuning event to Malyan LCD (MarlinFirmware#17143) All ExtUI LCDs need to keep up with ExtUI API changes. * Shorten German BLTouch menu item names (MarlinFirmware#17151) * Fix Emergency Parser stuck state * Fix end of short (auto0.g) prints * M0 Q preserve status * Shorter paths to HAL, ExtUI (MarlinFirmware#17156) * [cron] Bump distribution date (2020-03-14) * Fix G26 corrupted position * Apply loop shorthand macros (MarlinFirmware#17159) * Quad Z leveling, G34 (R)ecalculate (MarlinFirmware#17122) * Config version 020005 * Allow Tool Offset adjustments to have another digit of precision Some of the items in the Tool Offset Adjustment menu (in particular, the Z Offset!!!) were only adjustable with .1mm accuracy. This is not enough. So the edit menu is switched to float52 to fix the issue. * [cron] Bump distribution date (2020-03-15) * Fix LCD progress bar Fixes MarlinFirmware#17162 * Add EEPROM_BOOT_SILENT option * Do later mounting of LCD-based SD * Add a global machine state * #39 - скорость и слои * #35 improved * Fix incorrect type on ubl_storage_slot (MarlinFirmware#17170) * Fix Z after ABL Bilinear G29 with fade Co-Authored-By: Alan T <interstellarmisfit@users.noreply.github.com> * Fix G34 Z lower, extra "BLTOUCH" debug line (MarlinFirmware#17175) * Configurable SLOWDOWN divisor (MarlinFirmware#17171) * [cron] Bump distribution date (2020-03-16) * Shorter LCD remaining time to prevent overlap (MarlinFirmware#17181) * LPC1768 EEPROM fallback to flash, add overrides (MarlinFirmware#17184) * Fix Z_MIN_PROBE_PIN on SKR 1.4 (MarlinFirmware#17187) * [cron] Bump distribution date (2020-03-17) * мелкие исправления * Fix MKS SBASE 1.6 E1 heater pin (MarlinFirmware#17191) * ARMED support for TMC UART, probe temp (MarlinFirmware#17186) * Apply HAS_TMC_UART to pins files * More decimal places for babystep / Z probe offset (MarlinFirmware#17195) * Add Copymaster3D board (MarlinFirmware#17188) * [cron] Bump distribution date (2020-03-18) * Tweak some lambdas * New Controller Fan options and M710 gcode (MarlinFirmware#17149) * Implement CONTROLLER_FAN_USE_Z_ONLY Followup to MarlinFirmware#17149 * Add M42 M, improve M43 (MarlinFirmware#17173) * [cron] Bump distribution date (2020-03-19) * #41 исправлена порча памяти в меню движения по оси Z * Fix FYSETC mini 12864 init / glitches (MarlinFirmware#17209) * [cron] Bump distribution date (2020-03-20) * fix #41 * fix #26 * [cron] Bump distribution date (2020-03-21) * Split up STM32 pins files (MarlinFirmware#17212) * [cron] Bump distribution date (2020-03-22) * Stay at v0.91 of USBComposite for STM32F1 * whitespace * Use pin/port names for CHITU pins * Add a pins formatting script * Format some pins files * fix #39 * Fix custom version file include * Tweak serial port descriptions * [cron] Bump distribution date (2020-03-23) * Fix Copymaster Y_MAX pin (MarlinFirmware#17267) * Fix CONTROLLER_FAN options compile * Skip impossible PWM sanity-checks * Fix an unused var warning * Add USB serial support to SERIAL_PORT_2 on DUE (MarlinFirmware#17245) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * DGUS updates (MarlinFirmware#17260) * Fix extra M114 output line Fixes MarlinFirmware#17255 * [cron] Bump distribution date (2020-03-24) * Delay after homing_backoff for CoreXY sensorless homing (MarlinFirmware#17273) * Sanity-check CORE backlash axes (MarlinFirmware#17279) Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com> * Fix limits on acceleration editing (MarlinFirmware#17280) * Fix Emergency Parser on DUE (MarlinFirmware#17276) Co-authored-by: Scott Lahteine <github@thinkyhead.com> * Add SoftwareSerialM for MKS Robin (MarlinFirmware#17207) * Sanity check CONTROLLERFAN_SECS * Adjust for timing shift on Max7219 displays on AVR's Something has shifted. The previous timing delays on the Max7219 debug displays is too tight without this correction. I suspect something has been optimized and roughly 50ns of needed setup and hold time has disappeared. This corrects the issue and the display results are clean again. * Update LCD timing on Formbot T-Rex 2+ machines The code is slightly more optimized than it used to be and this has caused the setup and hold times on the Formbot T-Rex 2+ machines to be insufficient. This change gives sufficient margin and the LCD Display is clean again. * [cron] Bump distribution date (2020-03-25) * Allow PID_DEBUG to be turned on and off (MarlinFirmware#17284) M303 D will now toggle activation of PID_DEBUG output. This allows the debug capability to be built into the firmware, but turned on and off as needed. * M303 followup - Put 'D' before other params for clean exit. - Use serial on/off for debug status. * Drop old comment * [cron] Bump distribution date (2020-03-26) * Use "dist" instead of "delta" for clarity * Allow G2_PWM to be slimmer * motion.cpp: HAS_DIST_MM_ARG * Fix M0 unused var warning * Update Russian language (MarlinFirmware#17290) * Update Italian language (MarlinFirmware#17293) * Tweak eeprom storage type * Tweak ui.finish_status * [cron] Bump distribution date (2020-03-27) * small fixes after merge * Fix SD finished ExtUI / host action (MarlinFirmware#17285) * QSPI EEPROM for SAMD51 (MarlinFirmware#17292) * Fix Stepper PWM menu (MarlinFirmware#17298) * Store case light brightness in EEPROM (MarlinFirmware#17307) * [cron] Bump distribution date (2020-03-28) * Add Funmat HT V4.0 board support (MarlinFirmware#17305) Co-authored-by: Scott Lahteine <github@thinkyhead.com> * Limited backlash editing with Core kinematics (MarlinFirmware#17281) * Simplify TWIBus debug * Clean up user-wait, SD completion (MarlinFirmware#17315) * fix #42 * Fix typo... * [cron] Bump distribution date (2020-03-29) * Fix Trigorilla 1.4 missing spaces * Fix STM32F1 USB Composite Dependency Co-authored-by: Lord-Quake <Lord-Quake@users.noreply.github.com> * Fix extra unskew call Fixes MarlinFirmware#17264 * do_pause_e_move => unscaled_e_move * Minor HAL cleanup * No unscaled_e_move for CNC * Load balance some tests * [cron] Bump distribution date (2020-03-30) * [cron] Bump distribution date (2020-03-31) * Pulldown for all FastIO headers Co-Authored-By: borsegbr <borsegbr@users.noreply.github.com> * Fix last arc segment Co-Authored-By: ellensp <ellensp@hotmail.com> * Additional TERN macros * Fix Fysetc stm32flash usage (MarlinFirmware#17331) * STM32F1: Restore M43 build support (MarlinFirmware#17336) * Improve / fix FTDI EVE Touch UI (MarlinFirmware#17338) - Fix timeout and debugging string - Fix check for whether `LCD_TIMEOUT_TO_STATUS` is valid - Fix incorrect debugging message - Make capitalization of callbacks consistent. - Allow Touch UI to use hardware SPI on Einsy boards - Move print stats to About Printer page. - More generic about screen with GPL license. - Add missing handler for power loss event - Less code duplication on status screen and main/advanced menu; more legible - Reorganize advanced and main menu to add more features - Hide home Z button when using Z_SAFE_HOMING - Fix compilation errors when certain features enabled - Fix missing labels in UI - Improve color scheme - Add new preheat menus - Fix incorrect rendering of Marlin logo on boot - Add Level X Axis and Auto calibrate buttons * Shorten some internal pin names * [cron] Bump distribution date (2020-04-01) * Fix M710 report formatting (MarlinFirmware#17356) * Fix extra TMC serial begin calls (MarlinFirmware#17351) * [cron] Bump distribution date (2020-04-02) * More 8 extruders (TMC) support * Minor code cleanup * Fix up 'system' includes * Fix ESP32 eeprom flag * Clean up UI declarations, apply TERN_ * fix #32 * fix #45 * voltage * fix #33 * fix #33 * fix typo in #34 * уточнил оранжевый и желтый цвета под свой дисплей * Переключил TMC2208 UART на 256 шагов вместо 16 * отключил интерполяцию для всех, принудительно 64 микрошага на экструдер, пересчитал шаги для бмг * таймаут дисплея измени до 15 минут, отрабатывал не так как надо в начале печати * Revert "Переключил TMC2208 UART на 256 шагов вместо 16" This reverts commit c32f37f. * Revert "отключил интерполяцию для всех, принудительно 64 микрошага на экструдер, пересчитал шаги для бмг" This reverts commit 4b20493. * вернул настройки tmc как было до экспериментов с микрошагами * поправил под актуальный pid e * fix #46 * 10 минут таймаут дисплея * убрал la понизил скорость кулера на хотенде * двигатели 900 ма * Update Configuration_adv.h * update * Revert "Merge branch 'bugfix-2.0.x-UltiSteel-ssavickiy' into ssavickiy" This reverts commit bd0938a, reversing changes made to a95b5db. * отключил LA, изменил для тестов парметры рекомендуемые марлином в комментах для tmc Co-authored-by: ellensp <ellensp@hotmail.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com> Co-authored-by: Andrew Kroll <xxxajk@gmail.com> Co-authored-by: Юрий Першин <ursoft2004@mail.ru> Co-authored-by: jufimu12 <jufimu12@gmail.com> Co-authored-by: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com> Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Co-authored-by: thinkyhead <thinkyhead@users.noreply.github.com> Co-authored-by: George Fu <nailao_5918@163.com> Co-authored-by: Anthrix <anthrix@users.noreply.github.com> Co-authored-by: MangaValk <patrickvalkmanga@hotmail.com> Co-authored-by: Vert <vert@vertshobbies.com> Co-authored-by: Daniel Kreuzhofer (@danieldotnet) <daniel@kreuzhofer.de> Co-authored-by: Gurmeet Athwal <gurmeet.athwal@gmail.com> Co-authored-by: Jamie <vector76@users.noreply.github.com> Co-authored-by: BigTreeTech <38851044+bigtreetech@users.noreply.github.com> Co-authored-by: Jason Smith <jason.inet@gmail.com> Co-authored-by: nick-diel <35879080+nick-diel@users.noreply.github.com> Co-authored-by: Erkan Colak <erkanc@gmx.de> Co-authored-by: Roxy-3D <Roxy-3D@users.noreply.github.com> Co-authored-by: Karl Andersson <karl@iaccess.se> Co-authored-by: Alan T <interstellarmisfit@users.noreply.github.com> Co-authored-by: Giuliano Zaro <3684609+GMagician@users.noreply.github.com> Co-authored-by: Pascal de Bruijn <pmjdebruijn@pcode.nl> Co-authored-by: Joe Prints <33383148+JoePrints@users.noreply.github.com> Co-authored-by: RasmusAaen <rasmus@aaen.net> Co-authored-by: rado79 <51396577+rado79@users.noreply.github.com> Co-authored-by: mkpfalz <50922721+mkpfalz@users.noreply.github.com> Co-authored-by: MarkMan0 <38912829+MarkMan0@users.noreply.github.com> Co-authored-by: Acenotass <44540957+Acenotass@users.noreply.github.com> Co-authored-by: Mathias Rasmussen <mathiasvr@gmail.com> Co-authored-by: oscarsan1 <oscarsan1@users.noreply.github.com> Co-authored-by: thisiskeithb <thisiskeithb@outlook.com> Co-authored-by: Lord-Quake <Lord-Quake@users.noreply.github.com> Co-authored-by: borsegbr <borsegbr@users.noreply.github.com> Co-authored-by: Eric Ptak <trouch@trouch.com> Co-authored-by: Tanguy Pruvot <tpruvot@users.noreply.github.com> Co-authored-by: Marcio T <mlt4356-github@yahoo.com> Co-authored-by: Marcelo Castagna <margaale@users.noreply.github.com> Co-authored-by: Simon Jouet <simon-jouet@users.noreply.github.com> Co-authored-by: Юрий Першин <build@vmpsoft.com>
Requirements
-Multiple Z axis
-Z_STEPPER_AUTO_ALIGN
Description
Fixed a bug where G34 (Z stepper auto alignment) fails when the build plate is tilted more than a few millimetres.
The bug was caused by one of two things:
Benefits
These bugs are fixed:
Related Issues
Follow-up to PR #17013
TODO
@sjasonsmith
I don't fully understand the computation of z_probe in line 142..150 yet. It seems a bit odd to me that in a calculation looking like Pythagoras theorem, the x coordinate is subtracted from the y coordinate, than squared, i.e. sqrt((x0-y1)² + (x1-y1)²). Shouldn't it be something like sqrt((x0-x1)² + (y0-y1)²)?
Also, I think there is a "SQRT(" missing in line 148.