Scott Lahteine
4c872a01f2
G-code queue singleton, front injection ( #14236 )
2019-06-19 00:00:19 -05:00
Scott Lahteine
0ca2073625
ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED => SD_ABORT_ON_ENDSTOP_HIT
2019-06-10 17:28:35 -05:00
Scott Lahteine
ad4ffa1d2f
Use C++ language supported 'nullptr' ( #13944 )
2019-05-09 11:45:55 -05:00
Marcio Teixeira
15357af67c
Backlash cleanup ( #13659 )
...
…And save backlash, fil. sensor, ExtUI userdata to EEPROM.
2019-05-03 23:53:15 -05:00
Scott Lahteine
49cf92dc36
Extended condition macros ( #13419 )
...
Allow `ENABLED`, `DISABLED`, `PIN_EXISTS`, and `BUTTON_EXISTS` to take multiple arguments. Also add:
- Alias `ANY(...)` for `!DISABLED(...)`
- Alias `ANY_PIN(...)` for `PIN_EXISTS(a) || PIN_EXISTS(b) ...`
- Alias `EITHER(A,B)` for `ANY(...)`
- Alias `ALL(...)` and `BOTH(A,B)` for `ENABLED(...)`
- `NONE(...)` for `DISABLED(...)`
2019-03-16 23:43:06 -05:00
Scott Lahteine
0feeef2604
Update copyright in headers
2019-02-12 15:30:11 -06:00
Scott Lahteine
6de3d34378
M166 Gradients, LCD Menu for 2-channel Mixer (Geeetech A10M/A20M) ( #13022 )
2019-02-10 04:54:23 -06:00
Scott Lahteine
a5e3384691
Pre-apply cosmetic changes to mixing
2019-02-03 01:09:14 -06:00
Scott Lahteine
19fea772e5
Use E_AXIS_N where it makes sense
2019-01-11 19:42:34 -06:00
Marcio Teixeira
6a8fb0f25f
Simplify backlash compensation code. ( #12813 )
...
- Use `TEST(dm,axis)` to determine directions instead of doing comparisons.
- Remove recomputation of `millimeters` and `delta_mm` since backlash compensation should not affect the distance over which material is extruded.
2019-01-04 13:30:56 -06:00
Marcio Teixeira
b22716e938
M425 Backlash Correction ( #11061 )
2018-12-08 14:36:46 -06:00
Jacob Jordan
8be91677df
Fix Skew factors ( #12555 )
...
- Ensure Skew factors are calculated from test square measurements
2018-11-29 11:39:31 -06:00
Marcio Teixeira
056561df93
[2.0.x] Enhancements to FILAMENT_RUNOUT_SENSOR ( #12069 )
...
- Added FILAMENT_RUNOUT_DISTANCE_MM option
- Added FILAMENT_MOTION_SENSOR option
2018-10-16 07:28:52 -05:00
AnHardt
f56968ba0b
New Continuous Filament Mixer ( #12098 )
2018-10-16 03:38:57 -05:00
Scott Lahteine
d556dc1865
Fix and improve EEPROM storage ( #12054 )
...
* Clean up Temperature PID
* Improve EEPROM read/write/validate
* Group `SINGLENOZZLE` saved settings
* Group planner saved settings
* Group filament change saved settings
* Group skew saved settings
* Group `FWRETRACT` saved settings
2018-10-10 09:45:20 -05:00
Scott Lahteine
d6b0fbd771
Use uint8_t for all fan speeds ( #12032 )
2018-10-07 15:34:41 -05:00
Scott Lahteine
c5e5cc5e9f
Fix some trailing whitespace, macros
2018-09-17 17:30:04 -05:00
Thomas Moore
c437bb08f1
Overhaul of the planner ( #11578 )
...
- Move FWRETRACT to the planner
- Combine leveling, skew, etc. in a single modifier method
- Have kinematic and non-kinematic moves call one planner method
2018-09-16 21:24:15 -05:00
Scott Lahteine
d882717d98
Save some PROGMEM with constexpr ( #11798 )
...
When possible, make `active_extruder` a `constexpr` to save some PROGMEM.
2018-09-10 23:09:26 -05:00
Sam Lane
4f883d5971
[2.0.x] Extruder-Distinct Linear Advance K Factors ( #11789 )
2018-09-10 22:37:32 -05:00
Scott Lahteine
a4b0148365
Easier to find 'static inline'
2018-08-13 23:55:33 -05:00
etagle
1367df2875
Replace double with float, optimize calculation
2018-07-04 22:28:56 -05:00
Scott Lahteine
8eaac0dab3
Add delta feedrate scaling ( #11153 )
2018-06-30 13:44:27 -05:00
Scott Lahteine
bd7f5848f1
Remove JUNCTION_DEVIATION_INCLUDE_E option ( #11147 )
2018-06-29 22:42:05 -05:00
Eduardo José Tagle
edb21f349a
Fix stepper/planner block handling, race conditions ( #11098 )
...
- Allow planner to alter the deceleration phase of the currently executing block.
- Remove BUSY flag, as it is NON ATOMIC to set bits in the Stepper ISR and Planner at the same time.
2018-06-27 18:11:16 -05:00
Andy Shaw
3b3029c4bf
Make max_e_jerk an array to reduce CPU usage ( #11118 )
2018-06-26 22:38:31 -04:00
Scott Lahteine
50b6204079
Fix LIN_ADVANCE max_e_jerk_factor
...
According to https://github.com/MarlinFirmware/Marlin/issues/9917#issuecomment-399204568
2018-06-21 22:02:34 -04:00
Scott Lahteine
9d04f47d98
Improvements for junction_deviation_mm
...
- Drop `max_jerk` with `JUNCTION_DEVIATION`
- Add `max_e_jerk_factor` for use by `LIN_ADVANCE`
- Recalculate `max_e_jerk_factor` when `junction_deviation_mm` changes
- Fix LCD editing of `junction_deviation_mm`
2018-06-11 22:05:16 -05:00
Scott Lahteine
a2f521d34b
Add Junction Deviation mm runtime setting ( #10990 )
2018-06-10 18:02:54 -05:00
etagle
39a7e7720d
Adaptive multiaxis step smoothing
...
- Stepper bugs fixed
- Support MIXING_EXTRUDER with Linear Advance
- Miscellaneous cleanup
2018-06-10 16:02:47 -05:00
Scott Lahteine
2deff0d9b9
Fix/Improve junction deviation
...
- Respect axis max acceleration limits instead of forcing a fixed acceleration value.
- The `junction_unit_vec` ensures proper handling of entry and exit speeds even when the axes involved have different limits.
2018-05-31 20:09:53 -05:00
Scott Lahteine
d259070980
Clean up trailing spaces from vim, etc.
2018-05-31 00:09:41 -05:00
Scott Lahteine
aaaf09bda2
BEZIER_JERK_CONTROL => S_CURVE_ACCELERATION
2018-05-26 18:33:51 -05:00
Scott Lahteine
435ecb6b67
Followup to stepper/planner refactor
2018-05-20 23:13:38 -05:00
etagle
a4af975873
Fix planner block optimization
...
- Fixed the planner incorrectly avoiding optimization of the block following the active one.
- Added extra conditions to terminate planner early and avoid redundant computations.
2018-05-20 07:10:24 -05:00
etagle
e0ca627033
Planner block HOLD flag
...
Allows the Stepper ISR to wait until a given block is free for use. Allows Planner to plan the first move, which is split into two.
2018-05-20 06:23:58 -05:00
etagle
a11eb50a3e
Refactor and optimize Stepper/Planner
...
Better encapsulation and considerably reduce stepper jitter
2018-05-20 06:23:58 -05:00
Scott Lahteine
99ecdf59af
Smarter MIN, MAX, ABS macros
...
Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`.
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-13 04:52:56 -05:00
Scott Lahteine
8f8c6a9bc4
Move get_axis_position_mm to Planner ( #10718 )
2018-05-12 09:59:11 -05:00
Scott Lahteine
306f0f2135
Move Stepper::synchronize to Planner ( #10713 )
...
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-12 01:38:02 -05:00
Scott Lahteine
a225d2e99e
Fix compilation with UBL and Arc/Bézier
...
Fix #10660
2018-05-09 00:40:37 -05:00
Scott Lahteine
19f189b4e5
Add UBL support for G2/G3 and G5 ( #10648 )
2018-05-08 11:10:45 -05:00
Scott Lahteine
af1950a63e
Improve sync of stepper positions
2018-05-06 01:24:14 -05:00
Scott Lahteine
d7b699ec34
Fewer includes of vector_3.h
2018-05-01 07:05:18 -05:00
Scott Lahteine
36b97bde9f
clear_block_buffer, kill_current_block in quick_stop
2018-04-13 22:04:53 -05:00
Eduardo José Tagle
57a899a412
[2.0.x] 6th-order jerk-controlled motion planning in real-time for AVR ( #10373 )
2018-04-11 18:13:42 -05:00
etagle
a29adde5c0
Implement BEZIER_JERK_CONTROL
...
Enable 6th-order jerk-controlled motion planning in real-time.
Only for 32bit MCUs. (AVR simply does not have enough processing power for this!)
2018-04-07 21:03:28 -05:00
Scott Lahteine
e8e60263c8
Scale feedrate (mm/s to deg/s) for SCARA
2018-04-06 19:47:48 -05:00
Scott Lahteine
1cb810ff1c
[2.0.x] Automatically reset stepper timeout ( #10179 )
...
* Automatically reset stepper timeout in manage_inactivity
Any code that adds moves to the planner can skip resetting the stepper timeout. We can let `idle` / `manage_inactivity` reset the timer whenever it detects any moves in the planner.
* blocks_queued => has_blocks_queued
2018-03-21 19:30:06 -05:00
Scott Lahteine
2057177184
Make enums into implicit char
2018-03-06 23:39:56 -06:00
Scott Lahteine
930720bbbb
Fix broken reverse planner ( #9943 )
...
From #9914 by @Sebastianv650
2018-03-04 21:19:06 -06:00
Scott Lahteine
2bd252b501
[2.0.x] LIN_ADVANCE v1.5 ( #9712 )
2018-02-23 00:53:29 -06:00
Thomas Moore
786746404b
[2.0.x] Apply feedrate to nozzle movement for kinematic machines ( #8778 )
2018-02-04 00:26:05 -06:00
Scott Lahteine
4f5e087ff4
Planner anti-stutter by Sebastian Popp
2018-01-14 21:07:10 -06:00
Scott Lahteine
5bc2acc072
Restore position_float to fix LIN_ADVANCE
2017-12-21 16:45:46 -06:00
Scott Lahteine
933f76fda3
Option to disable all volumetric extrusion
2017-12-19 19:51:25 -06:00
Scott Lahteine
09d13f186f
Correct unskew, after all
2017-12-15 14:24:20 -06:00
Scott Lahteine
368c124de8
Fix Planner::unskew parity with skew
2017-12-13 17:46:48 -06:00
Scott Lahteine
cf2193c07f
Comment, fix filament width sensor
2017-12-13 02:32:34 -06:00
Scott Lahteine
3255712343
Skew Correction for UBL
...
Also remove unused grid slicing function when using UBL segmented.
2017-12-11 03:08:15 -06:00
Scott Lahteine
3db5303bfe
_buffer_line => buffer_segment
2017-12-11 00:27:06 -06:00
Scott Lahteine
73e32925e4
References are better for array args
2017-12-11 00:27:06 -06:00
AnHardt
b3daf6b5db
[2.0.x] better reverse pass ( #8722 )
...
* repair reverse_pass()
And make it readeble.
This was broken a long time ago.
Not competely unfunctional but far from optimal.
* Minor speedup when calling calculate_trapezoid_for_block
2 float / to 1 foat / and 2 float *
* Various style changes
2017-12-08 21:38:45 -06:00
Scott Lahteine
85c6ffbe0d
Discard all "continued" blocks on interrupted move
2017-12-08 02:32:58 -06:00
Scott Lahteine
de3d3b9cb1
Put FORCE_INLINE before static
2017-12-08 00:46:22 -06:00
Scott Lahteine
840289e7cc
Use block cleaning instead of split flag
2017-12-06 22:22:58 -06:00
AnHardt
a993c5227d
Don't split first_move while homing or probing
...
While homing or probing it might be bad if the stop/trobe triggers during the first part and the second is still in the buffer.
2017-12-06 14:13:05 +01:00
Scott Lahteine
a2372cfab5
Fix SKEW_CORRECTION without leveling
2017-12-05 18:48:34 -06:00
Scott Lahteine
4b612f590c
Split first move to planner for better chaining
2017-12-04 15:27:47 -06:00
Scott Lahteine
dd8febca1a
Revert "Merge pull request #8611 from thinkyhead/bf2_planner_split_first"
...
This reverts commit 824980e70e
, reversing
changes made to aa7efb96bf
.
2017-12-03 17:50:19 -06:00
Scott Lahteine
3a97de52ef
Split first move to planner for better chaining
...
Address #8573 , #8595
2017-12-03 01:27:14 -06:00
Scott Lahteine
8056120195
Rename inverse_mm_s => inverse_secs
2017-12-02 20:28:09 -06:00
Scott Lahteine
000b3b3117
Comment/cleanup of motion code
2017-12-02 01:09:55 -06:00
Scott Lahteine
0154e3480c
New feature: BED_SKEW_CORRECTION
2017-12-01 19:39:49 -06:00
Scott Lahteine
dd3ce40826
Drop Planner::position_float, use int types
2017-11-30 17:43:31 -06:00
Scott Lahteine
a52fec6ac4
Planner class parity with 1.1.x
2017-11-30 15:55:08 -06:00
Scott Lahteine
60adc6ff02
Display filwidth ratio in terms of E mm
2017-11-18 07:01:49 -06:00
Scott Lahteine
1e8afb66b7
Fix a planner comment
2017-11-16 16:57:47 -06:00
Scott Lahteine
cba9c1cf9e
Add pre-calculated planner.e_factor
2017-11-10 03:14:24 -06:00
Scott Lahteine
0cfb936dd1
Clarify some motion code
2017-11-08 22:15:55 -06:00
Scott Lahteine
f8393a0908
Operate in Native Machine Space
2017-11-04 00:05:38 -05:00
Scott Lahteine
3e8754a38a
Add/correct time units on planner vars / M205 B
2017-10-29 18:47:21 -05:00
Scott Lahteine
0ceec1f166
Fix leveling_active_at_z warning
2017-10-26 22:22:54 -05:00
Scott Lahteine
3e3911fb81
Use planner.leveling_active for all leveling systems
2017-10-14 02:18:31 -05:00
Scott Lahteine
32c607ffe2
Ensure fade factor is recalculated if fade height changes
2017-10-14 02:18:31 -05:00
Scott Lahteine
ca1e47375c
Move fade_scaling_factor_for_z to Planner
2017-10-14 02:18:31 -05:00
Scott Lahteine
03f4891fb9
Remove legacy ADVANCE feature
2017-10-09 04:25:18 -05:00
Scott Lahteine
a10451ceed
Move Volumetric methods to Planner
2017-09-21 16:27:11 -05:00
Scott Lahteine
551752eac7
Consolidate "bedlevel" code
2017-09-21 16:26:47 -05:00
Scott Lahteine
bf7af95db3
Move flow_percentage to Planner
2017-09-21 16:26:46 -05:00
Scott Lahteine
3d8a0ab4b2
Module updates
2017-09-21 16:26:42 -05:00
Scott Lahteine
0c9231fd04
Move 'module' files
2017-09-12 14:51:05 -05:00