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 anos atrás
Scott Lahteine
23f05f8be7
Use bit-length types in block_t
8 anos atrás
Scott Lahteine
75dbb71dd7
Replace block.busy with a block.flag bit
8 anos atrás
Scott Lahteine
8e787304c9
const float ref args in planner.h
8 anos atrás
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 anos atrás
Scott Lahteine
8e1cc9332a
Replace block flag bools with flag bits
…and apply const to some method parameters
8 anos atrás
Scott Lahteine
5ce5a9c822
Marlin: planner.h tweak
8 anos atrás
Scott Lahteine
d963020532
Sort out some header dependencies
8 anos atrás
Scott Lahteine
c5cac486f5
Use a, b, c instead of lx, ly, lz
8 anos atrás
Josef Pavlik
f8c2473a71
Improve planner kinematics, fix delta ABL
8 anos atrás
Scott Lahteine
d19cfcfc1d
max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK
8 anos atrás
Scott Lahteine
ecf7cdde65
Augment planner/stepper getters/setters
8 anos atrás
Scott Lahteine
ea0dbee3c9
Enable ABL by type, support bilinear on cartesian
8 anos atrás
Scott Lahteine
22ece0081e
Pass array pointer to unapply_leveling
8 anos atrás
Scott Lahteine
cbc158eb62
Add a proper flag for ABL enabled
8 anos atrás
Scott Lahteine
6b9bf8e8fe
Add Planner::sync_from_steppers
Use to sync the planner after an interrupted move (when not overriding
the logical position).
8 anos atrás
Scott Lahteine
c109399bf6
Fix planner leveling and rename arguments
Use lx, ly, lz for “logical” positions
8 anos atrás
Scott Lahteine
9248cfb0ad
Bed leveling that accounts for home XYZ
8 anos atrás
Scott Lahteine
d554c1dda8
Clean up planner kernel pass methods
8 anos atrás
Scott Lahteine
b73203a0b7
Move some includes around to uncover missing deps
8 anos atrás
Scott Lahteine
f8b5749235
Replace division in planner with multiplication
9 anos atrás
Scott Lahteine
9f9fe043ba
Apply sq macro throughout
9 anos atrás
Scott Lahteine
93ba5bddd7
Append units to feedrate variables
9 anos atrás
Scott Lahteine
05da02f0a2
Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER
9 anos atrás
Scott Lahteine
ef3bef6b9e
Fix feedrate in gcode_T (max_feedrate is mm/s)
9 anos atrás
Scott Lahteine
6d62a4ffc8
Patch LIN_ADVANCE for style and forward-compatibility
9 anos atrás
Sebastianv650
fb8e880734
Add LIN_ADVANCE
9 anos atrás
Scott Lahteine
72c6f2923f
axis_steps_per_unit => axis_steps_per_mm
9 anos atrás
Scott Lahteine
446515ab79
Adjust spacing in block_t
9 anos atrás
Scott Lahteine
3b08eb1eeb
`acceleration_st` => `acceleration_steps_per_s2`
9 anos atrás
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`
9 anos atrás
Scott Lahteine
49ecaf774d
Rename some auto/locals to avoid name conflict
9 anos atrás
Scott Lahteine
47b5c55c29
Implement the delayed-move technique
9 anos atrás
Scott Lahteine
381bc6f0b0
set_position => set_position_mm
9 anos atrás
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?
9 anos atrás
Scott Lahteine
470d5ac09f
Apply static to Planner class
9 anos atrás
Scott Lahteine
5172d4ba40
COREYZ stepper, planner, endstop, babysteps
9 anos atrás
Scott Lahteine
516e79bbda
Declare extruder_duplication_enabled in Marlin.h
9 anos atrás
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
9 anos atrás
Scott Lahteine
96f51f400f
Planner singleton class
9 anos atrás
Scott Lahteine
0da744b7b0
Further cleanup of comments, partial Doxygen-style
Following up on #3231
9 anos atrás
jbrazio
5e5d250832
Added gplv3 header to all Marlin files
9 anos atrás
Scott Lahteine
4bbea5124d
Support for multiple PWM fans
9 anos atrás
Scott Lahteine
0c7f7ebcfb
Styling adjustments (PR#2668 & PR#2670)
Keep "astyled" reformatting
9 anos atrás
Richard Wackerbarth
6292d9e815
Rename ENABLE_AUTO_BED_LEVELING
With the introduction of the #if ENABLED(…)
reads better than
10 anos atrás
Scott Lahteine
bf6eb93c61
Overridable Options - Part 10 (PR#2562)
Apply `ENABLED` / `DISABLED` macros to planner files.
10 anos atrás
Andrew Lenharth
a0ae9e30df
don't pass integer by reference, inefficient. (PR#2547)
10 anos atrás
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 anos atrás
Scott Lahteine
ccddc280be
Apply three more commits
10 anos atrás
Scott Lahteine
1269c445ab
Catch dangerous extrude before trying several
10 anos atrás