Commit Graph

5309 Commits (ada935de87da0ddde7cdbb6db1a0d65cec6e19c6)

Author SHA1 Message Date
João Brázio 8e79e8cdb3 Adds types.h
Scott Lahteine 844a4e799e Account for DELTA in Planner::refresh_positioning
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.
Scott Lahteine c31f56a38c Deprecate EXTRUDER_WATTS and BED_WATTS
Scott Lahteine e1970b4b28 Show power output in same order as temp output
Scott Lahteine 74df828acc Show ADC values inline rather than after
João Brázio 2b5faa61e2 Consolidates Buzzer and Speaker into a single object
João Brázio 8093c5f534 Non-blocking speaker now uses arduino's tone()
João Brázio 8896f08074 Fixes a compilation error introduced by
Scott Lahteine ea5ac94804 Improved MANUAL_[XYZ]_HOME_POS
No need for `MANUAL_HOME_POSITIONS`. Just set each one as-needed to
override the automatic behavior.
Scott Lahteine b40661cb18 Fix output of heater states
Scott Lahteine 9083e5420a Merge pull request from AnHardt/sd2pinmap
Switch Sd2CardLib to fastio
Scott Lahteine 6f59560526 Merge pull request from jbrazio/speaker-followup
A little cleanup at speaker.h
Scott Lahteine c94b6dd3e7 Revert to SanityCheck on every .cpp file
Scott Lahteine 256b03598d Merge pull request from thinkyhead/rc_fix_delta_optimization
Fix DELTA speed calculation
Scott Lahteine 753283e020 inverse_second => inverse_mm_s
Scott Lahteine 83e1d90ca3 Undo errant optimization of block->millimeters
João Brázio 909e98b1af A little cleanup at speaker.h
Scott Lahteine ae1c7bca1b Merge pull request from thinkyhead/rc_fix_rdfgsc_mega3
Fix for R.D.F.G.S.C. with MEGATRONICS 3 board
Scott Lahteine 03fdb26cd2 Wrangle encoder bits, LCD_CLICKED
Scott Lahteine 155def24c6 BLEN_A, B, C are defined in ultralcd headers
Scott Lahteine 42dcc3bf50 Remove "the click" comments
Scott Lahteine 0eba65f96b Fix for R.D.F.G.S.C. with MINITRONICS board
fabtopia 83d0d59303 Fix for R.D.F.G.S.C. with MEGATRONICS 3 board
The support for reprapworld LCD boke the code for the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER. See Full Grapics Display does not work any more after   
João Brázio 4f191a384b
Moves the font folder into the buildroot
Scott Lahteine 5367d56f87 Merge pull request from thinkyhead/rc_delta_safe_homing
DELTA should ignore Z_SAFE_HOMING
Scott Lahteine 2525528fb2 DELTA should ignore Z_SAFE_HOMING
Scott Lahteine ab4b2a66ff Allow zero Z_RAISE_BETWEEN_PROBINGS
Scott Lahteine 8953e3e984 Allow Z_SAFE_HOMING without a probe
AnHardt e4942d2163 Switch SD2cadrLib to fastio
Replace all fastDigitalRead/Write() with READ/WRITE()

Define SCK_PIN, MISO_PIN, MOSI_PIN in pins.h if not already defined in the pins_*.h files.

Remove these conditional pin definitions from the pin-files. They are now always defined.

Define separate sets of SPI-pins for AT90USB with and without Teensy support in fastio.h.
Likely this was the main reason for all that confusion about the AT90USB-SPI pins.
Scott Lahteine 21e744c454 Allow zero raise for deploy/stow
Scott Lahteine 54084612fd Merge pull request from petrzjunior/transl
[LANGUAGE] Update Czech (Info screen strings)
Scott Lahteine 5597400cda Merge pull request from thinkyhead/rc_split_conditionals
Split up Conditionals.h into two files
Scott Lahteine 4be635ec6e Remove MSG_PRINT_TIME from languages
Scott Lahteine 3be49881c0 Make SanityCheck.h a catch-all for obsolete configs
Scott Lahteine fa647cca23 Do the sanity check just once per build
Scott Lahteine 24a1a16e5d Move versioning to MarlinConfig.h
Scott Lahteine 7e70a0b05d Move pins / Arduino includes to MarlinConfig.h
Scott Lahteine d9f7ed9a3c Move some macros from Marlin.h to macros.h
Scott Lahteine 277899c175 Move include _Bootscreen.h where needed
Scott Lahteine 83c4653c71 Include boards and macros ahead of configs
Scott Lahteine 5f4702ecb2 Make Conditionals.h a catch-all for old configs
Scott Lahteine 8a44928df3 Make Conditionals.h a catch-all for old configs
Petr Zahradník junior 3d9b878cf0 Czech update
Scott Lahteine c6226bb0aa Unify config in a single include without nested includes
Scott Lahteine 2d378fac1b No need to include thermistortables.h in Configuration.h
Scott Lahteine df27d01cd9 Arrange needed includes in Marlin.h
Scott Lahteine 93ea281061 Split up Conditionals.h into two files
Rather than include twice, which is tricky but may confuse
Scott Lahteine 8684570f68 Merge pull request from thinkyhead/rc_followup_4402
Followup  fixing 3-point leveling
Scott Lahteine c55b7d0750 Merge pull request from thinkyhead/rc_theres_always_something
Move HAS_DIGIPOTSS to Conditionals.h
Scott Lahteine 42eebcd518 Merge pull request from thinkyhead/rc_cleanup_comment
Clean up Transfer Buffer Size comment
Scott Lahteine 5272147f7c Followup fixing 3-point leveling
Scott Lahteine fcc39e2b5f Clean up Transfer Buffer Size comment
Scott Lahteine 0c0a63322b Patches to prepare REPRAPWORLD_GRAPHICAL_LCD
brupje a60a668f6b Support for REPRAPWORLD_GRAPHICAL_LCD
Scott Lahteine 4f2ff46ab9 Move HAS_DIGIPOTSS to conditionals
Scott Lahteine 54f4f80077 Merge pull request from thinkyhead/rc_better_stepper_indirection
Arrange stepper_indirection by axis
Scott Lahteine 169c21b477 Merge pull request from thinkyhead/rc_consistent_positioning
Account for coordinate space offsets
Scott Lahteine 750a1e5116 Arrange stepper_indirection by axis
Scott Lahteine 7c27f34996 Merge pull request from thinkyhead/rc_tweak_eeprom
Neaten up EEPROM read/write functions
Scott Lahteine 2595a40a61 Account for coordinate space more in G28 / G29 / M48
Scott Lahteine 060dc6d95a Neaten up EEPROM read/write functions
Scott Lahteine b7b7c90477 Merge pull request from thinkyhead/rc_optimize_planner
Optimize planner with precalculation, etc.
Scott Lahteine 6900bb2286 Merge pull request from tnw513/italian_fix
Update Italian translations. Remove trailing spaces.
Scott Lahteine e4816293a8 serial_echopair_P for uint16_t
Scott Lahteine d8e5af6834 Use RAW_POSITION for MBL in planner.set_position_mm
Scott Lahteine b183442c61 Fix inactive_extruder_x_pos for coordinate space
Scott Lahteine f75b0c2ee1 Make POSITION macros global
Scott Lahteine 101b60ef42 Tweak Dual X Carriage data spacing
Scott Lahteine 1fe60b723f Merge pull request from thinkyhead/rc_sanity_check_temp_sensor
Sanity check for too many temp sensors
Scott Lahteine bedda3be61 Patch generic delta error caught by sanity check
Scott Lahteine a5212bf277 Sanity check for too many temp sensors
Scott Lahteine d8f2876753 Replace some float division with multiplication
Scott Lahteine ddde785b37 Code formatting in planner.cpp
Scott Lahteine f8b5749235 Replace division in planner with multiplication
Scott Lahteine b921f6b69d Optimize calculation of block->millimeters for DELTA
Scott Lahteine db5df9500b Move sync_plan_position closer to the top
Scott Lahteine 2839c56f5a Merge pull request from jbrazio/duration_t
Renamed timestamp_t to duration_t
Scott Lahteine d6c50671d3 Sanitycheck: Z_SAFE_HOMING points are reachable
Scott Lahteine a6203366b6 Sanitycheck: Z_SAFE_HOMING requires a probe
Scott Lahteine bbe5b80492 Always define probe limits if there is a probe
Silvio Didonna 950397f2a0 Added missing translations. Removed trailing spaces for consistency ()
João Brázio 50fb0f7cec M31 serial output is now always in EN
João Brázio 62d96d72f3 Renamed timestamp_t to duration_t
Scott Lahteine 3e2b3353b0 Fix axis indices for COREYZ
Scott Lahteine c287846f46 Merge pull request from thinkyhead/rc_anhardt_more_4370
Update Z in a unified way in run_z_probe
Scott Lahteine 22d0654fe6 Merge pull request from esenapaj/Update-Japanese-translation
Update Japanese translation
Scott Lahteine bb93b6822a Use set_current_from_steppers_for_axis
AnHardt 96a162beda Use implications from in run_z_probe()
See also https://github.com/MarlinFirmware/Marlin/pull/4370#issuecomment-234713680
Scott Lahteine 4e67a85a5d Macros to loop over axes
esenapaj 784be56e99 Follow-up the PR (General cleanup: enum)
・Update description of M111
esenapaj 3c11977558 Update Japanese translation
・Add translation
・Change translation
・Remove translation
Scott Lahteine 08459a003f Undo the self-sabotage that is do_blocking_move_to_axis_pos
esenapaj d32c4056ad Fix for the PR (Additional logging of do_blocking_move_to)
・Remove unneeded PSTR()
Scott Lahteine 8099ee51a5 Merge pull request from thinkyhead/rc_blocking_move_logging
Additional logging of do_blocking_move_to
Scott Lahteine 8633b644cf Merge pull request from thinkyhead/rc_debug_leveling_docs
Document DEBUG_LEVELING_FEATURE
Scott Lahteine ad16d5019e Additional logging of do_blocking_move_to
Scott Lahteine bb9da6ebdd Document DEBUG_LEVELING_FEATURE
Scott Lahteine 652fd8a826 Merge pull request from thinkyhead/rc_duplication_mode
DUAL_NOZZLE_DUPLICATION_MODE
Scott Lahteine 1766b990b8 Merge pull request from jbrazio/timestamp_t-short
Adds short format to timestamp_t
Scott Lahteine 6da3729531 Merge pull request from thinkyhead/rc_delta_fwd_kinematics
Delta Forward Kinematics (and LOGICAL_POSITION)
João Brázio 9e5dbf67e8 Update the stats menu to include longest job and extruded filament
João Brázio 86d9311495 Rework LCD implementation to use timestamp_t
Scott Lahteine b3eb0c8569 Add LOGICAL_POSITION macro, apply to kinematics
Scott Lahteine 35a610abf9 const arg to inverse_kinematics
João Brázio b4aad85c9a Rework stats menu to use timestamp_t
João Brázio ecd48027fa Adds short timestamp format to timestamp_t
Scott Lahteine b6afa028f4 Don't call adjust_delta on SCARA
Scott Lahteine d5e2d523c7 Generalize kinematics function names
Scott Lahteine 9c4ad7d7ef Clean up delta declarations in Marlin_main.cpp
Scott Lahteine 4b1725628b Move kinematic functions to "private" scope
Scott Lahteine cde068ea42 Use set_current_from_steppers in quickstop_stepper
Scott Lahteine 9f30cc84ce Use set_current_from_steppers for other kinematics
AnHardt 5db9b940ee Use forwardKinematics in DELTA run_z_probe()
Scott Lahteine b5a9647fec Use `ENABLED` in `stepper_indirection.h`
Scott Lahteine cbc7f22ad9 Implement DUAL_NOZZLE_DUPLICATION_MODE
Scott Lahteine 91777dd76c Add DUAL_NOZZLE_DUPLICATION_MODE option
Scott Lahteine 260bbb3109 Fix a couple of simple typos
Scott Lahteine 179e091473 Merge pull request from thinkyhead/rc_jbrazio_timestamp_t
Implements timestamp_t structure
AnHardt 499e404fbf forwardKinematics for Delta printers
João Brázio 23043a1e05 Rework some code to use timestamp_t struct (saves 72 bytes)
João Brázio 9388dcfa49 Implements timestamp_t structure
Scott Lahteine 0b2c608d2f Merge pull request from jbrazio/gcc-bark
Fix minor gcc warning
Scott Lahteine 311c7dadb6 Cleanup do_blocking_move_to for DELTA
Scott Lahteine b78590e63d Patch and cleanup run_z_probe
João Brázio 2f7716987d Fix minor gcc warning
João Brázio efd3aabda8 Adds missing documentation to the point_t structure
Scott Lahteine 39caef4279 Merge pull request from AnHardt/imp-dbmt-for-delta
DELTA do_blocking_move_to() more like the Chartesian one
Scott Lahteine 7d869ad98b Merge pull request from thinkyhead/rc_shrink_planner_accel
Adjustments to planner acceleration limit
AnHardt 376a57232e DELTA do_blocking_move_to() more like the Chartesian one
Scott Lahteine 824c6859e2 Merge pull request from thinkyhead/rc_no_static_moves
inline to fix warnings, smaller build size (sometimes)
Scott Lahteine 976c31235d inline to fix warnings, smaller build size (sometimes)
AnHardt 6ef26a85d8 Back to the differences method in run_z_probe()
Scott Lahteine 4226f56f53 Revert the planner acceleration logic somewhat
Scott Lahteine 16e5348659 Merge pull request from thinkyhead/rc_toolchange_for_G28
Always switch to tool 0 for G28
Scott Lahteine 209f5c03d0 Fewer temporary vars in planner accel limit
Scott Lahteine 62ecd107ba Patch ultralcd_impl header conditional names
Scott Lahteine d2e9a9c188 Always switch to tool 0 for G28
Scott Lahteine 194d9521c3 Merge pull request from thinkyhead/rc_simpler_run_z_probe
Unify run_z_probe
Scott Lahteine 4a6ed5e221 Use HOMING_FEEDRATE_Z for Z_PROBE_SPEED_FAST
AnHardt 09a3cc33e6 Unify run_z_probe
Unify run_z_probe
Add double touch for DELTAs.
Introduce Z_PROBE_SPEED_FAST and Z_PROBE_SPEED_SLOW
  defaulting to homing_feedrate_mm_m[Z_AXIS] and homing_feedrate_mm_m[Z_AXIS]/2
