Commit graph

1704 commits

Author SHA1 Message Date
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
Scott Lahteine
c3023f8cc5 Make M401/M402 available with HAS_BED_PROBE 2016-06-22 03:20:33 -07:00
Scott Lahteine
9f0c255c69 Show uncorrected position in set_bed_level_equation_3pts 2016-06-22 03:20:33 -07:00
Scott Lahteine
07298ac992 Initialize current_position to home_offset on boot 2016-06-22 03:20:33 -07:00
Scott Lahteine
d50539583a Make XY_PROBE_SPEED a general probe option 2016-06-22 03:04:47 -07:00
Scott Lahteine
2798499b71 XY_TRAVEL_SPEED => XY_PROBE_SPEED 2016-06-22 02:45:25 -07:00
Scott Lahteine
88dc543584 Add a macro for XY_TRAVEL_FEEDRATE 2016-06-22 02:23:50 -07:00
Scott Lahteine
3996242e9d Allow Z_MIN_PROBE_REPEATABILITY_TEST solo 2016-06-21 01:56:40 -07:00
Scott Lahteine
26a9cd0b08 Move run_z_probe to earlier block 2016-06-21 01:25:23 -07:00
Scott Lahteine
7f8a2025af Move raise_z_after_probing into earlier block 2016-06-21 01:03:40 -07:00
Scott Lahteine
2530371516 Always disable probe at the end of G29 2016-06-20 16:40:44 -07:00
Scott Lahteine
6aba98e470 Comment on setup_for_endstop_move 2016-06-20 16:40:44 -07:00
Scott Lahteine
04e88d008e Clear up ordering in G30 2016-06-20 16:40:44 -07:00
Scott Lahteine
ed75b0ea11 Make clean_up function available for probes 2016-06-20 16:28:45 -07:00
Scott Lahteine
51d52cb52a Make run_z_probe available for any bed probe 2016-06-20 16:02:36 -07:00
Scott Lahteine
f6b09cf465 Always use deploy/stow for dock_sled 2016-06-20 15:51:01 -07:00
Scott Lahteine
3b457c2dd3 Use deploy/stow with FIX_MOUNTED_PROBE too 2016-06-20 15:25:01 -07:00
Scott Lahteine
7e9d4a68d4 Always raise Z (if needed) for servo deploy/stow 2016-06-19 20:17:13 -07:00
Scott Lahteine
9beb3f2f5e Merge pull request #4097 from thinkyhead/rc_fil_runout_cleanup
FIL_RUNOUT_INVERTING false by default
2016-06-19 19:46:14 -07:00
Scott Lahteine
f215b30932 Merge pull request #4093 from thinkyhead/rc_probe_without_abl
Make Z Probe options independent of ABL
2016-06-19 19:44:25 -07:00
Scott Lahteine
2fd2301928 FILRUNOUT => FIL_RUNOUT 2016-06-19 19:25:26 -07:00
Scott Lahteine
de12228758 Make Z Probe options independent of ABL 2016-06-19 18:47:27 -07:00
Scott Lahteine
add0032820 Improve FILAMENT_RUNOUT_SENSOR, FILRUNOUT_PIN 2016-06-19 18:13:33 -07:00
Scott Lahteine
400e13d136 Output a message for SD read errors 2016-06-19 17:14:56 -07:00
Roxy-3D
96b8bcca84 Merge pull request #4081 from thinkyhead/rc_tweaky_m48_tweaks
Cleanup of M48
2016-06-18 22:21:16 -05:00
Scott Lahteine
b7e3c1bbc4 Tweak M48 output conditions 2016-06-18 16:17:53 -07:00
Scott Lahteine
1dad912b03 Adjust M48 raise / move handling 2016-06-18 15:38:24 -07:00
Scott Lahteine
46d3ef2223 Simplify sample_set probe_pt call in M48 2016-06-18 15:38:23 -07:00
Scott Lahteine
a647b05f82 Shrink some debug code in G28 2016-06-18 15:38:23 -07:00
Scott Lahteine
4edf813bde Just-in-time declaration style in M48 2016-06-18 15:38:23 -07:00
Juan Ricardo Gomez Anaya
c475291e19 Fix M851
Minor change missing in the process of standardize the gcode M851
2016-06-18 15:19:07 -07:00
Scott Lahteine
4e860babbc Allow setting xy_travel_speed for delta leveling also 2016-06-18 01:40:49 -07:00
Scott Lahteine
d36d4edd80 Tweak partial homing code 2016-06-18 01:16:50 -07:00
Scott Lahteine
d3a05de96e Save and restore feedrate in probe functions 2016-06-18 01:16:26 -07:00
Scott Lahteine
defcacc1a9 Delete some obsolete Z servo macros 2016-06-17 18:49:17 -07:00
Scott Lahteine
3a150f07c2 Merge pull request #4073 from thinkyhead/rc_temp_mystery
Minor tweaks to M109 / M190
2016-06-17 17:49:50 -07:00
Scott Lahteine
bd4ec727e7 Merge pull request #4066 from thinkyhead/rc_M851_with_probe
Make M851 standard with a bed probe
2016-06-17 17:32:55 -07:00
Scott Lahteine
692a6e7c91 Merge pull request #4065 from thinkyhead/rc_goodbye_xy_servos
Remove support for XY servo endstops
2016-06-17 17:32:08 -07:00
Scott Lahteine
de177ba6c9 Minor tweaks to M109 / M190 2016-06-17 17:26:21 -07:00
Scott Lahteine
1000563d80 Make M851 standard with a bed probe 2016-06-17 15:19:42 -07:00
Scott Lahteine
f66a194159 Merge pull request #4062 from jbrazio/bugfix/compiler-warnings
Fixes misc gcc warnings
2016-06-17 14:23:28 -07:00
Scott Lahteine
1bed392c68 HAS_Z_ENDSTOP_SERVO => HAS_Z_SERVO_ENDSTOP 2016-06-17 14:20:17 -07:00
Scott Lahteine
47ce810f52 Remove support for XY servo endstops 2016-06-17 14:19:17 -07:00
João Brázio
d1e5dc6319
Fixes misc gcc warnings 2016-06-17 20:24:24 +01:00
Scott Lahteine
ef3bef6b9e Fix feedrate in gcode_T (max_feedrate is mm/s) 2016-06-16 16:03:14 -07:00
MagoKimbra
008d0637dd Fix gcode_T 2016-06-16 09:05:36 +02:00
Scott Lahteine
da90bbe0eb Merge pull request #4010 from thinkyhead/rc_toolchange_adjust
Fixup position adjustment on toolchange
2016-06-15 21:10:33 -07:00
Scott Lahteine
4b93989a77 MBL Z adjustment on toolchange 2016-06-15 20:49:36 -07:00
Scott Lahteine
9c800d1f8c Position adjustment for bed leveling 2016-06-15 20:49:36 -07:00
esenapaj
44f091a413 Fix for the PR #4023(Add macros to move servos)
・Add missing ')'
2016-06-15 22:34:55 +09:00
Scott Lahteine
52ac2a62ee Merge pull request #4013 from thinkyhead/rc_toolchange_no_move
Use "Tn S1" to change tools without moving
2016-06-14 20:13:01 -07:00
Scott Lahteine
d2a00b74e3 Merge pull request #4004 from thinkyhead/rc_feedrate_in_gcode_T
Use linear feedrate in gcode_T, not volumetric
2016-06-14 20:10:08 -07:00
Scott Lahteine
8d8180e028 Parse M905 args in Marlin_main.cpp 2016-06-13 19:25:28 -07:00
Scott Lahteine
2b340f5acb patch LIN_ADVANCE to use code_value_float 2016-06-13 18:54:25 -07:00
Scott Lahteine
b708196770 Merge pull request #4032 from AnHardt/bootscreen-delay
Show bootscreen later
2016-06-13 18:27:05 -07:00
Scott Lahteine
587de1b6b6 Merge pull request #3676 from thinkyhead/rc_lin_advance_feature
Advance extrusion algorithm – LIN_ADVANCE
2016-06-13 18:04:58 -07:00
AnHardt
b4fedec0d1 Show bootscreen later
Init display and show bootscreen later, but init display in `kill()`
to init outputs before the bootscreen delays but being able to display
kill errors.
2016-06-14 01:59:50 +02:00
Scott Lahteine
4fbe818163 Add macros to move servos 2016-06-12 15:38:30 -07:00
Scott Lahteine
7fb69e24fb Use "Tn S1" to change tools without moving 2016-06-11 15:58:45 -07:00
Scott Lahteine
b75e648f2c Clarify names of prepare_move functions 2016-06-11 15:32:49 -07:00
Scott Lahteine
0e2bfd0769 Use linear feedrate in gcode_T, not volumetric 2016-06-10 18:27:01 -07:00
Scott Lahteine
6d62a4ffc8 Patch LIN_ADVANCE for style and forward-compatibility 2016-06-09 21:03:27 -07:00
Sebastianv650
fb8e880734 Add LIN_ADVANCE 2016-06-09 21:03:27 -07:00
Scott Lahteine
e2d4919c01 Merge pull request #3991 from thinkyhead/rc_axis_units
Rename some vars to clarify their relationship to acceleration
2016-06-09 20:57:01 -07:00
João Brázio
5b5aa1572b Non-blocking buzzer 2016-06-09 20:20:05 -07:00
Scott Lahteine
72c6f2923f axis_steps_per_unit => axis_steps_per_mm 2016-06-09 17:04:51 -07:00
Scott Lahteine
cb4704e07a Rename some planner acceleration vars
- `per_sq_second` => `per_s2`
- `per_sqr_second` => `per_s2`
- `axis_steps_per_sqr_second` => `max_acceleration_steps_per_s2`
2016-06-09 17:04:50 -07:00
Scott Lahteine
4980ecc1f7 Smaller binary using inline gcode argument getters 2016-06-08 17:03:28 -07:00
Reid Rankin
16212432c9 G20/21 and M149 support, and code_value() refactor
This is an update of MarlinDev PR #196.

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

