Commit graph

1969 commits

Author SHA1 Message Date
Scott Lahteine f8199b2cc1 Merge pull request #4982 from thinkyhead/rc_abl_bugfix
Fix planner with kinematics, delta ABL
2016-10-10 13:24:22 -05:00
esenapaj 00456b0cb3 Fix compilation errors 2016-10-10 14:22:43 +09:00
Scott Lahteine e4e290d957 Make EXTRUDER_RUNOUT_PREVENT kinematic compatible 2016-10-09 15:58:33 -05:00
Scott Lahteine 847429eff4 Make tool_change kinematic compatible 2016-10-09 15:58:32 -05:00
Scott Lahteine a4a7ca10ca Make USE_DELTA_IK_INTERPOLATION compatible with ABL 2016-10-09 15:58:32 -05:00
Scott Lahteine c5cac486f5 Use a, b, c instead of lx, ly, lz 2016-10-09 14:34:24 -05:00
Josef Pavlik f8c2473a71 Improve planner kinematics, fix delta ABL 2016-10-09 13:32:46 -05:00
Scott Lahteine e4d2662d81 Use some macros in M48 2016-10-09 12:21:05 -05:00
Scott Lahteine ee01def16d Merge pull request #4955 from thinkyhead/rc_debug_pins
PINS_DEBUGGING and M43: Read pin states
2016-10-07 14:47:34 -05:00
Scott Lahteine e21bab5243 PINS_DEBUGGING and M43 Read Pins 2016-10-07 14:11:48 -05:00
Scott Lahteine 48e63c4730 Comment some globals 2016-10-06 22:06:33 -05:00
Scott Lahteine 9a6c66602f Fix formatting of extrapolate debug output 2016-10-06 17:04:22 -05:00
Scott Lahteine cd77eb5c40 Clear grid for bilinear G29 2016-10-06 17:00:53 -05:00
Scott Lahteine 53a0856f5c Print Y as int in print_bed_level 2016-10-06 16:46:54 -05:00
Brian 357854a7ef tweak variables; 2016-10-05 19:49:05 -04:00
Brian 48cf19151a Improve M48 output; Add min, max, range, etc. 2016-10-05 16:09:39 -04:00
Scott Lahteine e6164d254d Clean up GCode command short comments 2016-10-05 06:13:30 -05:00
Scott Lahteine 0c0deb5194 Common pin_is_protected function 2016-10-05 04:41:27 -05:00
Scott Lahteine 46839c222a Comment and clean up some vars 2016-10-04 23:40:45 -05:00
Scott Lahteine 8910bb7c97 Fix buzzer conditional compile 2016-10-04 21:38:41 -05:00
Scott Lahteine de7e798e6f Replace single-char S_ECHOs with S_CHAR 2016-10-04 21:38:41 -05:00
Scott Lahteine 0e83f34174 Tweak debugging of probe_pt 2016-10-04 21:38:00 -05:00
Scott Lahteine ca26011e3c Merge pull request #4941 from MagoKimbra/rc_fix_M205
Add note for M205
2016-10-04 03:21:20 -05:00
Scott Lahteine 9485aa8f13 Include negative Z probe offset in clearance move 2016-10-03 16:18:04 -05:00
Scott Lahteine 5c1eb595e6 Fix for G2/G3 negative radius
As suggested in #4940
2016-10-03 14:48:44 -05:00
MagoKimbra 7b37539fe7 Add note for M205 2016-10-03 08:54:15 +02:00
Scott Lahteine d5f598cd82 Tweak probe debug, add newline 2016-10-02 17:35:40 -05:00
Scott Lahteine d19cfcfc1d max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
Scott Lahteine e7dc174f30 More detailed debugging of G28 delta 2016-10-02 02:18:57 -05:00
Scott Lahteine bad8899ebc Merge pull request #4900 from thinkyhead/rc_g38_changes
Cleanup of G38.2 / G38.3
2016-10-01 06:57:17 -05:00
Scott Lahteine 73ce3a61c7 Cleanup, comment zigzag 2016-10-01 05:21:52 -05:00
Scott Lahteine 919fe3e4b8 Rename feature to G38_PROBE_TARGET 2016-10-01 05:00:53 -05:00
Scott Lahteine a2864ab7fe Patched up, cleaned up 2016-10-01 05:00:53 -05:00
Bob-the-Kuhn 2911aa7ffa code changes to implement G38 commands
1) modified 3 code files
Marlin.h
Marlin_main.cpp
endstops.cpp

2) modified config files so I could test on my machine

Testing was done on an AzteegX3pro based machine.

The probe was hooked to the Z_MIN endstop.

My controller doesn't have a dedicated Z_PROBE input so I couldn't test
that functionality.

Verified that a large file (without any G38 commands) executed the same
before and after the changes.

Verified that the head moves as expected when G38.2 and G38.3 commands
are issued. Single & multiple axis moves were tested along with + and -
directions.

Code was added to the main ISR. In normal operation only one extra IF
statement is evaluated. I didn't notice any performance degradation
because of the added code.

The G38 commands are expected to be issued manually by the operator
during machine setup. The G38 commands wait until the machine is idle
before proceeding. That way the other commands are minimally impacted
by the extra ISR overhead when a G38 command is in the queue.

The G38 commands are very similar to the G28 commands except 1) only the
Z_PROBE is used and movement can be in the + or - direction.