Scott Lahteine 6137a1d934 Merge pull request from thinkyhead/rc_wrangle_movement_etc
Use ENABLED(MAPPER_NON)
Scott Lahteine 0432613ad7 use enabled macro for mapper setting
Scott Lahteine e44b37cdc2 motion section marker below homing speeds
Scott Lahteine 204fd6ec44 Set homing feedrates individually
Scott Lahteine 2bad02e60d Reprapworld Keypad: F1 opens the Move Axis menu
Scott Lahteine eaa6f568ee Prevent re-entrant call of Reprapworld Keypad handler
Scott Lahteine 6abf916575 Reprapworld Keypad move step is 1mm
Scott Lahteine 06ac1f3bcf Reduce Reprapworld Keypad move code size
Scott Lahteine 5d5affdfca Merge pull request from thinkyhead/rc_rename_ultralcd_files
Rename ultralcd implementation files for consistency
Scott Lahteine bb225dedc6 Merge pull request from thinkyhead/rc_jbrazio_rework_g12
NOZZLE_CLEAN_FEATURE with no dependency on HAS_BED_PROBE
Scott Lahteine 8a2efd1155 Rename ultralcd implementation files for consistency
João Brázio b869fbc05e Update all config files with the new G12 options
João Brázio 47fef80848 Nozzle::clean() no longer requires HAS_BED_PROBE
Scott Lahteine f1f1bac0e1 Merge pull request from esenapaj/Update-Japanese-translation
Update Japanese translation
Scott Lahteine 6c899bb520 Merge pull request from jbrazio/gcc-bark-bark
Removes some minor GCC warnings
Scott Lahteine ef0a22871e Merge pull request from jbrazio/followup-a875861
Adds utility.h
Scott Lahteine 9eba58a031 Merge pull request from jbrazio/u8glib-converter
Updates u8glib's bmp2hex converter
Scott Lahteine c502018eab Merge pull request from jbrazio/global-enum-file
General cleanup: enum
Scott Lahteine 0f9953b031 Merge pull request from AnHardt/rep-cons-g28
Introduce line_to_axis_pos() for use in homeaxis()
AnHardt 11c075c6b2 Introduce line_to_axis_pos(axis_codes axis, float where, float feed_rate = 0.0)
and use it in `homeaxis()` instead of `do_blocking_move_to_axis_pos()`.
`do_blocking_move_to_axis_pos` was wrong because it performed subdivided, delta-corrected moves for x- and y-axis.

The first common move for delta homing is like quick_home but for 3 towers.

