Commit graph

2029 commits

Author SHA1 Message Date
Scott Lahteine
eab7854a73 Merge pull request #6074 from thinkyhead/rc_immediate_shove
Immediate commands take precedence
2017-03-24 05:52:27 -05:00
Scott Lahteine
b5711a99a2 Patches to bring UBL closer to compliance 2017-03-24 01:37:52 -05:00
Scott Lahteine
d076c1b604 Apply some general cleanup to code 2017-03-24 01:37:51 -05:00
Roxy-3D
b8e4a6970b Get UBL up and running again
All the changes to get the code into compliance with Marlin coding
standards made UBL sick.   This pretty much gets UBL back up and
running.
2017-03-23 16:08:37 -05:00
Scott Lahteine
8f9face956 Merge pull request #6088 from rafaljot/patch-3
Update Marlin_main.cpp
2017-03-23 01:51:51 -05:00
Scott Lahteine
af2ea23e9c EXTRUDER_RUNOUT_PREVENT uses buffer_line_kinematic 2017-03-22 20:51:12 -05:00
Scott Lahteine
cd882b88db #if defined => #ifdef / PIN_EXISTS 2017-03-22 20:51:11 -05:00
Scott Lahteine
e244399766 Additional cleanup of UBL code 2017-03-22 20:51:10 -05:00
Bob-the-Kuhn
0934563b97 G38 optional double touch
Made the double touch portion a conditional compile based on the
PROBE_DOUBLE_TOUCH flag.

==============================================

Bugfix

The current G38 only stopped a move if it involved the Z axis.

Moved all the G38 code to it's own section and put it where it would
always be executed no matter what axis was moving or if the endstop was
enabled.

Also added a comment to configuration_adv to alert the user the double
tap had to be turned on.

==============================================

Change G38 back to using Z_MIN_PROBE

There's no Z_MIN endstop if Z_DUAL_ENDSTOPS is enabled and you have them
set to the top of the gantry.

G38 started out as using the Z_MIN_PROBE pin.  I don't remember why we
changed it to the Z_MIN endstop.
2017-03-22 15:08:49 -05:00
Scott Lahteine
cc3204509c UBL patch from Bob-the-Kuhn 2017-03-22 07:54:20 -05:00
Scott Lahteine
b904b5ae8d Audible feedback for settings store/load/reset 2017-03-22 02:15:21 -05:00
rafaljot
6da949bbf0 Update Marlin_main.cpp
Sometimes after killing heaters are still on.
2017-03-21 15:06:01 +01:00
Scott Lahteine
48c6284c91 Immediate commands take precedence 2017-03-19 21:50:48 -05:00
Scott Lahteine
ff0dd162b7 PARK_HEAD_ON_PAUSE implementation 2017-03-19 07:27:35 -05:00
Scott Lahteine
4cf51157b3 Use XYZE rather than NUM_AXIS 2017-03-19 01:14:39 -05:00
Scott Lahteine
4c7f14752a Add disable_e_steppers function 2017-03-19 01:14:39 -05:00
Scott Lahteine
8eb29f91e6 Patch filament change options and beep code 2017-03-19 01:14:39 -05:00
Scott Lahteine
9b2b53f63a Merge pull request #6042 from thinkyhead/rc_fix_toolchange_z
Move Z last in tool-change for SWITCHING_EXTRUDER
2017-03-19 00:34:41 -05:00
Scott Lahteine
4bca27ab89 Fix Kelvin conversion
Thanks to @ospalh -- #6056
2017-03-18 13:23:08 -05:00
Scott Lahteine
2c630a1b5c Merge pull request #6054 from thinkyhead/rc_ubl_renewal
UBL for RCBugFix — cleanup, rebase, patch
2017-03-18 12:07:57 -05:00
Scott Lahteine
0492a3a8f1 Merge pull request #6027 from Bob-the-Kuhn/add_kill_info
Message for every KILL and STOP
2017-03-18 11:49:35 -05:00
Scott Lahteine
b0a9c82c31 Fix single-char echo and pinMode usage 2017-03-18 11:35:20 -05:00
Scott Lahteine
fb60aa3736 UBL implementation 2017-03-18 11:35:20 -05:00
Scott Lahteine
af644871bf Merge pull request #6045 from thinkyhead/rc_remove_raw_kinematics
Remove delta optimization concepts… for now
2017-03-18 03:26:24 -05:00
Scott Lahteine
1e57b0c269 Remove delta interpolation concept 2017-03-17 06:32:11 -05:00
Scott Lahteine
e46898f8e5 Remove kinematic optimizations 2017-03-17 06:30:22 -05:00
Scott Lahteine
0e410c9dfd Software endstop options as simple switches 2017-03-17 06:05:17 -05:00
Scott Lahteine
d01b915085 Implement soft_endstops_enabled for clamping 2017-03-17 06:05:17 -05:00
Scott Lahteine
e4649c9044 Add HAS_SOFTWARE_ENDSTOPS macro 2017-03-17 06:05:17 -05:00
Scott Lahteine
3e927ff204 Replace MBL Z hacking 2017-03-17 06:05:17 -05:00
Scott Lahteine
4e53124681 Merge pull request #6039 from Bob-the-Kuhn/M114-sync-with-stepper
M114 - wait for move completion before reporting position
2017-03-17 05:22:46 -05:00
Scott Lahteine
672e45652e Improved solution to tool-change bug 2017-03-16 23:59:10 -05:00
Scott Lahteine
23f1cfb46f Fix stuck CHDK pin as suggested in #6041 2017-03-16 21:49:39 -05:00
Bob-the-Kuhn
34ff0c3439 M114 - wait for move completion before reporting position 2017-03-16 15:10:45 -05:00
Bob-the-Kuhn
b31604a492 Message for every KILL and STOP
No more mystery halts & resets

