Commit graph

921 commits

Author SHA1 Message Date
Scott Lahteine
0b8ef5eba6 Split get_command into units, rename to get_available_commands 2016-03-28 06:00:04 -07:00
Scott Lahteine
545f7997ea Continue on empty lines instead of returning 2016-03-28 05:37:36 -07:00
Scott Lahteine
3dcf6d42ff Don't store escaped serial characters if comment_mode 2016-03-28 05:37:36 -07:00
Scott Lahteine
5f8e52aefb Minor cleanup to command dispatcher 2016-03-28 05:37:36 -07:00
Scott Lahteine
f1ed310322 Add NUMERIC compare macros to simplify code 2016-03-28 03:52:49 -07:00
jbrazio
443e6d26fe Formatted multi-line comments 2016-03-27 04:36:36 +01:00
Scott Lahteine
e4039a9b5b Merge pull request #3250 from esenapaj/patch-1
Fix typo
2016-03-26 00:41:31 -07:00
Scott Lahteine
cd4c3e90bc Send a busy signal every 10 seconds instead of every 2 2016-03-25 22:15:40 -07:00
Scott Lahteine
26168676e7 Merge pull request #3246 from thinkyhead/rc_fix_numeric_filenames
Fix: current_command_args skips digits at the front
2016-03-25 16:38:36 -07:00
esenapaj
f54315c728 Fix typo
These are salvaged from closed-PR #3216.
2016-03-26 08:37:17 +09:00
Scott Lahteine
f423716c6a Fix: current_command_args skips digits at the front
Closes #3245
2016-03-25 16:12:41 -07:00
Scott Lahteine
18de9f55ac Merge pull request #3242 from thinkyhead/rc_epatel_mesh_fixes
Updated Mesh Bed Leveling
2016-03-25 06:48:12 -07:00
Scott Lahteine
3a1e6b1752 Merge pull request #3243 from AnHardt/homed
axis_known_position -> axis_homed
2016-03-25 06:36:46 -07:00
AnHardt
94962ee678 axis_known_position -> axis_homed
In all these cases we want the axis to be homed. If we could have lost
some steps is secondary.

Reenables homing seperate axis with DISABLE_X / DISABLE_Y true.
2016-03-25 14:05:20 +01:00
Edward Patel
14afe1a017 Move to Z=0 for G28 when using Manual Bed Leveling
copy of 406992f9dd
2016-03-25 04:58:44 -07:00
Edward Patel
c606ed447a Add "G29 S4" to fine tune Z level for Mesh Bed Leveling.
Also add mbl.z_offset to the EEPROM, bumping the version to V23.
2016-03-25 04:58:43 -07:00
Scott Lahteine
5d8036e554 Code cleanup around MOTOR_CURRENT_PWM options 2016-03-25 04:23:46 -07:00
Scott Lahteine
0da744b7b0 Further cleanup of comments, partial Doxygen-style
Following up on #3231
2016-03-25 00:45:56 -07:00
Scott Lahteine
4823791eb0 Merge pull request #3228 from esenapaj/patch-1
Fix spelling
2016-03-25 00:40:51 -07:00
jbrazio
5e5d250832 Added gplv3 header to all Marlin files 2016-03-24 18:01:20 +00:00
esenapaj
89a845659a Fix spelling
PROBABLE ->PROBEABLE
This is follow-up to #3069?
2016-03-25 02:13:37 +09:00
Scott Lahteine
af32a7d5d6 M120/M121 also set endstops non-homing state 2016-03-24 03:24:23 -07:00
Scott Lahteine
04fa9d4f47 Make Autotune options into Menu Edit Items 2016-03-24 02:00:08 -07:00
WPBack
e3f583a3be Fixes for PID AutoTune from menu
Fixes for #3189