Fix two warnings.
João Brázio 3ebad4e020 Moves all global enums to a central file
João Brázio 238fefcb00 Updates Stopwatch class to use internal state enum
João Brázio 30ac0782a9 Comment section style correction
João Brázio 8ecee431c4 Updates u8glib's bmp2hex converter
João Brázio 79e7721b76 Removes some minor GCC warnings
João Brázio f4d63796b2 Adds utility.h
esenapaj 361307831e Follow-up the PR (Debug char, fix compile errors for lcd pins)
・Solve a flickering when SD card is inserted or removed at using a ASCII
LCD + language_kana.h
esenapaj ff48bbb86a Update Japanese translation
・Add new translation
Scott Lahteine 46117593b9 Merge pull request from esenapaj/Update-Japanese-translation
Update Japanese translation (work in progress)
Scott Lahteine 3422103863 Merge pull request from thinkyhead/rc_mbl_position_shift
Fix position shift with MBL
Scott Lahteine 92757bd7b3 Merge pull request from
Follow-up the PR  (Mixing and Switching Extruders)
Scott Lahteine 493d30cd97 Drop intermediate nx, ny, and set destination directly
Scott Lahteine 07a735ad22 We always use `destination` so modify mesh_buffer_line
Scott Lahteine 04a5b7b257 A macro to normalize positions
esenapaj 5c8e87a866 Follow-up the PR (Mixing and Switching Extruders)
・Update forgotten K8400 files
Scott Lahteine 86eb5251c5 Fix some debug messages
Scott Lahteine 1e57a6af73 Use blocking_move, current_position in G28 homing
Scott Lahteine f6a3a1da09 nz and ne are always set, so drop them down
Scott Lahteine d0009e013b Rename cell index vars
Scott Lahteine 697373b071 Reduce code size of mesh_buffer_line
Scott Lahteine 103d312f6d MBL can actually do up to 9 x 9
Scott Lahteine f4a69281fc Only call mesh_buffer_line when MBL is active
Scott Lahteine 799a31cd30 Include the position_shift when splitting mesh lines
Scott Lahteine f242aea032 Merge pull request from thinkyhead/rc_feedrates_to_mess_with_you
Wrangle feed rate variables
Scott Lahteine 0342661b3f Merge pull request from thinkyhead/rc_status_pad_jp
Debug char, fix compile errors for lcd pins
Scott Lahteine 81e01152bb Merge pull request from thinkyhead/rc_bltouch_sensor
BLTouch probe sensor
Scott Lahteine 1583177ef4 BLTOUCH probe config option
Scott Lahteine 176b9627c7 Some cleanup ahead of BLTOUCH support
Scott Lahteine 39706f3e57 Endstop invert flags as macros instead of const bool
Scott Lahteine 7242d44810 Endstops vars already initialized
Scott Lahteine 5ed1e7a464 codenum => dwell_ms
Scott Lahteine 69d6016941 Revert default state of endstops in M502
Scott Lahteine 0fcd3706dd Replace ENDSTOPS_ONLY_FOR_HOMING with ENDSTOPS_ALWAYS_ON_DEFAULT
Scott Lahteine 671634bf11 Fix spacing after section header
Scott Lahteine f38553b482 fix a debug message
Scott Lahteine 3d78b8f929 Use HYPOT macro instead of hypot function
Scott Lahteine 9f9fe043ba Apply sq macro throughout
Scott Lahteine 93ba5bddd7 Append units to feedrate variables
Scott Lahteine 5e3d3918b6 Patch compile error for RAMPS LCD pins
Scott Lahteine 94955a8bf7 pad string in lcd_finishstatus
Scott Lahteine 21ee0612e3 Debug char
Scott Lahteine 8f24e0a556 Debugging of MBL in G28
Scott Lahteine 05da02f0a2 Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER
Scott Lahteine 22b4cff423 New extruder type configuration options
esenapaj 601015b73e Update Japanese translation
Scott Lahteine 9766e24504 Merge pull request from thinkyhead/rc_mks_13_viki2
Support for VIKI2 with MKS 1.3 / 1.4
Scott Lahteine 02285662f5 Merge pull request from jbrazio/feature/filament-counter
Adds filamentUsed and longestPrint stats to PrintCounter
Scott Lahteine bf16ae5a70 Merge pull request from jbrazio/feature/g27-park-nozzle
Implements park nozzle feature
Scott Lahteine aaa0d298b9 Merge pull request from thinkyhead/rc_no_static_items_fix
Suppress compiler warnings in ultralcd.cpp
Scott Lahteine cc3ef73583 Merge pull request from thinkyhead/rc_petrzjr_long_print
LCD Longer print
Scott Lahteine 77c8fb627f Merge pull request from thinkyhead/rc_italian_fix
Added missing Italian translations
Scott Lahteine b14888501b Merge pull request from Ingramz/RCBugFix
Add Cartesio CN Controls V11
Silvio Didonna 32e0d71729 Added missing translations
Scott Lahteine 0f3232065e Merge pull request from jbrazio/feature/splash-improvement
Custom boot screen feature improvement
Petr Zahradník junior 2d7fe9dc78 LCD Longer print
Scott Lahteine eee903bd4b Format some DAC lines
Scott Lahteine d53dcaa796 Suppress some compiler warnings
João Brázio fa4274cf4c Improves the custom bootscreen logo feature
João Brázio 1f3283e3a5 Adds custom boot logos for bq Hephestos 2 and Cartesio
João Brázio dfa1c45075 Adds a notice to vendors about the SHOW_CUSTOM_BOOTSCREEN directive
Scott Lahteine ed468e848f Merge pull request from
Follow-up and fix the PR  (Allow stopwatch and printcounter to go over 18:12:15)
João Brázio a8758619ec The safe_delay() is now globaly accessible
João Brázio 9a00108cb6 Adds the WEBSITE_URL as the boot screen line 2
João Brázio f5234b0695 Adds a customizable screen timeout for the default boot screen
João Brázio 2f26bc2153 Adds filamentUsed and longestPrint stats to PrintCounter
João Brázio 336481ea81 Added G27 configuration options to all configs
João Brázio c711701626 Implements a nozzle parking command (G27)
João Brázio 5f368d1bc3 Followup for
João Brázio d7c51bc4b9 Merge pull request from jbrazio/followup/4307
Moves do_blocking_move_to_xy() out of the HAS_BED_PROBE define
esenapaj af9b1d79b1 Follow-up and fix the PR (Allow stopwatch and printcounter to go over 18:12:15)
・Remove MSG_END_HOUR and MSG_END_MINUTE from all the language files
・Change from MSG_INFO_TOTAL_PRINTS to MSG_INFO_PRINT_COUNT in German
file
Scott Lahteine e563634a25 Merge pull request from AnHardt/use-d_b_m_t-in-g28
Use do_blicking_move_to*() in G28
Scott Lahteine 59ae1811c2 Merge pull request from AnHardt/delta-g28
DELTA: Move out of the clip-zone after G28
João Brázio fdea8b6e6a Moves do_blocking_move_to_xy() out of the HAS_BED_PROBE define
AnHardt d2a49c016d DELTA: Move out of the clip-zone after G28
Move down to a safe height after G28 for DELTAs.
AnHardt 46994fd17d Use do_blicking_move_to*() in G28
João Brázio ffbb31b235 Fixes an PSTR overflow with print_xyz()
Indrek Ardel ecb23c1b65 Add Cartesio CN Controls V11 board
Indrek Ardel c8f2dd7cd5 Fix CN Controls 12 styling
Scott Lahteine cec7110409 Merge pull request from thinkyhead/rc_debug_gcode_t
Added logging related to gcode_T
Scott Lahteine 6446d3939a Merge pull request from thinkyhead/rc_static_item_fix_77
Fix skipping of static items
Scott Lahteine 95ab2fd3ae Fix skipping of static items
Scott Lahteine 166f19251e Add more debugging for leveling
- Especially in `gcode_T`
- In `update_software_endstops`
- Some tweaks to observe
Scott Lahteine 7ac0b91a45 Collapsible long comment in gcode_T
João Brázio e71a631f8f do_blocking_move_*() no longer depend on HAS_BED_PROBE
Scott Lahteine 8bf6861af8 Merge pull request from jbrazio/feature/g12-clean-tool
Implements clean nozzle feature (Lulzbot's REWIPE)
Scott Lahteine c5e51f6b96 finished => completed
Scott Lahteine 1618870c84 card.printingHasFinished does print_job_timer.stop
Scott Lahteine 34da77dad3 Simply run M31 at the end of an SD print
Scott Lahteine 23d2bc5ab0 Patch Greek for new strings
Scott Lahteine a8d71f0ac6 Support longer print times in M31
Scott Lahteine e481b79af1 Allow stopwatch and printcounter to go over 18 hours
João Brázio 68c343a09a Added G12 configuration options to all configs
João Brázio 4937f9ada4 Minor G12 tweaks and point_t struct extension
Scott Lahteine 6080924589 Merge pull request from jbrazio/feature/bqh2-update
Update the bq Hephestos 2 configuration
Scott Lahteine ed89c71e53 Merge pull request from
Follow-up the PR  (Fixups for PID_ADD_EXTRUSION_RATE and HOTENDS==1)
João Brázio 021544f572 Improves G12 zig-zag pattern
João Brázio b05a75655a Implements a nozzle cleaning pattern generator (G12)
João Brázio 005af84140
Update the bq Hephestos 2 configuration
esenapaj 8f03f0be9b Follow-up the PR (Replace PLA/ABS preheating with generic)
esenapaj c2c8ab4698 Follow-up the PR (Fixups for PID_ADD_EXTRUSION_RATE and HOTENDS==1)
Scott Lahteine 4f77adddbe Merge pull request from thinkyhead/rc_debug_clean
Prefix and suffix in debug output
Scott Lahteine e5c7af5ddc Merge pull request from thinkyhead/rc_allow_cold_extrude
M302: Add "P" parameter, status output
Scott Lahteine 2224032568 Merge pull request from thinkyhead/rc_manual_move_fast_fine
No delay for the smallest LCD moves
Scott Lahteine cdd77d23bb Neaten up temperature member data
Scott Lahteine d4c68279c8 Add "P" parameter to M302
Scott Lahteine a5bae3c7d5 Merge pull request from blubbfish/patch-1
Update language_de.h for German translation
Scott Lahteine a8b6b6a128 Merge pull request from thinkyhead/rc_rename_hpb
Replace PLA/ABS preheating with generic
Scott Lahteine 1e14df876d Use varname as prefix in DEBUG_POS, string as suffix
Scott Lahteine 9e8b3e5ee6 Homing direction is irrelevant in probe raise!
Scott Lahteine ecd5e810ac No delay for the smallest LCD moves
Scott Lahteine 2b9515d60f Merge pull request from AnHardt/lang-system
Don't use UTF-strlen() if the text is not UTF
Scott Lahteine 973a669aa3 Merge pull request from thinkyhead/rc_ultralcd_encoder_pos
Remove extraneous conditions for encoder position
Scott Lahteine e9f62d8fdb Remove extraneous conditions for encoder position
Scott Lahteine 7c81398f95 Merge pull request from
Follow-up the PR  (X_DUAL_STEPPER_DRIVERS)
Scott Lahteine 0554b65d22 Merge pull request from thinkyhead/rc_serial_ln_macros
Sled-probe sanity fix, conditionals for remaining types of leveling
Scott Lahteine 655c3fd55f Move delta ABL sanity checks up
Scott Lahteine db0882d068 AUTO_BED_LEVELING_3POINT and DELTA_BED_LEVELING_GRID
Scott Lahteine e974ac63ef Init matrix in planner.init
Scott Lahteine 47d55513ec Merge pull request from AnHardt/msg-file-upload
Finalalize MSG_SD_WRITE_TO_FILE message with a \n
AnHardt b273736962 Make MAPPER_NON the fall back mapper
Make MAPPER_NON the fall back mapper - if no other is defined.
One list less to maintain.
AnHardt 54d35230df Don't use UTF-strlen() if the text is not UTF
Scott Lahteine a1de96d152 Merge pull request from thinkyhead/rc_more_hotends_1
Fixups for PID_ADD_EXTRUSION_RATE and HOTENDS==1
AnHardt 87957c7b44 Finalalize MSG_SD_WRITE_TO_FILE message with a \n
Finalalize MSG_SD_WRITE_TO_FILE message with a \n
else RH hangs.
esenapaj 9b5cbf2423 Follow-up the PR (X_DUAL_STEPPER_DRIVERS)
・Update a forgotten Configuration_adv.h of K8400
Scott Lahteine 809da999dc Apply HOTEND_INDEX in preheat methods
Scott Lahteine 3d78b690e5 Single PID dataset with HOTENDS == 1
Scott Lahteine bf9967c65d Apply HOTEND_INDEX in MILLISECONDS_PREHEAT_TIME
Scott Lahteine 11dcbae7a2 Only a single E axis. Can tool-change reseed position[E_AXIS]?
Scott Lahteine 4865447830 Merge pull request from esenapaj/Suppress-warnings
Suppress warnings
Scott Lahteine 815df28b0b Merge pull request from
Follow-up the PR  (Greek Language by @psavva)
Scott Lahteine 44f739a5eb Merge pull request from
Fix for the PR  (Additional tweaks for HOTENDS == 1)
Scott Lahteine 02f711fe00 Merge pull request from AnHardt/dont-deploy
Don't deploy/stow the probe if z-min-endstop is used for homing
Scott Lahteine 6a45aad893 Merge pull request from AnHardt/m100-rep
Repair M100
Scott Lahteine 243ad4312a Merge pull request from thinkyhead/rc_X_DUAL_STEPPER_DRIVERS
X_DUAL_STEPPER_DRIVERS
Scott Lahteine 6e68dd292b Merge pull request from thinkyhead/rc_fix_static_scrolling
Improve STATIC_ITEM implementation
Scott Lahteine d17b161832 Don't draw current screen if simply changing screens
Scott Lahteine 096f9981d1 Scroll to the top when changing screens
Scott Lahteine 7ae84d768e Tweak conditionals for REPRAPWORLD_KEYPAD
Scott Lahteine 155af6b861 Rename vars, add comments for menu macros
Scott Lahteine 31f2cf5f6f Make encoderLine signed for proper compares
Scott Lahteine d9f75f62c0 START_ROW => START_COL
Scott Lahteine d2099fef0d Left-justify thermistor info
Scott Lahteine 85aeb02aa6 Invert headings on Graphical LCD
Scott Lahteine 3a67fb77b0 Concatenate LCD static strings
Scott Lahteine 13dc619f43 Scroll static screens more simply
Scott Lahteine 5051723c2e Redraw after cursor correction in STATIC_ITEM
esenapaj 58177a1602 Suppress warnings
Scott Lahteine 10ebf28ee3 Allow override of ENCODER_FEEDRATE_DEADZONE, lower default for Viki
Scott Lahteine 9b1ba1012a Support for VIKI2 with MKS Gen 1.3 / 1.4
Scott Lahteine 55dc8051d8 Cleanup of RAMPS LCD pins
AnHardt 7bcab26f2a Don't deploy/stow the probe if z-min-endstop is used for homing
Don't deploy/stow the probe if z-min-endstop is used for homing.
Don't apply `zprobe_zoffset` if probe was not used.
esenapaj 84ded1f659 Follow-up the PR (Greek Language by @psavva)
・Update forgotten Configuration.h of K8400
esenapaj 6af525e252 Fix for the PR (Additional tweaks for HOTENDS == 1)
AnHardt 23e0134596 Repair M100
M100 D was running too long - caused watchdog resets.
M100 I showed more free memory than a Arduino Mega has RAM.
Scott Lahteine 4b4a582c4f X_DUAL_STEPPER_DRIVERS implementation
Scott Lahteine 91bd6eade7 X_DUAL_STEPPER_DRIVERS configuration option
Scott Lahteine 6121c9018a Merge pull request from thinkyhead/rc_buzzer_patchup
Two strategies to address a stuck buzzer
Scott Lahteine 4a100c6832 Merge pull request from AnHardt/wait-for-cooling-slope
Adjust wait_for_cooling slope
Scott Lahteine ed018c98d5 Merge pull request from thinkyhead/rc_greek_language
Greek Language by @psavva
Scott Lahteine d1dffc7ad1 timestamp => endtime
Scott Lahteine 71674059c3 Two strategies to address a stuck buzzer
Scott Lahteine 928ff6487a Greek language pack from @psavva
AnHardt e92e58df1f Adjust wait_for_cooling slope
Adjust wait_for_cooling slope
and drop mintemp for cooling.

See
https://github.com/MarlinFirmware/Marlin/pull/4169#issuecomment-231544532
Scott Lahteine 167f4aa0cc Merge pull request from clexpert/patch-3
Update language_cz.h
Scott Lahteine 8dda05e92a Merge pull request from clexpert/patch-2
Total print time for LCD correction (hours:minutes format)
Scott Lahteine 182c8d7f8f Dyze High Temp Thermistor Support
Scott Lahteine 5b0e46c986 Merge pull request from thinkyhead/rc_fix_singlenozzle_temp
Additional tweaks for HOTENDS == 1
Scott Lahteine ee0983ab57 Further reduction when HOTENDS == 1
Scott Lahteine 3e1bbd5e27 Indentation in gcode_M100
Scott Lahteine b72238f406 Invariant get_pid_output with HOTENDS < 2
Petr Zahradnik 66602f4af6 Update language_cz.h
New strings:
#define MSG_HALTED
#define MSG_PLEASE_RESET
Some texts shortened for smaller displays.
Petr Zahradnik eaf9e615ce Total print time for LCD correction (hours:minutes format)
esenapaj 9e56d5825e Adjust spacing
esenapaj 5832f4b848 Follow-up the PR (Runout Sensor without SD Card, Print Timer support in M104)
・Update forgotten example configuration files
Scott Lahteine 77283f5bf0 Merge pull request from thinkyhead/rc_simpler_therm_check
Simpler/extensible thermistor test in thermistortables.h
Scott Lahteine f9e08b1fcd Merge pull request from AnHardt/killscreen
Add a kill-screen
AnHardt faac2bcfdb Add a kill-screen
Scott Lahteine 3b3e52616c Merge pull request from thinkyhead/rc_clexpert_runout
Runout Sensor without SD Card, Print Timer support in M104
Scott Lahteine aa3ab93971 Merge pull request from AnHardt/sampler-8-7-16
Today's fix and cleanup collection
Scott Lahteine 4cd045791c Reduce code size by trusting the compiler
Scott Lahteine a8538bd7ce General cleanup, code reduction in Marlin_main.cpp
Scott Lahteine 1026e5b071 Replace PLA/ABS preheating with generic
Petr Zahradnik e282d69f63 Print job timer comment changed
Petr Zahradnik a2159cfbc3 Error message change in SanityCheck.h
Petr Zahradník junior 315b4c2153 Runout sensor without SD Card
Scott Lahteine 51c9c3fe2c Indentation in MarlinSerial.cpp
Scott Lahteine e03414b2dd Simpler/extensible thermistor test in thermistortables.h
AnHardt 4b44a23a36 Add TX-buffer for MarlinSerial
Similar to the current Arduino HardwareSerial
but with max. 256 byte buffer-size.

Deactivated by default.

The boards with AT90USB processor (USBCON) already use a TX-buffer.
AnHardt 468f7f03a2 homeaxis() can leave early
when no known axis needs to be homed.

Most changes are only caused from altering the indentation.
```
if (axis == X_AXIS ? HOMEAXIS_DO(X) : axis == Y_AXIS ? HOMEAXIS_DO(Y) : axis == Z_AXIS ? HOMEAXIS_DO(Z) : 0) {
  ...
}

to

if (!(axis == X_AXIS ? HOMEAXIS_DO(X) : axis == Y_AXIS ? HOMEAXIS_DO(Y) : axis == Z_AXIS ? HOMEAXIS_DO(Z) : 0)) return;
...

```
AnHardt eff7912243 Ensble/disable hardware endstops in G28 globally.
For moving away from the endstops we do not have to disable them.
They are not tested anyway.
AnHardt f69434d81c Eliminate `void setup_for_endstop_move()`
AnHardt 0ea6247fc2 Use logic in Z_SAFE_HOMING
Use logic in Z_SAFE_HOMING

From
```
if (home_all_axis || homeZ) {
  if (home_all_axis) {
  ...
  home z
  }
  else if (homeZ) { // Don't need to Home Z twice
  home z
  }
}

```
to
```
if (home_all_axis || homeZ) {
  if (home_all_axis) {
  ...
  }
  home z
}
```
AnHardt de3a169336 Always define MIN_Z_HEIGHT_FOR_HOMING even if 0
Always define MIN_Z_HEIGHT_FOR_HOMING even if 0
Always make a potential rise to `home_offset[Z_AXIS]` possible in G28.
Get rid of some very ugly constructs in MBL (ultralcd.cpp).
AnHardt 88ed232f53 Remove HAS_BED_PROBE case in first raise in G28
Differentiating made sense here when we could save a dozen lines of code,
but not for one line.
AnHardt 653eff3b31 Clean up `quick_home_xy()`
Since we do the actual homing now in the 'normal' routines `quick_home_xy()`
can be simplified to a relative simple diagonal move.
Scott Lahteine 98d0167a57 Merge pull request from thinkyhead/rc_emergency_command_parser
MarlinSerial emergency-command parser (with M108)
Scott Lahteine 2ee4e4f791 Make wait_for_heatup volatile
Scott Lahteine bd5a825b8b Wait for end of line before invoking action
Scott Lahteine ea47803ae2 Simplify emergency parser (only parse initial command)
Scott Lahteine 834ad14c8d Add quickstop_stepper to update current position with stepper.quick_stop()
Scott Lahteine ecffe92e20 Group EMERGENCY_PARSER commands
AnHardt a129078927 Add an emergency-command parser to MarlinSerial (supporting M108)
Add an emergency-command parser to MarlinSerial's RX interrupt.

The parser tries to find and execute M108,M112,M410 before the commands disappear in the RX-buffer.

To avoid false positives for M117, comments and commands followed by filenames (M23, M28, M30, M32, M33) are filtered.

This enables Marlin to receive and react on the Emergency command at all times - regardless of whether the buffers are full or not. It remains to convince hosts to send the commands. To inform the hosts about the new feature a new entry in the M115-report was made. "`EMERGENCY_CODES:M112,M108,M410;`".

The parser is fast. It only ever needs two switch decisions and one assignment of the new state for every character.

One problem remains. If the host has sent an incomplete line before sending an emergency command the emergency command could be omitted when the parser is in `state_IGNORE`.
In that case the host should send "\ncommand\n"

Also introduces M108 to break the waiting for the heaters in M109, M190 and M303.

Rename `cancel_heatup` to `wait_for_heatup` to better see the purpose.
Scott Lahteine 9f42b1a075 Merge pull request from thinkyhead/rc_revert_quickhome_test
Fix quick homing, tweak MIN_Z_HEIGHT_FOR_HOMING
Scott Lahteine ad968f2325 Merge pull request from thinkyhead/rc_better_position_logging
Move XYZ in print_xyz and DEBUG_POS to the front
Scott Lahteine 4036c73cdd Don't raise Z if only homing Z
Scott Lahteine 0b6f8f8244 Apply MIN_Z_HEIGHT_FOR_HOMING raise literally
Scott Lahteine 177ec20bf0 Revert quick-home changes
Scott Lahteine 9c5b462ef2 Move XYZ in print_xyz and DEBUG_POS to the front
Scott Lahteine 4e84c803a3 Merge pull request from thinkyhead/rc_no_axis_codes_needed
Don't use axis_codes if a literal will do
Scott Lahteine e2f7cb0905 Don't use axis_codes if a literal will do
Scott Lahteine 6559f7359f Fix comment on Z raise for homing, save a few bytes
Scott Lahteine 799c60cadc Merge pull request from thinkyhead/rc_fix_homing_raise
Don't do_probe_raise with MIN_Z_HEIGHT_FOR_HOMING
Scott Lahteine d7e9647505 Sanity Check for probe raises
Scott Lahteine d0b29cabf3 Don't re-home X and Y if you quick homed
Scott Lahteine e0a6b978f5 Don't do_probe_raise with MIN_Z_HEIGHT_FOR_HOMING
Philip Schell cf8ec1216a Update language_de.h for German translation
@MarlinFirmware/language-team my changes for the German language. Feel free to improve :)
petrzjunior b81b77111b Update language_cz.h
Scott Lahteine 7735ec5e7a Merge pull request from thinkyhead/rc_rename_heatup
Change cancel_heatup to wait_for_heatup
Scott Lahteine 160a2be117 Change cancel_heatup to wait_for_heatup
AnHardt 16c83d203b Make use of the good features of a sled probe for all probes.
Move and extend axis_unhomed test to deploy/stow_z_probe().
Move and extend position store/restore to deploy/stow_z_probe().

