Sebastianv650
e3ffb58fbd
Save some cycle inside the planner
...
planner.h:
fan speed is used to set integer variables, so no need for long.
Basicaly a byte should be enough for all the fan things, as it's 0-255?
planner.cpp:
Save some float multiplications.
We could squeeze out even more by defining feedrate_percentage,
saved_feedrate_percentage and flow_percentage as float instead of int.
Everytime they are used in the time-critical planner, they are casted to
float and multiplied by 0.01. Not done jet, as they are used in LCD menu
functions I don't know well enough.
8 years ago
Scott Lahteine
f663220e87
Store Mix factors as reciprocals and multiply
8 years ago
Scott Lahteine
1864b282c5
Implement reversed CORE options
8 years ago
Scott Lahteine
0269347682
Merge pull request #5141 from thinkyhead/rc_old_slowdown_what
...
OLD_SLOWDOWN does nothing, so remove it
8 years ago
Sebastianv650
d448500643
Account for moves with negative E movements
...
Added a rule so that LIN_ADVANCE isn't used for moves with negative E movements (de_float will be negative in this cases).
I also added a more detailed comment to make it more clear what the if statement does.
8 years ago
Scott Lahteine
12167bc8f3
OLD_SLOWDOWN does nothing, so remove it
8 years ago
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
8dc7807d85
Add support for CoreYZ to planner.buffer_line
8 years ago
Scott Lahteine
1cf878fdb1
Calculate dm and e-steps earlier in planner
8 years ago
Scott Lahteine
75dbb71dd7
Replace block.busy with a block.flag bit
8 years ago
Scott Lahteine
c7f22f688f
buffer_line can calculate while it's waiting
8 years ago
Scott Lahteine
3fcf915808
Fix uninitialized var in reset_acceleration_rates
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
5f5a55a0de
Add a ZERO macro to clear arrays
8 years ago
Sebastianv650
9818d97587
Fix Z-hops during retract/prime lead to blobs
...
We don't want to have retract/prime movements done with LIN_ADVANCE, that's also true with simultaneously executed Z-hops.
8 years ago
esenapaj
1e1edeadd3
Fix for the commit dc2cb84
(Revert acceleration limiting to avoid overflow)
...
・Add forgotten '\'
8 years ago
Scott Lahteine
dc2cb8454c
Revert acceleration limiting to avoid overflow
8 years ago
Scott Lahteine
4d89652bc2
Apply minor optimizations to planner.cpp
8 years ago
Scott Lahteine
1092319b19
Adapt speed/jerk code based on Prusa MK2 branch
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
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
761593b74b
Cleanup some vars, use of min/max
8 years ago
Scott Lahteine
d19cfcfc1d
max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK
8 years ago
Scott Lahteine
e7dc174f30
More detailed debugging of G28 delta
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
c6142aa2a1
Minor cleanups in Marlin_main.cpp
8 years ago
Scott Lahteine
0427f3cc3b
Use memcpy/memset in planner
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
be11a8a938
Fix debug in Planner::buffer_line
8 years ago
Scott Lahteine
6335acbf5c
Patch bug in linear unapply_leveling
8 years ago
Scott Lahteine
77639672d7
Move NONLINEAR bed leveling to planner
...
This is in advance of moving non-linear bed leveling to the planner
class.
8 years ago
Scott Lahteine
9429c7db89
Use ABC indices in delta[]
8 years ago
Scott Lahteine
c109399bf6
Fix planner leveling and rename arguments
...
Use lx, ly, lz for “logical” positions
8 years ago
Scott Lahteine
6ab54c60b1
Add conditionals for kinematics, leveling
8 years ago
Scott Lahteine
9248cfb0ad
Bed leveling that accounts for home XYZ
8 years ago
Scott Lahteine
6ac9d895ca
Tweak Filament Width variables
8 years ago
Scott Lahteine
d554c1dda8
Clean up planner kernel pass methods
8 years ago
Scott Lahteine
a485a19052
Added optional planner logging
8 years ago
Scott Lahteine
ab59280075
MIN_SEGMENTS_FOR_MOVE => MIN_STEPS_PER_SEGMENT
...
Follow-up to #4666
8 years ago
Scott Lahteine
27b80b1dd1
Merge pull request #4667 from thinkyhead/rc_M211_sw_endstop_switch
...
M211: Enable/Disable Software Endstops
8 years ago
Scott Lahteine
2f223b8c79
Use ABC and XYZ for "3"
8 years ago
Scott Lahteine
01d4703429
PREVENT_DANGEROUS_EXTRUDE => PREVENT_COLD_EXTRUSION
...
Also improve the documentation of this and related options, and set
EXTRUDE_MINTEMP to 170 everywhere.
8 years ago
Scott Lahteine
374f8d2014
dropsegments => MIN_SEGMENTS_FOR_MOVE
8 years ago
Scott Lahteine
628dcbc764
extruder_multiplier => flow_percentage
8 years ago
Scott Lahteine
b73203a0b7
Move some includes around to uncover missing deps
9 years ago
Scott Lahteine
d8945e8464
Fix Z_HEAD index for COREYZ
9 years ago
Scott Lahteine
f83369b79c
Update refresh_positioning - no need for obj ref
9 years ago
Scott Lahteine
844a4e799e
Account for DELTA in Planner::refresh_positioning
9 years ago
Scott Lahteine
753283e020
inverse_second => inverse_mm_s
9 years ago
Scott Lahteine
83e1d90ca3
Undo errant optimization of block->millimeters
9 years ago
Scott Lahteine
169c21b477
Merge pull request #4402 from thinkyhead/rc_consistent_positioning
...
Account for coordinate space offsets
9 years ago
Scott Lahteine
d8e5af6834
Use RAW_POSITION for MBL in planner.set_position_mm
9 years ago
Scott Lahteine
d8f2876753
Replace some float division with multiplication
9 years ago
Scott Lahteine
ddde785b37
Code formatting in planner.cpp
9 years ago
Scott Lahteine
f8b5749235
Replace division in planner with multiplication
9 years ago
Scott Lahteine
b921f6b69d
Optimize calculation of block->millimeters for DELTA
9 years ago
Scott Lahteine
3e2b3353b0
Fix axis indices for COREYZ
9 years ago
Scott Lahteine
4e67a85a5d
Macros to loop over axes
9 years ago
Scott Lahteine
4226f56f53
Revert the planner acceleration logic somewhat
9 years ago
Scott Lahteine
209f5c03d0
Fewer temporary vars in planner accel limit
9 years ago
Scott Lahteine
9f9fe043ba
Apply sq macro throughout
9 years ago
Scott Lahteine
93ba5bddd7
Append units to feedrate variables
9 years ago
Scott Lahteine
05da02f0a2
Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER
9 years ago
Scott Lahteine
0554b65d22
Merge pull request #4284 from thinkyhead/rc_serial_ln_macros
...
Sled-probe sanity fix, conditionals for remaining types of leveling
9 years ago
Scott Lahteine
e974ac63ef
Init matrix in planner.init
9 years ago
esenapaj
58177a1602
Suppress warnings
9 years ago
João Brázio
664232140d
Fixes somes compiler warnings
9 years ago
Scott Lahteine
ef3bef6b9e
Fix feedrate in gcode_T (max_feedrate is mm/s)
9 years ago
Scott Lahteine
6d62a4ffc8
Patch LIN_ADVANCE for style and forward-compatibility
9 years ago
Sebastianv650
fb8e880734
Add LIN_ADVANCE
9 years ago
Scott Lahteine
72c6f2923f
axis_steps_per_unit => axis_steps_per_mm
9 years ago
Scott Lahteine
80ab749563
Rename acceleration locals for clarity
9 years ago
Scott Lahteine
3b08eb1eeb
`acceleration_st` => `acceleration_steps_per_s2`
9 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`
9 years ago
Reid Rankin
16212432c9
G20/21 and M149 support, and code_value() refactor
...
This is an update of MarlinDev PR #196 .
G20/21: support for switching input units between millimeters and
inches.
M149: support for changing input temperature units.
In support of these changes, code_value() and code_value_short() are
replaced with an array of functions which handle converting to the
proper types and/or units.
9 years ago
Scott Lahteine
49ecaf774d
Rename some auto/locals to avoid name conflict
9 years ago
Scott Lahteine
c2362c1b3c
Apply Marlin coding standards to MBL class
9 years ago
Edward Patel
c06de0f097
MBL: Added keeping MBL active when homing single axises for #3750
9 years ago
Scott Lahteine
381bc6f0b0
set_position => set_position_mm
9 years ago
Scott Lahteine
470d5ac09f
Apply static to Planner class
9 years ago
Scott Lahteine
5172d4ba40
COREYZ stepper, planner, endstop, babysteps
9 years ago
esenapaj
1a97442d19
Follow-up the PR #3643(Temperature singleton)
...
Follow-up the PR #3643(Temperature singleton)
・Change from fanSpeedSoftPwm[0] to thermalManager.fanSpeedSoftPwm[0] in planner.cpp
It fix compilation error when FAN_SOFT_PWM is enabled.
・Remove declaration of setExtruderAutoFanState() in temperature.h
Because that function was abolished.
・Change from babystepsTodo to thermalManager.babystepsTodo in ultralcd.cpp
It fix compilation errors when BABYSTEPPING is enabled.
9 years ago
Scott Lahteine
084f6b5b44
Temperature singleton class
9 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
9 years ago
Scott Lahteine
7fd0243048
Cleanup, debug strings in Planner::adjusted_position
9 years ago
Scott Lahteine
96f51f400f
Planner singleton class
9 years ago
Scott Lahteine
5e4e535ce8
Stepper and Endstops as singleton objects
9 years ago
Scott Lahteine
e38baaa23e
Fix an acceleration anomaly by making locals signed
9 years ago
Scott Lahteine
fce1e843b9
Patch steps rate comment in trapezoid function
9 years ago
Scott Lahteine
a4062a47ac
Rename baricuda variables
9 years ago
Scott Lahteine
c5a2ce4366
Merge pull request #3446 from thinkyhead/rc_fixup_M206_and_mesh
...
Fix home_offset handling and account for it in G29
9 years ago
Scott Lahteine
b1bb1c7989
Merge pull request #3466 from thinkyhead/rc_look_for_leveling_bug
...
Add CORE support to st_set_position and plan_set_position
9 years ago
Scott Lahteine
e087a99a10
Some cleanup of st_get_pos functions
9 years ago
Scott Lahteine
386140f361
Test time difference in safe way
9 years ago
Scott Lahteine
1b7356b3a1
Account for home_offset in G29 handler
9 years ago
Scott Lahteine
865dcf3fb4
Fix FILAMENT_WIDTH_SENSOR measurement
...
Only measure and store filament width when E is going forward.
9 years ago