Setting a temp is still missing
2016-03-24 01:47:30 -07:00
WPBack
3b3e8a02b5 Initial implementation of PID Autotune Menu Items
Adds the parameter U to M303. If U1 is included , it will use the
PID-values from the auto-tune.
2016-03-24 01:46:37 -07:00
Scott Lahteine
c5857f96c8 Merge pull request #3182 from thinkyhead/rcbugfix_printrboard_revf
Add support for Printrboard RevF
2016-03-24 00:12:06 -07:00
Scott Lahteine
f774420488 Merge pull request #3196 from thinkyhead/rc_controllerfan_bug
Make DISABLE_INACTIVE_X, etc., true if missing
2016-03-24 00:11:46 -07:00
AnHardt
1c6a16d5bb Send position updates to RH
Send position updates to RH where RH can not know the end position.

For example after G28 RepetierHost assumes to be at the homing-point,
but with a servo probe we are much higher. Now the RH-software-endstops
will prevent us from going down (if activated). With this patch the
internal position of RH is updated with `current_position[]`.
2016-03-23 13:30:50 +01:00
AnHardt
6486e8b74a Call buzz() directly from M428 2016-03-22 15:05:04 +01:00
Scott Lahteine
b1a3a95ad4 Tweak controllerFan to save a cycle or two 2016-03-20 22:11:09 -07:00
Scott Lahteine
10caee2b7c Merge pull request #3187 from AnHardt/target_extruder_number
Fix extrudernum in MSG_INVALID_EXTRUDER
2016-03-20 17:15:22 -07:00
Scott Lahteine
1cc316f1fd Merge pull request #3082 from thinkyhead/updated_2820
This is quite comprehensive. If probes are disabled in any case when they shouldn't be, I'm sure we will hear about it soon.
2016-03-20 17:10:38 -07:00
Scott Lahteine
7bf5d117e7 Merge pull request #3069 from thinkyhead/rc_delta_compat_m48
Delta-compatible extensions to M48
2016-03-20 17:09:18 -07:00
Scott Lahteine
06332f20be Merge pull request #3113 from jbrazio/bugfix/3061-stop-print-time-counter
Stop print timer with M105/M109
2016-03-20 17:05:07 -07:00
AnHardt
338b69c24b Fix extrudernum in MSG_INVALID_EXTRUDER
SERIAL_ECHO is not very good in printing uint8_t - so cast. to int.
2016-03-20 11:39:06 +01:00
AnHardt
b39b54031b Fix KEEPALIVE_STATE
Add return to NOT_BUSY for M105
Replace WAIT_FOR_USER with PAUSED_FOR_USER

Add Travis test for FILAMENTCHANGEENABLE
2016-03-20 10:41:56 +01:00
Scott Lahteine
41145e6e81 Patch drain_queued_commands_P
Fix a SNAFU that should have been caught in #3012
2016-03-19 20:10:41 -07:00
Scott Lahteine
59483221d5 Move stepper DAC to a separate file 2016-03-19 19:24:26 -07:00
Scott Lahteine
5d0570cea0 Make digitalPotWrite depend on HAS_DIGIPOTSS 2016-03-19 19:24:26 -07:00
Scott Lahteine
f96bc03081 Add M907-M910 g-codes support for Printrbot Rev. F 2016-03-19 19:24:26 -07:00
Scott Lahteine
cf7c444aff Apply unknown_position_error elsewhere 2016-03-19 05:13:40 -07:00
Scott Lahteine
eda5190581 Check for known position in M48 2016-03-19 05:13:40 -07:00
Scott Lahteine
68085ca855 Updated M48 friendly for DELTA
Partial implementation with reference to MarlinFirmware/Marlin#3011
2016-03-19 05:13:40 -07:00
Scott Lahteine
38b0082bf2 Additional tweaks to M42 exit conditions 2016-03-19 03:10:18 -07:00
Scott Lahteine
4bbea5124d Support for multiple PWM fans 2016-03-19 03:10:18 -07:00
Scott Lahteine
637cc03686 Fix M109 so it won't wait for cooling
Addressing issue #2767
2016-03-19 03:00:58 -07:00
AnHardt
3f45a1acf9 Check probes only when deployed
Aim: Test probes in update_endstops only when activated

Changes:
Configurations
 Add define for FIX_MOUNTED_PROBE to handle the situation where formerly ENDSTOPS_ONLY_FOR_HOMING had to be set, or lowering the nozzle below Z_PROBE_OFFSET_FROM_EXTRUDER could give an "endstop hit" message.
 Add define for Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to indicate a common situation, that we have a probe but it is connected to an endstop pin
 Add some comments
 Shift some entries to have related things together.