Now all kinds of probes can use the 'E' parameter in G29/M48.
Allen key probes can be used now for grid and 3-point levelling.

Deploying the Allen Key probe uses big moves in z direction.
Too dangerous for an unhomed z-axis.
Throw a compile time error when we try to configure an
Allen Key probe homing to z-min and having no other z-min-endstop.
AnHardt 8555816a11 Generalize and simplify 'triggered when stowed test`
The `PROBE_IS_TRIGGERED_WHEN_STOWED_TEST` is able to detect if a probe is
successfully deployed/stowed.
It was part of the Allen Key probes code only.
Now the function is generally available.

Currently this test is compulsory for Allen Key probes to not alter the used behaviour
If you want to add the test for an other type of probe simply add
```
#define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST
```
to your config.
AnHardt 5126cce7fd Move Allen Key probe move scripts to their own functions
There was an hidden extra move after the scripts. This is configurable now.
Added the extra moves to the relevant configs.
AnHardt 7d063c111c Add a optional feedrate parameter to `do_blocking_move()`
Add a optional feedrate parameter to `do_blocking_move()` and its companions.
Scott Lahteine b114b6a0b3 Save 152 bytes using uint8_t for command indices
Scott Lahteine 0d4ff0c48b Allow the queue to be cleared from within commands
Scott Lahteine c450851401 Merge pull request from AnHardt/too-high-G28
Make raise for probe deploy relative in homeaxis()
AnHardt f799f18388 MBL typo
AnHardt 8b02e68cb6 Make raise for probe deploy relative in homeaxis()
Make raise for probe deploy relative in homeaxis()
by setting `current_position[axis]` to zero later.
Scott Lahteine e48502866b Merge pull request from alephobjects/M108_cancel_heatup
Introduce M108 cancel wait for heatup/cooldown of the hotend and bed
Scott Lahteine d70197f514 Merge pull request from thinkyhead/rc_fix_gcode_t_position
Additional patches for gcode_T position change
Scott Lahteine 869b517589 Merge pull request from thinkyhead/rc_fixup_unit_references
References to millimeters in code comments need an update
Scott Lahteine e104b91ea6 References to millimeters in code comments need an update
AnHardt ff91d28a3a Remove wants_to_cool warning
Remove wants_to_cool warning
Scott Lahteine c9e536cf87 Additional patches for gcode_T position change
Scott Lahteine 60865fc45b Merge pull request from thinkyhead/rc_fix_gcode_t_position
Fix position adjustment with gcode_T and MBL
Scott Lahteine f841038313 Merge pull request from thinkyhead/rc_info_fit
Shorter labels for Print Stats info
Scott Lahteine f31af61ee2 Fix position adjustment with gcode_T and MBL
Scott Lahteine a8f5c2bf96 Merge pull request from birkett/k8400
Add Velleman K8400 board support.
Scott Lahteine ef8980bfa0 Shorter labels for Print Stats info
Scott Lahteine 2ed625dafa Fix compiler warnings for static screens
Anthony Birkett e77844594d readme.md -> README.md
Anthony Birkett a0b00d29e3 Add a ported example configuration for the Velleman K8400 (Vertex) printer.
Supports both dual and single head printers (with the correct config).
Includes community sourced feed rate fix.