Moved messages to language.h

Added current command to inactive timeout message
2017-03-15 21:05:11 -05:00
Bob-the-Kuhn
685ed5393a Bug Fix: Switching extruder tool change leaves Z in wrong position
The tool_change function saves the current_position to the destination
array soon after starting.  Later in the switching extruder section, the
destination array is modified when moving the Z axis up & down.  A later
section of tool_change moves the head back to the “original location”
using the destination array.  This later section assumes that the
destination array hasn’t been modified.

The fix is to save the destination Z position and then restore it after
the Z movements have completed.

Going back to using the current_position array for the switching
extruder Z axis moves (and  leaving the destination array untouched)
doesn’t fix the problem.

This bug was introduced by the “Make tool_change kinematic compatible”
commit # 847429eff4 which was merged on 10
Oct 2016 as part of PR 4982.

This bug was discovered in Issue 5966.
2017-03-14 02:36:24 -05:00
Scott Lahteine
51353f8fea Merge pull request #6000 from trivalik/NoWorkspaceWarning
prevent warning with define of NO_WORKSPACE_OFFSETS
2017-03-12 00:00:51 -06:00
Trivalik
71ac6f9d42 prevent warning with define of NO_WORKSPACE_OFFSETS 2017-03-09 23:49:57 +01:00
MagoKimbra
37a26dfc09 Fix delta_angles 2017-03-08 09:23:30 +01:00
Scott Lahteine
2defb1d748 Use SET_INPUT_PULLUP where appropriate 2017-03-07 23:43:33 -06:00
Scott Lahteine
58b3e98878 Use arrays for delta tower parameters 2017-03-07 19:00:22 -06:00
Scott Lahteine
47242a40bb Apply updated changes for delta_tower_angle_trim 2017-03-07 18:15:11 -06:00
Jimmy Envall
00b6b3da79 Added support for delta tower angle corrections. 2017-03-07 16:35:58 -06:00
Scott Lahteine
45f949d833 TMC2130 Library: @teemuatlut replaces @makertum 2017-03-07 04:22:06 -06:00
Scott Lahteine
33f8a8a344 Merge pull request #5973 from thinkyhead/rc_circle_pattern
Add circle pattern to nozzle clean
2017-03-06 04:47:01 -06:00
Scott Lahteine
94b3e0a483 Merge pull request #5959 from benlye/benlye-fixm48
Remove extra carriage return in M48 V1 output
2017-03-06 04:24:28 -06:00
Marek Pikuła
6836b94eea Added circle pattern for nozzle cleaning feature 2017-03-06 03:03:00 -06:00
Scott Lahteine
be98016674 Merge pull request #5963 from thinkyhead/rc_no_offsets_optim
New option: NO_WORKSPACE_OFFSETS
2017-03-05 21:46:49 -06:00
Scott Lahteine
87b03b16bd Use a macro for array copies 2017-03-05 04:43:46 -06:00
Scott Lahteine
e141f3a03f Optimize coordinate transformation
Pre-compute the combined position shift and home offset to save a
single float fetch-and-add per conversion. Great for delta/scara and
bed leveling.
2017-03-05 04:43:16 -06:00
Scott Lahteine
5f7e85398b Implement NO_WORKSPACE_OFFSETS 2017-03-05 04:43:15 -06:00
benlye
dead89062a Update Marlin_main.cpp
Remove unnecessary line break from M48 V1 output.
2017-03-04 17:58:10 +00:00
Scott Lahteine
1ef6ccd919 Merge pull request #5951 from thinkyhead/rc_print_2d_array
Reduce code size (40b, or 166b with bilinear subdivision)
2017-03-03 21:27:44 -06:00
Scott Lahteine
98c7b682ca General cleanup, const usage, var naming 2017-03-03 20:57:49 -06:00
jes
369bfc8a1e Reduce code size (40b, or 166b with bilinear subdivision) 2017-03-03 20:36:32 -06:00
Scott Lahteine
0d13412105 Fix "Heating..." message 2017-03-03 12:12:51 -06:00
Scott Lahteine
b3e2bd6f29 Reduce E_D_ratio code 2017-03-02 01:00:37 -06:00
Sebastianv650
de6c40ed8f Add option to fix E/D ratio
Work around for slicers producing buggy gcode.
2017-03-02 01:00:37 -06:00
Colin Gilgenbach
48b7e0f8d8 Nozzle Wipe Vertical Zig-Zag
- Add configuration support for zigzags in either the X or Y axis, for
wipe pads significantly longer in one dimension.
- Add configuration for default number of zig-zag triangles, vs. a
magic number in `Marlin_main.cpp`.
- Update description of auto nozzle wiping to match functionality
2017-02-25 21:52:43 -06:00
Scott Lahteine
34cba42104 Use PSTR for MSG_HEATING 2017-02-22 11:30:19 -06:00
dot-bob
cd68380ce6 Add status_printf to print messages to the lcd status line.
Also add a hotend indicator to the heating message displayed on the lcd status line.
2017-02-20 15:26:54 -06:00
Scott Lahteine
4da8b1494b Merge pull request #5854 from thinkyhead/rc_fixup_m600
M600 cleanup and bugfix
2017-02-18 04:27:13 -06:00
Scott Lahteine
44b4e116bd Commentary / style in gcode_M600 2017-02-18 04:08:00 -06:00
Scott Lahteine
284d6de9da Remove some old code comments 2017-02-17 15:25:56 -06:00
Scott Lahteine
4578c573fe Pause the print job timer while in M600 2017-02-15 05:29:34 -06:00
Scott Lahteine
bfe6f71794 Simplify filament_change_beep function 2017-02-15 05:29:34 -06:00
Scott Lahteine
d9dcef8a87 Spacing, coding standards 2017-02-15 05:29:34 -06:00
Roxy-3D
8bf0b496b9 Improve M600 with timeout, wait for heatup. 2017-02-15 05:29:34 -06:00
Scott Lahteine
a561bd5e3a New feature: SDCARD_SORT_ALPHA 2017-02-14 21:37:24 -06:00
Scott Lahteine
467f01435f Merge pull request #5816 from thinkyhead/rc_abl_virt_reduce
Reduce memory use by ABL_BILINEAR_SUBDIVISION slightly
2017-02-14 08:41:44 -06:00
jes
eaa829b58c Reduce memory use by ABL_BILINEAR_SUBDIVISION slightly 2017-02-12 04:09:48 -06:00
Scott Lahteine
701f4a6d9d Merge pull request #5729 from Bob-the-Kuhn/guaranteed-BLTouch-detection
guaranteed BLTouch detection
2017-02-12 01:13:35 -06:00
Scott Lahteine
1bc5be3bdf Cast DELTA_PRINTABLE_RADIUS to float in sq()
Addressing #5625
2017-02-11 23:28:39 -06:00
Bob-the-Kuhn
0369f97ec1 guaranteed BLTouch detection
To guarantee that the 5mS pulse from a BLTouch is recognized you need to
have the endstops.update() routine run twice in that 5mS period.

