Commit Graph

1646 Commits

Author SHA1 Message Date
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