Commit graph

324 commits

Author SHA1 Message Date
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.
2016-07-30 03:00:49 +02:00
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.
2016-07-28 19:51:48 -07:00
Scott Lahteine 8953e3e984 Allow Z_SAFE_HOMING without a probe 2016-07-27 04:33:56 -07:00
Scott Lahteine 24a1a16e5d Move versioning to MarlinConfig.h 2016-07-26 12:37:14 -07:00
Scott Lahteine 277899c175 Move include _Bootscreen.h where needed 2016-07-26 12:37:13 -07:00
Scott Lahteine 83c4653c71 Include boards and macros ahead of configs 2016-07-26 12:19:50 -07:00
Scott Lahteine c6226bb0aa Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
Scott Lahteine 2d378fac1b No need to include thermistortables.h in Configuration.h 2016-07-25 22:43:50 -07:00
Scott Lahteine 93ea281061 Split up Conditionals.h into two files
Rather than include twice, which is tricky but may confuse
2016-07-25 20:30:45 -07:00
Scott Lahteine fcc39e2b5f Clean up Transfer Buffer Size comment 2016-07-25 12:54:55 -07:00
Scott Lahteine bedda3be61 Patch generic delta error caught by sanity check 2016-07-24 15:24:40 -07:00
Scott Lahteine 8633b644cf Merge pull request #4378 from thinkyhead/rc_debug_leveling_docs
Document DEBUG_LEVELING_FEATURE
2016-07-22 23:57:01 -07:00
Scott Lahteine bb9da6ebdd Document DEBUG_LEVELING_FEATURE 2016-07-22 23:37:41 -07:00
Scott Lahteine 91777dd76c Add DUAL_NOZZLE_DUPLICATION_MODE option 2016-07-22 16:22:56 -07:00
Scott Lahteine 194d9521c3 Merge pull request #4356 from thinkyhead/rc_simpler_run_z_probe
Unify run_z_probe
2016-07-19 19:02:39 -07:00
Scott Lahteine 4a6ed5e221 Use HOMING_FEEDRATE_Z for Z_PROBE_SPEED_FAST 2016-07-19 18:42:48 -07:00
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
2016-07-19 18:42:48 -07:00
Scott Lahteine e44b37cdc2 motion section marker below homing speeds 2016-07-19 17:31:58 -07:00
Scott Lahteine 204fd6ec44 Set homing feedrates individually 2016-07-19 17:31:58 -07:00
Scott Lahteine 6abf916575 Reprapworld Keypad move step is 1mm 2016-07-19 16:40:39 -07:00
João Brázio b869fbc05e Update all config files with the new G12 options 2016-07-19 15:07:03 -07:00
Scott Lahteine 81e01152bb Merge pull request #4336 from thinkyhead/rc_bltouch_sensor
BLTouch probe sensor
2016-07-17 14:06:32 -07:00
Scott Lahteine 1583177ef4 BLTOUCH probe config option 2016-07-17 13:55:38 -07:00
Scott Lahteine 39706f3e57 Endstop invert flags as macros instead of const bool 2016-07-17 13:51:02 -07:00
Scott Lahteine 0fcd3706dd Replace ENDSTOPS_ONLY_FOR_HOMING with ENDSTOPS_ALWAYS_ON_DEFAULT 2016-07-17 13:35:21 -07:00
Scott Lahteine 671634bf11 Fix spacing after section header 2016-07-17 13:35:21 -07:00
Scott Lahteine 22b4cff423 New extruder type configuration options 2016-07-17 00:13:56 -07:00
Scott Lahteine bf16ae5a70 Merge pull request #4299 from jbrazio/feature/g27-park-nozzle
Implements park nozzle feature
2016-07-16 23:47:12 -07:00
João Brázio dfa1c45075 Adds a notice to vendors about the SHOW_CUSTOM_BOOTSCREEN directive 2016-07-17 01:15:17 +01:00
João Brázio 9a00108cb6 Adds the WEBSITE_URL as the boot screen line 2 2016-07-16 12:24:37 +01:00
João Brázio 336481ea81 Added G27 configuration options to all configs 2016-07-16 12:07:59 +01:00
João Brázio 68c343a09a Added G12 configuration options to all configs 2016-07-14 00:38:42 +01:00
Scott Lahteine a8b6b6a128 Merge pull request #4252 from thinkyhead/rc_rename_hpb
Replace PLA/ABS preheating with generic
2016-07-12 20:00:33 -07:00
Scott Lahteine 243ad4312a Merge pull request #4271 from thinkyhead/rc_X_DUAL_STEPPER_DRIVERS
X_DUAL_STEPPER_DRIVERS
2016-07-11 18:38:45 -07:00
Scott Lahteine 91bd6eade7 X_DUAL_STEPPER_DRIVERS configuration option 2016-07-11 10:22:19 -07:00
Scott Lahteine 928ff6487a Greek language pack from @psavva 2016-07-10 18:59:04 -07:00
Scott Lahteine 182c8d7f8f Dyze High Temp Thermistor Support 2016-07-10 17:59:05 -07:00
Scott Lahteine 1026e5b071 Replace PLA/ABS preheating with generic 2016-07-09 18:06:51 -07:00
Petr Zahradnik e282d69f63 Print job timer comment changed 2016-07-09 17:57:54 -07:00
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.
2016-07-08 17:25:21 +02:00
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.
2016-07-07 16:37:22 -07:00
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.
2016-07-06 03:46:40 +02:00
Petr Zahradnik 43ff0ce35f Rewritten FILAMENT_CHANGE_ENABLE feature 2016-07-02 15:34:33 -07:00
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.
2016-07-02 15:22:26 -07:00
Scott Lahteine f84d85f761 Cleanup extruder runout configs 2016-06-30 01:40:41 -07:00
Scott Lahteine 683975cf90 Fix spelling in a config comment 2016-06-28 16:49:13 -07:00
Scott Lahteine 10da7ac86c Combine Z raise before/after options 2016-06-26 13:56:30 -07:00
Scott Lahteine 03c70c1990 SERVO_DEACTIVATION_DELAY => SERVO_DELAY 2016-06-23 14:33:29 -07:00
Scott Lahteine bd01592816 Goodbye MECHANICAL_PROBE 2016-06-22 17:13:33 -07:00
Scott Lahteine b590a7dee0 Make Z_RAISE_BETWEEN_PROBINGS a more general option 2016-06-22 14:00:44 -07:00