Rename / move files.

Remove redundant definitions.
lrpirlet 9b42c6b44b apply correction when swtiching from MBL to physical in G28 X
Andrea Cimbalo 46196e9ee5 Add working PlatformIO support
esenapaj 95347fc650 Follow-up the PR (Rewritten FILAMENT_CHANGE_ENABLE feature)
・Update a forgotten Configuration_adv.h of Cartesio
Scott Lahteine a06c5165a7 Shorter strings for smaller LCDs
Scott Lahteine 982f10e6a0 Use STATIC_ITEM for LCD message display
Petr Zahradnik 43ff0ce35f Rewritten FILAMENT_CHANGE_ENABLE feature
Scott Lahteine 51b7820686 Patch up About Printer sub-menus
Scott Lahteine 439e78147d Static menu items take an optional string, LJ by default
Scott Lahteine fa9b2a925d Tweak spacing in printcounter.cpp
Scott Lahteine dbfc87cdcf Squish sanity check for build info
Anthony Birkett 7a377c1d75 Add "About Printer" information menu.
Includes:
  *firmware version / branch / date.
  *extruder count
  *board information (name, serial details, power supply type)
  *thermistors (names, min/max temperatures)
  *printer statistics (PRINTCOUNTER details)

Thanks to @thinkyhead for contributions.
Scott Lahteine 77a923d8ce Merge pull request from thinkyhead/rc_array_macros
Simplified variable-size array macros
Scott Lahteine e650a75b88 Simplified variable-size array macros
Scott Lahteine ac4f235912 Merge pull request from thinkyhead/rc_eeprom_checksum
EEPROM Checksum
esenapaj 03b8f88092 Tab to Space
AnHardt cb1b31f69b Unconditional do_probe_raise() in probe_pt()
If Z_RAISE_BETWEEN_PROBINGS is null or undefined the probe is currently not raised by home_offset[Z_AXIS] and zprobe_zoffset.
But when different from 0 is.

