328 Commits (283d15a8d04ac40f53119058339f14577b1be25e)

Author SHA1 Message Date
Scott Lahteine 3391c785c6 Support for distinct E factors 8 years ago
Scott Lahteine 0dfe95eaba Adjust formatting in Planner 8 years ago
Scott Lahteine 84ff78c1e3 Pass the fade factor to mbl.get_z 8 years ago
Scott Lahteine 8d14420331 Fix compile without ENABLE_LEVELING_FADE_HEIGHT 8 years ago
Scott Lahteine 092e949b58 Merge pull request #5169 from thinkyhead/rc_core_inverted
Support for COREYX, COREZX, COREZY
8 years ago
Scott Lahteine e9e4208ff1 Merge pull request #5274 from Sebastianv650/improve_smooth_moves
Improvement for ENSURE_SMOOTH_MOVES
8 years ago
Scott Lahteine f6f77d34a1 Add a fade factor for mesh leveling 8 years ago
Sebastianv650 8190483eeb Improvement for ENSURE_SMOOTH_MOVES
Instead of waiting for a single long block, compare the complete block
buffer runtime for the long_move() check.
8 years ago
Sebastianv650 de89dc9f04 Ensure smooth print moves even with LCD enabled
lcd_update can take so much time that the block buffer gets drained if
there are only short segments. This leads to jerky printer movements for
example in circles and a bad print quality.

This change implements a simple check: Only if the block currently
executed is long enough, run lcd_update.
This also means the printer will not show actual values on the LCD nor
will it respond to buttons pressed. A option that keeps the menu
accessible is also available.
Aditionaly, slow down if a block would be so fast that adding a new
block to the buffer would take more time. In this case, the buffer would
drain until it's empty in worst case.
8 years ago
Florian Heilmann d08867986e Add autotemp capabilities to M104
This allows M104 to pass the F and B parameters to enable autotemp as well
8 years ago
Sebastianv650 c11b2bb777 Bugfix LIN_ADV
Advance has nothing todo with Z_AXIS, strange copy&paste error?
8 years ago
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 8 years ago
Scott Lahteine d8945e8464 Fix Z_HEAD index for COREYZ 8 years ago
Scott Lahteine f83369b79c Update refresh_positioning - no need for obj ref 8 years ago
Scott Lahteine 844a4e799e Account for DELTA in Planner::refresh_positioning 8 years ago
Scott Lahteine 753283e020 inverse_second => inverse_mm_s 8 years ago
Scott Lahteine 83e1d90ca3 Undo errant optimization of block->millimeters 8 years ago
Scott Lahteine 169c21b477 Merge pull request #4402 from thinkyhead/rc_consistent_positioning
Account for coordinate space offsets
8 years ago
Scott Lahteine d8e5af6834 Use RAW_POSITION for MBL in planner.set_position_mm 8 years ago
Scott Lahteine d8f2876753 Replace some float division with multiplication 8 years ago
Scott Lahteine ddde785b37 Code formatting in planner.cpp 8 years ago
Scott Lahteine f8b5749235 Replace division in planner with multiplication 8 years ago
Scott Lahteine b921f6b69d Optimize calculation of block->millimeters for DELTA 8 years ago
Scott Lahteine 3e2b3353b0 Fix axis indices for COREYZ 8 years ago
Scott Lahteine 4e67a85a5d Macros to loop over axes 8 years ago
Scott Lahteine 4226f56f53 Revert the planner acceleration logic somewhat 8 years ago
Scott Lahteine 209f5c03d0 Fewer temporary vars in planner accel limit 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 0554b65d22 Merge pull request #4284 from thinkyhead/rc_serial_ln_macros
Sled-probe sanity fix, conditionals for remaining types of leveling
8 years ago
Scott Lahteine e974ac63ef Init matrix in planner.init 8 years ago
esenapaj 58177a1602 Suppress warnings 8 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