Commit Graph

3051 Commits

Author SHA1 Message Date
Yuri D'Elia
0b666ee733 Parametrize LA limits and threshold values
Allow the LA 1.5 MAX value to be configured in Configuration_adv.h.

Define a customizable LA10<>15 detection threshold in function of the
above limit.

Clamp the result of of the LA10->15 return value to always
respect the new LA_K_MAX.
2020-04-28 17:31:42 +02:00
DRracer
baaa372a56
Rephrase texts for fsensor detection and cleanup (#2630)
* Rephrase texts for fsensor detection and cleanup

* fsensor msgs only for MK3S
2020-04-24 19:46:54 +02:00
Alex Voinea
8ef87d76ef
MK2.x: move away from endstops after lcd_selfcheck_pulleys() (#2617)
* Removed duplicate #defines
cleaned up display routine

* Change to raise_z_above()

* Better display handling

* Ditch charswitch, show ... for measuring

* Pull in changes from #5

* Fix printf()s

* revert feedrates

* typo

* MK2.x: move away from endstops after lcd_selfcheck_pulleys()


amend

* Use absolute coordinates

Co-authored-by: vintagepc <53943260+vintagepc@users.noreply.github.com>
2020-04-20 09:55:14 +02:00
DRracer
32fa7b5496
Merge pull request #2473 from vintagepc/#2472-#2356-belt-test-stealth-mode
#2472 #2356 #2484 belt test improvements
2020-04-20 09:36:39 +02:00
DRracer
60466c0993
Merge pull request #2610 from wavexx/la15_la10_tune
Increase the LA10->15 response
2020-04-16 16:12:05 +02:00
vintagepc
dce453fd4a typo 2020-04-16 07:31:54 -04:00
vintagepc
85a4c44d83 revert feedrates 2020-04-16 07:29:59 -04:00
DRracer
1d4b0a9c47
Merge pull request #2586 from leptun/patch-1
🐛Flip lcd_detect_IRsensor logic
2020-04-15 11:24:38 +02:00
DRracer
7c1bf6a836
Merge pull request #2591 from wavexx/la15_chained_wipes
Fix chained wipes in Linear Advance 1.5
2020-04-15 11:23:45 +02:00
Yuri D'Elia
48c459e208 Increase the LA10->15 response 2020-04-12 02:58:44 +02:00
Yuri D'Elia
ae4abdf11f Unify LA for all trapezoid steps
Handle uniformly compression & decompression at any stage of the
trapezoid.

Compared to before, this now enables LA compression also in the cruising
step (handling the converse of a chained wipe), as well as decompression
during acceleration.

Both of these can happen as a result of jerk moves, but are incredibly
rare. This is mostly needed to allow rapid decompression directly at the
acceleration step during travels between a retraction&deretraction.

We also check for the pressure level in a single place, reducing code
size as well as disabling LA earlier when not needed for the rest of the
block.
2020-04-12 01:28:34 +02:00
Yuri D'Elia
13b0e27cd7 Do not overflow during LA acceleration limiting
Perform the check one step earlier, avoiding 32bit overflow for very low
compression factors.

Fixes #2566 (although for K15 to have effect the conversion probably
needs to be adjusted on the low end)
2020-04-09 22:55:47 +02:00
Alex Voinea
207f0f27a6
🐛Flip lcd_detect_IRsensor logic 2020-04-09 16:35:38 +03:00
Yuri D'Elia
02a36c498c Release excess pressure within cruising blocks
LA assumes all the nozzle pressure is released at the end of each
extrusion, which makes calculating the required pressure advance during
travels and retracts not normally necessary.

This is not always true in our planner, since the E axis is explicitly
ignored when not in use, but also due to E-jerk allowing a non-linear
jump in speed. And since the compression factor is currently tied by XYZ
axes and not independently calculated, this can result in a wrong
estimation of final pressure in several conditions.

To avoid overburdening the planner, change the underlying assumptions
about backpressure:

1) Pressure is no longer lost when LA is disabled: if a retract is
followed by an unretract of the same length, the pressure will be likely
maintained entirely. This also holds true during travels, as long as the
retract length can overcome all the backpressure (which is the case in
all but the most noodly materials)

2) Pressure is released as soon as possible during travels: we now
enable LA also during travels, but under the sole condition of undoing
excess pressure.

We do that by checking for backpressure at the start of any segment
without an acceleration phase that doesn't have any E-steps (a result
which can happen due to the above). If pressure is not nominal, we run
the extruder in reverse at maximum jerk as long as the segment allows
us, since proper acceleration would be prohibitive at this stage. As the
pressure difference resulting by the above is still _very_ low, any wipe
or short travel will be able to equalize the nozzle pressure *before*
extrusion is resumed, avoiding ooze.
2020-04-09 00:46:57 +02:00
Yuri D'Elia
919386c957 Remove several globals by using a single target pressure
In the current code we initialize the LA state on-demand already at the
right step, which makes keeping track of the tick position no longer
necessary.

Make the advance ISR almost stateless by removing the last vestiges of
the original implementation and introduce a single target pressure. This
will be needed later in order to trigger the LA isr inside the cruising
phase.
2020-04-09 00:46:57 +02:00
Yuri D'Elia
9ec0ac9c64 Always reset e_steps between blocks
If e_steps are scheduled, but not ticked, they're just lost.
Only carry over the pressure state.
2020-04-09 00:46:57 +02:00
Yuri D'Elia
5d27f3362a Remove empty line 2020-04-09 00:46:57 +02:00
3d-gussner
c1d05210ff Cleanup useless break; 2020-04-07 11:42:09 +02:00
3d-gussner
65a406a2f3 Bugfix for last PR
I forgot to change also the
- `#ifdef DEBUG_DCODE_3` to `#if defined DEBUG_DCODE3 || defined DEBUG_DCODES`
- `#ifdef DEBUG_DCODE_5` to `#if defined DEBUG_DCODE5 || defined DEBUG_DCODES`
in the `Dcodes.h` file which I added to `Dcodes.cpp`.

