Sebastianv650
f9bea7968f
BugFix for incorrect E-speed calculation
The extrusion speed was wrong due to a not high enough precision of
esteps to XY steps, therefore now the target float values are used to
calculate the ratio between XY movement and extrusion speed.
The e_speed_multiplier8 was replaced by an absolute multiplier called
abs_adv_steps_multiplier8, therefore one multiplication and bitshift can
be saved inside the stepper ISR. Due to this, also extruder_advance_k is
better suited inside the planner and not the stepper files any more.
8 years ago
Scott Lahteine
23f05f8be7
Use bit-length types in block_t
8 years ago
Scott Lahteine
75dbb71dd7
Replace block.busy with a block.flag bit
8 years ago
Scott Lahteine
8e787304c9
const float ref args in planner.h
8 years ago
Sebastianv650
c397b9d60a
Planner acceleration bugfix and speedup v2
.) Use already existing inverse_millimeters instead of /
block->millimeters.
.) Prevent overflow during acceleration calculation by checking if float
is necessary. Idea modified from Sailfish.
.) Save two uint32_t or even float multiplications by checking if
step[AXIS] has steps and if max acceleration is lower than accel. If
not, there is no need to check this axis.
8 years ago
Scott Lahteine
8e1cc9332a
Replace block flag bools with flag bits
…and apply const to some method parameters
8 years ago
Scott Lahteine
5ce5a9c822
Marlin: planner.h tweak
8 years ago
Scott Lahteine
d963020532
Sort out some header dependencies
8 years ago
Scott Lahteine
c5cac486f5
Use a, b, c instead of lx, ly, lz
8 years ago
Josef Pavlik
f8c2473a71
Improve planner kinematics, fix delta ABL
8 years ago
Scott Lahteine
d19cfcfc1d
max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK
8 years ago
Scott Lahteine
ecf7cdde65
Augment planner/stepper getters/setters
8 years ago
Scott Lahteine
ea0dbee3c9
Enable ABL by type, support bilinear on cartesian
8 years ago
Scott Lahteine
22ece0081e
Pass array pointer to unapply_leveling
8 years ago
Scott Lahteine
cbc158eb62
Add a proper flag for ABL enabled
8 years ago
Scott Lahteine
6b9bf8e8fe
Add Planner::sync_from_steppers
Use to sync the planner after an interrupted move (when not overriding
the logical position).
8 years ago
Scott Lahteine
c109399bf6
Fix planner leveling and rename arguments
Use lx, ly, lz for “logical” positions
8 years ago
Scott Lahteine
9248cfb0ad
Bed leveling that accounts for home XYZ
8 years ago
Scott Lahteine
d554c1dda8
Clean up planner kernel pass methods
8 years ago
Scott Lahteine
b73203a0b7
Move some includes around to uncover missing deps
8 years ago
Scott Lahteine
f8b5749235
Replace division in planner with multiplication
8 years ago
Scott Lahteine
9f9fe043ba
Apply sq macro throughout
8 years ago
Scott Lahteine
93ba5bddd7
Append units to feedrate variables
8 years ago
Scott Lahteine
05da02f0a2
Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER
8 years ago
Scott Lahteine
ef3bef6b9e
Fix feedrate in gcode_T (max_feedrate is mm/s)
8 years ago
Scott Lahteine
6d62a4ffc8
Patch LIN_ADVANCE for style and forward-compatibility
8 years ago
Sebastianv650
fb8e880734
Add LIN_ADVANCE
8 years ago
Scott Lahteine
72c6f2923f
axis_steps_per_unit => axis_steps_per_mm
8 years ago
Scott Lahteine
446515ab79
Adjust spacing in block_t
8 years ago
Scott Lahteine
3b08eb1eeb
`acceleration_st` => `acceleration_steps_per_s2`
8 years ago
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`
8 years ago
Scott Lahteine
49ecaf774d
Rename some auto/locals to avoid name conflict
8 years ago
Scott Lahteine
47b5c55c29
Implement the delayed-move technique
8 years ago
Scott Lahteine
381bc6f0b0
set_position => set_position_mm
8 years ago
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?
8 years ago
Scott Lahteine
470d5ac09f
Apply static to Planner class
8 years ago
Scott Lahteine
5172d4ba40
COREYZ stepper, planner, endstop, babysteps
8 years ago
Scott Lahteine
516e79bbda
Declare extruder_duplication_enabled in Marlin.h
8 years ago
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
8 years ago
Scott Lahteine
96f51f400f
Planner singleton class
8 years ago
Scott Lahteine
0da744b7b0
Further cleanup of comments, partial Doxygen-style
Following up on #3231
8 years ago
jbrazio
5e5d250832
Added gplv3 header to all Marlin files
8 years ago
Scott Lahteine
4bbea5124d
Support for multiple PWM fans
8 years ago
Scott Lahteine
0c7f7ebcfb
Styling adjustments (PR#2668 & PR#2670)
Keep "astyled" reformatting
9 years ago
Richard Wackerbarth
6292d9e815
Rename ENABLE_AUTO_BED_LEVELING
With the introduction of the #if ENABLED(…)
reads better than
9 years ago
Scott Lahteine
bf6eb93c61
Overridable Options - Part 10 (PR#2562)
Apply `ENABLED` / `DISABLED` macros to planner files.
9 years ago
Andrew Lenharth
a0ae9e30df
don't pass integer by reference, inefficient. (PR#2547)
9 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
9 years ago
Scott Lahteine
ccddc280be
Apply three more commits
9 years ago
Scott Lahteine
1269c445ab
Catch dangerous extrude before trying several
9 years ago