See issue 4677 for a discussion on adding G38 commands to Marlin.
Feature request: add ability to use G38.2 command (CNC)
MarlinFirmware/Marlin#4677
2016-10-01 05:00:53 -05:00
Scott Lahteine 74d048e77e Merge pull request #4927 from thinkyhead/rc_bltouch_noraise
Don't check Z_MAX on raise when the probe pwns the pin
2016-10-01 04:52:56 -05:00
Scott Lahteine 4afa293289 Say "BLTOUCH" in machine info report 2016-09-30 17:13:27 -05:00
Scott Lahteine 2d2c9bdf92 Add PROBE_Y_FIRST option for probe order 2016-09-29 02:00:27 -05:00
Scott Lahteine c8c57e59fc Patch the end of G29 to sync plan position 2016-09-29 02:00:27 -05:00
Scott Lahteine 81b8c9f8ec Add XY parameters to G29 for mesh dimensions 2016-09-29 02:00:27 -05:00
Scott Lahteine 56cf674150 M420 can now enable/disable ABL 2016-09-29 02:00:26 -05:00
Scott Lahteine 06790977c4 Use updated position methods 2016-09-29 01:31:05 -05:00
Scott Lahteine e8f2604a6f Patch print_bed_level numbering 2016-09-29 01:31:05 -05:00
Scott Lahteine d066610514 Patch up bilinear_z_offset 2016-09-29 01:31:05 -05:00
Scott Lahteine 850e38d013 G30 will only disable bed leveling 2016-09-29 01:31:04 -05:00
Scott Lahteine 510ef5d14a Standard function to turn bed leveling on/off 2016-09-29 01:27:37 -05:00
Scott Lahteine 2febd8ec82 Double-touch debugging 2016-09-29 01:27:37 -05:00
Scott Lahteine b331077c32 Use stepper.get_axis_position_degrees 2016-09-29 01:27:37 -05:00
Scott Lahteine 0d9efb24f3 Fix up bilinear_z_offset 2016-09-29 01:26:22 -05:00
Scott Lahteine 8b46eb3766 Fix bilinear interpolation 2016-09-27 03:18:49 -05:00
Scott Lahteine 5100bdac81 Improve Bilinear Grid
- Extrapolate properly for even numbered grid points
- Extrapolate using average, not median
- Improve bilinear grid report output
- Add debug output for bilinear extrapolation
- Add option to extrapolate from edge, not center
2016-09-27 00:03:19 -05:00
Scott Lahteine a3e91ec65e Add 'Q' option to G29 when debug leveling is on 2016-09-27 00:03:19 -05:00
Scott Lahteine 1fceda4fb0 Add leveling type and details to machine_info 2016-09-27 00:03:19 -05:00
Scott Lahteine e0e0166075 Fix auto bed leveling - turn on after successful G29 2016-09-27 00:03:19 -05:00
Scott Lahteine 18e40de39c Adjust final Z after bilinear G29 2016-09-26 00:22:22 -05:00
Scott Lahteine ea0dbee3c9 Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
Scott Lahteine 9cebbabd05 Merge pull request #4893 from thinkyhead/rc_stat_led_check
Define status LED pins without condition
2016-09-25 18:50:47 -05:00
Scott Lahteine 5fff8d148b Clean up digital pots and microsteps 2016-09-25 11:16:22 -05:00
Scott Lahteine 570676d265 Include requirements in "Implemented Codes" 2016-09-25 07:50:33 -05:00
Scott Lahteine cb48292338 Use fastio for literal pins 2016-09-25 06:33:38 -05:00
Scott Lahteine fba0b67f7d Rename status led pins 2016-09-25 06:33:37 -05:00
Scott Lahteine 041d127cd3 Match bltouch test in do_homing_move with new code 2016-09-24 23:58:08 -05:00
Scott Lahteine 1583d37edd Comment on M851 case 2016-09-24 05:34:36 -05:00
esenapaj 7bdc58a818 Suppress warnings, fix nonlinear_z_offset 2016-09-24 03:06:08 -05:00
Scott Lahteine 903b8bb60c No need for auto_bed_leveling_was_enabled 2016-09-23 16:38:22 -05:00
Scott Lahteine 0951bffcc0 Sanity check homing bumps 2016-09-23 15:39:02 -05:00
Scott Lahteine a9a21db39f No homing bump if bump distance is 0 (or less) 2016-09-23 15:39:02 -05:00
Scott Lahteine 2b4da57ea7 Patch Z safe homing for probe Z homing 2016-09-23 15:39:02 -05:00
Scott Lahteine c6dd539c84 Print error for M42 bad pin 2016-09-23 15:39:02 -05:00
Scott Lahteine 8b399610fb Skip raw moves to current position 2016-09-23 15:39:02 -05:00
Scott Lahteine 22ece0081e Pass array pointer to unapply_leveling 2016-09-23 15:39:01 -05:00
Scott Lahteine cbc158eb62 Add a proper flag for ABL enabled 2016-09-23 15:39:01 -05:00
Scott Lahteine 666e944336 Init xProbe/yProbe for compiler 2016-09-23 15:39:01 -05:00
Scott Lahteine 2c52e6ecf4 Clean up G28 MBL code 2016-09-23 15:39:01 -05:00
Scott Lahteine 0bf1054bb2 Patch do_homing_move for SCARA 2016-09-23 15:39:00 -05:00
Scott Lahteine 6ad0da661c Report position in G92 2016-09-23 15:39:00 -05:00
Scott Lahteine 199a7b5dd5 Tweak SCARA debugging 2016-09-23 15:39:00 -05:00
Scott Lahteine 865ad25781 Fix prepare_kinematic_move_to precision 2016-09-23 15:39:00 -05:00
Scott Lahteine 85e607153b Improve kinematic optimization options 2016-09-23 03:03:15 -05:00
Scott Lahteine 2846531f0b const argument in do_homing_move 2016-09-23 03:03:15 -05:00
Scott Lahteine c6142aa2a1 Minor cleanups in Marlin_main.cpp 2016-09-23 03:03:14 -05:00
Scott Lahteine 6b9bf8e8fe Add Planner::sync_from_steppers
Use to sync the planner after an interrupted move (when not overriding
the logical position).
2016-09-23 03:03:14 -05:00
Scott Lahteine b211df818e Make movement functions more available 2016-09-23 03:03:13 -05:00
Scott Lahteine e8d5073a90 Use probe clearance for bump when homing Z with probe 2016-09-22 15:41:28 -05:00
Scott Lahteine dbe41245f1 Merge pull request #4821 from thinkyhead/rc_revert_to_raises
Z Raise/Clearance rather than Height
2016-09-22 15:30:07 -05:00
Scott Lahteine 747a2257dd Only deploy/stow BLTOUCH on downward move 2016-09-22 15:26:19 -05:00
Scott Lahteine e242946ac3 Patch G29 for linear leveling, reachable with probe 2016-09-22 15:26:19 -05:00
Scott Lahteine b800eb0fed Add probe option to position_is_reachable 2016-09-22 15:26:19 -05:00
Scott Lahteine fafafcf9d1 Use unapply_leveling in set_current_from_steppers_for_axis 2016-09-22 15:26:18 -05:00
Scott Lahteine e69d1e2879 Homing/probing feedrate, comments 2016-09-22 15:26:18 -05:00
Scott Lahteine 2b7cc27c37 Merge pull request #4840 from thinkyhead/rc_G2_G3_arc_r_method
Add support for G2/G3 with R parameter
2016-09-21 01:30:37 -05:00
Scott Lahteine e0e10e0e45 Merge pull request #4859 from thinkyhead/rc_kinematic_and_scara
Kinematic and SCARA patches
2016-09-21 01:21:49 -05:00
Scott Lahteine 31f03c838a Only deploy/stow BLTouch for Z axis 2016-09-21 00:54:54 -05:00
Scott Lahteine 3913e04ac7 Add Delta kinematic optimization options 2016-09-20 18:48:06 -05:00
Scott Lahteine 8e31640229 Optimize prepare_kinematic_move_to 2016-09-20 18:48:06 -05:00
Scott Lahteine fd9b8ae4d4 Use position_is_reachable in G29, M48 2016-09-20 18:48:06 -05:00
Scott Lahteine 7194e4434f SCARA support in position_is_reachable 2016-09-20 18:48:06 -05:00
Scott Lahteine 1c5f9821c4 SCARA support in homeaxis 2016-09-20 18:48:05 -05:00
Scott Lahteine 92b4459f6c Simpler G92 for SCARA 2016-09-20 18:48:05 -05:00
Scott Lahteine 46cc2e3f6a Fix get_cartesian_from_steppers 2016-09-20 18:31:36 -05:00
Scott Lahteine 435c3ed404 Patch SCARA_move_to_cal for coordinate space 2016-09-20 18:31:36 -05:00
Scott Lahteine 5efb12e889 Simpler report_current_position for SCARA 2016-09-20 18:31:36 -05:00
Scott Lahteine 83fc5e1540 No line_to_* functions with IS_KINEMATIC 2016-09-20 18:31:36 -05:00
Scott Lahteine 59d39d7655 G0 direct move for SCARA 2016-09-20 18:31:36 -05:00
Scott Lahteine ad9d6870ed SCARA support in do_blocking_move_to 2016-09-20 18:31:36 -05:00
Scott Lahteine 8542ebcecd prepare_move_to_destination_raw => prepare_uninterpolated_move_to_destination 2016-09-20 18:31:36 -05:00
Scott Lahteine f900f97611 Update sw endstops in set_axis_is_at_home 2016-09-20 18:31:36 -05:00
Scott Lahteine 0d43cef1de M206 for MORGAN_SCARA 2016-09-20 18:31:36 -05:00
Scott Lahteine e94cb7a380 MORGAN_SCARA kinematics 2016-09-20 18:31:36 -05:00
Scott Lahteine 01f1028510 Try on "CLEARANCE" for size 2016-09-20 18:29:49 -05:00
Scott Lahteine 0e7d638a7a Revert to Probe Raise rather than Probe Height 2016-09-20 18:29:49 -05:00
Scott Lahteine 51e42a2d77 Adjust BLTouch probe behavior
Addressing #4855
- Have the pin deploy only immediately before probing
- Have the pin retract immediately after every probe
2016-09-20 16:20:36 -05:00
Scott Lahteine 13523cbf29 Fix and extend BLTouch support 2016-09-20 16:20:36 -05:00
Scott Lahteine e9ce42353e Patch G29 for 3-point leveling 2016-09-20 04:46:41 -05:00
Scott Lahteine c2744d8a8b Add support for G2/G3 with R parameter 2016-09-19 00:35:09 -05:00
Scott Lahteine f38a33a5d8 Add handling of BLTouch error state 2016-09-18 22:00:32 -05:00
Scott Lahteine f0beae7641 Fix stupid, stupid, stupid oversight in G29 update
Mea culpa!
2016-09-18 16:24:47 -05:00
Scott Lahteine 77639672d7 Move NONLINEAR bed leveling to planner
This is in advance of moving non-linear bed leveling to the planner
class.
2016-09-18 13:50:38 -05:00
Scott Lahteine 9429c7db89 Use ABC indices in delta[] 2016-09-18 13:50:38 -05:00
Scott Lahteine 5f2f991192 Use 'logical' rather than 'target' or 'cartesian' 2016-09-18 13:50:38 -05:00
Scott Lahteine 2ebfbc4c8d Merge pull request #4836 from thinkyhead/rc_some_comments
Some comments, const args, debug output tweaks
2016-09-18 13:38:07 -05:00
Scott Lahteine e5505e3b33 Allow non-square leveling grid 2016-09-18 13:11:20 -05:00
Scott Lahteine 2fc9ad6657 Use const ref args in probe_pt 2016-09-18 12:58:43 -05:00
Scott Lahteine 2c2688d7ad Adjust comments, spacing 2016-09-18 12:58:42 -05:00
Scott Lahteine b9d19b0008 Tweak extrapolate_one_point 2016-09-18 12:58:42 -05:00
Scott Lahteine 3c0b591935 Fix nozzle position description 2016-09-18 12:58:42 -05:00
Scott Lahteine 18d8dd4c0f set_current_from_steppers_for_axis const arg 2016-09-18 12:58:42 -05:00
Scott Lahteine d1f4c3d73b Patch sync_plan_position comment 2016-09-18 12:58:41 -05:00
Scott Lahteine 0c25af30d4 Document homeaxis 2016-09-18 12:58:41 -05:00
Scott Lahteine e7882e45e3 Document set_axis_is_at_home 2016-09-18 12:58:40 -05:00
Scott Lahteine fef959c31a Merge pull request #4834 from thinkyhead/rc_code_bool
Standardize code_value_bool
2016-09-18 12:44:20 -05:00
Scott Lahteine 661fe09ce7 Standardize code_value_bool 2016-09-18 11:32:32 -05:00
Scott Lahteine 20e5140e75 Merge pull request #4833 from thinkyhead/rc_no_scara_axis_scaling
Remove SCARA axis_scaling
2016-09-18 11:31:50 -05:00
Scott Lahteine a501f430eb Enable M0/M1 with Emergency Parser 2016-09-18 11:14:10 -05:00
Scott Lahteine 83a41c7ceb Remove SCARA axis_scaling 2016-09-16 15:21:18 -05:00
Scott Lahteine 57564ae576 Use last probe point to correct Z when possible 2016-09-14 02:03:43 -05:00
Scott Lahteine 29f224594c Fix some regressive typos in G29 2016-09-13 17:31:02 -05:00
Scott Lahteine 9b0931ef74 Apply fixed EXTRUDER_RUNOUT_PREVENT 2016-09-13 03:33:04 -05:00
Scott Lahteine b1a60e8954 Reformat, rearrange, tweak, and document
- Add comments to several functions
- Add an option to use Fast SQRT for Delta IK
- Group related functions together
- Outdent some leveling-related functions
2016-09-13 03:33:04 -05:00
Scott Lahteine 61284cbd8c Various code style adjustments 2016-09-13 03:33:04 -05:00
Scott Lahteine 788a16fc46 Clean up serial out code 2016-09-13 03:33:03 -05:00
Scott Lahteine 0e38bea79d Shrink 3-point leveling code 2016-09-13 03:33:03 -05:00
Scott Lahteine 4f75ce6957 Unify reset_bed_level for linear/non-linear 2016-09-13 03:33:03 -05:00
Scott Lahteine a9ed23225f bed_level => bed_level_grid 2016-09-13 03:33:02 -05:00
Scott Lahteine 82be65065c Fix up untilted_stepper_position and set_current_from_steppers_for_axis 2016-09-13 03:33:01 -05:00
Scott Lahteine d65f5d816f Patch to fix kinematics 2016-09-13 03:33:01 -05:00
Scott Lahteine e529c6407e Rename set_cartesian_from_steppers, cartesian_position 2016-09-13 03:33:01 -05:00
Scott Lahteine d4f21af6b3 sync_plan_position_delta => sync_plan_position_kinematic 2016-09-13 03:33:01 -05:00
Scott Lahteine acd1b6e9c0 Rename delta_grid spacing for general nonlinear 2016-09-13 03:33:00 -05:00
Scott Lahteine c5fa70809b Implement M0/M1 for EMERGENCY_PARSER 2016-09-13 03:33:00 -05:00
Scott Lahteine 786d1afb72 Add position_is_reachable, use in home_z_safely 2016-09-13 03:33:00 -05:00
Scott Lahteine b4034915f8 Move z safe homing to its own function 2016-09-13 03:33:00 -05:00
Scott Lahteine c84b14c77a Move delta homing to its own function 2016-09-13 03:32:59 -05:00
Scott Lahteine f9a192c7e3 Move setup() and loop() to the end 2016-09-13 03:32:59 -05:00
Scott Lahteine 74d7f5e57b Patch SCARA example config 2016-09-13 03:32:59 -05:00
Scott Lahteine 6ab54c60b1 Add conditionals for kinematics, leveling 2016-09-13 03:32:59 -05:00
Scott Lahteine 9248cfb0ad Bed leveling that accounts for home XYZ 2016-09-10 13:47:21 -05:00
Scott Lahteine 6ac9d895ca Tweak Filament Width variables 2016-09-10 13:29:25 -05:00
Scott Lahteine 68ba45572e Don't say "heating complete" unless done 2016-09-10 13:29:25 -05:00
Scott Lahteine 2bfc6fe1b0 Move XYZ constants closer to the top 2016-09-10 13:25:44 -05:00
Scott Lahteine ad659b5f91 Merge pull request #4725 from thinkyhead/rc_log_machine_info
Log machine info in G28 and G29
2016-09-01 23:58:59 -05:00
Scott Lahteine 7e20448a2d Add HOMING_Z_WITH_PROBE conditional 2016-08-30 13:29:26 -05:00
Scott Lahteine 0e4107da34 Minor cleanup of homeaxis, etc. 2016-08-30 13:29:26 -05:00
Scott Lahteine fd2269f489 Log machine info in G28 and G29 2016-08-28 20:48:28 -05:00
Scott Lahteine 6eaf4f4909 Fix spacing of debug output in homeaxis 2016-08-28 19:43:33 -05:00
Scott Lahteine 0729a8f08d Use the probe travel height for pre-probe move
Instead of using the home_bump for Z to move close to the bed before doing a slow probe, use the probe travel height.
2016-08-28 19:13:08 -05:00
Scott Lahteine dd94d0b9d5 Fix bed probing bug without PROBE_DOUBLE_TOUCH
If `PROBE_DOUBLE_TOUCH` wasn't enabled, the probe move could be way too short! See #4701 for example.
2016-08-28 19:00:25 -05:00
Scott Lahteine 35a0c46f16 Tweak debug output for probe in G29 2016-08-28 18:44:44 -05:00
Scott Lahteine 2cb63f0bf7 Merge pull request #4719 from thinkyhead/rc_delta_homing_patch
Marlin patches for homing, esp. Delta
2016-08-27 20:46:50 -05:00
Scott Lahteine 73d86098b7 Marlin patches for homing, esp. Delta 2016-08-27 20:32:05 -05:00
Scott Lahteine 338bc768b1 Merge pull request #4717 from thinkyhead/rc_log_the_probe
Debug logging of nozzle type and offsets
2016-08-27 20:24:19 -05:00
Scott Lahteine d641344d3a Remove redundant probe offset in homing 2016-08-27 19:58:56 -05:00
Scott Lahteine 00638131e5 Debug logging of nozzle type and offsets 2016-08-27 15:21:01 -05:00
Scott Lahteine 991a34aff2 Log whether homing with probe or endstop 2016-08-26 15:50:10 -05:00
esenapaj 1749a7fae3 Suppress warning 2016-08-24 00:18:06 +09:00
Scott Lahteine d07d85ac9f Ensure probe points at the delta edge are kept 2016-08-23 05:09:56 -05:00
Scott Lahteine 27b80b1dd1 Merge pull request #4667 from thinkyhead/rc_M211_sw_endstop_switch
M211: Enable/Disable Software Endstops
2016-08-21 06:44:00 -05:00
Scott Lahteine 2f223b8c79 Use ABC and XYZ for "3" 2016-08-21 00:10:08 -05:00
Scott Lahteine 4cd1ad8f28 Adjustments to M209, G28, M605 2016-08-21 00:10:08 -05:00
Scott Lahteine 280534c06f Add M211: Enable/Disable Software Endstops 2016-08-21 00:10:08 -05:00
Scott Lahteine 01d4703429 PREVENT_DANGEROUS_EXTRUDE => PREVENT_COLD_EXTRUSION
Also improve the documentation of this and related options, and set
EXTRUDE_MINTEMP to 170 everywhere.
2016-08-20 23:35:27 -05:00
MagoKimbra 28d1e5a946 Fix_Zig_Zag 2016-08-20 11:28:08 +02:00
Scott Lahteine 4d4c00d69c Merge pull request #4651 from thinkyhead/rc_homing_vs_leveling_z
Improvements to homing / leveling
2016-08-19 15:45:49 -05:00
Scott Lahteine 12d72363cb Do Delta radius check without sqrt 2016-08-19 05:05:48 -05:00
Scott Lahteine 044f800be9 Use SERIAL_PROTOCOLLNPGM in G28 2016-08-19 04:45:33 -05:00
Scott Lahteine d309a9647d Include probe offset for moving "close to the bed" 2016-08-19 04:45:33 -05:00
Scott Lahteine 35a08eeaeb Use Z_HOME_DIR over axis_home_dir where we can 2016-08-19 04:45:32 -05:00
Scott Lahteine 55355a4fb8 Make probed points more symmetrical 2016-08-19 04:32:03 -05:00
Scott Lahteine 1f776f6034 Tweak some code comments 2016-08-19 04:32:02 -05:00
Scott Lahteine 748228cf40 Use named indices for delta_grid_spacing 2016-08-19 04:32:02 -05:00
Scott Lahteine ead333e7da line_to_axis_pos => do_homing_move 2016-08-19 04:32:02 -05:00
Scott Lahteine 7a4ccd7967 Add do_probe_move with Z fixes 2016-08-19 04:32:02 -05:00
Scott Lahteine a1bad589c9 Augment debug/homing logging 2016-08-19 04:32:02 -05:00
Scott Lahteine 41b5c48129 Update software endstops if EEPROM is loaded 2016-08-19 04:32:01 -05:00
Scott Lahteine 628dcbc764 extruder_multiplier => flow_percentage 2016-08-18 22:13:47 -05:00
Scott Lahteine d63b8e2b2b Additional details for I2C_SLAVE_ADDRESS 2016-08-15 19:27:53 -07:00
Scott Lahteine bd928a69ec Add request, capture, flush to TWIBus 2016-08-15 00:04:20 -07:00
Scott Lahteine 97e0aed304 Further refinements of TWIBus 2016-08-13 18:32:41 -07:00
Scott Lahteine 67f119d18b Add an i2c request handler 2016-08-11 18:09:18 -07:00
Scott Lahteine d6a7ca6553 Merge pull request #4584 from thinkyhead/rc_delta_cal_more
Use configured feedrates, center in DELTA_CALIBRATION_MENU
2016-08-11 14:04:05 -07:00
Scott Lahteine 52560e257f Merge pull request #4595 from thinkyhead/rc_i2c_slave
Add support for i2c slave address
2016-08-11 12:39:26 -07:00
Scott Lahteine cd496dd9bd do_blocking_move_to can't be 'inline', takes const ref args 2016-08-11 12:05:55 -07:00
Scott Lahteine dd75fca4d9 Make M155 / M156 a bit more flexible 2016-08-11 00:52:01 -07:00
Scott Lahteine a99ecf71d8 Add support for i2c slave address 2016-08-10 23:30:35 -07:00
Scott Lahteine b63d70b186 Fix serial output for MBL, M303 2016-08-10 18:49:52 -07:00
Scott Lahteine 45f67164b6 Simplify the delay in kill() 2016-08-08 21:49:34 -07:00
Scott Lahteine 367dad5902 Sanity check Z_DUAL_ENDSTOPS with DELTA 2016-08-07 17:08:41 -07:00
Scott Lahteine 7b2abe6fc8 Use steps_to_mm in extruder runout prevent 2016-08-07 00:28:52 -07:00
Scott Lahteine d320065320 Within Marlin, maintain most feed rates in mm/s 2016-08-07 00:28:52 -07:00
Scott Lahteine a00783c41f Format probe stowed test code 2016-08-06 14:31:07 -07:00
AnHardt f37e8a31d7 Make Allen Key Probe stow
by switching off the tests for the probe before the stow move.
2016-08-06 14:30:38 -07:00
Scott Lahteine 938e6d15c4 Patch up some flaws, here and there 2016-08-05 08:17:37 -07:00
Scott Lahteine 7e2bd9a233 Z_RAISE_PROBE_* => Z_PROBE_*_HEIGHT 2016-08-03 21:18:38 -07:00
Scott Lahteine 445458c221 Don't include zprobe_zoffset in do_probe_raise 2016-08-03 21:12:02 -07:00
Scott Lahteine b73203a0b7 Move some includes around to uncover missing deps 2016-08-02 19:37:46 -07:00
Scott Lahteine 0f030aface Merge pull request #4503 from AnHardt/fix-retract
Correct typo in retract()
2016-08-02 15:04:55 -07:00
Scott Lahteine 330f82971b Buzzer requires BEEPER_PIN 2016-08-02 14:05:37 -07:00
AnHardt 39c4603598 Correct typo in retract. 2016-08-02 21:06:08 +02:00
Scott Lahteine 6eed37aafb Merge pull request #4486 from thinkyhead/rc_pid_add_extrusion_rate_off
PID_EXTRUSION_SCALING, disabled by default
2016-07-31 18:23:51 -07:00
Scott Lahteine 4bf3526d00 Merge pull request #4463 from thinkyhead/rc_azteeg_x3_eeb
Wrangle RAMPS variants and derivatives
2016-07-31 18:22:49 -07:00
Scott Lahteine 63fd1f49a6 PID_EXTRUSION_SCALING, disabled by default 2016-07-31 17:49:34 -07:00
Scott Lahteine f388beafa1 Merge pull request #4476 from otvald/RCBugFix
FIX for endstop adjustemt on delta is offset
2016-07-31 01:09:54 -07:00
Thomas Otvald Jensen fe059f1221 During homing, line_to_axis_pos will make a path which moves across the
endstop trigger point. The move is stopped at endstop, so current_position
should also be adjusted to reflect this!

