Skip to content
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 doubling of MIN_PROBE_EDGE for default ABL G29. #16367

Merged

Conversation

sjasonsmith
Copy link
Contributor

@sjasonsmith sjasonsmith commented Dec 28, 2019

Description

Fixes an issue that accidentally counted MIN_PROBE_EDGE twice when performing a default G29 using ABL.

The minimum probe edge is already considered in the functions such as probe_min_x, so there is no need to apply it again in this file.

I also noticed that the X/Y/F/R arguments were being coerced to integers, even though everything else related to probing now uses floats. I went ahead and adjusted this to allow floats as well.

Related Issues

#16348
#16338

@sjasonsmith
Copy link
Contributor Author

I tested the following two scenarios:

G29 - Verified proper offset on all sides (10mm, or min allowable by probe offset)

G29 F50.1 B150.2 L50.3 R150.4 - Verified probe_at_point was called with the specified floating point positions.

@sjasonsmith
Copy link
Contributor Author

This issue was reported by @Scope666, @drphil3d, @dnasir, @bigtreeteche3, and probably @alantoy.

Hopefully at least one of them can verify this solves their problem before it is merged.

@Lord-Quake
Copy link
Contributor

@sjasonsmith I made the changes in the 2.0.1 code im using and can confirm that your changes fixed the issue.

@bigtreeteche3
Copy link

I tested the following two scenarios:

G29 - Verified proper offset on all sides (10mm, or min allowable by probe offset)

G29 F50.1 B150.2 L50.3 R150.4 - Verified probe_at_point was called with the specified floating point positions.

could you please describe for noobs where to find this lines in the code... i'm not able to find them... ? best regards

@Lord-Quake
Copy link
Contributor

Here are his changes (red is old, replace with green is new): abfca1d

@rmcbc
Copy link
Contributor

rmcbc commented Dec 28, 2019

@sjasonsmith for me your change fixes the problem #16348 . Thanks.

@InsanityAutomation
Copy link
Contributor

This removes what was needed for nozzle as probe to function. I'll pull it up and poke Sunday.

@sjasonsmith
Copy link
Contributor Author

This removes what was needed for nozzle as probe to function. I'll pull it up and poke Sunday.

I don't know how to configure nozzle as probe for a Lulzbot, so I'm not sure how it would misbehave in that case. I'll let this sit for you to look at tomorrow. I'll leave it open so that people can access these changes as a workaround for the normal use-case.

Is there any reason all the logic for this cannot be inside probe_min_x and other similar functions? If there is concern that it may expose non-probable range to other probing techniques, there are already plenty of ways to crash a probe on a printer that can only probe specific points.

@sjasonsmith
Copy link
Contributor Author

This removes what was needed for nozzle as probe to function. I'll pull it up and poke Sunday.

@InsanityAutomation and I chatted about this earlier today. I said I'd attempt to fix it, but that he is free to come up with something totally different tomorrow. My feelings will be unharmed if I discard this in favor of an alternate fix from him.

I found the Lulzbot config file for a Taz6 and used that as a reference to set up a NOZZLE_AS_PROBE configuration. I couldn't physically test it with a printer, but I added constexpr statements as needed to validate the calculated probe positions in VS Code.

I believe that prior to my change it was actually miscalculating probe_position_rb for NOZZLE_AS_PROBE, so this does change behavior, but I believe it now works correctly for both positive and negative values on all sides of the bed.

As long as NOZZLE_TO_PROBE_OFFSET is all zeroes, NOZZLE_AS_PROBE should be able to share the same math as any other printer. Enforcing this in Conditionals_post.h allowed me to delete the NOZZLE_AS_PROBE-specific logic. NOZZLE_AS_PROBE becomes basically just an alias for FIXED_MOUNTED_PROBE with a zero-offset.

I did not update all the configuration files, because I don't want to add all that noise to the PR until I know we like the changes.

@sjasonsmith
Copy link
Contributor Author

Enforcing this in Conditionals_post.h allowed me to delete the NOZZLE_AS_PROBE-specific logic.

Looking back at the NOZZLE_AS_PROBE logic I deleted in probe.h, I don't think it was working at all. It was working because G29.cpp had extra logic so the results of those functions ended up unused. They were virtually always disregarding the minimum probe edge, because it was being compared without adding it to a min/max bed position.

@InsanityAutomation
Copy link
Contributor

