Scott Lahteine
8e1cc9332a
Replace block flag bools with flag bits
...
…and apply const to some method parameters
2016-10-10 23:17:49 -05:00
Scott Lahteine
5ce5a9c822
Marlin: planner.h tweak
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
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
d19cfcfc1d
max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK
2016-10-02 06:34:56 -05:00
Scott Lahteine
ecf7cdde65
Augment planner/stepper getters/setters
2016-09-29 01:27:37 -05:00
Scott Lahteine
ea0dbee3c9
Enable ABL by type, support bilinear on cartesian
2016-09-25 23:35:37 -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
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
c109399bf6
Fix planner leveling and rename arguments
...
Use lx, ly, lz for “logical” positions
2016-09-13 03:33:01 -05:00
Scott Lahteine
9248cfb0ad
Bed leveling that accounts for home XYZ
2016-09-10 13:47:21 -05:00
Scott Lahteine
d554c1dda8
Clean up planner kernel pass methods
2016-08-30 14:16:13 -05:00
Scott Lahteine
b73203a0b7
Move some includes around to uncover missing deps
2016-08-02 19:37:46 -07:00
Scott Lahteine
f8b5749235
Replace division in planner with multiplication
2016-07-24 13:27:49 -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
05da02f0a2
Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER
2016-07-17 10:53:10 -07:00
Scott Lahteine
ef3bef6b9e
Fix feedrate in gcode_T (max_feedrate is mm/s)
2016-06-16 16:03:14 -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
72c6f2923f
axis_steps_per_unit => axis_steps_per_mm
2016-06-09 17:04:51 -07:00
Scott Lahteine
446515ab79
Adjust spacing in block_t
2016-06-09 17:04:51 -07:00
Scott Lahteine
3b08eb1eeb
acceleration_st
=> acceleration_steps_per_s2
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
49ecaf774d
Rename some auto/locals to avoid name conflict
2016-06-07 15:38:45 -07:00
Scott Lahteine
47b5c55c29
Implement the delayed-move technique
2016-06-05 02:29:49 -07:00
Scott Lahteine
381bc6f0b0
set_position => set_position_mm
2016-06-02 17:16:19 -07:00
Scott Lahteine
ff53819856
Drop FORCE_INLINE in planner.h
...
This change actually does increase the binary size by about 12 bytes,
but how does it affect performance?
2016-05-30 17:18:28 -07:00
Scott Lahteine
470d5ac09f
Apply static to Planner class
2016-05-30 16:22:41 -07:00
Scott Lahteine
5172d4ba40
COREYZ stepper, planner, endstop, babysteps
2016-05-23 13:58:40 -07:00
Scott Lahteine
516e79bbda
Declare extruder_duplication_enabled in Marlin.h
2016-05-18 15:51:44 -07:00
Scott Lahteine
6398d497b3
Ultimate followup to Stepper/Planner patch
...
- Search all symbols and apply prefixes where needed
- Encapsulate some private methods
- Inline some setters
- Make `microstep_mode` a public method
2016-05-03 17:07:37 -07:00
Scott Lahteine
96f51f400f
Planner singleton class
2016-04-30 17:26:50 -07:00
Scott Lahteine
0da744b7b0
Further cleanup of comments, partial Doxygen-style
...
Following up on #3231
2016-03-25 00:45:56 -07:00
jbrazio
5e5d250832
Added gplv3 header to all Marlin files
2016-03-24 18:01:20 +00:00
Scott Lahteine
4bbea5124d
Support for multiple PWM fans
2016-03-19 03:10:18 -07:00
Scott Lahteine
0c7f7ebcfb
Styling adjustments (PR#2668 & PR#2670)
...
Keep "astyled" reformatting
2015-10-03 22:02:45 -05:00
Richard Wackerbarth
6292d9e815
Rename ENABLE_AUTO_BED_LEVELING
...
With the introduction of the #if ENABLED(…)
reads better than
2015-08-27 20:52:08 -05:00
Scott Lahteine
bf6eb93c61
Overridable Options - Part 10 (PR#2562)
...
Apply `ENABLED` / `DISABLED` macros to planner files.
2015-07-31 01:06:29 -05:00
Andrew Lenharth
a0ae9e30df
don't pass integer by reference, inefficient. (PR#2547)
2015-07-30 17:51:12 -05:00
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
2015-04-26 20:56:33 -07:00
Scott Lahteine
ccddc280be
Apply three more commits
2015-04-12 22:47:44 -07:00
Scott Lahteine
1269c445ab
Catch dangerous extrude before trying several
2015-04-09 01:40:48 -07:00
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
2015-03-28 20:33:21 -07:00
Scott Lahteine
88e81a4804
Latest upstream commits, plus fixes
...
- Also add Manual Bed Leveling to the rest of the configs
2015-03-21 16:12:57 -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
Edward Patel
8067a985ce
Merge branch 'Development' into manual-bed-leveling+mesh-bed-level
...
Fixed conflicts:
Marlin/planner.h
2015-03-17 22:48:08 +01:00
maverikou
8a739b6fba
Merge branch 'Development' into delta_auto_bed_level
...
Conflicts:
Marlin/Marlin_main.cpp
2015-03-16 08:24:26 +02:00
Edward Patel
0e51e53813
WIP. Adding bed leveling code.
2015-03-15 23:24:32 +01:00
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.
2015-03-11 13:19:02 -03: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
alexborro
d74aabf259
Revert "Change Auto_Bed_Leveling to Auto_Bed_Compensation"
2014-12-21 10:06:05 -02:00
John Davis
e99f24ff2f
Update planner.h
...
Changed level and leveling to compensation.
2014-12-19 17:51:14 -05:00
Scott Lahteine
07c6b5ab71
Using axis constants
2014-12-18 08:13:08 -08:00
Justin Nesselrotte
07c0eeee99
Fixed a comment in the planner
2014-06-01 19:04:41 -05:00
Alex Borro
253dfc4bc1
Bed Auto Leveling feature
...
Check the Readme for instruction how to enable and configure the feature
2013-09-29 13:20:06 -03:00
Scott Lahteine
5dabc95409
Apply all changes from latest Marlin_V1
...
Diffed and merged, preserving my updates
2013-06-06 15:49:25 -07:00
Simon Oliver
93f0463b21
Allow Edit menu to call fn after edit; Fix PID Ki and Kd display in menus; Actually use changed PID and Max Accel values
...
Add new 'callback' edit-menu types that call a function after the edit is done. Use this to display and edit Ki and Kd correctly (removing the scaling first and reapplying it after). Also use it to reset maximum stepwise acceleration rates, after updating mm/s^2 rates via menus. (Previously, changes did nothing to affect planner unless saved back to EEPROM, and the machine reset).
Add calls to updatePID() so that PID loop uses updated values whether set by gcode (it already did this), or by restoring defaults, or loading from EEPROM (it didn't do those last two). Similarly, update the maximum step/s^2 accel rates when the mm/s^2 values are changed - whether by menu edits, restore defaults, or EEPROM read.
Refactor the acceleration rate update logic, and the PID scaling logic, into new functions that can be called from wherever, including the callbacks.
Add menu items to allow the z jerk and e jerk to be viewed/edited in the Control->Motion menu, as per xy jerk.
Conflicts:
Marlin/language.h
2013-04-12 13:31:30 +02:00
Bernhard Kubicek
451f9cc6d1
Residual in the comments: there are no more mm/minutes but only mm/sec in the planner buffer.
2012-05-09 08:05:13 +03:00
Erik van der Zalm
e056bf8081
Added E-Jerk
2012-03-04 16:34:58 +01:00
Erik van der Zalm
aac7aa3bf0
Queued fan control. Issue #90
2012-03-04 13:05:26 +01:00
Daid
88d289caa1
Made plan_buffer_line arguments const, which optimizes better and fixes the RUNOUT_PREVENTION feature.
2012-02-29 11:38:12 +01:00
Erik van der Zalm
a0a1f81913
various changes
2012-02-21 20:17:28 +01:00
Bernhard
57f9359a41
simplified the includes, makefile now works with arduino23
2011-12-22 14:55:45 +01:00
Bernhard
3c1a4aac2b
header file simplification
2011-12-22 12:38:50 +01:00
Erik van der Zalm
84d9cf7339
merging
2011-12-12 20:35:46 +01:00
Bernhard
2bc5e7ec9e
prevent too long extrudes, or too cold extrudes
2011-12-09 15:09:52 +01:00
Bernhard
61c943b4bf
fixed the st_synchronize. it would have continued if there is only the last move of the buffer being stepped.
2011-12-09 12:32:31 +01:00
Denis B
4fd75dc813
Working version of multiple extruders (up to 3)
...
- The temperature control is pretty much complete
(not sure what to do w/ autotemp though)
Changed the pins assignment to clearly separate bed and extruder heaters
and temp sensors, changed a bit how termistor tables are handled.
- The steppers control is rudimentary
(only chanages what pins it uses depending on the active_extruder var,
but that's enough for switching extruder in the start.gcode in the
the profiles)
- Tested only w/ RAMPS 1.4
2011-12-06 00:09:16 -05:00
Erik van der Zalm
6b86f15686
More 2nd extruder implementation. (Not usable)
...
Advance (not tested)
2011-12-02 17:45:05 +01:00
Bernhard
0bc9daa4f7
make it compile with arduino 1.0 ; function is still untested.
2011-12-01 16:38:01 +01:00
Bernhard
b0c3871750
more fixing of the sanguino math round problem
2011-11-30 09:07:56 +01:00
Bernhard
311627141b
Merge branch 'smallopt' into Marlin_v1
...
Conflicts:
Marlin/temperature.h
2011-11-28 21:36:01 +01:00
Erik van der Zalm
f75f426dfa
Removed interrupt nesting in the stepper ISR.
...
Add serial checkRx in stepper ISR.
Copied HardwareSerial to MarlinSerial (Needed for checkRx).
2011-11-27 21:12:55 +01:00
Bernhard
26a1de1e44
force inline
2011-11-27 16:04:58 +01:00
Bernhard
f8e170a44b
planner optimization by inline functions
2011-11-27 14:57:12 +01:00
Erik van der Zalm
aad4b75b94
First parts 2nd extruder
2011-11-26 17:33:25 +01:00
Erik van der Zalm
c0f8c9fd72
Seperate ENDSTOP_INVERTING for X Y and Z
...
Added simple endstop filter.
Corrected M114 count display.
2011-11-25 13:43:06 +01:00
Bernhard Kubicek
5535e51bf6
Yes, thats the beta.
2011-11-20 17:04:57 +01:00
Bernhard Kubicek
379ea642e1
make tuneing sub-menu.
2011-11-20 16:05:42 +01:00
Erik van der Zalm
915ef2d4a1
Added software endstops
2011-11-19 21:32:47 +01:00
Bernhard Kubicek
8a08b8e07e
trying to get autotemp to work.
2011-11-19 15:37:10 +01:00
Bernhard Kubicek
a9c7da06e3
and changed ultipanel to have the mm/sec and not mm/min
...
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1
Conflicts:
Marlin/Marlin.pde
Marlin/ultralcd.h
2011-11-15 22:50:43 +01:00
Bernhard Kubicek
36958ee305
minor changes and first not-well working version of autotemp
2011-11-09 22:09:16 +01:00
Bernhard Kubicek
1d171e9e52
reformating and some minor bugs/things found on the way.
2011-11-06 19:23:08 +01:00
Bernhard Kubicek
00674af3a8
merge from the branch bkubicek/Marlin/zalmmerge
2011-11-05 14:13:20 +01:00
Erik van der Zalm
094afe7c10
Merged Marlin, Marlin non gen6 and Ultimaker changes
2011-11-04 18:02:56 +01:00