Conditionals.h
 We have a probe (HAS_Z_MIN_PROBE) if one of the pins is defined AND one of the probes is defined.

SanityCheck.h
 Add some tests if the probe is connected and if we have defined a probe.

stepper.cpp
 Changes to test the probe only when it is deployed (z_probe_is_active).
 Test update_endstops() when the probe is deployed.

MarlinMain.cpp
 a. set and reset z_probe_is_active in deploy_z_probe(), stow_z_probe() and dock_sled()
 b. set and reset z_probe_is_active in the case a z-servo is moved to a defined position. The only remaining unhandled servo move is in M280 where we do not end in a defined position. If you want to handle a probe use M401/402
 c. skip deploying/stowing when already deployed/stowed in the dedicated deploy/stow functions.
 d. Handle the new FIX_MOUNTED_PROBE in parallel to a servo driven probe/endstop.

 To do: In another PR. handle all probes in deploy/stow_z_probe.
 Sort out SERVO_LEVELING vs. HAS_SERVO_ENDSTOPS.
2016-03-19 02:00:08 -07:00
Scott Lahteine
4634feaeab Merge pull request #3012 from thinkyhead/fix_command_injection
Use a serial line buffer to prevent queue corruption
2016-03-19 01:43:54 -07:00
Scott Lahteine
963a92ceda Patch idle forevermore 2016-03-18 22:38:35 -07:00
Scott Lahteine
7ec7bb31c4 Send a Busy signal to hosts during long processes, wait for input, etc
If Marlin is blocking the serial input or command queue for any length
of time (for example more than 2 seconds), it needs to send a message
to serial out to inform the host that it is busy. Marlin should only
send these messages out when busy, and preferably not when trying to
print formatted output.
2016-03-18 22:38:35 -07:00
Scott Lahteine
80277cc9c8 drain_queued_commands_P now returns true if there are more 2016-03-18 17:56:48 -07:00
Scott Lahteine
8fe7420310 Use a separate serial line buffer 2016-03-18 16:46:20 -07:00
Scott Lahteine
7d25c107a8 Merge pull request #3149 from esenapaj/patch-1
suppress warnings
2016-03-18 15:40:14 -07:00
Scott Lahteine
e8fa843c2d Merge pull request #3164 from epatel/epatel/RCBugFix
Fix for #3160 MESH_BED_LEVELING broke correct G1 movement in Z
2016-03-16 02:40:54 -07:00
Scott Lahteine
d7c6fd5c2f Merge pull request #3146 from thinkyhead/rc_enabled_true_false
Support "true" and "false" in the ENABLED macro
2016-03-15 17:35:55 -07:00
Edward Patel
cb0dbfa3b5 Fix for #3160 MESH_BED_LEVELING broke correct G1 movement in Z 2016-03-16 01:26:00 +01:00
Scott Lahteine
6e1bc03d3b Additional wrapping for #3140 2016-03-15 01:18:58 -07:00
Scott Lahteine
1c384930f3 Merge pull request #3140 from thinkyhead/rc_fix_macro_expansion
Wrap macros to prevent bad expansions
2016-03-15 00:25:34 -07:00
esenapaj
a4314c4907 Use local variable in recalc_delta_settings()
diagonal_rod hadn't been used anywhere.
2016-03-15 06:47:27 +09:00
esenapaj
8de7a6f9b1 suppress warnings 2016-03-15 06:34:02 +09:00
Scott Lahteine
4b648793f2 Use ENABLED with DISABLE_[INACTIVE_][XYZ] 2016-03-13 22:15:45 -07:00
Scott Lahteine
3f5fbbd398 Merge pull request #3124 from jbrazio/bugfix/update-g29-auto-level-bed-topography
Update the bed topography output done by G29
2016-03-13 03:51:43 -07:00
Scott Lahteine
f9ded2a7c4 Wrap macros to prevent bad expansions 2016-03-12 22:38:55 -08:00
jbrazio
a645860431 All print timer related activity now uses print_job_start(), print_job_timer() or print_job_stop() 2016-03-12 07:16:39 +00:00
jbrazio
1981e53d68 M109 R option if misused could cause a wait-forever situation 2016-03-12 06:24:24 +00:00
João Brázio
4d4a842cfb Update the bed topography output done by G29 2016-03-10 13:24:17 +00:00
João Brázio
793cd0ae3b Clean up the code a bit 2016-03-10 11:52:43 +00:00
jbrazio
986b508ff7 Print timer now stops when it sees the last extruder temperature being shutdown 2016-03-08 18:11:02 +00:00
AnHardt
fd5414c6ea Z_RAISE_BEFORE_HOMING -> MIN_Z_HEIGHT_FOR_HOMING
rebased
corrected spelling
changed to #elif for error

Still with MIN_Z_HEIGHT_FOR_HOMING but con be done with (folder wide) search-replace when we have a better name.
2016-03-08 17:50:23 +01:00
Scott Lahteine
b7928a000a Merge pull request #3108 from AnHardt/M110+
M110 and M29 rework
2016-03-08 03:54:07 -08:00
Scott Lahteine
5cba0b4187 Merge pull request #3111 from thinkyhead/rc_drop_old_condition
Drop obsolete test for leading "N"
2016-03-08 03:07:25 -08:00
Scott Lahteine
302d1bfbc4 Drop obsolete test for leading "N" 2016-03-08 02:25:11 -08:00
AnHardt
37b857e8ec M110 ang M29 rework
Add 'ok' output for G29 actually closing the file.
Handle M110 when received without linenumber/checksumm.
2016-03-07 22:27:01 +01:00
Scott Lahteine
fac85f6fa1 Merge pull request #3102 from jbrazio/bugfix-g28-multiple-z-movements
Bugfix: G28 was lifting Z-axis multiple times
2016-03-07 03:52:00 -08:00
jbrazio
642e3699ce Z-axis was being lift multiple times if Z_SAFE_HOMING was enabled and Z_RAISE_BEFORE_HOMING was greater than zero 2016-03-07 03:49:11 +00:00
Scott Lahteine
501f63802a Merge pull request #3077 from Blue-Marlin/watchdogreset-in-kill
Add Watchdog timer reset in kill()
2016-03-06 16:21:39 -08:00
Scott Lahteine
ef68c1910c Check that the temperature is close to target 2016-03-06 05:51:56 -08:00
Scott Lahteine
ea9fd1200b Fix M109 so it won't wait for cooling
Addressing issue #2767
2016-03-06 05:51:56 -08:00
Scott Lahteine
ff13070b59 Use _BV macros, patch up others 2016-03-06 05:51:55 -08:00
Scott Lahteine
209f5f21e0 Use macros where possible
Apply `constrain`, `NOMORE`, `NOLESS` and `CRITICAL_SECTION` macros
wherever possible.
2016-03-06 05:51:55 -08:00
Scott Lahteine
6e64895c30 Merge pull request #3001 from AlwaysTinkering/RCBugFix
Rc bug fix - Fix for issue #2931
2016-03-06 00:20:29 -08:00
Scott Lahteine
34b8b9f0f5 Merge pull request #2995 from thinkyhead/rcbugfix_corexy_corexz
Add CORE support to st_get_position_mm (and elsewhere)
2016-03-06 00:17:03 -08:00
Scott Lahteine
3a3d358df9 Fix Printrboard with LCD (redo)
Based on #2860 - rebased for RCBugFix
2016-03-05 22:13:00 -08:00
Scott Lahteine
eb85342fd9 Merge pull request #2989 from AnHardt/fix2661
Pre home display - Stepper release
2016-03-05 21:30:17 -08:00
Scott Lahteine
14f3ca1b2e Merge pull request #2978 from thinkyhead/tool_offset_abl_rcbugfix
Apply bed leveling matrix when switching extruders
2016-03-05 21:23:25 -08:00
lrpirlet
0fb507a75d correct raise_z_for_servo 2016-03-05 20:19:53 -08:00
Blue-Marlin
b4e5e0f11d Add Watchdog reset in kill()
Add watchdog reset in the kill loop to simplify recovering.
2016-03-04 00:35:18 +01:00
Scott Lahteine
222d13d5ed Merge pull request #3051 from thinkyhead/rcbugfix_dual_axis_offset
Code cleanup in gcode_T
2016-03-02 03:45:40 -08:00
Scott Lahteine
186629aee8 Merge pull request #3057 from jbrazio/3034-z_raise_after_probing_fix
Fix Z_RAISE_AFTER_PROBING for non DELTA printers
2016-03-02 03:14:27 -08:00
jbrazio
67e15aac3d As pointed out by @Blue-Marlin the previous code would raise the Z axis
twice for a servo based probe.
2016-03-01 00:22:48 +00:00
jbrazio
17cc2a9663 Z_RAISE_AFTER_PROBING value was being ignored by Marlin because
raise_z_after_probing() was only called if the printer type was set to a
DELTA or if the printer had a docking sled for the probe.
2016-02-29 15:48:26 +00:00
AnHardt
1c889cd303 Refresh previous_cmd_ms during run_z_probe()
Refresh previous_cmd_ms during run_z_probe() to prevent:
stepper shutdown for expired DEFAULT_STEPPER_DEACTIVE_TIME
and extrudes for expired EXTRUDER_RUNOUT_SECONDS
(https://github.com/MarlinFirmware/MarlinDev/issues/238)
2016-02-28 23:20:12 +01:00
AnHardt
4b02f33e69 Distribute config-changes to the other configurations 2016-02-28 23:20:04 +01:00
AnHardt
32ae9f9ab7 Fix stepper shutdown during waiting for temperatures
In the wait loops of M109 M190 idle() is called, what checks
stepper_inactive_time against previous_cmd_ms.
Because we can be several minutes inside the loop, resetting
previous_cmd_ms only outside the loop caused stepper shutdowns.

The name of previous_cmd_ms does not really reflect its use. It's set
not only when a new command was received or executed but also in many of
the movement routines. For that the little extension of using it during
the wait will (hopefully) not hurt.

# Conflicts:
#	Marlin/Configuration_adv.h
2016-02-28 16:58:50 +01:00
AnHardt
b6e69e71ce Make stepper shutdown after inactivity dependent
Make stepper shutdown after inactivity dependent on a new set of
#defines.
DISABLE_INACTIV_X
DISABLE_INACTIV_Y
DISABLE_INACTIV_Z
DISABLE_INACTIV_E

And make exemplaric Configuration.
Names can be discussed.

This makes the disabling of the steppers independent from the DISABLE_?
settings witch shut down the steppers immediately.
2016-02-28 16:58:42 +01:00
AnHardt
051325ccd7 Introduce axis_homed
Introduce additional variable axis_homed to replace axix_known_position
when the coordinate display should indicate the axis is not homed.
This is to distinguish between "not homed" and "inexact position possible
because stepper was disabled".

# Conflicts:
#	Marlin/ultralcd_implementation_hitachi_HD44780.h
solved
2016-02-28 16:58:28 +01:00
Scott Lahteine
100271e6ac minor cleanup in gcode_T 2016-02-27 19:56:56 -08:00
Scott Lahteine
6a4f06d35d Fix GCode handling of spaces between command letter and first digit 2016-02-26 18:42:59 -08:00
CONSULitAS
ea8409ad5d Fix: current_command_args contains command
@thinkyhead
Hi Scott,
your code from a0f362c@thinkyhead is great, but you forgot to skip the
command.
Symptom `M117 Test`shows `M117 Test` on LCD instead of `Test`.

see also
https://github.com/MarlinFirmware/Marlin/commit/a0f362c735401ebbcd95de3f
6f8e3c2f17ecc770 lines 941, 2851 and so on

Greetings and welcome back

Jochen
2016-02-24 09:35:04 +01:00
Scott Lahteine
e1beaf61eb Merge pull request #2985 from AnHardt/adv-ok
Repair N in ADVANCED_OK
2016-02-18 17:06:26 -08:00