You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AnHardt 7188ce0ad6 double bump probing as a feature
Why double touch probing is not a good thing.

It's widely believed we can get better __probing__ results when using a double touch when probing.

Let's compare to double touch __homing__.
Or better let's begin with single touch __homing__.
We home to find out out position, so our position is unknown.
To find the endstop we have to move into the direction of the endstop.
The maximum way we have to move is a bit longer than the axis length.
When we arrive at the endstop - when it triggers, the stepper pulses are stopped immediately.
It's a sudden stop. No smooth deacceleration is possible.
Depending on the speed and the moving mass we lose steps here.
Only if we approached slow enough (below jerk speed?) we will not lose steps.

Moving a complete axis length, that slow, takes for ever.
To speed up homing, we now make the first approach faster, get a guess about our position,
back up a bit and make a second slower approach to get a exact result without losing steps.

What we do in double touch probing is the same. But the difference here is:
a. we already know where we are
b. if the first approach is to fast we will lose steps here to.
But this time there is no second approach to set the position to 0. We are measuring only.
The lost steps are permanent until we home the next time.

So if you experienced permanently rising values in M48 you now know why. (Too fast, suddenly stopped, first approach)

What can we do to improve probing?
We can use the information about our current position.
We can make a really fast, but deaccelerated, move to a place we know it is a bit before the trigger point.
And then move the rest of the way really slow.
9 years ago
..
example_configurations double bump probing as a feature 9 years ago
fonts Rename ultralcd implementation files for consistency 9 years ago
Conditionals.h Make SanityCheck.h a catch-all for obsolete configs 9 years ago
Conditionals_LCD.h Split up Conditionals.h into two files 9 years ago
Conditionals_post.h Improved MANUAL_[XYZ]_HOME_POS 9 years ago
Configuration.h double bump probing as a feature 9 years ago
Configuration_adv.h Unify config in a single include without nested includes 9 years ago
M100_Free_Mem_Chk.cpp Repair M100 9 years ago
Makefile Merge pull request #3224 from yarda/fix-melzi2-arduino-1.6.x 9 years ago
Marlin.h Fix output of heater states 9 years ago
Marlin.ino Unify config in a single include without nested includes 9 years ago
MarlinConfig.h Merge pull request #4419 from AnHardt/sd2pinmap 9 years ago
MarlinSerial.cpp Moves all global enums to a central file 9 years ago
MarlinSerial.h Add TX-buffer for MarlinSerial 9 years ago
Marlin_main.cpp double bump probing as a feature 9 years ago
SanityCheck.h Improved MANUAL_[XYZ]_HOME_POS 9 years ago
Sd2Card.cpp Switch SD2cadrLib to fastio 9 years ago
Sd2Card.h Switch SD2cadrLib to fastio 9 years ago
SdBaseFile.cpp 8.3-filenames second try 9 years ago
SdBaseFile.h Further cleanup of comments, partial Doxygen-style 9 years ago
SdFatConfig.h Further cleanup of comments, partial Doxygen-style 9 years ago
SdFatStructs.h Further cleanup of comments, partial Doxygen-style 9 years ago
SdFatUtil.cpp Further cleanup of comments, partial Doxygen-style 9 years ago
SdFatUtil.h Converted all files on src to Unix file format 9 years ago
SdFile.cpp Converted all files on src to Unix file format 9 years ago
SdFile.h Further cleanup of comments, partial Doxygen-style 9 years ago
SdInfo.h Converted all files on src to Unix file format 9 years ago
SdVolume.cpp Converted all files on src to Unix file format 9 years ago
SdVolume.h Further cleanup of comments, partial Doxygen-style 9 years ago
Version.h Move versioning to MarlinConfig.h 9 years ago
blinkm.cpp Further cleanup of comments, partial Doxygen-style 9 years ago
blinkm.h Further cleanup of comments, partial Doxygen-style 9 years ago
boards.h Add Cartesio CN Controls V11 board 9 years ago
buzzer.h Merge pull request #4419 from AnHardt/sd2pinmap 9 years ago
cardreader.cpp Simply run M31 at the end of an SD print 9 years ago
cardreader.h Moves all global enums to a central file 9 years ago
circularqueue.h Non-blocking buzzer 9 years ago
configuration_store.cpp Merge pull request #4397 from thinkyhead/rc_tweak_eeprom 9 years ago
configuration_store.h Unify config in a single include without nested includes 9 years ago
dac_mcp4728.cpp Support for newer Wire library 9 years ago
dac_mcp4728.h Unify config in a single include without nested includes 9 years ago
digipot_mcp4451.cpp Unify config in a single include without nested includes 9 years ago
dogm_bitmaps.h Updates u8glib's bmp2hex converter 9 years ago
dogm_font_data_6x9_marlin.h Further cleanup of comments, partial Doxygen-style 9 years ago
dogm_font_data_HD44780_C.h Further cleanup of comments, partial Doxygen-style 9 years ago
dogm_font_data_HD44780_J.h Update Kana font 9 years ago
dogm_font_data_HD44780_W.h Further cleanup of comments, partial Doxygen-style 9 years ago
dogm_font_data_ISO10646_1.h Further cleanup of comments, partial Doxygen-style 9 years ago
dogm_font_data_ISO10646_5_Cyrillic.h Further cleanup of comments, partial Doxygen-style 9 years ago
dogm_font_data_ISO10646_CN.h Further cleanup of comments, partial Doxygen-style 9 years ago
dogm_font_data_ISO10646_Greek.h Greek language pack from @psavva 9 years ago
dogm_font_data_ISO10646_Kana.h Update Kana font 9 years ago
dogm_font_data_Marlin_symbols.h Further cleanup of comments, partial Doxygen-style 9 years ago
duration_t.h Renamed timestamp_t to duration_t 9 years ago
endstops.cpp Endstops vars already initialized 9 years ago
endstops.h Moves all global enums to a central file 9 years ago
enum.h Macros to loop over axes 9 years ago
fastio.h Switch SD2cadrLib to fastio 9 years ago
language.h Move versioning to MarlinConfig.h 9 years ago
language_an.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_bg.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_ca.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_cn.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_cz.h Czech update 9 years ago
language_da.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_de.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_el-gr.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_el.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_en.h Remove MSG_PRINT_TIME from languages 9 years ago
language_es.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_eu.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_fi.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_fr.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_gl.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_hr.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_it.h Remove MSG_PRINT_TIME from languages 9 years ago
language_kana.h Remove MSG_PRINT_TIME from languages 9 years ago
language_kana_utf8.h Remove MSG_PRINT_TIME from languages 9 years ago
language_nl.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_pl.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_pt-br.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_pt-br_utf8.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_pt.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_pt_utf8.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_ru.h Follow-up and fix the PR #4287 (Allow stopwatch and printcounter to go over 18:12:15) 9 years ago
language_test.h Merge pull request #4252 from thinkyhead/rc_rename_hpb 9 years ago
macros.h Move some macros from Marlin.h to macros.h 9 years ago
mesh_bed_leveling.cpp Use memset in mbl.reset to save 58 bytes 9 years ago
mesh_bed_leveling.h Moves all global enums to a central file 9 years ago
nozzle.h Nozzle::clean() no longer requires HAS_BED_PROBE 9 years ago
pins.h Switch SD2cadrLib to fastio 9 years ago
pins_3DRAG.h Remove "the click" comments 9 years ago
pins_5DPRINT.h Switch SD2cadrLib to fastio 9 years ago
pins_99.h Add "About Printer" information menu. 9 years ago
pins_A4JP.h Add "About Printer" information menu. 9 years ago
pins_AZTEEG_X1.h Add "About Printer" information menu. 9 years ago
pins_AZTEEG_X3.h Add "About Printer" information menu. 9 years ago
pins_AZTEEG_X3_PRO.h Add "About Printer" information menu. 9 years ago
pins_BAM_DICE_DUE.h Add "About Printer" information menu. 9 years ago
pins_BQ_ZUM_MEGA_3D.h Add "About Printer" information menu. 9 years ago
pins_BRAINWAVE.h Switch SD2cadrLib to fastio 9 years ago
pins_BRAINWAVE_PRO.h Switch SD2cadrLib to fastio 9 years ago
pins_CHEAPTRONIC.h BLEN_A, B, C are defined in ultralcd headers 9 years ago
pins_CNCONTROLS_11.h Add Cartesio CN Controls V11 board 9 years ago
pins_CNCONTROLS_12.h Fix CN Controls 12 styling 9 years ago
pins_ELEFU_3.h BLEN_A, B, C are defined in ultralcd headers 9 years ago
pins_FELIX2.h BLEN_A, B, C are defined in ultralcd headers 9 years ago
pins_GEN3_MONOLITHIC.h Add "About Printer" information menu. 9 years ago
pins_GEN3_PLUS.h Add "About Printer" information menu. 9 years ago
pins_GEN6.h Add "About Printer" information menu. 9 years ago
pins_GEN6_DELUXE.h Add "About Printer" information menu. 9 years ago
pins_GEN7_12.h Add "About Printer" information menu. 9 years ago
pins_GEN7_13.h Add "About Printer" information menu. 9 years ago
pins_GEN7_14.h Add "About Printer" information menu. 9 years ago
pins_GEN7_CUSTOM.h Remove "the click" comments 9 years ago
pins_K8200.h Add "About Printer" information menu. 9 years ago
pins_K8400.h Add a ported example configuration for the Velleman K8400 (Vertex) printer. 9 years ago
pins_LEAPFROG.h Add "About Printer" information menu. 9 years ago
pins_MEGACONTROLLER.h Remove "the click" comments 9 years ago
pins_MEGATRONICS.h BLEN_A, B, C are defined in ultralcd headers 9 years ago
pins_MEGATRONICS_2.h BLEN_A, B, C are defined in ultralcd headers 9 years ago
pins_MEGATRONICS_3.h BLEN_A, B, C are defined in ultralcd headers 9 years ago
pins_MELZI.h Add "About Printer" information menu. 9 years ago
pins_MELZI_MAKR3D.h Add "About Printer" information menu. 9 years ago
pins_MINIRAMBO.h Add "About Printer" information menu. 9 years ago
pins_MINITRONICS.h BLEN_A, B, C are defined in ultralcd headers 9 years ago
pins_MKS_13.h Support for VIKI2 with MKS Gen 1.3 / 1.4 9 years ago
pins_MKS_BASE.h Add "About Printer" information menu. 9 years ago
pins_OMCA.h Add "About Printer" information menu. 9 years ago
pins_OMCA_A.h Add "About Printer" information menu. 9 years ago
pins_PRINTRBOARD.h Merge pull request #4419 from AnHardt/sd2pinmap 9 years ago
pins_PRINTRBOARD_REVF.h Merge pull request #4419 from AnHardt/sd2pinmap 9 years ago
pins_RAMBO.h Wrangle encoder bits, LCD_CLICKED 9 years ago
pins_RAMPS_13.h Add "About Printer" information menu. 9 years ago
pins_RAMPS_13_EFB.h Add "About Printer" information menu. 9 years ago
pins_RAMPS_14.h Merge pull request #4419 from AnHardt/sd2pinmap 9 years ago
pins_RAMPS_14_EFB.h Add "About Printer" information menu. 9 years ago
pins_RAMPS_OLD.h Switch SD2cadrLib to fastio 9 years ago
pins_RIGIDBOARD.h Add "About Printer" information menu. 9 years ago
pins_RIGIDBOARD_V2.h Add "About Printer" information menu. 9 years ago
pins_RUMBA.h Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER 9 years ago
pins_SAINSMART_2IN1.h Add "About Printer" information menu. 9 years ago
pins_SANGUINOLOLU_11.h Add "About Printer" information menu. 9 years ago
pins_SANGUINOLOLU_12.h Add "About Printer" information menu. 9 years ago
pins_SAV_MKI.h Switch SD2cadrLib to fastio 9 years ago
pins_SETHI.h Add "About Printer" information menu. 9 years ago
pins_STB_11.h Add "About Printer" information menu. 9 years ago
pins_TEENSY2.h Switch SD2cadrLib to fastio 9 years ago
pins_TEENSYLU.h Switch SD2cadrLib to fastio 9 years ago
pins_ULTIMAIN_2.h BLEN_A, B, C are defined in ultralcd headers 9 years ago
pins_ULTIMAKER.h Add "About Printer" information menu. 9 years ago
pins_ULTIMAKER_OLD.h Add "About Printer" information menu. 9 years ago
planner.cpp inverse_second => inverse_mm_s 9 years ago
planner.h Replace division in planner with multiplication 9 years ago
planner_bezier.cpp Don't call adjust_delta on SCARA 9 years ago
planner_bezier.h Append units to feedrate variables 9 years ago
point_t.h Adds missing documentation to the point_t structure 9 years ago
printcounter.cpp Renamed timestamp_t to duration_t 9 years ago
printcounter.h Adds filamentUsed and longestPrint stats to PrintCounter 9 years ago
qr_solve.cpp Further cleanup of comments, partial Doxygen-style 9 years ago
qr_solve.h Unify config in a single include without nested includes 9 years ago
servo.cpp Unify config in a single include without nested includes 9 years ago
servo.h SERVO_DEACTIVATION_DELAY => SERVO_DELAY 9 years ago
speaker.h Fixes a compilation error introduced by #4448 9 years ago
speed_lookuptable.h Further cleanup of comments, partial Doxygen-style 9 years ago
stepper.cpp Replace some float division with multiplication 9 years ago
stepper.h Replace division in planner with multiplication 9 years ago
stepper_dac.cpp Merge pull request #4161 from thinkyhead/rc_general_cleanup 9 years ago
stepper_dac.h Further cleanup of comments, partial Doxygen-style 9 years ago
stepper_indirection.cpp Unify config in a single include without nested includes 9 years ago
stepper_indirection.h Unify config in a single include without nested includes 9 years ago
stopwatch.cpp Updates Stopwatch class to use internal state enum 9 years ago
stopwatch.h Updates Stopwatch class to use internal state enum 9 years ago
temperature.cpp Switch SD2cadrLib to fastio 9 years ago
temperature.h Fix output of heater states 9 years ago
thermistornames.h Dyze High Temp Thermistor Support 9 years ago
thermistortables.h Dyze High Temp Thermistor Support 9 years ago
twibus.cpp Shrink debug code in TWIBus and disable by default 9 years ago
twibus.h Shrink debug code in TWIBus and disable by default 9 years ago
ultralcd.cpp Merge pull request #4389 from thinkyhead/rc_optimize_planner 9 years ago
ultralcd.h Wrangle encoder bits, LCD_CLICKED 9 years ago
ultralcd_impl_DOGM.h Wrangle encoder bits, LCD_CLICKED 9 years ago
ultralcd_impl_HD44780.h Wrangle encoder bits, LCD_CLICKED 9 years ago
ultralcd_st7920_u8glib_rrd.h Add a ported example configuration for the Velleman K8400 (Vertex) printer. 9 years ago
utf_mapper.h Make MAPPER_NON the fall back mapper 9 years ago
utility.cpp The safe_delay() is now globaly accessible 9 years ago
utility.h Adds utility.h 9 years ago
vector_3.cpp Further cleanup of comments, partial Doxygen-style 9 years ago
vector_3.h Further cleanup of comments, partial Doxygen-style 9 years ago
watchdog.cpp Further cleanup of comments, partial Doxygen-style 9 years ago
watchdog.h Further cleanup of comments, partial Doxygen-style 9 years ago