123 Commits (54deb9eea366295100ab9c0c9105dbb841cc826e)

Author SHA1 Message Date
Scott Lahteine 35493e1af9 Tweak to planner.cpp position.debug 10 years ago
Scott Lahteine 0fca084ea6 Make EEPROM reproducible in GCode
With these changes the output of `M503 S0` is all you need to restore
the EEPROM. Building on this it is straightforward to save and restore
the EEPROM state using the SD card or external GCode file.

- Added `M145` to set “heatup states” for the LCD menu
- Added `M420` to toggle Mesh Bed Leveling
- Added `M421` to set a single Mesh coordinate
- Extended `Config_PrintSettings` with added M codes
- Cleaned up some comments here and there
10 years ago
Scott Lahteine 3f02da646c Make sure axis_active is cleared for #1908 10 years ago
Scott Lahteine ccddc280be Apply three more commits 10 years ago
Scott Lahteine 8857b9e921 Use the extruder argument in plan_buffer_line 10 years ago
Scott Lahteine 1269c445ab Catch dangerous extrude before trying several 10 years ago
Scott Lahteine 3162971cd6 current_position not static 10 years ago
Scott Lahteine 1d291be2ba Fix de after PREVENT_DANGEROUS_EXTRUDE
- Set `de` to 0 when `position[E] = target[E]`
- Address regression mention in #1846
10 years ago
Scott Lahteine c185912c19 Latest upstream commits, mostly 10 years ago
Scott Lahteine e0d4368cb5 Minor code cleanup, move NUM_AXIS out of config 10 years ago
Scott Lahteine b98ebd517e disable / enable_all_steppers functions 10 years ago
Scott Lahteine 0e8182bbf2 Additional pin tests, cleanup 10 years ago
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.
10 years ago
Scott Lahteine afff968e88 ARRAY_BY_EXTRUDERS, shorthand to sync planner
- Add some documentation to planner and stepper headers
- Patch up RAMBO pins with undefs
- Add `sync_plan_position` inline to set current XYZE
- Swap indices in `extruder_offset` to fix initialization values
10 years ago
Scott Lahteine 19d418cd6a Fix up the code to eliminate warnings 10 years ago
Scott Lahteine 88e81a4804 Latest upstream commits, plus fixes
- Also add Manual Bed Leveling to the rest of the configs
10 years ago
Scott Lahteine af14c684b5 Minor optimizations to planner code
- Prefetch values used more than once
10 years ago
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
10 years ago
Edward Patel 8067a985ce Merge branch 'Development' into manual-bed-leveling+mesh-bed-level
Fixed conflicts:
	Marlin/planner.h
10 years ago
maverikou 8a739b6fba Merge branch 'Development' into delta_auto_bed_level
Conflicts:
	Marlin/Marlin_main.cpp
10 years ago
Edward Patel 8005d22c81 Added menu option for bed leveling. 10 years ago
Edward Patel 0e51e53813 WIP. Adding bed leveling code. 10 years ago
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
10 years ago
alexborro c0b6075f77 Fix max acceleration limits in planner
The max acceleration limiting was in wrong place.
10 years ago
alexborro 9157cbd8f3 Add Travel Acceleration and change the M204 options
Added option to set Travel Acceleration (non printing moves).
The M204 options was a non sense (S for printing moves and T for retract
moves).

It has been changed to:
P = Printing moves
R = Retract only (no X, Y, Z) moves
T = Travel (non
printing) moves

I will add this info o G-Code wiki in reprap.org. I also advise to put
this info in Marlin next version changelog.
10 years ago
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.
10 years ago
alexborro afc737ca0c Fix CoreXY Homing Routine.
Fixed how stepper ISR figure it out when the head (extruder) is going to
Min or Max direction.
Added Homing to Max Endstops.
10 years ago
MagoKimbra 986e723eeb Add 4th extruder 10 years ago
daid 53f971095d Revert "Reduce PROGMEM warnings" 10 years ago
Bo Herrmannsen d4a665694a Merge pull request #1350 from odewdney/Development
Reduce PROGMEM warnings
10 years ago
odewdney 538859669d Removing compiler warnings for progmem 10 years ago
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.
10 years ago
alexborro d74aabf259 Revert "Change Auto_Bed_Leveling to Auto_Bed_Compensation" 10 years ago
John Davis ac204028e7 Update planner.cpp
Changed level and leveling to compensation
10 years ago
Scott Lahteine 07c6b5ab71 Using axis constants 10 years ago
Erik van der Zalm 058e446531 Merge pull request #1037 from filipmu/Filament-Sensor
Support for a filament diameter sensor
10 years ago
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.
11 years ago
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.
11 years ago
midopple 17aa67e4ea If the option DISABLE_INACTIVE_EXTRUDER ist active the extruder switch to early to inactive because there are some moves in the buffer. So the planner wait 32 moves to disable the unused extruder. 11 years ago
Dim3nsioneer 8a32c5395b renaming the disable inactive extruder feature 11 years ago
Dim3nsioneer 29e7639933 Add switch unused feeder(s) off
Having the non-active feeder motors powered on all the time is not
necessary. A feature to deactivate the unused feeder motors has been
implemented. The feature is enabled on default but can be switched off
in the configuration.
11 years ago
whosawhatsis 856edfcc0d Fixed math
This is why I wanted to sleep on the code I wrote while falling asleep
rather than immediately submitting a pull request.
11 years ago
whosawhatsis d24df7af2c M200 implementation 11 years ago
fsantini 6ae7f7870d Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into ErikZalm
Conflicts:
	Marlin/Configuration.h
	Marlin/Marlin_main.cpp
11 years ago
Erik van der Zalm 8349fc89a4 Fixed planner bug 11 years ago
fsantini b64661070e Fixed the plane vector equation to a simpler one (only dependent on the normal)
Removed the calculation of the inverse matrix since the rotation matrix is orthogonal, therefore inverted == transposed.
Much simpler and mathematically robust.
11 years ago
Alex Borro 253dfc4bc1 Bed Auto Leveling feature
Check the Readme for instruction how to enable and configure the feature
11 years ago
Erik van der Zalm ff6fa09ecf Moved corexy implementation from stepper to planner
(Thanks iquizzle)
12 years ago
Erik van der Zalm c8dcc7c208 Allow increasing the software PWM frequency. 12 years ago
Erik van der Zalm 971ec35135 Expanded M302 to allow setting the temp 12 years ago