In support of these changes, code_value() and code_value_short() are
replaced with an array of functions which handle converting to the
proper types and/or units.
2016-06-08 16:51:10 -07:00
Scott Lahteine
cca047424d MBL: cel => cell 2016-06-07 19:10:39 -07:00
Scott Lahteine
43947072d5 Merge pull request #3895 from thinkyhead/rc_singlenozzle_part_2
SINGLENOZZLE: EXTRUDERS versus HOTENDS
2016-06-04 15:23:17 -07:00
Scott Lahteine
d7e4e8e9be Fix a typo in #3955 2016-06-04 02:09:58 -07:00
Scott Lahteine
c2362c1b3c Apply Marlin coding standards to MBL class 2016-06-03 21:43:32 -07:00
Edward Patel
c06de0f097 MBL: Added keeping MBL active when homing single axises for #3750 2016-06-03 21:42:29 -07:00
Scott Lahteine
f2fb66c00d With SINGLENOZZLE only set temperature for the active tool 2016-06-03 17:38:03 -07:00
Scott Lahteine
cd441ce652 SINGLENOZZLE: EXTRUDERS versus HOTENDS 2016-06-03 17:38:03 -07:00
Scott Lahteine
32f8300cc6 Merge pull request #3944 from thinkyhead/rc_eboston_lcd_contrast
Improved LCD contrast handling
2016-06-03 17:08:41 -07:00
Scott Lahteine
4e13cd3f35 Merge pull request #3955 from MagoKimbra/RCBugFix
Fix M428 width DELTA & SCARA
2016-06-03 15:50:37 -07:00
Scott Lahteine
8529122af1 Merge pull request #3946 from thinkyhead/rc_g28_servo_raise_before_stow
Raise the servo probe before stow outside ABL context
2016-06-03 15:45:36 -07:00
MagoKimbra
f499be084a Fix M428 width DELTA & SCARA 2016-06-03 23:23:23 +02:00
Scott Lahteine
664b299a51 This fix is not DELTA compatible 2016-06-02 17:16:19 -07:00
Scott Lahteine
064efb20e0 Also call clear_command_queue for lcd_sdcard_stop 2016-06-02 17:16:19 -07:00
Scott Lahteine
6277395e1e set_current_position_from_planner() after stepper.quick_stop() 2016-06-02 17:16:19 -07:00
Scott Lahteine
381bc6f0b0 set_position => set_position_mm 2016-06-02 17:16:19 -07:00
Scott Lahteine
9eecb4404b Make raise_z_after_probing null sometimes 2016-06-02 16:56:49 -07:00
Scott Lahteine
b3a37b493d Patch G28 servo stow to use Conditionals, raise_z_after_probing 2016-06-02 16:56:49 -07:00
Scott Lahteine
efa7209acf Improved LCD contrast handling
Based on MarlinFirmware/MarlinDev#200 from @eboston
2016-06-02 16:17:34 -07:00
lrpirlet
3aefa04386 Raise the servo probe before stow outside ABL context 2016-06-01 21:53:45 +02:00
Scott Lahteine
d698c89971 Fix bad movement in gcode_T when switching 2016-05-31 19:14:33 -07:00
Scott Lahteine
1a01a44a94 Merge pull request #3936 from thinkyhead/rc_sav_mk1
Support for SAV_3DGLCD OLED LCD controller
2016-05-31 18:46:25 -07:00
Scott Lahteine
bd97bbc52a Make HAS_LCD_CONTRAST a boolean flag 2016-05-31 11:47:02 -07:00
Scott Lahteine
55ef04a566 Need to call dac_init() in setup() for DAC_STEPPER_CURRENT
As reported by https://github.com/MarlinFirmware/Marlin/pull/3182#issuecomment-222595488
2016-05-30 23:35:06 -07:00
Scott Lahteine
360adc6a3b Small reduction in M421 code 2016-05-23 14:25:42 -07:00
Scott Lahteine
a4ed988c60 Two index finding functions for MBL 2016-05-23 14:25:42 -07:00
Scott Lahteine
cadf441059 Merge pull request #3798 from AnHardt/extend-M421
Extend M421 with I and J parameters
2016-05-20 16:17:23 -07:00
AnHardt
f5a036510f Extend M421 with I and J parameters
Extend M421 with I and J parameters
2016-05-21 00:18:09 +02:00
Edward Patel
c7d90dc5ec Add option to configure G28 all axis resting position for MBL 2016-05-20 11:52:27 -07:00
Scott Lahteine
8218558953 Update comments, rename next_ping_ms, followup to #3797 2016-05-19 16:44:57 -07:00
AnHardt
e761bdbb4b Remove SF_ARC_FIX from G5 (Cubic B-spline)
Remove SF_ARC_FIX from G5 (Cubic B-spline).
SF_ARC_FIX is a fix for G2/G3 (arcs) where Skeinforge always produced relative instead of absolute coordinates for the endpoint of an arc.
It's very unlikely this is also a problem with Cubic B-splines. More likely is copying from the G2/G3 code.
2016-05-19 21:00:12 +02:00
AnHardt
2207001333 No compromises for the manage_heater()
No compromises for the manage_heater(). manage_heater() will return immediately when there is nothing to do, but needs a constant detaT to work proper.
Calling idle() only every 200ms results in a display update every ~2 seconds - that should be enough.
For the other functionalities in idle() and manage_inactivity() 200ms is a lot but hopefully works.
2016-05-19 20:52:11 +02:00
João Brázio
e6effb8f35
Implements S1 argument in M999 2016-05-19 00:13:33 +01:00
Scott Lahteine
4041508ffb Function decl. in headers don't need "extern" 2016-05-17 18:35:01 -07:00
Scott Lahteine
d66e53c42b Merge pull request #3782 from thinkyhead/rc_home_z_before_g29
Require homing of Z before G29
2016-05-17 17:53:56 -07:00
Scott Lahteine
552516ddf5 Merge pull request #3781 from AnHardt/minor-delta-segmenting-speedup
Minor DELTA segmentation speedup
2016-05-17 17:17:38 -07:00
Scott Lahteine
a28970784c XYZ unhomed 2016-05-17 17:02:53 -07:00
Scott Lahteine
a9926b71a4 Require homing of Z before G29 2016-05-17 16:57:12 -07:00
AnHardt
41e9569dbc Minor DELTA segmentation speedup
Minor DELTA segmentation speedup by pulling calculations out of the loop.
2016-05-18 01:49:30 +02:00
Scott Lahteine
3016dfe484 Merge pull request #3744 from thinkyhead/rc_bezier_curves
Add BEZIER_CURVE_SUPPORT — G5 command
2016-05-17 13:57:38 -07:00
Scott Lahteine
d0ac4541d3 Merge pull request #3775 from jbrazio/bugfix/followup-3770
G29: Report final position back to host when using MBL
2016-05-17 13:55:26 -07:00
João Brázio
b6a3aef297
G29: Report final position back to host when using MBL 2016-05-17 01:27:59 +01:00
esenapaj
95f30529a6 Add stowing process for MECHANICAL_PROBE 2016-05-16 18:12:10 +09:00
esenapaj
e2b87f6c85 Separate Z_PROBE_ALLEN_KEY from MECHANICAL_PROBE 2016-05-16 18:12:10 +09:00
Scott Lahteine
754b0152f5 Fix MBL zigzag calls 2016-05-15 12:35:01 -07:00
Scott Lahteine
13175ce7da Fix error checking in M421 2016-05-14 17:12:44 -07:00
João Brázio
8a18c52002 Adds an option to disable print job timer auto start 2016-05-14 15:22:44 -07:00
João Brázio
a79267217b M78 now allows stats reset using the S78 argument 2016-05-14 15:22:44 -07:00
Scott Lahteine
a713043acd Merge pull request #3749 from esenapaj/patch-3
Enclose all #error strings by double-quotes
2016-05-14 15:01:56 -07:00
Scott Lahteine
3cfea3ff12 Merge pull request #3752 from AnHardt/fix-FIX_MOUNTED_PROBE
G29 missing FIX_MOUNTED_PROBE condition
2016-05-14 15:00:42 -07:00
Scott Lahteine
ddac17a195 Add BEZIER_CURVE_SUPPORT (G5 XYZEFIJPQ) 2016-05-14 14:52:08 -07:00
AnHardt
8a4376d51f Idle during long arcs
Idle during long arcs
to prevent from watchdog resets during high segmented fast arcs.
2016-05-14 00:29:13 +02:00
esenapaj
888443ca1e Enclose all #error strings with apostrophes 2016-05-13 21:10:23 +09:00
AnHardt
b74af78736 Make arc support (G2/G3) configurable
Saves about 2669 bytes when deactivated. (About 1% for a AT2560, about __4%__ for a AT644!)
2016-05-13 13:27:45 +02:00
AnHardt
aef2559bd8 fix-FIX_MOUNTED_PROBE
Add a forgotten condition
2016-05-13 12:07:17 +02:00
Scott Lahteine
aaeadf0cbd If no "B" parameter given, get 1 byte 2016-05-11 15:30:08 -07:00
Scott Lahteine
a6d594665b Print an error on bad i2c request
Reference: https://github.com/MarlinFirmware/Marlin/pull/3713#issuecomment-218333678
2016-05-11 15:30:02 -07:00
Scott Lahteine
56dd31ea3c Use code_value_long for potentially large values
Addressing #3711
2016-05-10 09:15:31 -07:00
Scott Lahteine
96b71e62c0 Fix dipping on DELTA robots during G29
- Addressing #3689, et. al.
2016-05-08 18:28:46 -07:00
Scott Lahteine
15fc93d742 Cleanup and consolidate probe conditionals for clarity 2016-05-08 12:59:43 -07:00
Scott Lahteine
084f6b5b44 Temperature singleton class 2016-05-04 19:42:12 -07:00
esenapaj
605808fe37 Additional follow-up the PR #3631(Encapsulate S...
Additional follow-up the PR #3631(Encapsulate Stepper, Planner, Endstops in singleton classes)