Caused error in subsequent call in endstop adjustment, since the movement
would assume a wrong starting position.
2016-07-30 16:50:31 +02:00
esenapaj bd73e6d3c8 Fix for PR #4452 (Additional heater-state output changes)
・Add missing ';'
2016-07-30 22:49:30 +09:00
Scott Lahteine bdac2eb13a Don't set non-existent SLED_PIN 2016-07-30 04:17:21 -07:00
Scott Lahteine 8e2f095dde Merge pull request #4456 from jbrazio/speaker-type3
Improvement to non-blocking speaker
2016-07-30 04:07:08 -07:00
Scott Lahteine 9e21b2e51d Merge pull request #4455 from AnHardt/double-bump-feature
double bump probing as a feature
2016-07-29 20:00:10 -07:00
Scott Lahteine db4d03bc81 Merge pull request #4452 from thinkyhead/rc_fix_heaterstates_part_2
Additional heater-state output changes
2016-07-29 19:58:00 -07:00
Scott Lahteine 844a4e799e Account for DELTA in Planner::refresh_positioning 2016-07-29 18:41:11 -07:00
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 c31f56a38c Deprecate EXTRUDER_WATTS and BED_WATTS 2016-07-29 17:34:14 -07:00
Scott Lahteine e1970b4b28 Show power output in same order as temp output 2016-07-29 14:55:22 -07:00
Scott Lahteine 74df828acc Show ADC values inline rather than after 2016-07-29 14:55:18 -07:00
João Brázio 2b5faa61e2 Consolidates Buzzer and Speaker into a single object 2016-07-29 19:25:39 +01:00
Scott Lahteine b40661cb18 Fix output of heater states 2016-07-28 17:40:01 -07:00
Scott Lahteine 8953e3e984 Allow Z_SAFE_HOMING without a probe 2016-07-27 04:33:56 -07:00
Scott Lahteine 5272147f7c Followup #4402 fixing 3-point leveling 2016-07-25 15:56:34 -07:00
Scott Lahteine 169c21b477 Merge pull request #4402 from thinkyhead/rc_consistent_positioning
Account for coordinate space offsets
2016-07-24 19:23:20 -07:00
Scott Lahteine 2595a40a61 Account for coordinate space more in G28 / G29 / M48 2016-07-24 18:34:05 -07:00
Scott Lahteine b7b7c90477 Merge pull request #4389 from thinkyhead/rc_optimize_planner
Optimize planner with precalculation, etc.
2016-07-24 17:48:23 -07:00
Scott Lahteine b183442c61 Fix inactive_extruder_x_pos for coordinate space 2016-07-24 17:20:36 -07:00
Scott Lahteine f75b0c2ee1 Make POSITION macros global 2016-07-24 17:20:36 -07:00
Scott Lahteine 101b60ef42 Tweak Dual X Carriage data spacing 2016-07-24 17:20:35 -07:00
Scott Lahteine d8f2876753 Replace some float division with multiplication 2016-07-24 13:27:50 -07:00
Scott Lahteine f8b5749235 Replace division in planner with multiplication 2016-07-24 13:27:49 -07:00
Scott Lahteine db5df9500b Move sync_plan_position closer to the top 2016-07-24 13:27:49 -07:00
João Brázio 50fb0f7cec M31 serial output is now always in EN 2016-07-24 15:52:03 +01:00
João Brázio 62d96d72f3 Renamed timestamp_t to duration_t 2016-07-24 03:16:02 +01:00
Scott Lahteine bb93b6822a Use set_current_from_steppers_for_axis 2016-07-23 15:25:54 -07:00
AnHardt 96a162beda Use implications from #4370 in run_z_probe()
See also https://github.com/MarlinFirmware/Marlin/pull/4370#issuecomment-234713680
2016-07-23 13:09:28 -07:00
Scott Lahteine 4e67a85a5d Macros to loop over axes 2016-07-23 13:09:28 -07:00
esenapaj 784be56e99 Follow-up the PR #4353 (General cleanup: enum)
・Update description of M111
2016-07-24 00:53:35 +09:00
Scott Lahteine 08459a003f Undo the self-sabotage that is do_blocking_move_to_axis_pos 2016-07-23 00:59:11 -07:00
esenapaj d32c4056ad Fix for the PR #4379 (Additional logging of do_blocking_move_to)
・Remove unneeded PSTR()
2016-07-23 16:38:57 +09:00
Scott Lahteine 8099ee51a5 Merge pull request #4379 from thinkyhead/rc_blocking_move_logging
Additional logging of do_blocking_move_to
2016-07-23 00:10:55 -07:00
Scott Lahteine ad16d5019e Additional logging of do_blocking_move_to 2016-07-22 23:53:08 -07:00
Scott Lahteine 652fd8a826 Merge pull request #4362 from thinkyhead/rc_duplication_mode
DUAL_NOZZLE_DUPLICATION_MODE
2016-07-22 21:17:59 -07:00
Scott Lahteine 6da3729531 Merge pull request #4370 from thinkyhead/rc_delta_fwd_kinematics
Delta Forward Kinematics (and LOGICAL_POSITION)
2016-07-22 21:16:00 -07:00
Scott Lahteine b3eb0c8569 Add LOGICAL_POSITION macro, apply to kinematics 2016-07-22 18:38:13 -07:00
Scott Lahteine 35a610abf9 const arg to inverse_kinematics 2016-07-22 17:42:48 -07:00
Scott Lahteine b6afa028f4 Don't call adjust_delta on SCARA 2016-07-22 16:36:34 -07:00
Scott Lahteine d5e2d523c7 Generalize kinematics function names 2016-07-22 16:36:34 -07:00
Scott Lahteine 9c4ad7d7ef Clean up delta declarations in Marlin_main.cpp 2016-07-22 16:36:33 -07:00
Scott Lahteine 4b1725628b Move kinematic functions to "private" scope 2016-07-22 16:36:33 -07:00
Scott Lahteine cde068ea42 Use set_current_from_steppers in quickstop_stepper 2016-07-22 16:36:33 -07:00
Scott Lahteine 9f30cc84ce Use set_current_from_steppers for other kinematics 2016-07-22 16:36:33 -07:00
AnHardt 5db9b940ee Use forwardKinematics in DELTA run_z_probe() 2016-07-22 16:36:33 -07:00
Scott Lahteine cbc7f22ad9 Implement DUAL_NOZZLE_DUPLICATION_MODE 2016-07-22 16:23:58 -07:00
Scott Lahteine 179e091473 Merge pull request #4374 from thinkyhead/rc_jbrazio_timestamp_t
Implements timestamp_t structure
2016-07-22 16:08:10 -07:00
AnHardt 499e404fbf forwardKinematics for Delta printers 2016-07-22 16:01:51 -07:00
João Brázio 23043a1e05 Rework some code to use timestamp_t struct (saves 72 bytes) 2016-07-22 15:53:31 -07:00
Scott Lahteine 0b2c608d2f Merge pull request #4372 from jbrazio/gcc-bark
Fix minor gcc warning
2016-07-22 15:18:53 -07:00
Scott Lahteine 311c7dadb6 Cleanup do_blocking_move_to for DELTA 2016-07-22 14:18:45 -07:00
Scott Lahteine b78590e63d Patch and cleanup run_z_probe 2016-07-22 14:18:45 -07:00
João Brázio 2f7716987d Fix minor gcc warning 2016-07-22 16:08:56 +01:00
AnHardt 376a57232e DELTA do_blocking_move_to() more like the Chartesian one 2016-07-22 03:12:46 +02:00
AnHardt 6ef26a85d8 Back to the differences method in run_z_probe() 2016-07-21 18:16:38 +02:00
Scott Lahteine 16e5348659 Merge pull request #4360 from thinkyhead/rc_toolchange_for_G28
Always switch to tool 0 for G28
2016-07-20 19:07:35 -07:00
Scott Lahteine d2e9a9c188 Always switch to tool 0 for G28 2016-07-20 09:36:55 -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
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 204fd6ec44 Set homing feedrates individually 2016-07-19 17:31:58 -07:00
João Brázio 47fef80848 Nozzle::clean() no longer requires HAS_BED_PROBE 2016-07-19 15:07:02 -07:00
Scott Lahteine 6c899bb520 Merge pull request #4349 from jbrazio/gcc-bark-bark
Removes some minor GCC warnings
2016-07-19 13:42:33 -07:00
Scott Lahteine c502018eab Merge pull request #4353 from jbrazio/global-enum-file
General cleanup: enum
2016-07-19 13:37:56 -07:00
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.
2016-07-19 17:24:44 +02:00
João Brázio 3ebad4e020 Moves all global enums to a central file 2016-07-19 14:31:09 +01:00
João Brázio 30ac0782a9 Comment section style correction 2016-07-19 03:27:42 +01:00
João Brázio 79e7721b76 Removes some minor GCC warnings 2016-07-19 03:03:11 +01:00
Scott Lahteine 3422103863 Merge pull request #4310 from thinkyhead/rc_mbl_position_shift
Fix position shift with MBL
2016-07-17 18:31:25 -07:00
Scott Lahteine 493d30cd97 Drop intermediate nx, ny, and set destination directly 2016-07-17 17:59:52 -07:00
Scott Lahteine 07a735ad22 We always use destination so modify mesh_buffer_line 2016-07-17 17:57:33 -07:00
Scott Lahteine 04a5b7b257 A macro to normalize positions 2016-07-17 17:57:32 -07:00
Scott Lahteine 86eb5251c5 Fix some debug messages 2016-07-17 17:10:02 -07:00
Scott Lahteine 1e57a6af73 Use blocking_move, current_position in G28 homing 2016-07-17 16:56:13 -07:00
Scott Lahteine f6a3a1da09 nz and ne are always set, so drop them down 2016-07-17 14:12:39 -07:00
Scott Lahteine d0009e013b Rename cell index vars 2016-07-17 14:12:39 -07:00
Scott Lahteine 697373b071 Reduce code size of mesh_buffer_line 2016-07-17 14:11:25 -07:00
Scott Lahteine f4a69281fc Only call mesh_buffer_line when MBL is active 2016-07-17 14:11:25 -07:00
Scott Lahteine 799a31cd30 Include the position_shift when splitting mesh lines 2016-07-17 14:08:20 -07:00
Scott Lahteine f242aea032 Merge pull request #4319 from thinkyhead/rc_feedrates_to_mess_with_you
Wrangle feed rate variables
2016-07-17 14:07:52 -07:00
Scott Lahteine 0342661b3f Merge pull request #4335 from thinkyhead/rc_status_pad_jp
Debug char, fix compile errors for lcd pins
2016-07-17 14:07:08 -07:00
Scott Lahteine 5ed1e7a464 codenum => dwell_ms 2016-07-17 13:35:21 -07:00
Scott Lahteine f38553b482 fix a debug message 2016-07-17 13:29:42 -07:00
Scott Lahteine 3d78b8f929 Use HYPOT macro instead of hypot function 2016-07-17 13:29:42 -07:00
Scott Lahteine 9f9fe043ba Apply sq macro throughout 2016-07-17 13:29:41 -07:00
Scott Lahteine 93ba5bddd7 Append units to feedrate variables 2016-07-17 13:29:41 -07:00
Scott Lahteine 21ee0612e3 Debug char 2016-07-17 12:27:36 -07:00
Scott Lahteine 8f24e0a556 Debugging of MBL in G28 2016-07-17 11:08:30 -07:00
Scott Lahteine 05da02f0a2 Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER 2016-07-17 10:53:10 -07:00
Scott Lahteine 02285662f5 Merge pull request #4298 from jbrazio/feature/filament-counter
Adds filamentUsed and longestPrint stats to PrintCounter
2016-07-16 23:48:46 -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 a8758619ec The safe_delay() is now globaly accessible 2016-07-16 12:28:06 +01:00
João Brázio f5234b0695 Adds a customizable screen timeout for the default boot screen 2016-07-16 12:24:36 +01:00
João Brázio 2f26bc2153 Adds filamentUsed and longestPrint stats to PrintCounter 2016-07-16 12:12:27 +01:00
João Brázio c711701626 Implements a nozzle parking command (G27) 2016-07-16 12:07:59 +01:00
João Brázio 5f368d1bc3 Followup for #4320 2016-07-16 11:57:35 +01:00
João Brázio d7c51bc4b9 Merge pull request #4320 from jbrazio/followup/4307
Moves do_blocking_move_to_xy() out of the HAS_BED_PROBE define
2016-07-16 11:48:00 +01:00
Scott Lahteine e563634a25 Merge pull request #4314 from AnHardt/use-d_b_m_t-in-g28
Use do_blicking_move_to*() in G28
2016-07-15 20:22:02 -07:00
Scott Lahteine 59ae1811c2 Merge pull request #4303 from AnHardt/delta-g28
DELTA: Move out of the clip-zone after G28
2016-07-15 20:20:22 -07:00
João Brázio fdea8b6e6a Moves do_blocking_move_to_xy() out of the HAS_BED_PROBE define 2016-07-16 03:59:49 +01:00
AnHardt d2a49c016d DELTA: Move out of the clip-zone after G28
Move down to a safe height after G28 for DELTAs.
2016-07-15 15:22:44 +02:00
AnHardt 46994fd17d Use do_blicking_move_to*() in G28 2016-07-15 15:02:15 +02:00
João Brázio ffbb31b235 Fixes an PSTR overflow with print_xyz() 2016-07-15 11:25:34 +01:00
Scott Lahteine cec7110409 Merge pull request #4308 from thinkyhead/rc_debug_gcode_t
Added logging related to gcode_T
2016-07-14 19:46:33 -07:00
Scott Lahteine 166f19251e Add more debugging for leveling
- Especially in `gcode_T`
- In `update_software_endstops`
- Some tweaks to observe
2016-07-14 19:04:13 -07:00
Scott Lahteine 7ac0b91a45 Collapsible long comment in gcode_T 2016-07-14 18:28:41 -07:00
João Brázio e71a631f8f do_blocking_move_*() no longer depend on HAS_BED_PROBE 2016-07-15 01:54:14 +01:00
Scott Lahteine 8bf6861af8 Merge pull request #4054 from jbrazio/feature/g12-clean-tool
Implements clean nozzle feature (Lulzbot's REWIPE)
2016-07-14 14:38:38 -07:00
Scott Lahteine 1618870c84 card.printingHasFinished does print_job_timer.stop 2016-07-14 11:39:58 -07:00
Scott Lahteine 34da77dad3 Simply run M31 at the end of an SD print 2016-07-14 11:39:58 -07:00
Scott Lahteine a8d71f0ac6 Support longer print times in M31 2016-07-14 11:39:58 -07:00
Scott Lahteine e481b79af1 Allow stopwatch and printcounter to go over 18 hours 2016-07-14 11:39:57 -07:00
João Brázio 4937f9ada4 Minor G12 tweaks and point_t struct extension 2016-07-14 00:07:36 +01:00
João Brázio 021544f572 Improves G12 zig-zag pattern 2016-07-13 21:14:56 +01:00
João Brázio b05a75655a Implements a nozzle cleaning pattern generator (G12) 2016-07-13 21:14:19 +01:00
Scott Lahteine 4f77adddbe Merge pull request #4286 from thinkyhead/rc_debug_clean
Prefix and suffix in debug output
2016-07-12 20:49:15 -07:00
Scott Lahteine e5c7af5ddc Merge pull request #4222 from thinkyhead/rc_allow_cold_extrude
M302: Add "P" parameter, status output
2016-07-12 20:40:14 -07:00
Scott Lahteine 2224032568 Merge pull request #4285 from thinkyhead/rc_manual_move_fast_fine
No delay for the smallest LCD moves
2016-07-12 20:16:38 -07:00
Scott Lahteine d4c68279c8 Add "P" parameter to M302 2016-07-12 20:04:15 -07: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 1e14df876d Use varname as prefix in DEBUG_POS, string as suffix 2016-07-12 19:58:09 -07:00
Scott Lahteine 9e8b3e5ee6 Homing direction is irrelevant in probe raise! 2016-07-12 18:09:02 -07:00
Scott Lahteine 4865447830 Merge pull request #4276 from esenapaj/Suppress-warnings
Suppress warnings
2016-07-11 19:08:59 -07:00
esenapaj 58177a1602 Suppress warnings 2016-07-12 08:22:24 +09:00
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.
2016-07-11 22:01:44 +02:00
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
2016-07-11 03:36:23 +02:00
Scott Lahteine ee0983ab57 Further reduction when HOTENDS == 1 2016-07-10 16:54:30 -07:00
Scott Lahteine f9e08b1fcd Merge pull request #4254 from AnHardt/killscreen
Add a kill-screen
2016-07-09 20:44:42 -07:00
AnHardt faac2bcfdb Add a kill-screen 2016-07-10 04:50:45 +02:00
Scott Lahteine 3b3e52616c Merge pull request #4253 from thinkyhead/rc_clexpert_runout
Runout Sensor without SD Card, Print Timer support in M104
2016-07-09 19:10:36 -07:00
Scott Lahteine 4cd045791c Reduce code size by trusting the compiler 2016-07-09 18:17:44 -07:00
Scott Lahteine a8538bd7ce General cleanup, code reduction in Marlin_main.cpp 2016-07-09 18:17:44 -07:00
Scott Lahteine 1026e5b071 Replace PLA/ABS preheating with generic 2016-07-09 18:06:51 -07:00
Petr Zahradník junior 315b4c2153 Runout sensor without SD Card 2016-07-09 17:57:53 -07:00
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;
...

```
2016-07-08 15:59:33 +02:00
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.
2016-07-08 15:49:10 +02:00
AnHardt f69434d81c Eliminate void setup_for_endstop_move() 2016-07-08 15:23:20 +02:00
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
}
```
2016-07-08 15:08:50 +02:00
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).
2016-07-08 15:08:32 +02:00
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.
2016-07-08 14:59:44 +02:00
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.
2016-07-08 14:59:27 +02:00
Scott Lahteine 98d0167a57 Merge pull request #4226 from thinkyhead/rc_emergency_command_parser
MarlinSerial emergency-command parser (with M108)
2016-07-07 16:53:55 -07:00
Scott Lahteine 2ee4e4f791 Make wait_for_heatup volatile 2016-07-07 16:37:23 -07:00
Scott Lahteine 834ad14c8d Add quickstop_stepper to update current position with stepper.quick_stop() 2016-07-07 16:37:22 -07:00
Scott Lahteine ecffe92e20 Group EMERGENCY_PARSER commands 2016-07-07 16:37:22 -07: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
Scott Lahteine 9f42b1a075 Merge pull request #4235 from thinkyhead/rc_revert_quickhome_test
Fix quick homing, tweak MIN_Z_HEIGHT_FOR_HOMING
2016-07-07 13:37:14 -07:00
Scott Lahteine ad968f2325 Merge pull request #4234 from thinkyhead/rc_better_position_logging
Move XYZ in print_xyz and DEBUG_POS to the front
2016-07-07 12:31:15 -07:00
Scott Lahteine 4036c73cdd Don't raise Z if only homing Z 2016-07-07 12:28:37 -07:00
Scott Lahteine 0b6f8f8244 Apply MIN_Z_HEIGHT_FOR_HOMING raise literally 2016-07-07 12:25:02 -07:00
Scott Lahteine 177ec20bf0 Revert quick-home changes 2016-07-07 12:17:34 -07:00
Scott Lahteine 9c5b462ef2 Move XYZ in print_xyz and DEBUG_POS to the front 2016-07-07 11:42:19 -07:00
Scott Lahteine 4e84c803a3 Merge pull request #4232 from thinkyhead/rc_no_axis_codes_needed
Don't use axis_codes if a literal will do
2016-07-06 20:05:16 -07:00
Scott Lahteine e2f7cb0905 Don't use axis_codes if a literal will do 2016-07-06 18:37:21 -07:00
Scott Lahteine 6559f7359f Fix comment on Z raise for homing, save a few bytes 2016-07-06 16:21:51 -07:00
Scott Lahteine d0b29cabf3 Don't re-home X and Y if you quick homed 2016-07-06 13:46:06 -07:00
Scott Lahteine e0a6b978f5 Don't do_probe_raise with MIN_Z_HEIGHT_FOR_HOMING 2016-07-06 13:46:05 -07:00
Scott Lahteine 7735ec5e7a Merge pull request #4223 from thinkyhead/rc_rename_heatup
Change cancel_heatup to wait_for_heatup
2016-07-06 11:25:44 -07:00
Scott Lahteine 160a2be117 Change cancel_heatup to wait_for_heatup 2016-07-06 09:17:50 -07:00
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.
2016-07-06 04:11:04 +02:00
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.
2016-07-06 03:56:17 +02: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
AnHardt 7d063c111c Add a optional feedrate parameter to do_blocking_move()
Add a optional feedrate parameter to `do_blocking_move()` and its companions.
2016-07-06 03:46:34 +02:00
Scott Lahteine b114b6a0b3 Save 152 bytes using uint8_t for command indices 2016-07-05 16:29:28 -07:00
Scott Lahteine 0d4ff0c48b Allow the queue to be cleared from within commands 2016-07-05 16:25:20 -07:00
Scott Lahteine c450851401 Merge pull request #4209 from AnHardt/too-high-G28
Make raise for probe deploy relative in homeaxis()
2016-07-05 11:07:42 -07:00
AnHardt f799f18388 MBL typo 2016-07-05 18:19:53 +02:00
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.
2016-07-05 10:42:33 +02:00
Scott Lahteine e48502866b Merge pull request #3611 from alephobjects/M108_cancel_heatup
Introduce M108 cancel wait for heatup/cooldown of the hotend and bed
2016-07-04 01:19:31 -07:00
Scott Lahteine d70197f514 Merge pull request #4204 from thinkyhead/rc_fix_gcode_t_position
Additional patches for gcode_T position change
2016-07-04 01:16:22 -07:00
Scott Lahteine 869b517589 Merge pull request #4205 from thinkyhead/rc_fixup_unit_references
References to millimeters in code comments need an update
2016-07-04 01:15:34 -07:00
Scott Lahteine e104b91ea6 References to millimeters in code comments need an update 2016-07-03 20:13:29 -07:00
AnHardt ff91d28a3a Remove wants_to_cool warning
Remove wants_to_cool warning
2016-07-04 03:12:11 +02:00
Scott Lahteine c9e536cf87 Additional patches for gcode_T position change 2016-07-03 18:11:02 -07:00
Scott Lahteine f31af61ee2 Fix position adjustment with gcode_T and MBL 2016-07-03 17:44:04 -07:00
lrpirlet 9b42c6b44b apply correction when swtiching from MBL to physical in G28 X 2016-07-03 21:43:42 +02:00
Petr Zahradnik 43ff0ce35f Rewritten FILAMENT_CHANGE_ENABLE feature 2016-07-02 15:34:33 -07:00
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.
2016-07-01 15:28:41 +02:00
Scott Lahteine 7ef7843fd4 Merge pull request #4181 from thinkyhead/rc_rename_a_move_func
Do interpolated moves for Allen Key deploy/stow
2016-06-30 16:30:09 -07:00
Scott Lahteine da6b0dab5f Use prepare_move_to_destination for Allen Key deploy/stow 2016-06-30 16:09:43 -07:00
Scott Lahteine c42f8fb8dd Rename some movement sub-functions 2016-06-30 15:50:00 -07:00
Scott Lahteine 5e14a528dd Always wait for cooling in M109/M190, break at low temp or if cooling stalls 2016-06-29 14:07:54 -07:00
Scott Lahteine 2e96276bf4 More debug message cleanup 2016-06-27 20:36:19 -07:00
Scott Lahteine dc2c0e5e24 Simpler debug output for deploy/stow 2016-06-27 20:36:18 -07:00
Scott Lahteine bd491818d6 Reduce storage requirements for strings, make some PGM 2016-06-27 20:36:18 -07:00
AnHardt e480ee0054 Further cleanup of G28 for probes 2016-06-27 20:19:51 -07:00
AnHardt 39883d03fc universalize axis_unhomed_error() 2016-06-27 20:19:51 -07:00
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!)
2016-06-27 20:19:51 -07:00
Scott Lahteine 829c92f1ba Use Z_RAISE_BETWEEN_PROBINGS with MBL 2016-06-26 15:39:11 -07:00
Scott Lahteine eb1755208f Merge pull request #4153 from thinkyhead/rc_probe_raise_options
Combine Z raise before/after options
2016-06-26 15:30:08 -07:00
Scott Lahteine 10da7ac86c Combine Z raise before/after options 2016-06-26 13:56:30 -07:00
Scott Lahteine 3fa631130f Ensure a minimum height before XY move in probe_pt 2016-06-25 19:19:31 -07:00
Scott Lahteine ca184d3d72 Merge pull request #4147 from thinkyhead/rc_fix_M48_raise
Fix debug output in probe_pt
2016-06-25 18:15:33 -07:00
Scott Lahteine b4161cbd98 Fix debug output in probe_pt 2016-06-25 17:59:03 -07:00
Edward Patel da88b00585 MBL: Add support for max z endstop
See https://github.com/MarlinFirmware/Marlin/issues/4088
2016-06-25 21:58:02 +02:00
Scott Lahteine 7de7552069 Merge pull request #4133 from MagoKimbra/Single_home_axis_delta
Single home Axis Delta need simple sync_plan_position
2016-06-23 21:14:22 -07:00
Scott Lahteine 15a6b49f37 Simplified probe_pt (in G30) 2016-06-23 20:25:46 -07:00
Scott Lahteine 6a7045b9bf Remove clean_up_after_endstop_move 2016-06-23 20:23:19 -07:00
Scott Lahteine 2a4f866561 Simplified probe_pt (in G29) 2016-06-23 20:22:28 -07:00
Scott Lahteine 89a2aa026b Simplified probe_pt (in M48) 2016-06-23 19:22:45 -07:00
Scott Lahteine f8530c5d1f Simplified probe_pt function (G28 grid) 2016-06-23 19:09:32 -07:00
Scott Lahteine c376c08042 Simplified probe_pt function (part 1) 2016-06-23 19:00:29 -07:00
Scott Lahteine 9a71b7f8ad Fix debug message for 3-point leveling 2016-06-23 18:17:31 -07:00
Scott Lahteine 550c03a5a9 Drop raise_z_after_probing function 2016-06-23 18:11:54 -07:00
Scott Lahteine bb38c816af Always raise in deploy_z_probe / stow_z_probe 2016-06-23 18:00:20 -07:00
Scott Lahteine 68f3350050 Cleanup M401 / M402 2016-06-23 17:04:41 -07:00
Scott Lahteine 3afda99adf Regular handlers for G31 / G32 2016-06-23 17:04:13 -07:00
Scott Lahteine 6803c8e37e Move Z up before, or down after XY, for "blocking move" 2016-06-23 15:50:13 -07:00
MagoKimbra 570f3bbc07 Single home Axis Delta need simple sync_plan_position 2016-06-23 23:09:47 +02:00
Scott Lahteine 7b2fadd598 Apply some fixes from Andreas
Derived from
https://github.com/AnHardt/Marlin/commit/6e8ede8c694fa4d9e3c769840b09d56
7f8d8e0dd
2016-06-22 17:35:59 -07:00
Scott Lahteine bd01592816 Goodbye MECHANICAL_PROBE 2016-06-22 17:13:33 -07:00
Scott Lahteine 2640d13a9f Simplify initial raise in M48 2016-06-22 16:53:04 -07:00
Scott Lahteine 3763d45656 Return Z position in run_z_probe 2016-06-22 16:52:32 -07:00
Scott Lahteine 1f48b5c30f Pass a raise to probe_pt, not a Z position 2016-06-22 16:40:21 -07:00
Scott Lahteine 6fdd5ba246 Save and restore feedrate in more places 2016-06-22 16:40:20 -07:00
Scott Lahteine fe173c2bc6 Generalized probe raise, use for after probing 2016-06-22 14:44:30 -07:00
Scott Lahteine 7da3080761 Simpler cleanup in G28 / G29 2016-06-22 14:44:30 -07:00
Scott Lahteine 15229d988b Fix compile error for bed matrix in M48 2016-06-22 14:04:46 -07:00
Scott Lahteine c01352cbd5 Add a dependency for z servo macros 2016-06-22 14:04:23 -07:00
Scott Lahteine c3794bd695 Add HAS_PROBING_PROCEDURE conditional 2016-06-22 14:03:22 -07:00
Scott Lahteine bb9c67b4b5 Tweak some feedrate vars 2016-06-22 03:27:31 -07:00
Scott Lahteine 5158bd6e93 Screen out G29 E for sled and allen key, allow single probe 2016-06-22 03:20:33 -07:00
Scott Lahteine ccae92588d Cleanup debug in G28 and G29 2016-06-22 03:20:33 -07:00
Scott Lahteine b4a9d2366c Use a macro for kinematic sync_plan_position 2016-06-22 03:20:33 -07:00
Scott Lahteine bfccf26294 Use sync_plan_position_delta where needed 2016-06-22 03:20:33 -07:00
Scott Lahteine a6b8c67df4 Move probe deploy after setup call in G29 2016-06-22 03:20:33 -07:00
Scott Lahteine e69916d1bd Split up endstop_move functions 2016-06-22 03:20:33 -07:00
Scott Lahteine 0e18a4897b Simpler handling of sled/allen-key in probe_pt 2016-06-22 03:20:33 -07:00
Scott Lahteine 1a92e2ef18 Comment on run_z_probe 2016-06-22 03:20:33 -07:00
Scott Lahteine 68e0e5855e For all probes, at the end of G29 simply raise and stow 2016-06-22 03:20:33 -07:00