Aside from adding the Z offset back in this appears to work as intended on a Taz 6 as well. The redundant check for min position being removed did the trick. We may want to add a sanity check for the number allowed to be negative only with nozzle as probe, and ill likely follow up with a change to M851 to disallow changing XY with nozzle as probe.

@sjasonsmith
Copy link
Contributor Author

We may want to add a sanity check for the number allowed to be negative only with nozzle as probe

Is there any particular reason that nozzle as probe is special in this case? I know that’s what LulzBot needs, but they could just as easily use the same technique with an inductive probe or some other sensor.

Maybe a separate config option should be added in Confoguration_adv to disable a sanity heck? Something like ALLOW_PROBING_OUTSIDE_BED, which would allow negative probe offsets?

@sjasonsmith
Copy link
Contributor Author

Although I suppose we could disallow it and address that of the need comes up later. I’m a fan of being overly restrictive to avoid supporting things that were never intentionally created.

@sjasonsmith
Copy link
Contributor Author

I’m surprised by the increased scope of this PR with all the changes pushed to it. I’m not going to be available to validate these changes, hopefully somebody else will be able to pull them down and test them to make sure the original issues are still fixed.

Allow float values as L/R/F/B parameters to ABL G29
@thinkyhead thinkyhead force-pushed the 16348_G29_MinEdge branch 2 times, most recently from 79a9f99 to e5a2fd4 Compare January 2, 2020 01:59
@thinkyhead
Copy link
Member

My patches to the PR are following up on NOZZLE_AS_PROBE to apply it in a more general way. To that end, I made the following changes:

  • Added HAS_PROBE_XY_OFFSET conditional and applied to serial output, mostly.
  • Added probe_offset_xy as an alias for probe_offset or as {0,0} when appropriate.
  • Replaced instances of probe_offset with probe_offset_xy where appropriate.

I've squashed the original changes down to one commit, and squashed my follow-up as a second commit. The majority of changes are pretty obvious, and are a good generalization of the effect of NOZZLE_AS_PROBE. The sanity check for XY probe offsets of 0,0 isn't needed since the XY offsets will not be used in the code, but it's good to retain so configurations correctly reflects the values in use.

This can be merged once the tests are passing.

@sjasonsmith
Copy link
Contributor Author

I was previously looking at this on my phone, which isn't the best place to review code changes.
Now that I've looked over your changes properly on a computer I don't see anything alarming. There were a couple lines I was questioning, but I think you updated them prior to the squash.

@sjasonsmith
Copy link
Contributor Author

I'm not able to physically test this on a printer right now. I added some constexpr constants and used those to verify that the calculated probe edges still looks correct for both normal (BLTOUCH and +Edge) and nozzle as probe (NOZZLE_AS_PROBE and -Edge).

@tpruvot
Copy link
Contributor

tpruvot commented Jan 3, 2020

Could be useful to check UBL with and without this change... Its the first time i try UBL here and that skip many points by default (during the cold mesh creation) except if you set :

 #define MESH_MIN_X _MAX(MIN_PROBE_EDGE, MESH_INSET)
 #define MESH_MIN_Y _MAX(MIN_PROBE_EDGE, MESH_INSET)
 #define MESH_MAX_X X_BED_SIZE - 35 // NOZZLE_TO_PROBE_OFFSET
 #define MESH_MAX_Y Y_BED_SIZE - _MAX(MESH_INSET, MIN_PROBE_EDGE)

with MIN_PROBE_EDGE = 10, MESH_INSET 5 and NOZZLE_TO_PROBE_OFFSET { -35, -6, -0.95 }

@sjasonsmith
Copy link
Contributor Author

Could be useful to check UBL with and without this change... Its the first time i try UBL here and that skip many points by default (during the cold mesh creation) except if you set :

The bug was introduced into ABL along with the addition of NOZZLE_TO_PROBE. I just checked that commit, and it did not change anything in the UBL code. That feature was really targeting a specific set of machines that can only probe four points, so UBL wouldn't be very useful.

I believe the behavior you are describing is expected. The way I understand UBL is that it by defaults creates a mesh to cover the entire bed, but this includes unreachable points. You have to take additional action to fill in the missing points automatically (by extrapolating values), or to manually probe the missing points.

@tpruvot
Copy link
Contributor

tpruvot commented Jan 3, 2020

k, i only tried with your PR... so i had no reference :p UBL logic made me mad