Due to this issue the "Debug" version fails during compiling.

Sorry for that.
2020-04-07 11:22:48 +02:00
DRracer
c8f67f2279
Merge pull request #2568 from 3d-gussner/MK3_Dcodes_move
D- codes move
2020-04-03 11:12:30 +02:00
DRracer
b779d786e6
Merge pull request #2569 from leptun/MK3_fix_selftest_Z_crash2
🐛Raise the nozzle from the bed in case Z axis crashes during homing and selftest
2020-04-03 09:04:59 +02:00
Alex Voinea
9b3f51008b
🎨Change CRLF line ending to LF 2020-04-02 19:32:13 +03:00
3d-gussner
a1b8ee67b3
Fix missing (hex) in D5 code (#2560)
* Fix missing (hex) in D5 code

* Make ALL D-codes available for DEBUG mode
until now D3 and D5 needed to be defined separately

* Forgot to modify Marlin_main
2020-04-02 14:56:19 +02:00
Alex Voinea
fd1d05ab48
♻️Code optimization 2020-04-02 14:44:44 +03:00
Alex Voinea
792bab9bbb
Fix go up 2020-04-01 13:50:22 +03:00
Alex Voinea
8b2b32c85b
Raise on nozzle crash 2020-04-01 13:15:08 +03:00
Alex Voinea
b8896ad9c0
First attempt for Z probe checking during selftest on the MK3/S 2020-04-01 12:28:39 +03:00
vintagepc
b449e248a1 Fix printf()s 2020-03-31 17:48:56 -04:00
vintagepc
0c383e20b3 Pull in changes from #5 2020-03-31 17:33:08 -04:00
vintagepc
f1cba64e56 Merge remote-tracking branch 'upstream/MK3' into #2472-#2356-belt-test-stealth-mode 2020-03-31 17:03:10 -04:00
3d-gussner
e481013126
Reset all stats during Shipping prep (#2563)
* Reset all stats during Shipping prep
Last print stats were missing

* keep old indentation

Co-authored-by: D.R.racer <drracer@drracer.eu>
2020-03-30 17:01:46 +02:00
DRracer
8196a5f165
Merge pull request #2565 from 3d-gussner/MK3_EEPROM-fix1
EEPROM_BACKLIGHT_TIMEOUT min is 1 sec
2020-03-30 16:58:22 +02:00
3d-gussner
957bfd89e3 Merge remote-tracking branch 'upstream/MK3' into MK3_Dcodes_move 2020-03-30 16:56:59 +02:00
3d-gussner
6da401be56 Move few D-codes command from Marlin_main to Dcodes
D80, D81 and D106 have been added to `Marlin_main.cpp` but all other D-codes moved to `Dcodes.cpp/.h`
2020-03-30 16:53:58 +02:00
3d-gussner
aa9aa14472 Version to 1.0.1 2020-03-30 16:24:20 +02:00
3d-gussner
9abc79d89c EEPROM_BACKLIGHT_TIMEOUT min is 1 sec 2020-03-30 16:16:07 +02:00
DRracer
368ee0857b
Merge pull request #2564 from 3d-gussner/MK3_EEPROM-fix1
Typo in some hex default values
2020-03-30 16:15:26 +02:00
Alex Voinea
f13269d8a9
Code cleanup 2020-03-30 16:50:50 +03:00
Alex Voinea
104f81cd27
Fix case sensitive include 2020-03-30 15:42:30 +03:00
Alex Voinea
988ba6d8b0
Fix DEBUG_BUILD 2020-03-30 15:38:01 +03:00
3d-gussner
0f9aa00eaf Typo in some hex default values 2020-03-30 10:36:13 +02:00
DRracer
5106831ba2
Merge pull request #2526 from leptun/MK3_decouple_XYZE_relative_mode
Mk3 decouple XYZE relative modes
2020-03-26 18:58:20 +01:00
DRracer
587b051b1f
Merge pull request #2492 from vintagepc/belt-test-fixes-no-reorg
Belt test improvements (No display alteration)
2020-03-26 18:53:40 +01:00
DRracer
b95d7365c8
Merge branch 'MK3' into remove-unnecessary-delay 2020-03-26 18:45:34 +01:00
DRracer
a4b8f52269
Merge pull request #2466 from vintagepc/#2464-fix-runout-for-unknown-filament
#2464 fix runout for unknown filament (also fixes #1993, #2301)
2020-03-26 18:43:05 +01:00
DRracer
c085ecaa11
Merge pull request #2264 from leptun/MK3_fix_selftest_Z_crash2
PFW-1048: fix selftest Z crash. Use stallGuard when testing Z
2020-03-26 18:22:35 +01:00
Alex Voinea
d0c51b9e73
int -> bool 2020-03-26 19:06:35 +02:00
DRracer
65228a046e
Merge pull request #2520 from MRprusa3d/PFW-x001bPR
FS PCB auto-detect
2020-03-26 17:36:18 +01:00
D.R.racer
818efb4fa2 updated messages + slight refactoring to save some bytes 2020-03-26 15:07:48 +01:00
D.R.racer
34ac2917ae fix. warning "Macro expansion producing 'defined' has undefined
behavior"
update screen layout comments
2020-03-26 14:40:47 +01:00