At 200 steps per mm, my system has problems  below a feedrate of 120 mm
per minute.

Two things were done to guarantee the two updates within 5mS:
1) In interrupt mode, a check was added to the temperature ISR.  If the
endstop interrupt flag/counter is active then it'll kick off the endstop
update routine every 1mS until the flag/counter is zero.  This
flag/counter is decremented by the temperature ISR AND by the stepper
ISR.

2) In poling mode, code was added to the stepper ISR that will make sure
the ISR runs about every 1.5mS.  The "extra" ISR runs only check the
endstops.  This was done by grabbing the intended ISR delay and, if it's
over 2.0mS, splitting the intended delay into multiple smaller delays.
The first delay can be up to 2.0mS, the next ones 1.5mS (as needed) and
the last no less than 0.5mS.

=========================================

BLTouch error state recovery

If BLTouch already active when deploying the probe then try to reset it
& clear the probe.

If that doesn't fix it then declare an error.

Also added BLTouch init routine to startup section
2017-02-11 12:01:34 -06:00
Florian Heilmann
7bbc31704c Adjust probe_pt() terminal output to respect probe z-offset 2017-02-09 22:54:22 -06:00
Scott Lahteine
9b5515926a Merge pull request #5696 from thinkyhead/rc_volumetric_default
Allow enabling volumetric filament on config load
2017-01-14 05:48:51 -08:00
Robert Kirk
0d147ead66 Allow enabling volumetric filament on config load 2017-01-14 04:37:49 -08:00
AnHardt
fa26767efe Replace all remaining 'boolean' with 'bool' 2017-01-13 13:03:52 +01:00
AnHardt
f6858d9974 Fix M110 without leading N
Store N in the right variable.
This is too rarely used.