If an undefined Z_RAISE_BETWEEN_PROBINGS expands to 0 (and it does) this is the solution.


A similar asymmetry exists with the newly introduced 'short-cut' in G28 - but its the rise before anything is probed - so should not make a difference.
Scott Lahteine 7ef7843fd4 Merge pull request from thinkyhead/rc_rename_a_move_func
Do interpolated moves for Allen Key deploy/stow
Scott Lahteine 6b2a7b30af Extra comments to clarify EEPROM code
Scott Lahteine 787f394676 MAX_EXTRUDERS replaces mysterious "4"
Scott Lahteine bc3748b7bc Add shared Config_Postprocess for Read and Reset
Scott Lahteine adcd0f5de3 Some formatting in configuration_store.cpp
Scott Lahteine 5e370006fc EEPROM Checksum
Scott Lahteine 725fde8b26 Merge pull request from thinkyhead/rc_wait_but_break
Allow wait-for-cooling, break at threshold or if cooling stalls
Scott Lahteine da6b0dab5f Use prepare_move_to_destination for Allen Key deploy/stow
Scott Lahteine c42f8fb8dd Rename some movement sub-functions
Scott Lahteine b6b3a4afbf Merge pull request from thinkyhead/rc_viki2_for_ramps
Support for VIKI2 in RAMPS and derivatives
Scott Lahteine f84d85f761 Cleanup extruder runout configs
Scott Lahteine 5e14a528dd Always wait for cooling in M109/M190, break at low temp or if cooling stalls
Scott Lahteine 0b0b7aac6e Support for VIKI2 in RAMPS and derivatives
Scott Lahteine abda4ab427 Clean up CNControls pins
Scott Lahteine 683975cf90 Fix spelling in a config comment
Scott Lahteine 8268c0a9a0 Always define temp sensor, heater pins for RUMBA
Scott Lahteine db19959735 Merge pull request from thinkyhead/rc_general_cleanup
Reduce storage requirements for strings, make some PGM
Scott Lahteine 2e96276bf4 More debug message cleanup
Scott Lahteine dc2c0e5e24 Simpler debug output for deploy/stow
Scott Lahteine bd491818d6 Reduce storage requirements for strings, make some PGM
Scott Lahteine ee876dcd7a Merge pull request from thinkyhead/rc_rigidbot_diff
Rigidbot V2 support - has MCP4728 digipot
Scott Lahteine 0c24e0e445 Support for newer Wire library
Scott Lahteine ddb386c139 Init DAC_DISABLE_PIN in dac_init
AnHardt e480ee0054 Further cleanup of G28 for probes
AnHardt 39883d03fc universalize axis_unhomed_error()
AnHardt e616093d4c Simplify dock_sled()
`dock_sled()` is never called with offset parameter - remove it.
We move x only - so only that needs to be homed. Consequence is - we can home to z-min now with a sled probe!
Feedrates are set and restored in `do_blocking_move()`.
We already checked if the probe is deployed/stowed in deploy/stow_probe.
```
if (z_loc < _Z_RAISE_PROBE_DEPLOY_STOW + 5) z_loc = _Z_RAISE_PROBE_DEPLOY_STOW;
```
makes no sense - remove.
Now the raise is the same for deploy/stow -> move before the if.
Replace the if with a ternary.
Instead writing LOW/HIGH use the boolean `stow` we already have.

There is no reason for not using the sled probe in G29/M48 with 'E'.
It takes a while but works. (tested!)
Scott Lahteine 6c60869409 Support DAC_OR_ADDRESS in Printrboard too
Scott Lahteine 593c8bf286 Support for Rigidbot V2
Scott Lahteine 511503ede9 CARTESIO_UI has lcd contrast
Scott Lahteine 829c92f1ba Use Z_RAISE_BETWEEN_PROBINGS with MBL
Scott Lahteine eb1755208f Merge pull request from thinkyhead/rc_probe_raise_options
Combine Z raise before/after options
Scott Lahteine 10da7ac86c Combine Z raise before/after options
Scott Lahteine 9caa8941e2 Merge pull request from thinkyhead/rc_minimum_raise_in_probe_pt
Ensure a minimum height before XY move in probe_pt
Scott Lahteine 3fa631130f Ensure a minimum height before XY move in probe_pt
Scott Lahteine a7684eef7a Squish code in ST7920
AnHardt b4076883cc Set testet delays for K8200, RAMBO, MINIRAMBO and ST7920
AnHardt 4454d80276 Decrease the needed nops to 1
by shitfing the left shift into the high phase.

```
2	cbi 0x2,1 ;set CLK                      //
1	in r18,__SREG__                         //1
1-3	sbrc r24,7                              //2-4
2	rjmp .L19                               //4
1	cli                  .L19:              //5
2	lds r25,258          lds r25,258        //7
1	andi r25,lo8(-2)     ori r25,lo8(1)     //8
2	sts 258,r25          sts 258,r25        //10
1	out __SREG__,r18     out __SREG__,r18   //11
2	.L3:                 rjmp .L3           //13     //2
2	sbi 0x2,1 ;reset CLK //                 //13-15  //2-4
1	lsl r24	 ;  val      //1
1	nop                  //2
2	cbi 0x2,1 ;set CLK   //4
...
```
AnHardt 56c42b572c 3 ms speedup for ST7920 and delay for BOARD_3DRAG
and saving ~1k memory
by limiting the `#pragma GCC optimize (3)` optimisation to `ultralcd_st7920_u8glib_rrd.h`. These optimisation was and is not done for all the other displays, is the reason for the big additionally use of memory, because the complete 'ultralcd.cpp' and 'dogm_lcd_implementation.h' was optimised (sadly i did not observe a change in speed).

Unrolling the loop in `ST7920_SWSPI_SND_8BIT()`, what i expected the optimiser to do, by hand, saved some speed by eliminating the loop variable (i) compares and increases. Every CPU cycle in this loop costs at least 0.5ms per display update because it's executed more than 1k times/s.

The delays are now pre-filled with the calculated values for 4.5V driven ST7920.
A way to simply add __your__ timing into the configuration was made.

At 4.5V
1.) The CLK signal needs to be at least 200ns high and 200ns low.
2.) The DAT pin needs to be set at least 40ns before CLK goes high and must stay at this value until 40ns after CLK went high.

A nop takes one processor cycle.
For 16MHz one nop lasts 62.5ns.
For 20MHz one not lasts 50ns.

To fulfill condition 1.) we need 200/62.5 = 3.2 => 4 cycles (200/50 = 4 => 4). For the low phase, setting the pin takes much longer. For the high phase we (theoretically) have to throw in 2 nops, because changing the CLK takes only 2 cycles.

Condition 2.) is always fulfilled because the processor needs two cycles (100 - 125ns) for switching the CLK pin.


Needs tests and feedback.
Especially i cant test 20MHz, 3DRAG and displays supplied wit less than 5V.
Are the delays right? Please experiment with longer or shorter delays. And give feedback.