・Change from abort_on_endstop_hit to stepper.abort_on_endstop_hit in endstop.cpp, Marlin_main.cpp, and ultralcd.cpp
・Add include path to cardreader.h and temperature.h in endstop.cpp(for CardReader class and disable_all_heaters())
It fix compilation error when ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED and SDSUPPORT are enabled.

・Change from digipot_current() to stepper.digipot_current() in Marlin_main.cpp
・Change from digitalPotWrite() to stepper.digitalPotWrite() in Marlin_main.cpp
It fix compilation errors when HAS_DIGIPOTSS is enabled.

・Change from microstep_mode() to stepper.microstep_mode() in Marlin_main.cpp
・Change attribute of microstep_mode() from private to public in stepper.h
・Change from microstep_readings() to stepper.microstep_readings() in Marlin_main.cpp
・Change from microstep_ms() to stepper.microstep_ms() in Marlin_main.
It fix compilation errors when HAS_MICROSTEPS is enabled.
2016-05-03 18:28:37 +09:00
esenapaj
a82cfcff2d Follow-up the PR #3631(Encapsulate Stepper, ...
Follow-up the PR #3631(Encapsulate Stepper, Planner, Endstops in singleton classes)

plan_bed_level_matrix -> planner.bed_level_matrix in multi extruders section of Marlin_main.cpp
It probably fix the Issue #3658(plan_bed_level_matrix not declarate).