"mea culpa, mea culpa, mea maxima culpa"
2017-01-13 12:33:50 +01:00
Scott Lahteine
c376f6a2cb code_value_float tweak 2017-01-12 04:38:09 -08:00
Robert Kirk
306c184b1a Allow M600 when dryrun debugging 2016-12-21 20:30:51 -05:00
Damien
4e2639942b Support for M335 case light "no case light" 2016-12-19 23:23:08 -08:00
Robert Kirk
f724ef5820 Have bed leveling status output current status, not requested. 2016-12-19 18:47:45 -08:00
Scott Lahteine
f9f75c8016 Fix USE_RAW_KINEMATICS in prepare_kinematic_move_to 2016-12-15 23:15:38 -08:00
Scott Lahteine
78d6d6e076 Merge pull request #5452 from thinkyhead/rc_save_your_mesh
Save Bed Leveling to EEPROM
2016-12-15 20:23:01 -08:00
Scott Lahteine
d4f5418802 Merge pull request #5517 from esenapaj/Fix-for-PR-#5255
Fix for the PR #5255 (Case light menu (3rd attempt))
2016-12-15 20:01:22 -08:00
Scott Lahteine
6d7b1cdf6c Add M421 for ABL Bilinear 2016-12-15 19:39:11 -08:00
Scott Lahteine
32e65dc429 Extend M420 to print state and, with V, the matrix / mesh 2016-12-15 19:39:11 -08:00
Scott Lahteine
d04258753b Don't throw away the bed level matrix on G28 2016-12-15 19:21:18 -08:00
Scott Lahteine
8f0f225d10 Save ABL Planar Matrix to EEPROM 2016-12-15 19:21:15 -08:00
Scott Lahteine
e42fd7813a Save ABL Bilinear Grid to EEPROM 2016-12-15 19:20:48 -08:00
Scott Lahteine
55722c09da Use "UNPROBED" for un-probed bed_level_grid points 2016-12-15 19:08:44 -08:00
Scott Lahteine
2643404ac8 Throw an error in M420 if can't enable 2016-12-15 19:08:43 -08:00
Scott Lahteine
b1539394fd Use planner.unapply_leveling to undo tilt in G29 2016-12-15 19:08:43 -08:00
Scott Lahteine
04636f78eb Re-enable MBL/ABL after M48 2016-12-15 19:08:43 -08:00
Scott Lahteine
9b41638672 Minor tweak to G29 grid points 2016-12-15 19:08:42 -08:00
Scott Lahteine
daa2cad21f Fix comment on G29 to include 'Z' 2016-12-15 19:08:42 -08:00
Scott Lahteine
8244fefcc2 Tweak call to reset_bed_level in G29 2016-12-15 19:08:42 -08:00
Scott Lahteine
0995a5d734 Fixup reset_bed_level 2016-12-15 19:08:42 -08:00
Scott Lahteine
1b2fb2bdc7 ABL_GRID_POINTS_* => ABL_GRID_MAX_POINTS_* 2016-12-15 19:08:41 -08:00
esenapaj
88157ba529 Fix for the PR #5255 (Case light menu (3rd attempt)) 2016-12-16 00:57:32 +09:00
esenapaj
069c6b38dd Remove unnecessary tabs and spaces 2016-12-16 00:21:32 +09:00
Scott Lahteine
8d9fcd8e6f Merge pull request #5495 from AnHardt/autoadjusting_display-updates
Adaptive screen updates for all kinds of displays
2016-12-14 04:16:26 -08:00
AnHardt
d0e24e0876 Adaptive screen updates for all kinds of displays
The target here is to update the screens of graphical and char base
displays as fast as possible, without draining the planner buffer too much.