Already tested are 5 displays with 4.9V - 5.1V at 16MHz where no delays are needed.
Scott Lahteine ca184d3d72 Merge pull request from thinkyhead/rc_fix_M48_raise
Fix debug output in probe_pt
Scott Lahteine b4161cbd98 Fix debug output in probe_pt
Edward Patel da88b00585 MBL: Add support for max z endstop
See https://github.com/MarlinFirmware/Marlin/issues/4088
Scott Lahteine 74878d1f16 Always do a brief delay in `lcd_quick_feedback`
Scott Lahteine 7de7552069 Merge pull request from MagoKimbra/Single_home_axis_delta
Single home Axis Delta need simple sync_plan_position
Scott Lahteine 15a6b49f37 Simplified probe_pt (in G30)
Scott Lahteine 6a7045b9bf Remove clean_up_after_endstop_move
Scott Lahteine 2a4f866561 Simplified probe_pt (in G29)
Scott Lahteine 89a2aa026b Simplified probe_pt (in M48)
Scott Lahteine f8530c5d1f Simplified probe_pt function (G28 grid)
Scott Lahteine c376c08042 Simplified probe_pt function (part 1)
Scott Lahteine 9a71b7f8ad Fix debug message for 3-point leveling
Scott Lahteine 550c03a5a9 Drop raise_z_after_probing function
Scott Lahteine bb38c816af Always raise in deploy_z_probe / stow_z_probe
Scott Lahteine 68f3350050 Cleanup M401 / M402
Scott Lahteine 3afda99adf Regular handlers for G31 / G32
Scott Lahteine 6803c8e37e Move Z up before, or down after XY, for "blocking move"
Scott Lahteine 03c70c1990 SERVO_DEACTIVATION_DELAY => SERVO_DELAY
MagoKimbra 570f3bbc07 Single home Axis Delta need simple sync_plan_position
Scott Lahteine 61f34eec03 Merge pull request from jbrazio/bugfix/planner-warning
Fixes some compiler warnings
Scott Lahteine bdcd628896 Merge pull request from thinkyhead/rc_lin_timing_patch
Patch LIN_ADVANCE timing issue
João Brázio 664232140d
Fixes somes compiler warnings
Sebastianv650 0c5192b288 Patch LIN_ADVANCE timing issue
Also the extruder stepper ISR has to keep an eye on step_loops count.
Scott Lahteine d4134e6901 Define Z_SAFE_HOMING point when Z_PROBE_SLED is activated alone
Scott Lahteine 7b2fadd598 Apply some fixes from Andreas
Derived from
https://github.com/AnHardt/Marlin/commit/6e8ede8c694fa4d9e3c769840b09d56
7f8d8e0dd
Scott Lahteine bd01592816 Goodbye MECHANICAL_PROBE
Scott Lahteine 2640d13a9f Simplify initial raise in M48
Scott Lahteine 3763d45656 Return Z position in run_z_probe
Scott Lahteine 1f48b5c30f Pass a raise to probe_pt, not a Z position
Scott Lahteine 6fdd5ba246 Save and restore feedrate in more places
Scott Lahteine fe173c2bc6 Generalized probe raise, use for after probing
Scott Lahteine 7da3080761 Simpler cleanup in G28 / G29
Scott Lahteine 15229d988b Fix compile error for bed matrix in M48
Scott Lahteine c01352cbd5 Add a dependency for z servo macros
Scott Lahteine c3794bd695 Add HAS_PROBING_PROCEDURE conditional
Scott Lahteine 42ce60c5cc Make sure NUM_SERVOS is set for Z servo endstop
Scott Lahteine b590a7dee0 Make Z_RAISE_BETWEEN_PROBINGS a more general option
Scott Lahteine bb9c67b4b5 Tweak some feedrate vars
Scott Lahteine 5158bd6e93 Screen out `G29 E` for sled and allen key, allow single probe
Scott Lahteine ccae92588d Cleanup debug in G28 and G29
Scott Lahteine b4a9d2366c Use a macro for kinematic sync_plan_position
Scott Lahteine bfccf26294 Use sync_plan_position_delta where needed
Scott Lahteine a6b8c67df4 Move probe deploy after setup call in G29
Scott Lahteine e69916d1bd Split up endstop_move functions
Scott Lahteine 0e18a4897b Simpler handling of sled/allen-key in probe_pt
Scott Lahteine 1a92e2ef18 Comment on run_z_probe
Scott Lahteine 68e0e5855e For all probes, at the end of G29 simply raise and stow
Scott Lahteine c3023f8cc5 Make M401/M402 available with HAS_BED_PROBE
Scott Lahteine 9f0c255c69 Show uncorrected position in set_bed_level_equation_3pts
Scott Lahteine 07298ac992 Initialize current_position to home_offset on boot
Scott Lahteine d50539583a Make XY_PROBE_SPEED a general probe option
Scott Lahteine 2798499b71 XY_TRAVEL_SPEED => XY_PROBE_SPEED
Scott Lahteine 88dc543584 Add a macro for XY_TRAVEL_FEEDRATE
Scott Lahteine 117db77c55 make motor_current_setting static and constexpr
João Brázio 19fb04d761 Update bq Hephestos 2 config
Scott Lahteine b0e47608e6 Merge pull request from
Fix for PR  (Make Z Probe options independent of ABL), etc
Scott Lahteine c84732e605 Merge pull request from esenapaj/Cosmetic-changes-and-small-fix-for-thermistortables.h
Cosmetic changes and small fix for thermistortables.h
Scott Lahteine cdc661ea5e Merge pull request from esenapaj/Small-cosmetic-changes-for-language-files
Small cosmetic changes for language files
Scott Lahteine c8186e9423 Merge pull request from esenapaj/Enclose-#error-string-by-double-quotes
Enclose #error string by double-quotes
Scott Lahteine 40cd20a236 Fix comments on EXPERIMENTAL_I2CBUS
esenapaj 385945ca31 Cosmetic changes and small fix for thermistortables.h
・Adjust spacing
・Standardize comments position
・Remove ',' at the tail of array
esenapaj fac58f0291 Cosmetic changes for language files
esenapaj 14b661b9e5 Enclose #error string by double-quotes
esenapaj d583ea852d Standardize format description of Panel
esenapaj aa6d35bd49 Move code block of probe to appropriate position
esenapaj 740fb2ce39 Adjust spacing
esenapaj f77f3ffa70 Remove duplicated Z_PROBE_OFFSET_RANGE_MIN, Z_PROBE_OFFSET_RANGE_MAX
Scott Lahteine 19fe93a5a9 Clean up configs for Z_MIN_PROBE_REPEATABILITY_TEST
Scott Lahteine 71a7408012 Merge pull request from thinkyhead/rc_temp_compile_err
Fix compile error with watch_bed_next_ms
Scott Lahteine dcb8ec32ee Fix compile error with watch_bed_next_ms
Scott Lahteine 3996242e9d Allow Z_MIN_PROBE_REPEATABILITY_TEST solo
Scott Lahteine 26a9cd0b08 Move run_z_probe to earlier block
Scott Lahteine 7f8a2025af Move raise_z_after_probing into earlier block
Scott Lahteine 2530371516 Always disable probe at the end of G29
Scott Lahteine 6aba98e470 Comment on setup_for_endstop_move
Scott Lahteine 04e88d008e Clear up ordering in G30
Scott Lahteine ed75b0ea11 Make clean_up function available for probes
Scott Lahteine 51d52cb52a Make run_z_probe available for any bed probe
Scott Lahteine f6b09cf465 Always use deploy/stow for dock_sled
Scott Lahteine 3b457c2dd3 Use deploy/stow with FIX_MOUNTED_PROBE too
Scott Lahteine 7e9d4a68d4 Always raise Z (if needed) for servo deploy/stow
Scott Lahteine 9beb3f2f5e Merge pull request from thinkyhead/rc_fil_runout_cleanup
FIL_RUNOUT_INVERTING false by default
Scott Lahteine f215b30932 Merge pull request from thinkyhead/rc_probe_without_abl
Make Z Probe options independent of ABL
Scott Lahteine 2fd2301928 FILRUNOUT => FIL_RUNOUT
Scott Lahteine dfbf8b3c2c FIL_RUNOUT_INVERTING false by default
Scott Lahteine 7b5cd314a5 Merge pull request from thinkyhead/rc_fil_runout_cleanup
Improve FILAMENT_RUNOUT_SENSOR, FILRUNOUT_PIN
Scott Lahteine de12228758 Make Z Probe options independent of ABL
Scott Lahteine add0032820 Improve FILAMENT_RUNOUT_SENSOR, FILRUNOUT_PIN
Scott Lahteine f8c278ce4d Cartesio UI display option in all configs
Scott Lahteine 400e13d136 Output a message for SD read errors
Roxy-3D 96b8bcca84 Merge pull request from thinkyhead/rc_tweaky_m48_tweaks
Cleanup of M48
Scott Lahteine b7e3c1bbc4 Tweak M48 output conditions
Scott Lahteine 1dad912b03 Adjust M48 raise / move handling
Scott Lahteine 46d3ef2223 Simplify sample_set probe_pt call in M48
Scott Lahteine a647b05f82 Shrink some debug code in G28
Scott Lahteine 4edf813bde Just-in-time declaration style in M48
Juan Ricardo Gomez Anaya c475291e19 Fix M851
Minor change missing in the process of standardize the gcode M851
Scott Lahteine e35583888c Merge pull request from
Follow-up the PR  (Remove support for XY servo endstops)
Scott Lahteine 6dff52d920 Merge pull request from RicardoGA/Language_Spanish
Update Spanish Language
esenapaj d55b94d606 Follow-up the PR (Remove support for XY servo endstops)
・Update a forgotten Configuration.h of Cartesio
Scott Lahteine 4e860babbc Allow setting xy_travel_speed for delta leveling also
Scott Lahteine d36d4edd80 Tweak partial homing code
Scott Lahteine d3a05de96e Save and restore feedrate in probe functions
Juan Ricardo Gomez Anaya 5991eb428f Update Spanish Language
Spanish language update and also add missing messages
Scott Lahteine f33bd0bb10 Merge pull request from thinkyhead/rc_delete_old_macros
Delete some obsolete Z servo macros
Scott Lahteine defcacc1a9 Delete some obsolete Z servo macros
Scott Lahteine bbf5b486c3 Add an SD Card stop function, use in ultralcd
Scott Lahteine 3a150f07c2 Merge pull request from thinkyhead/rc_temp_mystery
Minor tweaks to M109 / M190
Scott Lahteine bd4ec727e7 Merge pull request from thinkyhead/rc_M851_with_probe
Make M851 standard with a bed probe
Scott Lahteine 692a6e7c91 Merge pull request from thinkyhead/rc_goodbye_xy_servos
Remove support for XY servo endstops
Scott Lahteine de177ba6c9 Minor tweaks to M109 / M190
Scott Lahteine eab44b30d4 Safety and serial sections
Scott Lahteine fc56a547d1 Rename movement section to motion
Scott Lahteine a8b8796cd7 Define probe offsets when a probe exists
Scott Lahteine 1000563d80 Make M851 standard with a bed probe
Scott Lahteine f66a194159 Merge pull request from jbrazio/bugfix/compiler-warnings
Fixes misc gcc warnings
Scott Lahteine 1bed392c68 HAS_Z_ENDSTOP_SERVO => HAS_Z_SERVO_ENDSTOP
Scott Lahteine 47ce810f52 Remove support for XY servo endstops
João Brázio d1e5dc6319
Fixes misc gcc warnings
esenapaj c5eecb11b2 Follow-up the PR (Croatian language support)
・Update a forgotten Configuration.h of Cartesio
Scott Lahteine d991a4c24a Merge pull request from thinkyhead/rc_remove_swp_files
Delete mysterious .swp files from 
Scott Lahteine 8d8cbef1de Merge pull request from thinkyhead/rc_croatian_language
Croatian language support
Scott Lahteine ebbed2975e Delete mysterious .swp files from
Scott Lahteine 02e5dad29a Include Croatian in language listings
Scott Lahteine 2015aad867 Tweak Croatian language file heading
Robert Marko 884bc63fbe Add Croatian language
Scott Lahteine ef3bef6b9e Fix feedrate in gcode_T (max_feedrate is mm/s)
Scott Lahteine 4640974e1b Merge pull request from
Follow-up and improvement the PR  (CNControls Cartesio UI Support)
esenapaj 106227540e Follow-up and improvement the PR (CNControls Cartesio UI Support)
・Add implimantation of PR  to configuration files of Cartesio
・Standardize macro names
MagoKimbra 008d0637dd Fix gcode_T
edwilliams16 114d9db7d0 Show babysteps on the LCD in mm, not steps
Scott Lahteine b410bf933b Merge pull request from thinkyhead/rc_cartesio_redo
CNControls Cartesio UI Support
Scott Lahteine f639044c24 Merge pull request from jbrazio/feature/config-version
Adds versioning for Configuration.h & Configuration_adv.h
Scott Lahteine 4d2cb70152 Cartesio UI Support
Scott Lahteine da90bbe0eb Merge pull request from thinkyhead/rc_toolchange_adjust
Fixup position adjustment on toolchange
Scott Lahteine 948c467e16 Merge pull request from AnHardt/save_delay
Introduce save_delay()
Scott Lahteine 4b93989a77 MBL Z adjustment on toolchange
Scott Lahteine 9c800d1f8c Position adjustment for bed leveling
Scott Lahteine 8c7babb70f Merge pull request from
Fix for the PR #4023(Add macros to move servos)
AnHardt 1219310622 Introduce save_delay()
Introduce save_delay() for long delays what otherwise would cause
watchdog resets

