Scott Lahteine
8dc7807d85
Add support for CoreYZ to planner.buffer_line
2016-10-30 16:16:28 -05:00
Scott Lahteine
1cf878fdb1
Calculate dm and e-steps earlier in planner
2016-10-30 16:16:28 -05:00
Scott Lahteine
75dbb71dd7
Replace block.busy with a block.flag bit
2016-10-30 16:16:28 -05:00
Scott Lahteine
c7f22f688f
buffer_line can calculate while it's waiting
2016-10-29 17:08:42 -05:00
Scott Lahteine
3fcf915808
Fix uninitialized var in reset_acceleration_rates
2016-10-24 11:55:41 -05:00
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.
2016-10-23 12:47:46 +02:00
Scott Lahteine
5f5a55a0de
Add a ZERO macro to clear arrays
2016-10-22 10:07:18 -05:00
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.
2016-10-22 04:54:59 -05:00
esenapaj
1e1edeadd3
Fix for the commit dc2cb84
(Revert acceleration limiting to avoid overflow)
...
・Add forgotten '\'
2016-10-18 18:07:20 +09:00
Scott Lahteine
dc2cb8454c
Revert acceleration limiting to avoid overflow
2016-10-17 17:08:41 -05:00
Scott Lahteine
4d89652bc2
Apply minor optimizations to planner.cpp
2016-10-12 04:42:15 -05:00
Scott Lahteine
1092319b19
Adapt speed/jerk code based on Prusa MK2 branch
2016-10-12 04:42:14 -05:00
Scott Lahteine
8e1cc9332a
Replace block flag bools with flag bits
...
…and apply const to some method parameters
2016-10-10 23:17:49 -05:00
Scott Lahteine
c5cac486f5
Use a, b, c instead of lx, ly, lz
2016-10-09 14:34:24 -05:00
Josef Pavlik
f8c2473a71
Improve planner kinematics, fix delta ABL
2016-10-09 13:32:46 -05:00
Scott Lahteine
761593b74b
Cleanup some vars, use of min/max
2016-10-02 06:34:56 -05:00
Scott Lahteine
d19cfcfc1d
max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK
2016-10-02 06:34:56 -05:00
Scott Lahteine
e7dc174f30
More detailed debugging of G28 delta
2016-10-02 02:18:57 -05:00
Scott Lahteine
ecf7cdde65
Augment planner/stepper getters/setters
2016-09-29 01:27:37 -05:00
Scott Lahteine
ea0dbee3c9
Enable ABL by type, support bilinear on cartesian
2016-09-25 23:35:37 -05:00
Scott Lahteine
22ece0081e
Pass array pointer to unapply_leveling
2016-09-23 15:39:01 -05:00
Scott Lahteine
cbc158eb62
Add a proper flag for ABL enabled
2016-09-23 15:39:01 -05:00
Scott Lahteine
c6142aa2a1
Minor cleanups in Marlin_main.cpp
2016-09-23 03:03:14 -05:00
Scott Lahteine
0427f3cc3b
Use memcpy/memset in planner
2016-09-23 03:03:14 -05:00
Scott Lahteine
6b9bf8e8fe
Add Planner::sync_from_steppers
...
Use to sync the planner after an interrupted move (when not overriding
the logical position).
2016-09-23 03:03:14 -05:00
Scott Lahteine
be11a8a938
Fix debug in Planner::buffer_line
2016-09-23 03:03:13 -05:00
Scott Lahteine
6335acbf5c
Patch bug in linear unapply_leveling
2016-09-23 03:03:13 -05:00
Scott Lahteine
77639672d7
Move NONLINEAR bed leveling to planner
...
This is in advance of moving non-linear bed leveling to the planner
class.
2016-09-18 13:50:38 -05:00
Scott Lahteine
9429c7db89
Use ABC indices in delta[]
2016-09-18 13:50:38 -05:00
Scott Lahteine
c109399bf6
Fix planner leveling and rename arguments
...
Use lx, ly, lz for “logical” positions
2016-09-13 03:33:01 -05:00
Scott Lahteine
6ab54c60b1
Add conditionals for kinematics, leveling
2016-09-13 03:32:59 -05:00
Scott Lahteine
9248cfb0ad
Bed leveling that accounts for home XYZ
2016-09-10 13:47:21 -05:00
Scott Lahteine
6ac9d895ca
Tweak Filament Width variables
2016-09-10 13:29:25 -05:00
Scott Lahteine
d554c1dda8
Clean up planner kernel pass methods
2016-08-30 14:16:13 -05:00
Scott Lahteine
a485a19052
Added optional planner logging
2016-08-27 20:12:22 -05:00
Scott Lahteine
ab59280075
MIN_SEGMENTS_FOR_MOVE => MIN_STEPS_PER_SEGMENT
...
Follow-up to #4666
2016-08-21 08:56:03 -05:00
Scott Lahteine
27b80b1dd1
Merge pull request #4667 from thinkyhead/rc_M211_sw_endstop_switch
...
M211: Enable/Disable Software Endstops
2016-08-21 06:44:00 -05:00
Scott Lahteine
2f223b8c79
Use ABC and XYZ for "3"
2016-08-21 00:10:08 -05:00
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.
2016-08-20 23:35:27 -05:00
Scott Lahteine
374f8d2014
dropsegments => MIN_SEGMENTS_FOR_MOVE
2016-08-20 18:52:15 -05:00
Scott Lahteine
628dcbc764
extruder_multiplier => flow_percentage
2016-08-18 22:13:47 -05:00
Scott Lahteine
b73203a0b7
Move some includes around to uncover missing deps
2016-08-02 19:37:46 -07:00
Scott Lahteine
d8945e8464
Fix Z_HEAD index for COREYZ
2016-08-02 15:05:17 -07:00
Scott Lahteine
f83369b79c
Update refresh_positioning - no need for obj ref
2016-07-31 18:01:13 -07:00
Scott Lahteine
844a4e799e
Account for DELTA in Planner::refresh_positioning
2016-07-29 18:41:11 -07:00
Scott Lahteine
753283e020
inverse_second => inverse_mm_s
2016-07-28 16:35:18 -07:00
Scott Lahteine
83e1d90ca3
Undo errant optimization of block->millimeters
2016-07-28 16:26:52 -07:00
Scott Lahteine
169c21b477
Merge pull request #4402 from thinkyhead/rc_consistent_positioning
...
Account for coordinate space offsets
2016-07-24 19:23:20 -07:00
Scott Lahteine
d8e5af6834
Use RAW_POSITION for MBL in planner.set_position_mm
2016-07-24 17:20:36 -07:00
Scott Lahteine
d8f2876753
Replace some float division with multiplication
2016-07-24 13:27:50 -07:00
Scott Lahteine
ddde785b37
Code formatting in planner.cpp
2016-07-24 13:27:50 -07:00
Scott Lahteine
f8b5749235
Replace division in planner with multiplication
2016-07-24 13:27:49 -07:00
Scott Lahteine
b921f6b69d
Optimize calculation of block->millimeters for DELTA
2016-07-24 13:27:49 -07:00
Scott Lahteine
3e2b3353b0
Fix axis indices for COREYZ
2016-07-23 19:02:14 -07:00
Scott Lahteine
4e67a85a5d
Macros to loop over axes
2016-07-23 13:09:28 -07:00
Scott Lahteine
4226f56f53
Revert the planner acceleration logic somewhat
2016-07-20 19:19:47 -07:00
Scott Lahteine
209f5c03d0
Fewer temporary vars in planner accel limit
2016-07-20 18:29:29 -07:00
Scott Lahteine
9f9fe043ba
Apply sq macro throughout
2016-07-17 13:29:41 -07:00
Scott Lahteine
93ba5bddd7
Append units to feedrate variables
2016-07-17 13:29:41 -07:00
Scott Lahteine
05da02f0a2
Implement MIXING_EXTRUDER and SWITCHING_EXTRUDER
2016-07-17 10:53:10 -07:00
Scott Lahteine
0554b65d22
Merge pull request #4284 from thinkyhead/rc_serial_ln_macros
...
Sled-probe sanity fix, conditionals for remaining types of leveling
2016-07-12 16:36:33 -07:00
Scott Lahteine
e974ac63ef
Init matrix in planner.init
2016-07-12 15:55:27 -07:00
esenapaj
58177a1602
Suppress warnings
2016-07-12 08:22:24 +09:00
João Brázio
664232140d
Fixes somes compiler warnings
2016-06-23 03:12:55 +01:00
Scott Lahteine
ef3bef6b9e
Fix feedrate in gcode_T (max_feedrate is mm/s)
2016-06-16 16:03:14 -07:00
Scott Lahteine
6d62a4ffc8
Patch LIN_ADVANCE for style and forward-compatibility
2016-06-09 21:03:27 -07:00
Sebastianv650
fb8e880734
Add LIN_ADVANCE
2016-06-09 21:03:27 -07:00
Scott Lahteine
72c6f2923f
axis_steps_per_unit => axis_steps_per_mm
2016-06-09 17:04:51 -07:00
Scott Lahteine
80ab749563
Rename acceleration locals for clarity
2016-06-09 17:04:51 -07:00
Scott Lahteine
3b08eb1eeb
acceleration_st
=> acceleration_steps_per_s2
2016-06-09 17:04:51 -07:00
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`
2016-06-09 17:04:50 -07:00
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.
2016-06-08 16:51:10 -07:00
Scott Lahteine
49ecaf774d
Rename some auto/locals to avoid name conflict
2016-06-07 15:38:45 -07:00
Scott Lahteine
c2362c1b3c
Apply Marlin coding standards to MBL class
2016-06-03 21:43:32 -07:00
Edward Patel
c06de0f097
MBL: Added keeping MBL active when homing single axises for #3750
2016-06-03 21:42:29 -07:00
Scott Lahteine
381bc6f0b0
set_position => set_position_mm
2016-06-02 17:16:19 -07:00
Scott Lahteine
470d5ac09f
Apply static to Planner class
2016-05-30 16:22:41 -07:00
Scott Lahteine
5172d4ba40
COREYZ stepper, planner, endstop, babysteps
2016-05-23 13:58:40 -07:00
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.
2016-05-05 18:01:39 +09:00
Scott Lahteine
084f6b5b44
Temperature singleton class
2016-05-04 19:42:12 -07:00
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
2016-05-03 17:07:37 -07:00
Scott Lahteine
7fd0243048
Cleanup, debug strings in Planner::adjusted_position
2016-05-02 20:11:27 -07:00
Scott Lahteine
96f51f400f
Planner singleton class
2016-04-30 17:26:50 -07:00
Scott Lahteine
5e4e535ce8
Stepper and Endstops as singleton objects
2016-04-30 17:26:50 -07:00
Scott Lahteine
e38baaa23e
Fix an acceleration anomaly by making locals signed
2016-04-25 14:17:20 -07:00
Scott Lahteine
fce1e843b9
Patch steps rate comment in trapezoid function
2016-04-24 19:38:58 -07:00
Scott Lahteine
a4062a47ac
Rename baricuda variables
2016-04-19 19:43:38 -07:00
Scott Lahteine
c5a2ce4366
Merge pull request #3446 from thinkyhead/rc_fixup_M206_and_mesh
...
Fix home_offset handling and account for it in G29
2016-04-11 16:49:01 -07:00
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
2016-04-11 16:45:00 -07:00
Scott Lahteine
e087a99a10
Some cleanup of st_get_pos functions
2016-04-11 15:13:42 -07:00
Scott Lahteine
386140f361
Test time difference in safe way
2016-04-10 18:09:31 -07:00
Scott Lahteine
1b7356b3a1
Account for home_offset in G29 handler
2016-04-10 15:35:02 -07:00
Scott Lahteine
865dcf3fb4
Fix FILAMENT_WIDTH_SENSOR measurement
...
Only measure and store filament width when E is going forward.
2016-04-06 19:48:04 -07:00
Scott Lahteine
de333c4fea
Merge pull request #3279 from thinkyhead/rc_filament_width_sensor
...
FILAMENT_SENSOR -> FILAMENT_WIDTH_SENSOR
2016-03-30 12:16:27 -07:00
Scott Lahteine
1a79b13b7a
FILAMENT_SENSOR -> FILAMENT_WIDTH_SENSOR
2016-03-29 20:54:31 -07:00
Scott Lahteine
5f32184254
Merge pull request #3278 from thinkyhead/rc_cleanup_m111_redo
...
Echo all debug levels in M111, default to DEBUG_NONE
2016-03-29 20:34:31 -07:00
Scott Lahteine
05765fb570
Add DEBUGGING macro
2016-03-29 19:50:01 -07:00
Scott Lahteine
3252df7998
Minor cleanup to filament sensor code
2016-03-28 20:04:34 -07:00
Scott Lahteine
0da744b7b0
Further cleanup of comments, partial Doxygen-style
...
Following up on #3231
2016-03-25 00:45:56 -07:00
jbrazio
5e5d250832
Added gplv3 header to all Marlin files
2016-03-24 18:01:20 +00:00
AnHardt
ba4eebad2f
Fix Fan KICKSTART
...
Sorting ot what else belongs to what if was not so hard.
But the static `ms = ms = millis();` was a bit surpising.
2016-03-23 12:08:02 +01:00
Scott Lahteine
4bbea5124d
Support for multiple PWM fans
2016-03-19 03:10:18 -07:00
Scott Lahteine
d7c6fd5c2f
Merge pull request #3146 from thinkyhead/rc_enabled_true_false
...
Support "true" and "false" in the ENABLED macro
2016-03-15 17:35:55 -07:00
Scott Lahteine
6e1bc03d3b
Additional wrapping for #3140
2016-03-15 01:18:58 -07:00
Scott Lahteine
4b648793f2
Use ENABLED with DISABLE_[INACTIVE_][XYZ]
2016-03-13 22:15:45 -07:00
Scott Lahteine
f9ded2a7c4
Wrap macros to prevent bad expansions
2016-03-12 22:38:55 -08:00
Scott Lahteine
614febaaf3
Fix acceleration limits
...
See: https://github.com/Ultimaker/Marlin/pull/7
2016-03-06 05:51:59 -08:00
Scott Lahteine
71718d888a
Fix typos in check_axes_activity
2016-03-06 05:51:58 -08:00
Scott Lahteine
ff13070b59
Use _BV macros, patch up others
2016-03-06 05:51:55 -08:00
Scott Lahteine
209f5f21e0
Use macros where possible
...
Apply `constrain`, `NOMORE`, `NOLESS` and `CRITICAL_SECTION` macros
wherever possible.
2016-03-06 05:51:55 -08:00
Scott Lahteine
34b8b9f0f5
Merge pull request #2995 from thinkyhead/rcbugfix_corexy_corexz
...
Add CORE support to st_get_position_mm (and elsewhere)
2016-03-06 00:17:03 -08:00
Scott Lahteine
772460a7b8
Various minor spelling corrections
...
Redo of #2939 rebased against RCBugFix
2016-03-05 20:41:15 -08:00
Scott Lahteine
373e8a1ad4
Fixes for COREXY and COREXZ coordinates
2016-02-15 15:59:24 -08:00
Richard Wackerbarth
7a670e3911
Improve planner & stepper PR #263
2015-12-10 07:24:37 -06:00
Wurstnase
78a347a01a
change nx, ny, nz and ne from float to long
...
st_set_position takes long
```void st_set_position(const long& x, const long& y, const long& z, const long& e)```
2015-12-07 08:22:44 -06:00
Wurstnase
6d691aceee
change dx, dy, dz and de from float to long
...
anything is long, we don't need float there
2015-12-07 08:22:24 -06:00
Wurstnase
0fbfb22506
Renaming delta speeds (PR2824)
...
dx -> dsx
dy -> dsy
dz -> dsz
de -> dse
2015-12-04 07:55:45 -06:00
Scott Lahteine
9bdab4f3a8
Clean up "else" and other spacing
2015-11-12 00:03:21 -06:00
Scott Lahteine
0c7f7ebcfb
Styling adjustments (PR#2668 & PR#2670)
...
Keep "astyled" reformatting
2015-10-03 22:02:45 -05:00
Richard Wackerbarth
7b4bdc0203
DUAL_X_CARRIAGE motor enabling
...
As noted by @darkjavi et.al. in #103 , the E1 motor was not being enabled in planner.cpp when using DUAL_X_CARRIAGE. This patch enables and disables E1 as it should.
2015-09-30 04:31:19 -05:00
Scott Lahteine
f690b82343
Remove extra MAX_FREQ_TIME define (PR#148)
2015-09-08 13:11:12 -05:00
Richard Wackerbarth
6292d9e815
Rename ENABLE_AUTO_BED_LEVELING
...
With the introduction of the #if ENABLED(…)
reads better than
2015-08-27 20:52:08 -05:00
Richard Wackerbarth
29b456ae07
Suppress some compiler warnings
2015-08-16 06:56:47 -05:00
Scott Lahteine
46453905d6
Apply remaining ENABLED/DISABLED conditionals
2015-08-03 16:04:48 -05:00
Scott Lahteine
bf6eb93c61
Overridable Options - Part 10 (PR#2562)
...
Apply `ENABLED` / `DISABLED` macros to planner files.
2015-07-31 01:06:29 -05:00
Andrew Lenharth
a0ae9e30df
don't pass integer by reference, inefficient. (PR#2547)
2015-07-30 17:51:12 -05:00
Scott Lahteine
a1154d4a20
Enable Y and sanity-check CoreXZ (PR#2509)
2015-07-23 23:46:27 -05:00
Scott Lahteine
9f53e2f0c9
Implement COREXZ in stepper.cpp and planner.cpp
2015-07-19 16:17:03 -05:00
Scott Lahteine
fa00e1d97f
Explode conditions common to corexy and cartesian
2015-07-19 16:17:03 -05:00
Richard Wackerbarth
54ddc1d417
Simplify DRY RUN (PR#2358)
...
Elsewhere DRYRUN turns off the heating elements
and ignores constraints on them.
Here, whenever motion is entered into the planner,
if DRY RUN is set, we instantly act as if the E_AXIS
is in the desired final position.
2015-07-19 10:15:53 -05:00
CONSULitAS
788eb6e647
planner.cpp: remove tab
...
planner.cpp: single evil and hidden tab removed ♻️ 😏
2015-06-06 20:13:56 -05:00
CONSULitAS
e55e65d1e4
planner.cpp: Add FAN_MIN_PWM for slow fan stopping issue …
...
@CONSULitAS
planner.cpp: Add FAN_MIN_PWM for slow fan stopping issue (V2.1 with
macro and linear scaling)
@thinkyhead thanks for idea on linear scaling
2015-06-06 20:13:56 -05:00
AnHardt
e400fce271
Merge pull request #2221 from MagoKimbra/Dryrun
...
Insert Debug DRYRUN Repetier Host compatible
2015-06-03 12:30:48 +02:00
wurstnase
e7e964432b
consistency name for multiplier
...
replace extruder_multiply with extruder_multiplier
like feedrate_multiplier or volumetric_multiplier
2015-06-01 22:33:22 +02:00
MagoKimbra
76306f9073
Insert Debug DRYRUN Repetier Host compatible
2015-06-01 18:34:45 +02:00
Scott Lahteine
d76a01194d
Slight size reduction by adding idle()
2015-05-26 20:08:21 -07:00
Scott Lahteine
513077c317
Minor change to fan kick
2015-05-16 19:42:28 -07:00
Scott Lahteine
35493e1af9
Tweak to planner.cpp position.debug
2015-05-03 16:03:05 -07:00
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
2015-04-26 20:56:33 -07:00
Scott Lahteine
3f02da646c
Make sure axis_active is cleared for #1908
2015-04-14 03:41:37 -07:00
Scott Lahteine
ccddc280be
Apply three more commits
2015-04-12 22:47:44 -07:00
Scott Lahteine
8857b9e921
Use the extruder argument in plan_buffer_line
2015-04-12 16:57:00 -07:00
Scott Lahteine
1269c445ab
Catch dangerous extrude before trying several
2015-04-09 01:40:48 -07:00
Scott Lahteine
3162971cd6
current_position not static
2015-04-08 01:05:39 -07:00
Scott Lahteine
1d291be2ba
Fix de after PREVENT_DANGEROUS_EXTRUDE
...
- Set `de` to 0 when `position[E] = target[E]`
- Address regression mention in #1846
2015-04-07 20:01:08 -07:00
Scott Lahteine
c185912c19
Latest upstream commits, mostly
2015-04-03 21:58:48 -07:00
Scott Lahteine
e0d4368cb5
Minor code cleanup, move NUM_AXIS out of config
2015-04-03 20:45:24 -07:00
Scott Lahteine
b98ebd517e
disable / enable_all_steppers functions
2015-04-03 19:25:22 -07:00
Scott Lahteine
0e8182bbf2
Additional pin tests, cleanup
2015-04-03 15:31:35 -07:00
AnHardt
50a732360a
Replace extrudemultiply by extruder_multiply[active_extruder]
...
Fix for #1460 .
Seems to work with only one extruder. Can't test this myself with more.
2015-03-30 13:35:03 +02:00