movesplanned() -> planner.movesplanned() in ADVANCED_OK section of Marlin_main.cpp
It fix compilation error when ADVANCED_OK is enabled
2016-05-02 22:04:26 +09:00
Scott Lahteine
462a8a951e A little extra gcode_T spacing 2016-04-30 17:26:50 -07:00
Scott Lahteine
96f51f400f Planner singleton class 2016-04-30 17:26:50 -07:00
Scott Lahteine
5076d12344 Localize M119 in Endstops class 2016-04-30 17:26:50 -07:00
Scott Lahteine
5e4e535ce8 Stepper and Endstops as singleton objects 2016-04-30 17:26:50 -07:00
Scott Lahteine
6d3e4e1f8f Prevent stuck M109/M190 when target is changed 2016-04-30 17:03:54 -07:00
Scott Lahteine
c3ef9993b9 Merge pull request #3625 from jbrazio/feature/print-counter
Print job statistics
2016-04-29 15:31:14 -07:00
João Brázio
1491d682fb
Miscellaneous tweaks on PrintCounter 2016-04-29 23:13:59 +01:00
João Brázio
d6cfcc9c8b
Added new G-Code: M78 2016-04-29 23:13:58 +01:00
Scott Lahteine
f4706bb90e Keepalive not needed while waiting for temperatures 2016-04-28 21:11:15 -07:00
Blue-Marlin
e58e281473 Fix feedrate after toolchange
The fix is simple. Most changes are because of changed indendation,
bacause of leaving early for wrong tool number
2016-04-27 00:57:45 +02:00
Scott Lahteine
ec82e1e05d Merge pull request #3616 from thinkyhead/rc_fixup_some_movement
General cleanup around high level move functions
2016-04-25 20:23:38 -07:00
Scott Lahteine
abeab792cb General cleanup around high level move functions
- Use new `DEBUG_POS` macro for `DELTA` debug
- Neaten up `prepare_move` a smidgen
- Remove an old commented `prepare_move()` line
2016-04-25 20:02:24 -07:00
Scott Lahteine
68d0347e67 Call report_current_position after M206 / M428 2016-04-25 18:43:28 -07:00
Scott Lahteine
dcb4cdaa9e Call report_current_position instead of gcode_M114 directly 2016-04-25 18:43:27 -07:00
gralco
840e13f664 Introduce M108 cancel heatup for the hotend and bed
This G-code is asynchronously handled in the get_serial_commands() parser.
2016-04-25 08:33:33 -06:00
João Brázio
a901555da4 Moved G29 debug output before matrix.set_to_identity() 2016-04-22 20:57:22 -07:00
Scott Lahteine
1caa2628da Use sync_plan_position_e function elsewhere 2016-04-20 13:02:19 -07:00
Scott Lahteine
c7df961144 Fix G92 so it only sets the plan position once 2016-04-20 13:01:58 -07:00
Scott Lahteine
3db5a75f30 Merge pull request #3568 from thinkyhead/rc_various_fixes
General code cleanup, improved naming, etc.
2016-04-19 20:53:38 -07:00
Scott Lahteine
ac69fad96d lowercase "stop" function 2016-04-19 19:43:54 -07:00
Scott Lahteine
39ee9c526b setTargetedHotend => get_target_extruder_from_command 2016-04-19 19:43:54 -07:00
Scott Lahteine
cafa8b8ce3 Rename filament runout items 2016-04-19 19:43:39 -07:00
Scott Lahteine
27b2e2e786 Document some variables 2016-04-19 19:43:39 -07:00
Scott Lahteine
a4062a47ac Rename baricuda variables 2016-04-19 19:43:38 -07:00
Scott Lahteine
78747b1328 min_pos/max_pos => sw_endstop_min/sw_endstop_max 2016-04-19 19:43:38 -07:00
Scott Lahteine
ba84d8d091 Allow setting PIDTEMP and PIDTEMPBED together or apart 2016-04-19 18:09:29 -07:00
Scott Lahteine
a26d70e932 Apply indentation to gcode_M303, PID_autotune 2016-04-18 19:04:45 -07:00
Scott Lahteine
ba66336503 Output error for disabled M303 2016-04-18 19:03:45 -07:00
Scott Lahteine
5905ec5ba8 Merge pull request #3541 from thinkyhead/rc_mbl_one_last_lift
Add a final lift, if configured, in Manual Bed Leveling
2016-04-17 17:20:02 -07:00
Jeff K
90c49f5a14 Fixed invalid addressing (overflow) of position_shift / software endstops
Signed-off-by: Jeff K
2016-04-17 19:28:50 -04:00
Scott Lahteine
c242bee449 Add a final lift, if configured, in Manual Bed Leveling 2016-04-17 00:12:46 -07:00
Scott Lahteine
837df6108c Fix borked set_bed_level_equation_lsq 2016-04-16 20:35:42 -07:00
Scott Lahteine
4b75b11a53 Wrap defines in parentheses in configs, M48 2016-04-16 18:21:09 -07:00
Scott Lahteine
234987ee2f Fix MBL lift 2016-04-16 14:17:06 -07:00
Scott Lahteine
e0830bf8f1 Don't use LCD alert unless error or alert level is reset later 2016-04-15 18:48:49 -07:00