Explizit lcd_set_custom_characters(false) at the end of bootscreen().
Else the charset is not proper set in case of LCD_PROGRESS_BAR.
esenapaj 44f091a413 Fix for the PR #4023(Add macros to move servos)
・Add missing ')'
Alexander Leisentritt c2b7ef1e7e "e" was renamed to "eindex" in a previous commit
Scott Lahteine 52ac2a62ee Merge pull request from thinkyhead/rc_toolchange_no_move
Use "Tn S1" to change tools without moving
Scott Lahteine d2a00b74e3 Merge pull request from thinkyhead/rc_feedrate_in_gcode_T
Use linear feedrate in gcode_T, not volumetric
Scott Lahteine 0ad26d0de8 Merge pull request from AnHardt/custom-splash-screen
Custom Splash Screen
esenapaj 741cda0e47 Follow-up the PR #3676(Advance extrusion algorithm – LIN_ADVANCE)
・Update forgotten example configurations
AnHardt 02b3d6b8d3 Custom Splash Screen
Custom Splash Screen for full graphic displays.

Too complicated for the hitachis without knowing what exactly to display.

On top of 
Realisation of an idea from 
Scott Lahteine 78a48d7e3c Merge pull request from thinkyhead/rc_fix_heater_off
Fix broken DISABLE_HEATER macro
Scott Lahteine ee5be92206 Fix broken DISABLE_HEATER macro
Scott Lahteine 8d8180e028 Parse M905 args in Marlin_main.cpp
Scott Lahteine 2b340f5acb patch LIN_ADVANCE to use code_value_float
Scott Lahteine b708196770 Merge pull request from AnHardt/bootscreen-delay
Show bootscreen later
Scott Lahteine 587de1b6b6 Merge pull request from thinkyhead/rc_lin_advance_feature
Advance extrusion algorithm – LIN_ADVANCE
AnHardt b4fedec0d1 Show bootscreen later
Init display and show bootscreen later, but init display in `kill()`
to init outputs before the bootscreen delays but being able to display
kill errors.
Silvio Didonna 08e2c5a6ea Added and translated some strings from language_en
Scott Lahteine 4d2119f83a _lcd_move => _lcd_move_xyz
Scott Lahteine 811967923a Fix manual_move to move the correct E stepper
Scott Lahteine 0d0b751498 Merge pull request from thinkyhead/rc_servo_macros
Add macros to move servos
Scott Lahteine 4fbe818163 Add macros to move servos
Scott Lahteine b322ac4417 No need to check ULTIPANEL with DOGLCD
João Brázio 8ccd97e7cc
Updated all example configuration files
Scott Lahteine c7eeb09e8f Merge pull request from Blue-Marlin/watchdoghealing
Heal the watchdog
Scott Lahteine 7fb69e24fb Use "Tn S1" to change tools without moving
Scott Lahteine 2f1bf8373b Merge pull request from thinkyhead/rc_prepare_move_destination
Clarify names of prepare_move functions
João Brázio de8108648f
Added a versioning system to the config files
Blue-Marlin efe719f898 Heal the watchgog
Scott Lahteine b75e648f2c Clarify names of prepare_move functions
Scott Lahteine ae9b09fe94 menu => screen
Scott Lahteine 45ea8749d3 Wrap all items depending on ULTIPANEL
Scott Lahteine 0e2bfd0769 Use linear feedrate in gcode_T, not volumetric
Scott Lahteine bf8710d522 Merge pull request from Blue-Marlin/manage_manual_move-ULTIPANEL
manage_manual_move(); -> ULTIPANEL
João Brázio 2c34ec2bac
Closes : Compilation error with BEEPER_PIN -1
Blue-Marlin 378ff92e98 manage_manual_move(); -> ULTIPANEL
Makr the call of   `manage_manual_move() ` depandent of `ULTIPANEL`
Scott Lahteine aad9c0ed8d Apply updated ISR timing code
Scott Lahteine 506d78b2f8 Run the advance_isr faster instead of doing multiple e-steps per interrupt
Scott Lahteine 6d62a4ffc8 Patch LIN_ADVANCE for style and forward-compatibility
Sebastianv650 fb8e880734 Add LIN_ADVANCE
Scott Lahteine e2d4919c01 Merge pull request from thinkyhead/rc_axis_units
Rename some vars to clarify their relationship to acceleration
Scott Lahteine 74060f17b7 Merge pull request from thinkyhead/rc_nonblocking_buzzer
New feature: Non blocking tone queue
Scott Lahteine a82c755a35 Fix BQ_LCD_SMART_CONTROLLER pin compiler warnings
João Brázio 5b5aa1572b Non-blocking buzzer
Scott Lahteine 72c6f2923f axis_steps_per_unit => axis_steps_per_mm
Scott Lahteine 446515ab79 Adjust spacing in block_t
Scott Lahteine 80ab749563 Rename acceleration locals for clarity
Scott Lahteine 3b08eb1eeb `acceleration_st` => `acceleration_steps_per_s2`
Scott Lahteine cb4704e07a Rename some planner acceleration vars
- `per_sq_second` => `per_s2`
- `per_sqr_second` => `per_s2`
- `axis_steps_per_sqr_second` => `max_acceleration_steps_per_s2`
Scott Lahteine 3c68be79dc Throw an error in PID_autotune for E < -1
Scott Lahteine 26f8f54c56 Merge pull request from thinkyhead/rc_inch_fahrenheit_kelvin
Support inches, fahrenheit, and kelvin
Scott Lahteine f0a5b7f0bc Merge pull request from thinkyhead/rc_mbl_forward_iteration
Use memset in mbl.reset to save 58 bytes
Scott Lahteine 0b3142b45b Remove redundant declarations from M100 code
Scott Lahteine 4980ecc1f7 Smaller binary using inline gcode argument getters
Reid Rankin 16212432c9 G20/21 and M149 support, and code_value() refactor
This is an update of MarlinDev PR .

G20/21: support for switching input units between millimeters and
inches.
M149: support for changing input temperature units.

In support of these changes, code_value() and code_value_short() are
replaced with an array of functions which handle converting to the
proper types and/or units.
Scott Lahteine a569e89775 Merge pull request from thinkyhead/rc_planner_local_rename
Rename some auto/locals to avoid name conflict