For that measure the time it takes to draw and transfer one
(partial) screen to the display. Build a max. value from that.
Because ther can be large differences, depending on how much the display
updates are interrupted, the max value is decreased by one ms/s. This way
it can shrink again.
On the other side we keep track on how much time it takes to empty the
planner buffer.
Now we draw the next (partial) display update only then, when we do not
drain the planner buffer to much. We draw only when the time in the
buffer is two times larger than a update takes, or the buffer is empty anyway.

When we have begun to draw a screen we do not wait until the next 100ms
time slot comes. We draw the next partial screen as fast as possible, but
give the system a chance to refill the buffers a bit.

When we see, during drawing a screen, the screen contend has changed,
we stop the current draw and begin to draw the new content from the top.
2016-12-13 18:44:34 +01:00
Scott Lahteine
94ffb58da7 Prevent retract un-hop at wrong height 2016-12-13 08:24:12 -08:00
Scott Lahteine
4bc6536f54 Move to safe zone on DELTA if using do_blocking_move_to* 2016-12-10 21:28:24 -08:00
esenapaj
e9393c3634 Suppress warnings, etc
・Suppress warnings
・Remove unused variable "did_update"
2016-12-08 17:47:59 +09:00
Scott Lahteine
83c5026db1 Ignore homing button when SD printing
As suggested in #5404 by @android444
2016-12-06 14:22:34 -06:00
akaJes
d7b948610a Experimental bilinear subdivision option 2016-12-05 20:11:24 -06:00
Scott Lahteine
b203901143 Merge pull request #5393 from AnHardt/Fix-auto_report_temperatures
Fix auto_report_temperatures()
2016-12-05 19:38:23 -06:00
AnHardt
59a27ed27d Fix auto_report_temperatures()
The `auto_report_temperatures` needs a linefeed to be recognized by Repetier Host.
2016-12-06 01:26:44 +01:00
Scott Lahteine
b6b100c471 Merge pull request #5371 from thinkyhead/rc_extruders_can_differ
Allow distinct factors for multiple extruders
2016-12-05 11:22:31 -06:00
Scott Lahteine
3391c785c6 Support for distinct E factors 2016-12-05 07:26:18 -06:00
Scott Lahteine
c47e07d129 Fix Dual X software endstops 2016-12-05 06:51:41 -06:00
Scott Lahteine
4217e9653e Adjust park code in tool_change 2016-12-05 06:51:41 -06:00
Scott Lahteine
b20405db31 Only DXC_AUTO_PARK_MODE should auto-move in tool_change 2016-12-05 06:48:43 -06:00
Scott Lahteine
ca24af7d5d Dual X with home_z_safely is not parked 2016-12-05 06:43:26 -06:00
Scott Lahteine
0e15b4f434 Dual X set_axis_is_at_home can use x_home_pos for both 2016-12-05 06:43:26 -06:00
Scott Lahteine
54109dfaec Reduce code size for Dual X un-park 2016-12-05 06:43:26 -06:00
Scott Lahteine
fe96f74db1 Use const arguments in Dual X helper functions 2016-12-05 06:43:26 -06:00
Scott Lahteine
41278c1e8b Apply LOGICAL_POSITION to home positions on Dual X 2016-12-05 06:43:26 -06:00
Scott Lahteine
053fb55af6 Fix modes ordering in prepare_move_to_destination_dualx 2016-12-05 06:43:26 -06:00
Scott Lahteine
56dd15c0ad Use SET_INPUT for PS_ON_PIN in kill 2016-12-05 06:43:26 -06:00
Scott Lahteine
c06161b773 Use apply_leveling, not MBL directly 2016-12-05 01:53:36 -06:00
Scott Lahteine
fccc97de6d Save PROGMEM with string changes
Unlike RAM-based strings, PROGMEM strings aren’t consolidated by the
compiler.
2016-12-03 19:21:46 -06:00
Scott Lahteine
27dd5acc22 Fix set_led_color for BLINKM
Follow-up to #5330
2016-12-03 01:51:11 -06:00
Scott Lahteine
f60b4f8659 Allow case light pin to be active low 2016-12-01 23:32:34 -06:00
Scott Lahteine
65c50e062e Support for an RGB LED using 3 pins 2016-11-30 00:02:31 -06:00
Scott Lahteine
092e949b58 Merge pull request #5169 from thinkyhead/rc_core_inverted
Support for COREYX, COREZX, COREZY
2016-11-28 02:26:41 -06:00
Scott Lahteine
c7935bb0d2 Merge pull request #5299 from thinkyhead/rc_bed_correction_fade
Add a fade factor for mesh leveling
2016-11-28 02:07:51 -06:00
Scott Lahteine
61437d988a Fix and optimize case-light code 2016-11-28 01:34:52 -06:00
Scott Lahteine
f6f77d34a1 Add a fade factor for mesh leveling 2016-11-26 03:41:26 -06:00
Scott Lahteine
2e966f8e5b Patch Capabilities Report for "PROGRESS" 2016-11-23 19:31:46 -06:00
Scott Lahteine
d891324830 Merge pull request #5258 from mosh1/mbl_speed_fix
Fix z feedrate value when doing mesh bed leveling. probe feedrate use…
2016-11-23 14:15:01 -06:00
Scott Lahteine
7f8133a51f Merge pull request #5255 from Kaibob2/CaseLightMenu
Case light menu (3rd attempt)
2016-11-23 13:46:33 -06:00
Kai
0c341f0c50 Added Menu entry for Case light 2016-11-23 19:29:15 +01:00
Scott Lahteine
3bc2273ac9 Comment M540 2016-11-21 18:08:00 -06:00
Scott Lahteine
14b74181f5 Merge pull request #5179 from thinkyhead/rc_TMC2130
TMC2130 "Silent StepStick" support
2016-11-21 14:10:52 -06:00
Scott Lahteine
bb2114a060 Merge pull request #5264 from thinkyhead/rc_delta_safe_zone
Add an option for delta to home to the top
2016-11-21 13:56:44 -06:00
Scott Lahteine
9b96a4a53b Merge pull request #5246 from thinkyhead/rc_some_cleanup
Minor stepper cleanup
2016-11-21 13:55:25 -06:00
Scott Lahteine
3e0376b45e Reorder M114 and M119 gcode cases 2016-11-21 00:52:19 -06:00
Scott Lahteine
127e21ae00 Extend M122 for all steppers 2016-11-21 00:52:18 -06:00
Moritz
d67c1d825f Add TMC2130 support 2016-11-21 00:17:45 -06:00
Scott Lahteine
11effeee2c Add an option for delta to home to the top 2016-11-20 23:12:07 -06:00
Moshen Chan
29b174bfb9 Fix z feedrate value when doing mesh bed leveling. probe feedrate uses XY_PROBE_SPEED 2016-11-19 16:34:41 -08:00
Scott Lahteine
87b6b19256 Patch CASE_LIGHT typo 2016-11-18 23:49:12 -06:00
Scott Lahteine
181cdb3cfe Move GCode list above include lines 2016-11-18 22:24:46 -06:00
Scott Lahteine
eb120e518c Followup to new endstop interrupts feature
- Fix typos, verbiage
- Fix naming of `setup_endstop_interrupts`
- Some formatting, indentation, spacing
2016-11-18 21:53:45 -06:00
Scott Lahteine
832fe284b4 Merge pull request #5184 from AnHardt/endstop_interrupts
Introduce endstop interrupts
2016-11-18 20:50:24 -06:00
Scott Lahteine
98600e1433 Minor stepper cleanup 2016-11-18 01:15:57 -06:00
Florian Heilmann
d08867986e Add autotemp capabilities to M104
This allows M104 to pass the F and B parameters to enable autotemp as well
2016-11-17 11:28:19 -06:00
Scott Lahteine
2330619da0 Merge pull request #5191 from petrzjunior/const
Replace const bool with #define for consistency
2016-11-17 03:37:32 -06:00
Petr Zahradník junior
d7ce5d271b
Replace const bool with #define for consistency 2016-11-16 18:55:21 +01:00
Scott Lahteine
5d23e52d75 Merge pull request #5228 from thinkyhead/rc_keep_last_mix
Fix DIRECT_MIXING_IN_G1 to preserve the previous mix
2016-11-15 19:12:01 -06:00
Scott Lahteine
99b0c1fe56 Fix DIRECT_MIXING_IN_G1 to preserve the previous mix 2016-11-15 16:12:26 -06:00
Scott Lahteine
410657b050 Fix G30 with limits, print correct probe XY 2016-11-15 14:10:28 -06:00
AnHardt
f3eee02596 Introduce endstop interrupts
If ENDSTOP_INTERRUPTS_FEATURE is enabled this tries to set up interrupt routines
for all used endstop pins. If this worked without errors, `endstops.update()` is called
only if one of the endstops changed its state.

The new interrupt routines do not really check the endstops and react upon them. All what they
do, is to set a flag if it makes sense to call the endstop test we are used to.

This can be used on:
* ARM (DUE) based boards - all pins can raise interrupts,
* RAMPS - all 6 endstop pins plus some other on EXT-2 can raise interrupts,
* RAMPS based boards - as long the designers did not change the pins for the endstops or at least left enough,
* all boards, if there are enough pins that can raise interrupts, and you are willing/able to swap with pins dedicated to other purpose.
2016-11-15 12:07:41 +01:00
Scott Lahteine
665b7f3893 Merge pull request #5212 from thinkyhead/rc_mixing_faster
Store mix factors as reciprocals and multiply
2016-11-12 18:47:11 -06:00
Scott Lahteine
60cc9342a4 Merge pull request #5188 from thinkyhead/rc_extended_host_support
Extended host support: M155 Auto temp report, M115 capabilities
2016-11-12 15:38:06 -06:00
Scott Lahteine
f663220e87 Store Mix factors as reciprocals and multiply 2016-11-12 15:19:18 -06:00
Scott Lahteine
b31a07e261 Stateful M355 with separate P parameter 2016-11-09 03:28:18 -06:00
Scott Lahteine
3c9a838651 Extended capabilities report in M115 2016-11-09 02:32:58 -06:00
Scott Lahteine
68b866b5dd Add M155 - Auto-report temperature with interval 2016-11-09 02:32:58 -06:00
Scott Lahteine
75bfde9945 M155=>M260, M156=>M261 2016-11-08 17:54:54 -06:00
Scott Lahteine
dcfd7c69e8 Merge pull request #5163 from nzinov/RCBugFix
Improve G30 probing command - add optional arguments
2016-11-07 11:37:13 -06:00
Scott Lahteine
e765eebfb0 Patch spacing in bilinear grid report 2016-11-07 04:08:25 -06:00
Scott Lahteine
1864b282c5 Implement reversed CORE options 2016-11-05 23:47:51 -05:00
Nikolay Zinov
dea00bbcf1 improve G30 probing
Add optional parameters
X, Y for probe point
S sets stowing on and off
2016-11-05 13:22:45 +03:00
Scott Lahteine
176aeafc19 Don't define bilinear_line_to_destination on kinematic setups 2016-11-03 14:10:07 -05:00
Scott Lahteine
236853df22 Corrections to bilinear_line_to_destination
- Allow more than 9x9 probe points
- Account for the probe starting position
2016-11-03 04:43:59 -05:00
Scott Lahteine
0115e495fe Fix up Dual X switch blocks 2016-11-02 21:38:50 -05:00
Scott Lahteine
2495ab7af2 Make dual_x_carriage_mode an enumeration 2016-11-02 21:38:49 -05:00
Scott Lahteine
d6c36f5bb9 Fix Z raise with DXC_AUTO_PARK_MODE 2016-11-02 21:36:50 -05:00
Scott Lahteine
0c79553fc5 Cast int to AxisEnum for some accessors 2016-11-02 17:42:24 -05:00
Scott Lahteine
adbf1f7dca Add M355 to the GCodes list. 2016-11-02 16:43:52 -05:00
Scott Lahteine
63efc10599 Merge pull request #5134 from thinkyhead/rc_bilinear_split_lines
Split cartesian moves on grid boundaries with bilinear ABL
2016-11-02 16:14:55 -05:00
Scott Lahteine
ee5b8d6dc8 Split moves on grid boundaries with bilinear ABL on cartesian 2016-11-01 08:25:47 -05:00
Scott Lahteine
66744a6076 Merge pull request #5133 from thinkyhead/rc_M355_case_light
M355 Case light
2016-11-01 07:51:27 -05:00
Scott Lahteine
955d14acb0 Patch photo pin code style 2016-11-01 06:30:14 -05:00
Stanley
ab3f966f5f Case light G-code M355
implemented G-Code M355 into Marlin
2016-11-01 06:30:14 -05:00
Sebastianv650
f9bea7968f BugFix for incorrect E-speed calculation
The extrusion speed was wrong due to a not high enough precision of
esteps to XY steps, therefore now the target float values are used to
calculate the ratio between XY movement and extrusion speed.
The e_speed_multiplier8 was replaced by an absolute multiplier called
abs_adv_steps_multiplier8, therefore one multiplication and bitshift can
be saved inside the stepper ISR. Due to this, also extruder_advance_k is
better suited inside the planner and not the stepper files any more.
2016-11-01 08:08:47 +01:00
Scott Lahteine
ff3a8ca0d1 Use NUM_DIGITAL_PINS instead of custom DIO_COUNT 2016-10-31 08:08:03 -05:00
Scott Lahteine
04a1fac029 Some cleanup to M43 2016-10-31 08:08:03 -05:00
Bob-the-Kuhn
c7f1f0dae6 Add endstop monitor & make pins report pretty 2016-10-31 08:08:02 -05:00
Scott Lahteine
396434a445 Fix compiler warning in M145 2016-10-28 20:57:36 -05:00
Scott Lahteine
07bfc45df8 Adjust spacing in gcode_M149 2016-10-28 20:57:36 -05:00
Scott Lahteine
1a2310c494 Make LCD preheat vars an array to reduce code size 2016-10-28 20:57:36 -05:00
Scott Lahteine
50ee749082 Centralize click-handling in the LCD loop 2016-10-28 20:57:21 -05:00
Scott Lahteine
47ad97c35e Merge pull request #5109 from thinkyhead/rc_eeprom_M218_tool_offset
Save hotend_offset array (M218) in EEPROM
2016-10-28 20:08:29 -05:00
Scott Lahteine
67ab54185b Save hotend_offset array (M218) in EEPROM 2016-10-28 18:45:23 -05:00
MagoKimbra
dfcdbb437b Fix Command M420 2016-10-28 20:53:48 +02:00
Scott Lahteine
c34dbfb248 Merge pull request #5072 from thinkyhead/rc_preset_auto_fans
Add predefined AUTO_FAN_PINs to pins files
2016-10-27 17:12:11 -05:00
Scott Lahteine
c4c53856a4 Merge pull request #5094 from esenapaj/Fix-for-the-PR-#5088
Fix for the PR #5088 (Handle M108 in M1 also with ULTIPANEL)
2016-10-26 21:51:18 -05:00
esenapaj
d5a5042d23 Fix for the PR #5088 (Handle M108 in M1 also with ULTIPANEL) 2016-10-27 10:32:20 +09:00
Scott Lahteine
3f94b15cef Fix bilinear grid constraints
Followup to #5090
2016-10-26 18:11:26 -05:00
Scott Lahteine
ada935de87 Allow TEMP_STAT_LEDS with only one LED defined 2016-10-26 17:51:26 -05:00
Scott Lahteine
f0d673561f Fix for bilinear grid outside bounds 2016-10-26 05:00:03 -05:00
Scott Lahteine
1ba1ec0db9 Handle M108 in M1 also with ULTIPANEL 2016-10-25 23:25:47 -05:00
Greg Cormier
f0aed9dac7 Fix #4995 - M48/G29 on CoreXY maybe others? 2016-10-22 20:45:13 -04:00
Scott Lahteine
3544c3632f Merge pull request #5062 from thinkyhead/rc_warnings_fix
Warnings fixed redux
2016-10-22 12:21:36 -05:00
Josef Pavlik
0bd66807b2 fixed warning: extra ; 2016-10-22 11:12:29 -05:00
Scott Lahteine
5f5a55a0de Add a ZERO macro to clear arrays 2016-10-22 10:07:18 -05:00
Scott Lahteine
2783dcb4cc Save some RAM in MBL's G29 2016-10-22 02:52:56 -05:00
esenapaj
385bd8a4a3 Fix freezing and MINTEMP Error with MAX31855 thermocouple 2016-10-16 07:33:14 +09:00
Scott Lahteine
ca7275a67a Disable EXTRAPOLATE_FROM_EDGE by default 2016-10-14 14:44:28 -05:00
Scott Lahteine
e7cf566fc5 Do kinematic segments with buffer_line_kinematic
This breaks the raw option, but in the future perhaps all planner moves
will be sent in raw form instead of logical.
2016-10-10 17:14:03 -05:00
Scott Lahteine
a10e81dc2a Minor cleanup of set_bed_leveling_enabled 2016-10-10 17:14:03 -05:00
Scott Lahteine
029824bc49 Patch ADJUST_DELTA macro for SCARA 2016-10-10 17:14:03 -05:00
Scott Lahteine
d963020532 Sort out some header dependencies 2016-10-10 17:14:03 -05:00
Scott Lahteine
a07033a6c1 Merge pull request #4974 from esenapaj/Follow-up-the-PR-#4955
Fix and follow-up the PR #4955 (PINS_DEBUGGING and M43: Read pin states), etc
2016-10-10 13:27:52 -05:00
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