@sjasonsmith
Copy link
Contributor Author

@thinkyhead, is anything blocking this from being merged at this point?

@rmcbc
Copy link
Contributor

rmcbc commented Jan 3, 2020

@sjasonsmith and @thinkyhead I got the pull request #16367 and it seems to solve y original problem that G29 didn't probe the correct positions, now it works.

@thinkyhead thinkyhead merged commit 3cade62 into MarlinFirmware:bugfix-2.0.x Jan 3, 2020
@thinkyhead
Copy link
Member

Thanks for the feedback … and of course the patch! It's good to iron these things out. I think we can expect 2.0.2 to be a very good version.

@bill-orange
Copy link

Yup. That looks like the problem. I am somewhat gratified that it really was a bug and not some error on my part. I have it pretty close to working by entering oddball integer values for each limit. I might stick with that until it’s fixed on a release.

mjparme added a commit to mjparme/Marlin that referenced this pull request Feb 1, 2020
* Don't test certain changes

* Reset runout.ran_out on resume (MarlinFirmware#16230)

* Step timing cleanup and rounding fix (MarlinFirmware#16258)

* Add MRR_ESPA/_ESPE (ESP32) boards (MarlinFirmware#16238)

* Add Ender-5 Pro config (MarlinFirmware#16221)

* Add FLYBOARD (STM32F407ZG) (MarlinFirmware#16257)

* Fix STM32 flush of TX (used by UBL) (MarlinFirmware#16197)

* Flash leveling (for some STM32) (MarlinFirmware#16174)

* Some ESP32 patches (MarlinFirmware#16297)

* MKS SGen-L pins EEBF or EFBF scheme (MarlinFirmware#16296)

* Add Rumba32 support for PIO (MarlinFirmware#16202)

* MKS Robin 2 (STM32F407ZE) base support (MarlinFirmware#16270)

* Update Czech language (MarlinFirmware#16305)

* Sync SKR E3 configs (MarlinFirmware#16301)

* Add NOZZLE_AS_PROBE (no probe offsets) (MarlinFirmware#15929)

* Update README with status badge, etc.

* Split up HAL items

* Update mfpub for current MarlinDocumentation

* Fix Max7219 with 256 or more cels

* Fix games menu back item, titles

* Update comments re: NOZZLE_AS_PROBE

* Fix min limit for acc, feed, jerk (MarlinFirmware#16416)

* Improve Renkforce configs (MarlinFirmware#16417)

* Permit ENDSTOP_INTERRUPTS_FEATURE on more STM32 (MarlinFirmware#16412)

* Improve STEVAL_3DP001V1 and future STEVAL_* support (MarlinFirmware#16404)

* MKS Robin ILI9328 TFT support (MarlinFirmware#16401)

* Disable PIDTEMPBED for SKR Mini E3 (MarlinFirmware#16396)

* Return from loop() on non-AVR boards (MarlinFirmware#16390)

* Refactor TMC-related macros and sanity checks (MarlinFirmware#16384)

* Add FILAMENT_UNLOAD_PURGE_FEEDRATE (MarlinFirmware#16372)

* Fix some DOGM warnings (MarlinFirmware#16363)

* Fix warnings in stepper.cpp (MarlinFirmware#16364)

* Fix PrintrBoard build (ignore TMC libraries) (MarlinFirmware#16346)

(In future try to get Teensy processors better supported by `TMCStepper`.)

* Clean up trailing whitespace

* PWM pin not needed for Neopixel brightness / submenu (MarlinFirmware#16345)

* Misc patches preceding DGUS PR

* Fix Visual Micro "Arduino IDE for Visual Studio" support (MarlinFirmware#16418)

* Update Russian language (MarlinFirmware#16426)

* STM32F1: Fix misleading indent / nullptr on FSMC (MarlinFirmware#16431)

* Z-offset edit precision based on value limits (MarlinFirmware#16425)

* Add Ender-5 leadscrew README (MarlinFirmware#16424)

* Add motherboard BIGTREE_SKR_V1.4_TURBO  (MarlinFirmware#16374)

* Enable MULTI_NOZZLE_DUPLICATION for BIBO (MarlinFirmware#16435)

* Touch UI: Fix UBL mesh value editing (MarlinFirmware#16432)

* Sidewinder X1 Config Updates (MarlinFirmware#16315)

* Add Leapfrog Xeed 2015 support (MarlinFirmware#16400)

* Improve JGAurora A1/A5S touch buttons (MarlinFirmware#16394)

* Standardize drivers.h values, add class indirection (MarlinFirmware#16448)

* Update Russian language (MarlinFirmware#16440)

* BTT002: Add runout, PLR, and RGB pins (MarlinFirmware#16442)

* Pins debugging AVR serial pins (MarlinFirmware#16437)

* Fix MIN_PROBE_EDGE bug in default ABL G29 (MarlinFirmware#16367)

* Temporary CI fix for STM32

* Use a default monitor_speed of 250000

* MSG_WATCH => MSG_INFO_SCREEN

* Add EVNOVO (Artillery) Genius config (MarlinFirmware#16320)

* Fixed Creality CR-20 Pro configuration example (MarlinFirmware#16332)

* FYSETC F6 v1.4 board support (MarlinFirmware#16321)

* Add example configs. Expand custom menu. (MarlinFirmware#16286)

- Anet E10
- Geeetech D200
- Geeetech M201
- JGAurora Magic
- MakerFarm Pegasus 12

* Fix Ender-2 display pins, add BTN_ENC (MarlinFirmware#16349)

* Update and fix DGUS (MarlinFirmware#16317)

* Fix serials available on SKR Pro 1.1 (MarlinFirmware#16439)

* Fix daily date bump action

* Action to check PRs

* Update maintainer funding links

* Skip build tests on forks

* Update git helper usage

* Fix EEPROM error with EXTRUDERS == 0 (MarlinFirmware#16464)

* Fix M115 cap with EXTRUDERS == 0 (MarlinFirmware#16459)

* Add option to invert joystick axes (MarlinFirmware#16466)

* Update Russian language (MarlinFirmware#16461)

* Fix permyriad progress bar (MarlinFirmware#16460)

* Improve French language (UBL) (MarlinFirmware#16453)

* Followup to EEPROM patch (MarlinFirmware#16470)

* Remove extra UBL map edit menu item (MarlinFirmware#16451)

* Fix unused var warning (MarlinFirmware#16467)

* Update U20 config to help UBL toggle (MarlinFirmware#16471)

* Move auto_build.py to 'vscode' folder

* Fix MKS_SGEN sanity check (MarlinFirmware#16501)

* Fix EEPROM array size bug (MarlinFirmware#16475)

* Fix SKR Pro BLTouch conflicting timers (MarlinFirmware#16499)

* Provide some missing Arduino macros (MarlinFirmware#16497)

* Fix Change Filament menu item with runout (MarlinFirmware#16485)

* Fix LCD for Tevo Tornado (MarlinFirmware#16474)

* Update workflow skip condition

* Add menu item Tune > Advance K (MarlinFirmware#16488)

* Extend SERIAL_CHAR to take multiple arguments

* Code style and comment tweaks

* Correct ESP32 CPU speed in README (MarlinFirmware#16472)

* Add ARC_SEGMENTS_PER_SEC for finer G2/G3 arcs (MarlinFirmware#16510)

* Fix compile error w/out LCD (MarlinFirmware#16502)

* Add Probe Offsets menu (MarlinFirmware#16444)

* Fix Probe Offset XY edit items (et Français) (MarlinFirmware#16523)

* Update Russian language (MarlinFirmware#16522)

* [cron] Bump distribution date (2020-01-10)

* Prevent Z misaligment on tool change (MarlinFirmware#16518)

* Update Italian language (MarlinFirmware#16527)

* ESP3d integration for ESP32 (MarlinFirmware#16515)

* [cron] Bump distribution date (2020-01-11)

* Migrate actions to default (2.0.x) branch

* Only constrain motion on homed axes (MarlinFirmware#16533)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>

* Fix probeless delta build (MarlinFirmware#16537)

* Use RECIPROCAL macro (not _RECIP) (MarlinFirmware#16530)

* [cron] Bump distribution date (2020-01-12)

* Restore test_builds action to bugfix

* Update auto_build.py paths for Atom/Sublime

* [cron] Bump distribution date (2020-01-13)

* Add GTM32 (STM32F103VET6) environment (MarlinFirmware#16454)

* Power options formatting

* Geeetech G2Pro configuration (MarlinFirmware#16553)

* Fix Linux upload path detection (MarlinFirmware#16514)

* Add SERVO, TONE timers to variant for better STEVAL_3DP001V1 support (MarlinFirmware#16538)

* Clean up whitespace

* [cron] Bump distribution date (2020-01-14)

* Improved STMicro L64XX stepper driver support (MarlinFirmware#16452)

* Make lcd_power_loss_recovery_cancel exportable

* Fix PLR cancel with ExtUI (MarlinFirmware#16556)

* Bring MP_SCARA config up to date

* Fix Fysetc S6 FLASH_PAGE_SIZE and test build (MarlinFirmware#16560)

* [cron] Bump distribution date (2020-01-15)

* Update more configs

* Move configurations to a separate repo

* Fix build error with unsupported reset flags (MarlinFirmware#16562)

* Steval_3DP001V1 timers, analog inputs, etc. (MarlinFirmware#16565)

* Use Flash EEPROM on BTT002 (MarlinFirmware#16558)

* Get test configs from GitHub

* Fix typo

* Nikon IR support for time lapse photos (MarlinFirmware#16539)

* Adjustable ADC debounce delay (MarlinFirmware#16264)

* [cron] Bump distribution date (2020-01-16)

* STM32 RODATA LENGTH (MarlinFirmware#16580)

* Fix I2C address of MCP4728 on LPC176x (MarlinFirmware#16578)

* Fix GTM32 environment (to prevent a crash)

* Fix some warnings, Melzi pins

* Move macros to stepper/indirection

* Fix TOUCH_UI_FTDI_EVE bugs (MarlinFirmware#16540)

* ESP32 HAL: Fix random pauses during prints (MarlinFirmware#16548)

* [cron] Bump distribution date (2020-01-17)

* STM32 soft SPI. STEVAL_3DP001V1 SD read. M906 tweaks. (MarlinFirmware#16579)

* Clean up HAL ADC, old test scripts

* Adjust GTM32 build flags (MarlinFirmware#16582)

* Shared SPI sanity check (MarlinFirmware#16581)

* More CI test updates

* Update FYSETC S6 pins (MarlinFirmware#16559)

* PINDA v2 temperature sensor / compensation (MarlinFirmware#16293)

* [cron] Bump distribution date (2020-01-18)

* Allow RRW Keypad with any LCD

* [cron] Bump distribution date (2020-01-19)

* [cron] Bump distribution date (2020-01-20)

* Fix M112 with Emergency Parser

* Simplify TMC monitor code

* Updates for L64XX

* Function-like macros

* Use bool in pin compare

* Patch for _STEP_INIT

* Simplify a drivers.h macro (MarlinFirmware#16589)

* SAMD51: ADC for probe temperature compensation (MarlinFirmware#16596)

* Update FYSETC S6 Peripheral Pins (MarlinFirmware#16593)

* Update BTT002 pins (MarlinFirmware#16591)

* Reset shutdown timer on M85 (MarlinFirmware#16587)

* AVR sanity check for MONITOR_DRIVER_STATUS with SW Serial (MarlinFirmware#16421)

* STEVAL_3DP001V1: Easier Serial2 (for WIFI interface) (MarlinFirmware#16599)

* Fix Greek language string (MarlinFirmware#16601)

* Quad Z stepper support (MarlinFirmware#16277)

* LPC1768: Allow I2C master channel override (MarlinFirmware#16584)

* Move steps/mm out of slim menus (MarlinFirmware#16603)

* Fix CHAMBER_MAXTEMP security margin (MarlinFirmware#16600)

* L64xx M906 Fix status variable, formatting (MarlinFirmware#16597)

* Provide methods for M420 + MBL (MarlinFirmware#16602)

* [cron] Bump distribution date (2020-01-21)

* Fix STM401/4xx/STM32F7xx timers, STEVAL_3DP001V1 warning (MarlinFirmware#16621)

* Override for LPC1768 u8g/digipot I2C master ID (MarlinFirmware#16622)

* Release UI on G26 priming timeout (MarlinFirmware#16449)

* Add HMS434 V15 ATSAM board (MarlinFirmware#16620)

* Tweak some config spacing

* G12 defaults per tool. Event G-code for post-toolchange (MarlinFirmware#16554)

* Arc segment radius scaling (MarlinFirmware#16551)

* Update mfdoc, mfpub

* [cron] Bump distribution date (2020-01-22)

* Tweak mfpub stashing

* [cron] Bump distribution date (2020-01-23)

* Enable use of latest TMCStepper on MKS Robin Nano (MarlinFirmware#16652)

* [cron] Bump distribution date (2020-01-24)

* Convert chars only for enabled languages

* Extra debugging for leveling on/off

* Bring configs and drivers.h up to date

* Duet Smart Effector support (MarlinFirmware#16641)

* BigTreeTech GTR V1.0 / Support 8 extruders, heaters, temp sensors, fans (MarlinFirmware#16595)

* [cron] Bump distribution date (2020-01-26)

* Fix DELTA_CALIBRATION_MENU recursive call (MarlinFirmware#16656)

* Fix MKS Base + Digipot compile error (MarlinFirmware#16636)

* Add ESP3DLib idletask entry point (MarlinFirmware#16658)

* Fix Serial defines for M43 on AVR (MarlinFirmware#16649)

* Fix HOMING_BACKOFF_MM for DELTA (MarlinFirmware#16657)

* Clean up PID language defines

* More 8 extruder defines

* Update Slovak language (MarlinFirmware#16646)

* Fix M43 timer report on AVR (MarlinFirmware#16645)

* Fix Spanish (swapped BLTouch strings) (MarlinFirmware#16637)

* SKR 1.3 sensorless endstops hack (MarlinFirmware#16659)

* Fix PID F menu label

* [cron] Bump distribution date (2020-01-27)

* Preserve CWD for write/remove file (MarlinFirmware#16667)

* Rename some temperature members

* Fix Trigorilla 1.4 limit switches

See MarlinFirmware#16612

* Fix serial port redirection (index ≠ port num) (MarlinFirmware#16687)

* G60/G61 Position Save/Restore (MarlinFirmware#16557)

* Remove extraneous G60/G61 lines

* Fix Manual Bed Leveling with multiple extruders (MarlinFirmware#16688)

* [cron] Bump distribution date (2020-01-28)

* Prevent SD access from resetting ESP32 (MarlinFirmware#16690)

* [cron] Bump distribution date (2020-01-29)

* Fix Toolchange (!no_move) return to status (MarlinFirmware#16699)

* [cron] Bump distribution date (2020-01-30)

* Cleanup of old includes, add comments

* Fix HAS_FAN macro (MarlinFirmware#16717)

* Fix probe temp calibration (MarlinFirmware#16718)

* Support for E4d@BOX mainboard (MarlinFirmware#16716)

* Fix missing string for M48 build (MarlinFirmware#16708)

* Fix G60/G61 slots > 8 and compile error (MarlinFirmware#16715)

* Move L64XX index_to_axis to progmem (MarlinFirmware#16697)

* Refactor heater watch, job timer auto-start (MarlinFirmware#16725)

* Auto assign DIAG pins for multi-endstop (MarlinFirmware#16723)

* Tweak G60/G61 slots

* Fix compile error in SdVolume on ESP32 (MarlinFirmware#16728)

* Simultaneous use of rotary encoder and touch buttons (MarlinFirmware#16729)

* Set up DIAG endstops for BTT SKR 1.4 / 1.4 Turbo (MarlinFirmware#16727)

* Extend RX/TX pins for up to 8 extruders

* Fix up, improve endstop pin auto-assignment

Followup for MarlinFirmware#16723

* (21) PT100 for MCUs with 3.3v logic (MarlinFirmware#16731)

* [cron] Bump distribution date (2020-01-31)

* Add sanity-check for new Advanced Pause option

Followup to MarlinFirmware#16372

* Include macros for delta ABC

* Update Russian language (MarlinFirmware#16745)

* Fix BTT SKR 1.4 extra endstop pins (MarlinFirmware#16738)

* Option for Trigorilla 1.4 with add-on endstops board (MarlinFirmware#16737)

* Consistent M112 with Emergency Parser (MarlinFirmware#16747)

* Improve mfadd helper script

- Use the original branch name if none is supplied
- Set the remote tracking to the source
- Accept User/Branch or User:Branch syntax

* Clean up i2c encoder, sanitize serial

* Misc cleanup, whitespace

* Encapsulate probe as singleton class (MarlinFirmware#16751)

* G34 automatic point assignment (MarlinFirmware#16473)

* Fix Temperature::over_autostart_threshold (MarlinFirmware#16749)

* Update Russian language (MarlinFirmware#16750)

* Fix CURRENT_STEP_DOWN compile error

* Drop obsolete SD special char handling

See MarlinFirmware#14035

* Probe singleton patch

Followup to MarlinFirmware#16751

* Fix RGB / Neopixel white color bug

See MarlinFirmware#16752

* Suppress a compile warning

* More 8-extruder fixups

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Co-authored-by: Tanguy Pruvot <tpruvot@users.noreply.github.com>
Co-authored-by: Jason Smith <jason.inet@gmail.com>
Co-authored-by: Luc <8822552+luc-github@users.noreply.github.com>
Co-authored-by: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com>
Co-authored-by: FLYmaker <49380822+FLYmaker@users.noreply.github.com>
Co-authored-by: randellhodges <rhodges@taxfodder.com>
Co-authored-by: ferengi82 <christian.maurer@gmx.eu>
Co-authored-by: Luu Lac <45380455+shitcreek@users.noreply.github.com>
Co-authored-by: petrzjunior <junior@zahradnik.cz>
Co-authored-by: InsanityAutomation <38436470+InsanityAutomation@users.noreply.github.com>
Co-authored-by: Giuliano Zaro <3684609+GMagician@users.noreply.github.com>
Co-authored-by: Dirk O. Kaar <19971886+dok-net@users.noreply.github.com>
Co-authored-by: Pascal de Bruijn <pmjdebruijn@pcode.nl>
Co-authored-by: Bob Kuhn <bob.kuhn@att.net>
Co-authored-by: Alexander Gavrilenko <jmz52@users.noreply.github.com>
Co-authored-by: swilkens <stefanwilkens@gmail.com>
Co-authored-by: Lino Barreca <linobarreca@hotmail.com>
Co-authored-by: rado79 <51396577+rado79@users.noreply.github.com>
Co-authored-by: Acenotass <44540957+Acenotass@users.noreply.github.com>
Co-authored-by: ellensp <ellensp@hotmail.com>
Co-authored-by: Walt Sorensen <photodude@users.noreply.github.com>
Co-authored-by: yedey <myco@gmx.net>
Co-authored-by: George Fu <nailao_5918@163.com>
Co-authored-by: Vertabreaker <opyrus@hotmail.com>
Co-authored-by: greppp <gregory.perrin87@gmail.com>
Co-authored-by: Jamie <vector76@users.noreply.github.com>
Co-authored-by: Justin <justinwilczek@gmail.com>
Co-authored-by: ManuelMcLure <manuel@mclure.org>
Co-authored-by: 0r31 <37673727+0r31@users.noreply.github.com>
Co-authored-by: Alejandro Aguilera <fenixin@gmail.com>
Co-authored-by: meponderR <33591888+meponderR@users.noreply.github.com>
Co-authored-by: Mehdi Beyk Mohamadi <mbm_greenway@yahoo.com>
Co-authored-by: FlyingSamson <59110786+FlyingSamson@users.noreply.github.com>
Co-authored-by: Ryan V1 <55478432+V1EngineeringInc@users.noreply.github.com>
Co-authored-by: David Klasinc <bigwhale@lubica.net>
Co-authored-by: gjdodd <31553294+gjdodd@users.noreply.github.com>
Co-authored-by: Dennis <16547088+soligen2010@users.noreply.github.com>
Co-authored-by: felixstorm <felix.storm@glueckkanja.com>
Co-authored-by: vivian-ng <vivian@maplerain.com>
Co-authored-by: tompe-proj <59094873+tompe-proj@users.noreply.github.com>
Co-authored-by: MaukCC <jos@mauk.cc>
Co-authored-by: Ryan <allted@gmail.com>
Co-authored-by: Artur Petrzak <petrzmax@gmail.com>
Co-authored-by: yangwenxiong <46896566+yangwenxiong@users.noreply.github.com>
Co-authored-by: Roman Moravčík <roman.moravcik@gmail.com>
Co-authored-by: Robby Candra <robbycandra.mail@gmail.com>
Co-authored-by: Hans007a <32525735+Hans007a@users.noreply.github.com>
Co-authored-by: Neskik <axel.gouverneur@gmail.com>
Co-authored-by: Mauro <exilaus@hotmail.com>
Co-authored-by: Radek Pietruszewski <radexpl@gmail.com>
Co-authored-by: chgi <chgi@users.noreply.github.com>
Co-authored-by: Robert Stein <stonecoldcrazy@stoneathome.de>
Co-authored-by: rebel1 <453277+rebel1@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants