Commit graph

137 commits

Author SHA1 Message Date
Scott Lahteine
18bb6be80e Fix homing and leveling
- Include the current Z when raising the axis after and between probing
- Add `sync_plan_position_delta` for parity with `sync_plan_position`
- Clean up and clarify `M48`, `dock_sled`, and others
2015-03-31 18:52:19 -07:00
AnHardt
50a732360a Replace extrudemultiply by extruder_multiply[active_extruder]
Fix for #1460.

Seems to work with only one extruder. Can't test this myself with more.
2015-03-30 13:35:03 +02:00
Scott Lahteine
fbf9b21e0c Merge plus fixup zprobe_zoffset
- Make `zprobe_zoffset` conditional
- Fix ConfigurationStore for `zprobe_zoffset`
2015-03-25 21:14:00 -07:00
alexborro
0ce3576685 New Feature: Z_DUAL_ENDSTOPS
Z_DUAL_ENDSTOPS is a feature to enable the use of 2 endstops for both Z
steppers - Let's call them Z stepper and Z2 stepper.
That way the machine is capable to align the bed during home, since both
Z steppers are homed.
There is also an implementation of M666 (software endstops adjustment)
to this feature.
After Z homing, this adjustment is applied to just one of the steppers
in order to align the bed.
One just need to home the Z axis and measure the distance difference
between both Z axis and apply the math: Z adjust = Z - Z2.
If the Z stepper axis is closer to the bed, the measure Z > Z2 (yes, it
is.. think about it) and the Z adjust would be positive.
Play a little bit with small adjustments (0.5mm) and check the
behaviour.
The M119 (endstops report) will start reporting the Z2 Endstop as well.
2015-03-24 14:06:44 -03:00
Scott Lahteine
8db4fd7177 Merge branch 'Development' into planner_oh_planner
Latest upstream commits
2015-03-23 22:08:50 -07:00
Scott Lahteine
34a41648ab Merge branch 'Development' into planner_oh_planner
Latest upstream commits
2015-03-22 23:40:29 -07:00
Scott Lahteine
4fbb80567e Get upstream commits 2015-03-22 23:07:22 -07:00
Scott Lahteine
691e753cc3 Don't add home offsets in G29
- Address #1262 by leaving values as set
- Rename `add_homing` to `home_offset`
2015-03-21 16:30:02 -07:00
Scott Lahteine
13fbf42d95 Cleanup of planner code
- Use named axis indexes, `X_AXIS` etc.
- Replace `block.steps_A` with block.steps[A]`
- Replace `A_segment_time` with `segment_time[A]`
- Add `A_AXIS`, `B_AXIS` for `COREXY` axes
- Conditional compile based on `EXTRUDERS`
- Add BLOCK_MOD macro for planner block indexes
- Apply coding standards to `planner.h` and `planner.cpp`
- Small optimizations of planner code
- Update `stepper.cpp` for new `block` struct
- Replace `memcpy` with loops, let the compiler unroll them
- Make `movesplanned` into an inline function
2015-03-20 20:42:49 -07:00
Scott Lahteine
b6d381f863 Divide up Conditionals to get LCD items early 2015-03-20 02:50:28 -07:00
maverikou
8a739b6fba Merge branch 'Development' into delta_auto_bed_level
Conflicts:
	Marlin/Marlin_main.cpp
2015-03-16 08:24:26 +02:00
AnHardt
f0dcea7e14 Fix #1611
Warning: suggest parentheses around comparison in operand of &

pretty much helped.
2015-03-15 22:52:50 +01:00
Scott Lahteine
bb4cb1b15a Merge pull request #1606 from thinkyhead/cleanup_stepper
Cleanup of stepper.cpp
2015-03-15 06:05:08 -07:00
alexborro
d3259d0dba Merge pull request #1581 from msutas/Development
Filament Runout Sensor Feature
2015-03-14 18:35:20 -03:00
Scott Lahteine
c37f7d15c9 - Rename WRITE_E_STEP for consistency
- Add BIT and TEST macros
- Add _APPLY_ macros to stepper.cpp to help with consolidation
- Consolidate code in stepper.cpp using macros
- Apply standards in stepper.cpp
- Use >= 0 instead of > -1 as a better semantic
- Replace DUAL_Y_CARRIAGE with Y_DUAL_STEPPER_DRIVERS
2015-03-14 04:28:22 -07:00
domonoky
d813090d90 Merge remote-tracking branch 'remotes/upstream/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
	Marlin/stepper.cpp
2015-03-10 10:46:37 +01:00
Mehmet Sutas
cfc6a3a87a Filament Runout Sensor Feature
With this change a mechanical or optical switch may be used to check the
availability of the filament and when the filament runs out an M600
(filament change) command is issued. This is only done while printing
with an SD card.

This feature was requested several times (issue #679), but the requests
were not accepted since it was believed that this situation should be
handled at host side. However during an SD print the control is totally
on firmware and I think that during an SD print it should be handled by
the firmware.

The original code was posted at reprap forum
(http://forums.reprap.org/read.php?1,297350) by Lazymonk. I have only
corrected some bugs of the code and improved it by adding definitions to
the configuration.h in order to make it more standardized.
2015-03-07 22:43:15 +02:00
maverikou
7c24b97958 Ported over Johann Rocholl's improvements for delta printers:
- Nonlinear auto bed leveling code (includes G29, G30, Z_RAISE_AFTER_PROBING). Cleaned it up to be a delta-specific AUTO_BED_LEVELING_GRID code path.
- Allen key z-probe deployment and retraction code. Cleaned it up and added safety checks.
2015-03-07 20:36:21 +02:00
Scott Lahteine
d085725c86 More sanity-checking for ABL
- Moved sanity-checks to Marlin_main.cpp
- Applied to other configuration files
- Fixed formatting of ABL output
- Passing verbose level to probe_pt
- Miscellaneous cleanup
- Put CONFIG_STEPPERS_TOSHIBA into Configuration.h
2015-03-06 22:14:34 -08:00
domonoky
4a7aca2736 Merge remote-tracking branch 'remotes/upstream/Development' into Development 2015-03-02 17:52:12 +01:00
alexborro
715104e477 Fix Endstop check for CoreXY bots.
The X_Axis could not home to min while Y_Max endstop was trigged.
2015-03-02 13:36:58 -03:00
domonoky
b55995aae8 Introduce a layer of macro indirection to all stepper pins. This allows other stepper drivers to redefine them, so they can use SPI/I2C instead of direct pin manipulation. 2015-02-23 16:12:35 +01:00
Jérémie FRANCOIS
9d75a56b56 Merge remote-tracking branch 'upstream/Development' into Development
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
2015-02-11 06:38:36 +01:00
Jérémie FRANCOIS
85e5aa4011 Generalized enqueue_commands_P, and moved them to Marlin_main as they should 2015-02-07 23:24:20 +01:00
Scott Lahteine
9bc9051405 Flag EEPROM write errors on serial output
- Also adds a language string for the error.
- Also adds SERIAL_EOL as an alias for SERIAL_ECHOLN(“”)
2015-01-28 21:19:51 -08:00
Scott Lahteine
ae4b348d77 Make sure _Ex_PINS is defined
Also fix analogInputToDigitalPin so it uses proper C hex notation
2015-01-27 15:36:47 -08:00
Jérémie FRANCOIS
dd301be52d Added suport for multiline G-code commands in the LCD menus 2015-01-26 18:50:29 +01:00
MagoKimbra
986e723eeb Add 4th extruder 2015-01-24 13:37:58 +01:00
daid
53f971095d Revert "Reduce PROGMEM warnings" 2015-01-16 16:48:22 +01:00
Bo Herrmannsen
d4a665694a Merge pull request #1350 from odewdney/Development
Reduce PROGMEM warnings
2015-01-13 11:26:50 +01:00
odewdney
cd55a93a13 re-add blank line 2015-01-11 19:22:35 +00:00
odewdney
538859669d Removing compiler warnings for progmem 2015-01-11 18:14:21 +00:00
Alex Borro
422a958a34 Fix CoreXY speed calculation
For cartesian bots, the X_AXIS is the real X movement and same for
Y_AXIS.
But for corexy bots, that is not true. The "X_AXIS" and "Y_AXIS" motors
(that should be named to A_AXIS
and B_AXIS) cannot be used for X and Y length, because A=X+Y and B=X-Y.
So we need to create other 2 "AXIS", named X_HEAD and Y_HEAD, meaning
the real displacement of the Head.
Having the real displacement of the head, we can calculate the total
movement length and apply the desired speed.
2015-01-06 16:39:48 -02:00
odewdney
652895d656 try different proproc for CI failure 2015-01-04 11:15:23 +00:00
odewdney
39fae9e3a3 Fix progmem warning
Borrow code from https://github.com/arduino/Arduino/issues/1793
2015-01-03 21:30:16 +00:00
Alexander Hirzel
eed451e034 rework analogInputToDigitalPin definition 2015-01-02 11:14:20 -05:00
wgm4321
edac64e7d2 Add Filament menu and add Filament/Retract settings to config store. 2015-01-02 11:12:15 -05:00
Bo Herrmannsen
a18b625534 Merge pull request #1261 from wgm4321/Development
Add Filament menu and add Filament/Retract settings to config store.
2015-01-02 15:35:29 +01:00
Bernhard Kubicek
3d1da45f3e Update Marlin.h 2014-12-30 08:30:37 +01:00
bkubicek
d02daec08f fixed compilation 2014-12-30 08:04:06 +01:00
wgm4321
cb12161191 Add Filament menu and add Filament/Retract settings to config store. 2014-12-28 20:43:14 -05:00
Denis Chertykov
050ca9ca13 Move initialization of errormagic[] and echomagic[] to Marlin_main.cpp 2014-12-28 09:09:42 +03:00
Erik van der Zalm
058e446531 Merge pull request #1037 from filipmu/Filament-Sensor
Support for a filament diameter sensor
2014-10-11 22:56:01 +02:00
Scott Lahteine
f989bd5435 Simple code cleanup. Rename "homeing" to homing. 2014-10-05 13:20:53 -07:00
Filip Mulier
62db9848d3 Improvements and bug fixes in sensor delay buffer for filament sensor code
Improvement to avoid reinitializing delay buffer with every print. Fixed
issues in buffer indexing and memory out of bounds due to floating point
imprecision.  Simplified the code by avoiding conversion to standard
diameter and 1cu mm extrusion, which caused complications in determining
mm extruded.
2014-08-16 06:50:13 -05:00
Filip Mulier
85649a4549 Real-time filament diameter measurement and control
This feature allows the printer to read the filament diameter
automatically and adjust the printer in real time.  Added code to read
an analog voltage that represents a filament diameter measurement.  This
measurement is delayed in a ring buffer to compensate for sensors that
are a distance away from the extruder.  The measurement is used to
adjust the volumetric_multiplier for the extruder.  Some additional g
codes (M404, M405, M406, M407) are used to set parameters and turn
on/off the control. g code M221 is updated.  Pins for RAMPS1.4, RAMBO,
and Printrboard are identified for analog input.  The configuration file
is updated with relevant user parameters.
2014-08-06 19:30:57 -05:00
cocktailyogi
2f4a20257c imported last Marlin changes 2014-07-20 13:49:26 +02:00
cocktailyogi
512f2a3136 restore Branch from Backup
sorry for that
2014-06-23 17:09:57 +02:00
Dim3nsioneer
3c927901a4 Implementation of FW extruder change retract
FW retraction is extended onto swap retraction invoked by 'G10 S1'.
Bookkeeping of the retract state of all extruders allows for having one
extruder fw standard retracted while another extruder is swap retracted.
An LCD menu item for the swap retract and recover length was added.
2014-06-02 17:02:10 +02:00
Dim3nsioneer
3906f27c46 Individual extruder flow rate
Extension of M221, Tune menu
2014-03-15 18:09:46 +01:00