Commit Graph

3311 Commits

Author SHA1 Message Date
vintagepc
1384e783bf
Force high power mode when running belt test 2020-02-07 16:14:33 -05:00
DRracer
a10b7f3963
Merge pull request #2470 from leptun/MK3_Adjusted_mintemp
Adjusted hotend, bed and Ambient mintemp values
2020-02-07 08:54:50 +01:00
Yuri D'Elia
f1618bfbd6 Initialize current_position correctly during startup
Just after setting up the w2m matrix, call "clamp_to_software_endstops"
on the current_position (initially [0,0,0]) to move it to the effective
minimal position, which is usually [0,0,non-zero] due to MIN_Z and the
negative probe offset.

This is required to calculate correctly the first relative move:
planning X+10 would unexpectedly calculate a Z shift otherwise.
2020-02-06 22:41:47 +01:00
Yuri D'Elia
9e45b5d41e Improve PAT9125 filament / optical quality checks
Tune the "soft" filament recheck to be more in-line with the latest
changes. Relax the thresholds so that a poorly tracking filament
that managed to trigger a recheck can still pass as long as /some/
motion is detected.

Hide the unused fsensor_oq_result() behind the FSENSOR_QUALITY define,
which is likely broken currently anyway.

Cleanup and simplify all the OQ defines.
2020-02-06 18:27:44 +01:00
Yuri D'Elia
853bb79b6b Return correct status from pat9125_update_bs 2020-02-06 16:39:08 +01:00
Yuri D'Elia
bd0544fe9e FS: Use two different speeds when checking for runout
When doing a PAT9125 "soft check", use two different speeds between
retraction and extrusion. This increases the chances that we can
track the surface.
2020-02-06 15:27:22 +01:00
Yuri D'Elia
3be859ece9 FS: Improve reliability on speeds with poor optical tracking
Depending on the filament surface and moving speed, the PAT9125 sensor
can stop being able to track movement.

In such cases, instead of triggering false errors and/or relying on
previous states, read and use the exposure data off the sensor and
increase error counts only for poorly exposed images instead, which
is a good indicator of a far-away (or missing!) tracking surface.
2020-02-06 15:27:22 +01:00
Yuri D'Elia
cdc17e8da1 Read all 12 bits correctly from PAT9125 DELTA_* registers
Widen ucXL/ucYL/ucXYH types to 16 bits, since the following shifts
will otherwise truncate the results.
2020-02-06 14:39:04 +01:00
Yuri D'Elia
3af35844e1 Remove redundant check (always trigger the fsensor isr)
Since fsensor_st_block_chunk is already called on fsensor_chunk_size
boundaries, there's no need to check a second time.
2020-02-06 14:39:04 +01:00
Yuri D'Elia
1eddc40ed4 Comment existing code 2020-02-06 14:39:04 +01:00
Yuri D'Elia
e84f82a675 Rewrite filament sensor PAT9125 error handling
Rewrite the logic behind the "chunking"/error count behind the PAT9125.

Basic idea: check the _direction_ of movement returned by the optical
sensor and compare it to the direction of the stepper. To avoid doing
this continuosly (and because the optical sensor doesn't necessarily
have the accuracy to track small distances), do so in chunks.

Each time a chunk doesn't match the expected direction, increase the
error count.

Several improvements were done to the previous code:

- Increase the chunk window: this ensures that a filament with
  poor response returns an usable direction, while also moving the
  average return values from the sensor in the middle of the 12 bits
  available for maximum effectiveness.
- Since the returned values are more reliable, reduce the error count
  (1.25mm*4 = ~5mm before runout detection)
- Track _both_ positive and negative movement, although only trigger
  errors during extrusion (necessary due to several assumptions made
  in the mmu/unloading code)
- Do not reset the counters for each block: accumulate distances
  correctly, allowing detection of any block lenght.
2020-02-06 14:37:46 +01:00
vintagepc
34f43d7389
Update mmu.cpp
Fix runout if filament is unknown
2020-02-05 21:41:31 -05:00
Yuri D'Elia
5c4235b886 Correctly reset the PAT9125 filament counters
When the error count is cleared, the cumulative deltas as well as the
segment lenght which is kept inside the stepper isr need to be reset.

Introduce a helper function fsensor_reset_err_cnt to clear all the
required variables in one place which can be used in most cases
(the only exceptions being quality measument).

Introduce a new function st_reset_fsensor to also clear the segment
lenght within the isr.
2020-02-05 16:21:27 +01:00
Yuri D'Elia
6fbd632c84 Isolate all PAT9125-specific code, fix build on !MK3 variants
- Hide all prototypes related to PAT9125 to force all callers
  to check for the proper sensor, since the handling differences
  are substantial
- Remove unneeded lenght accounting from the stepper isr as as
  consequence.
- Keep detailed soft failure counts for the MK3 on the "last print
  failures" status screen, but fix build on variants without a PAT9125
  by fixing the lcd stats function.
2020-02-05 16:20:12 +01:00
Yuri D'Elia
d47363d85a Update the filament axis resolution when E resolution is changed
The filament sensor "chunk lenght" needs to be updated every time the
E axis resolution is changed in order to trigger at the same distance.

Introduce a new function fsensor_set_axis_steps_per_unit() and use
it consistent during init, in M92 and M350.
2020-02-05 16:20:12 +01:00
Yuri D'Elia
ce74b746f1 FS: Trigger a runout with repeated soft-failures (clog?) 2020-02-05 16:20:12 +01:00
Yuri D'Elia
8fb8ff4bf4 Include fsensor recovery stats in the last print stats 2020-02-05 16:20:12 +01:00
Yuri D'Elia
e8ce5e140e FS: Detect runout earlier 2020-02-05 16:20:12 +01:00
DRracer
4774b44e21
Merge pull request #2461 from leptun/MK3_FIX_MINTEMP_FIXED
HEATER -> HOTEND
2020-02-04 16:35:07 +01:00
Alex Voinea
f1ccfd481a
HEATER -> HOTEND 2020-02-04 17:30:44 +02:00
DRracer
d4d1f051ba
Merge pull request #2149 from leptun/MK3_TONE
PFW-1056: Re-enable Tone on timer4
2020-02-04 11:04:15 +01:00
Alex Voinea
3ae5fa70ca
Fix comments 2020-02-03 19:20:43 +02:00
Alex Voinea
1f482adf55
Improved lcd_menu_statistics() implementation 2020-02-03 18:40:46 +02:00
DRracer
007395acb4
Merge pull request #2458 from wavexx/la15_compat
Adjust E-jerk in LA10 compatibility mode
2020-02-03 15:57:21 +01:00
Yuri D'Elia
453f5dd874 Adjust E-jerk in LA10 compatibility mode
When upgrading K values of a LA1.0 print, also adjust E-jerk settings
(<2) if permissible according to current accell limits. The same is also
true when jerk is set mid-print via 'M205 E'.

Existing values are always restored when switching to another
compatibility mode.

TODO: Since this is stateful, we will need to save the current print
mode / acceleration and jerk in the eeprom for this to survive a power
panic (see prusa3d#2456).
2020-02-03 15:42:27 +01:00
Yuri D'Elia
4b85664b27 Raise default extruder jerk to 4.5
This should be the new default for LA1.5 for direct drive printers and
newer PrusaSlicer profiles too (hopefully).
2020-02-03 15:42:27 +01:00
DRracer
796dcd6a3d
Merge pull request #2457 from wavexx/la15_fixes
Linear Advance 1.5 fixes
2020-02-03 15:27:02 +01:00
DRracer
685c8156b6
Merge pull request #2451 from wavexx/fix_printstats_reset
Do not clear last print fail stats prematurely
2020-02-03 11:21:41 +01:00
Yuri D'Elia
47db75d5fd Fix overflow and infloop with LA15 and low step rates
When calculating the advance tick interval, be sure to check for integer
overflow. Very low step rates can result in values exceeding uint16_t
causing premature LA tick delivery.

An overflow resulting in zero would also block in an infinite loop
within advance_spread().

Even though such rates are worthless in terms of compensation and often
result in 0 extra ticks as well, do not disable LA for the block (as
doing so would reset the count for short segments) and do not check for
zero in multiple paces either.

Saturate the interval instead, delaying any further tick to the next
block.
2020-02-02 22:49:39 +01:00
Yuri D'Elia
3bbc143821 Fix build with LA_LIVE_K
Do not check for LA_LIVE_K in messages.c (Configuration_adv.h is not
included here).

Rely on the linker to drop the symbol when LA_LIVE_K is disabled.
2020-02-02 18:02:37 +01:00
DRracer
d6522a643c
Update ultralcd.cpp
indent
2020-01-31 16:57:18 +01:00
DRracer
fd42361236
Update ultralcd.cpp
do delay(2000) everytime, even if IR_SENSOR_ANALOG
2020-01-31 16:55:40 +01:00
DRracer
10d468cceb
Merge branch 'MK3' into remove-unnecessary-delay 2020-01-31 16:51:27 +01:00
DRracer
d30960b8e8
Merge pull request #2431 from MRprusa3d/PFW-x001
selfTest workflow optimalization
2020-01-31 16:49:41 +01:00
3d-gussner
a355fdd00d
And another one
sorry
2020-01-31 15:40:07 +01:00
3d-gussner
b466dad1d7
Fix copy paste issues D2 D5
Fixed copy paste
2020-01-31 15:27:19 +01:00
Yuri D'Elia
84ecf96be5 Do not clear last print fail stats prematurely
M24 was always cleaning the last print failstats. But because M24 is
used to restore a print after power failure (by setting the seek
offset), it would also reset the stats incorrectly after resuming.

Check for the file index position and reset the stats only when a print
is started from the beginning of the file.

Apply the same logic to M32 and similarly handle the LA10->15 conversion
(do not re-apply the adjustment for a resumed print).
2020-01-31 15:08:24 +01:00
3d-gussner
857f9d8d9e Hard reset and readded change 2020-01-31 14:47:44 +01:00
DRracer
d70a147af5
Merge pull request #2436 from leptun/MK3_PSU_DELTA_cleanup
Do not clear axis known position when Z is set to silent
2020-01-31 09:08:14 +01:00
DRracer
0b62ed3325
Merge pull request #2450 from leptun/MK3_FIX_MINTEMP_FIXED
Show correct fixed message
2020-01-31 09:03:11 +01:00
DRracer
1ceadcb162
Merge pull request #2448 from wavexx/save_restore_fix
Save and restore fixes
2020-01-30 16:41:01 +01:00
Alex Voinea
886c2fdc4e
Show correct fixed message 2020-01-30 17:24:32 +02:00
DRracer
1b7677c768
Merge pull request #2394 from wavexx/fsensor_no_recursion
Avoid more recursive behavior in fsensor_update
2020-01-30 14:18:07 +01:00
Yuri D'Elia
1db024f17a Always raise the extruder 25mm during power recovery
Avoids oozed material (drooping more than ~1mm) to scrape and
potentially detach the print.
2020-01-30 13:12:12 +01:00
Yuri D'Elia
571906a494 Do not update saved_target if there's no current_block
There is a chance that current_block can be NULL despite
the queue being non-empty. This can happen early after a block has been
queued, but before the isr has picked it up for processing, and/or when
the current block is at the last step and is being discarded.

Check for current_block directly to avoid this race.
2020-01-30 13:12:12 +01:00
DRracer
48a0532e37
Merge pull request #2447 from leptun/MK3_BED_LEVELING_PWM
Turn off bed while probing during MBL
2020-01-30 11:18:34 +01:00
leptun
8c2902a660
Revert "Mesh bed leveling testing"
This reverts commit 28e812d91f.
2020-01-29 23:07:53 +02:00
Alex Voinea
b86aafb56e
Documentation 2020-01-29 23:07:24 +02:00
Alex Voinea
755230e2e7
fix small mistake 2020-01-29 23:07:24 +02:00
Alex Voinea
a5198e32a3
Just keep the current state. ON or OFF. No switching allowed 2020-01-29 23:07:24 +02:00
Yuri D'Elia
02d1525445 Display "POWER PANIC DETECTED" when possible
Both during early init and in uvlo_tiny, display "POWER PANIC DETECTED"
if enough charge is left.

This is not worth doing in regular uvlo_, as we want to give full
priority to the X motor
2020-01-29 21:08:56 +01:00
Yuri D'Elia
2b46fdac2d Only trigger a quick reset if there's a pending saved state
Thanks to @leptun
2020-01-29 17:56:26 +01:00
Alex Voinea
99e81812ce
Merge branch 'MK3' into MK3_BED_LEVELING_PWM 2020-01-29 17:56:10 +02:00
Alex Voinea
4fd913ddf3
Remove commented out code 2020-01-29 17:45:47 +02:00
Yuri D'Elia
b46dc59fad Refuse to start a print if power is lost before arming uvlo
If power has been lost during startup already a falling edge would be
skipped, causing the print to continue and lose its state without
being able to save again.

Check for a low line after arming the interrupt and simply wait
for reset.
2020-01-29 16:06:54 +01:00
Yuri D'Elia
200cdde1af Setup the UVLO interrupt later during initialization
Do not allow uvlo_tiny() to trigger before the previous print has
already been recovered.

A quick repeated power failure could cause uvlo_tiny to overwrite
the Z position before it has been correctly recovered.
2020-01-28 21:50:12 +01:00
DRracer
3e70b73a1f Remove unnecessary delay in lcd_selftest, which occured there as a result of merge. 2020-01-27 19:02:15 +01:00
Yuri D'Elia
3da20db024 Really poweroff Z motors when PSU_Delta is defined
enable/disable_z behave differently when PSU_Delta is defined.

During powerpanic and kill however we do *really* need to save energy
and poweroff the motors.

Rename enable/disable_z as poweron/poweroff_z and define some aliases so
that we can use the low-level function where needed.
2020-01-27 18:50:17 +01:00
Yuri D'Elia
5d88573711 Save/restore hotend temperatures above 255C in PowerPanic
Use 2 bytes to store extruder temperature during UVLO.

Re-use the storage of EEPROM_UVLO_TINY_Z_MICROSTEPS which has been freed
by previous changes.

Fixes #2303
2020-01-27 14:59:18 +01:00
Yuri D'Elia
50a9fe003a Bump the unparking speed to 50mm/s (same as M600 recovery) 2020-01-27 11:08:28 +01:00
Yuri D'Elia
eb2ca78167 Rewrite uvlo handling for accurate Z re/positioning
- In both uvlo_ and uvlo_tiny, calculate Z usteps properly and adjust
  the Z position to a true fullstep before disabling the motor. This
  avoids shifs during recovery.
- In uvlo_tiny, instead of moving up indefinitely, adjust Z just
  once using the smallest move possible (new def UVLO_TINY_Z_AXIS_SHIFT)
- Perform all the uvlo/recovery processing in physical coordinates
  and MBL off: there should be no automatic Z movement!
- Disable heaters in both handlers to conserve more power.
- Add timing information to uvlo_tiny too.
- During recovery, to switch between physical and logical positioning
  introduce a new "PRUSA MBL" gcode as most of the procedure is
  enqueued, and no existing gcode was available.
2020-01-26 17:46:50 +01:00
Yuri D'Elia
11a0e95f60 Re-enable the code that moves the extruder during PP
There is frequently plenty of power left during a PP. Take advantage of
it by moving the extruder to either side of the axis to detach
completely the nozzle from the print.

Re-enable Z during this move to avoid losing the current step.
2020-01-26 17:46:50 +01:00
Yuri D'Elia
0702e0de6e Use world2machine instead of repeating code 2020-01-26 17:46:50 +01:00
Yuri D'Elia
ec5cbf73b9 During PP keep the watchdog waiting for longer
When the printer is connected to a USB host during a PP (and the host
does not lose power), the rambo can linger for longer, sometimes for
long enough to recover the print state. Drain some more power.
2020-01-26 17:46:50 +01:00
Yuri D'Elia
ec8b5aaa34 Do not attempt to "zero-phase" the microstep counter
If the motors are off-phase, this is more likely to "bump" them to an
incorrect/reverse full-step, doing worse.

We need to ensure the motors are already positioned on a fullstep
during power panic instead.

Remove the PSU_DELTA exception: Z _always_ needs to be powered here.
2020-01-26 17:46:26 +01:00
Yuri D'Elia
5310181970 Cancel a recovering print when using the LCD "Stop"
Also clear the UVLO flag when using lcd_print_stop. This prevents an
aborted print which has been cancelled while unparking (just prior to
recover) to come back again at the next startup.
2020-01-26 17:45:47 +01:00
Alex Voinea
4055977a95
Do not clear axis known position when Z is set to silent
Also removed unused (forgotten) variable.
2020-01-25 11:41:27 +02:00
Alex Voinea
2e50954710
Merge branch 'MK3' into MK3_fix_selftest_Z_crash2 2020-01-22 14:56:54 +02:00
MRprusa3d
73527d6069 selfTest workflow optimalization 2020-01-22 04:45:13 +01:00
Yuri D'Elia
7f3d4a8491 Restore the last E axis position correctly after powerpanic
- Initially restore the last E position from the eeprom in any case, not
  just when using absolute mode (although unnecessary: since it will be
  reset later), fixing a possible unitialized position and crash during
  recovery (thanks to @leptun)
- Remove useless extra calls to put the extruder in relative mode:
  the extruder already starts in relative mode and is later switched to
  absolute.
- Replace incorrect calls to STRINGIFY with sprintf_P
- Retract after pressure has been restored in uvlo_tiny, to be
  consistent with a regular uvlo (remove the bogus double unretract
  as a result).
- Set the real E position prior to the panic *after* the retraction,
  using the now-fixed G92.
2020-01-21 17:41:43 +01:00
Yuri D'Elia
4c8f1e8b89 Use eeprom_update_word instead of EEPROM_save_B 2020-01-21 16:36:34 +01:00
Yuri D'Elia
9ac80f73f2 Remove an useless/duplicate Z move
Likely a result of a merge
2020-01-21 16:34:09 +01:00
Yuri D'Elia
8437630122 Inhibit serial processing in uvlo_
Do not process serial commands when re-enabling the global isr.
While printing via USB and a power panic is triggered, *any* extra
command should be ignored.

Abuse the "saved_printing" variable to inhibit serial processing.
2020-01-21 16:29:12 +01:00
Yuri D'Elia
e8f05d0668 Heat both nozzle/bed together while recovering a print 2020-01-21 16:26:16 +01:00
Yuri D'Elia
67decb466d Avoid another call to st_get_position_mm
current_position is already filled by planner_abort_hard.
2020-01-21 16:24:19 +01:00
Alex Voinea
e6ba9e633c
Adjusted hotend, bed and Ambient mintemp values 2020-01-21 14:50:53 +02:00
odaki
a2692665f8 Merge remote-tracking branch 'upstream/MK3' into flashair_display_ip 2020-01-18 22:26:52 +09:00
DRracer
95a2ad533d Version changed (3.9.0 build 3175) 2020-01-16 16:03:34 +01:00
odaki
b09761ed71 Remove '/*' from M46 source
I forgot to remove the unintended comment start mark when merge.
It has been deleted.
2020-01-16 21:38:39 +09:00
odaki
24b748c4ac Merge remote-tracking branch 'upstream/MK3' into flashair_display_ip 2020-01-16 21:25:55 +09:00
Alex Voinea
1d17a37250
all axis -> all axes 2020-01-16 09:15:44 +02:00
leptun
ccd3885d84
rephrase G28 W 2020-01-15 23:01:09 +02:00
Alex Voinea
6a1eb63a52
Add @todo to M999 2020-01-15 22:41:02 +02:00
Alex Voinea
d676542229
Revert code changes 2020-01-15 22:38:00 +02:00
Alex Voinea
47ddc2e902
M204 - better old_new separation 2020-01-15 22:35:34 +02:00
Alex Voinea
622319f86c
Add missing LF 2020-01-15 22:30:53 +02:00
Alex Voinea
ea51696a68
Merge Special sections as requested 2020-01-15 22:30:43 +02:00
Alex Voinea
aac66d4a4b
Add missing quote 2020-01-15 22:21:23 +02:00
Alex Voinea
d95029bbc7
Merge remote-tracking branch '3d-gussner/MK3-Gcode_documentation' into MK3-Gcode_documentation 2020-01-15 20:17:51 +02:00
Alex Voinea
cabfc37f15
The other changes 2020-01-15 20:17:26 +02:00
3d-gussner
5ff6c1f22c Merge remote-tracking branch 'upstream/MK3' into MK3-Gcode_documentation 2020-01-15 16:36:08 +01:00
Alex Voinea
4cf4720a15
Even more formatting fixes 2020-01-15 17:27:54 +02:00
Alex Voinea
7118007efe
Adjustments 2020-01-15 15:52:56 +02:00
Alex Voinea
7ea00a7efd
Fix typo in page description 2020-01-15 15:31:28 +02:00
Alex Voinea
8449136520
Separate M117 from the TMC2130 commands 2020-01-15 15:31:14 +02:00
Alex Voinea
4a4d7976d1
Fix PRUSA typo 2020-01-15 15:30:48 +02:00
Alex Voinea
55f3e7acaf
Merge branch 'MK3' into MK3-Gcode_documentation 2020-01-15 15:12:18 +02:00
DRracer
27f6807bd5
Merge pull request #2416 from wavexx/fix_G92_e_reset
Fix incorrect usage of plan_set_e_position() in G92 E*
2020-01-15 12:52:13 +01:00
DRracer
7230b99448
Merge pull request #2393 from wavexx/sync_before_resume
Sync before resume
2020-01-15 12:49:56 +01:00
DRracer
1a8420f3f9
Merge pull request #2383 from wavexx/fix_usb_resume_check
Fix fan_check_error check in usb print resume
2020-01-15 12:48:48 +01:00
DRracer
43870c4028
Merge pull request #2368 from wavexx/unretract_after_lcd_pause
Unretract when resuming a paused print
2020-01-15 12:47:24 +01:00
Yuri D'Elia
bab756699f Fix incorrect usage of plan_set_e_position() in G92 E*
To maintain an accurate step count (which is required for correct
position recovery), any call to plan_set_position&co needs to be done
synchronously and from a halted state.

However, G92 E* is currently special-cased to skip the sync (likely to
avoid the associated performance cost), causing an incorrect E step
count and position to be set. This breaks absolute position recovery,
miscalculation of the LA factor and possibly other weird issues.

We rewrite the handling of G92 to always sync but still special-case the
frequent "G92 E0" for performance by using a free bit in the block flags.

To avoid a sync, we relay the request for reset first to the planner
which clears its internal state and then relays the request to the final
stepper isr.
2020-01-14 20:24:14 +01:00
odaki
99545a006c M46 "Show the assigned IP address" activated
According to the reprap wiki, M46 has been assigned to display its assigned IP address, but has been disabled.
Now that Toshiba FlashAir IP address processing is working, I activate the M46 code so that I can read the IP address information via serial.
2020-01-12 12:45:43 +09:00
odaki
2ca1bc0acb Support W-04 firmware 4.0.0.01+
W-04 needs to use  CMD17 instead of CMD48 to retrieve iSDIO register memories.
To supporting both W-03 and W-04 card, I changed the readExt() code to use CMD48 first and use CMD17 if it returned some error.
This method is from the FlashAir developer sample code.
https://flashair-developers.github.io/website/docs/tutorials/arduino/2
2020-01-11 21:47:16 +09:00
DRracer
4c74866864
Merge pull request #1933 from prusa3d/enable_cutter
Enable MMU cutter.
2020-01-09 13:47:44 +01:00
Alex Voinea
32c9cd2307
Merge branch 'MK3' into fix_lcd_stop 2020-01-09 14:17:56 +02:00
DRracer
b088500eaf
Merge pull request #1909 from wavexx/MK3_LA15
Linear Advance 1.5 Returns
2020-01-09 11:22:06 +01:00
3d-gussner
f3668cab92 Merge remote-tracking branch 'upstream/MK3' into MK3-Gcode_documentation
Fix merge issues with G90 and G91
2020-01-08 15:47:38 +01:00
DRracer
df300a2488
Merge pull request #2403 from leptun/MK3_unknown_Z_mark
Show ? near Z value if the position is unknown
2020-01-08 14:55:37 +01:00
DRracer
e15d5e21f5
Merge pull request #2402 from leptun/MK3_sheet_on_status_screen
Do not show sheet on status screen if less than 2 are initialized
2020-01-08 14:42:29 +01:00
DRracer
2f2e415eae
Merge pull request #2382 from wavexx/fix_lcd_stop
Fix lcd "Stop" when used within a pause
2020-01-08 14:40:54 +01:00
DRracer
3ef1c52a0a
Merge pull request #2381 from wavexx/remove_relative_mode
Remove "relative_mode", only use "axis_relative_modes"
2020-01-08 14:39:43 +01:00
Alex Voinea
8b0f0695a8
Merge branch 'MK3_fix_shorter_sheet_name_on_status_screen' into MK3_sheet_on_status_screen 2020-01-08 15:31:33 +02:00
Alex Voinea
9abdf4e535
Show ? near Z value if the position is unknown 2020-01-08 13:46:51 +02:00
Alex Voinea
c5324291ad
Do not show sheet on status screen if less than 2 are initialized 2020-01-08 12:48:41 +02:00
Alex Voinea
d9e5283526
Fix pause->stop->PrintFromSD scenario 2020-01-07 21:02:13 +02:00
Alex Voinea
1996fc7940
Remove commented-out code 2020-01-07 20:43:56 +02:00
Alex Voinea
4422fc29f8
Set XYZ to absolute and E to relative 2020-01-07 20:42:21 +02:00
Alex Voinea
f8a0d5d773
Fix lcd_print_stop function 2020-01-07 19:54:06 +02:00
Alex Voinea
df0d781c20
Merge branch 'MK3' into fix_lcd_stop 2020-01-07 19:53:55 +02:00
Alex Voinea
b05ee33fc9
Merge branch 'MK3' into MK3_BED_LEVELING_PWM 2020-01-07 07:58:32 +02:00
odaki
f923427dc1 Show the FlashAir IP address
Displays the FlashAir IP address in the "Support" menu if the card is available.
If no IP address has been assigned yet, "0.0.0.0" will be displayed.
2020-01-04 12:51:20 +09:00
Yuri D'Elia
853991865c Improve raise_z_above to always raise when at Z_MIN
When check_z_endstop is set, Z_MIN_PIN is checkend regardless of the
moving direction to support Z calibration. This prevents the ability
to use _just_ SG when moving upwards.

But since we know the extruder is at Z_MIN, it's always safe to raise
irregardless, so we can dodge the issue.
2020-01-02 18:07:30 +01:00
Yuri D'Elia
5660fcffb0 Do not enqueue a E/Z moves unless requested
Do not unconditionally enqueue a Z move if no move has been requested.
Since Z is calculated using the absolute current (saved) position and
scheduled for later execution, the queue order becomes relevant.
2019-12-30 14:49:07 +01:00
Yuri D'Elia
86696156af Improve K error checking, allow to manually reset the version
Properly check K independently for each version by delegating it to la10c_value()

Handle -1 as a special case to allow manual reset.
2019-12-30 14:31:39 +01:00
Yuri D'Elia
57be14fca6 Complete all pending moves before restoring a saved print 2019-12-30 13:30:06 +01:00
Yuri D'Elia
fd0ed1f0ea Move LA reset from G28 to G80, do not reset on 0
In preparation for #2161, use MBL (G80) as a "new print" boundary
instead of just re-homing to ensure the reset is issued only once for
each print.

Similarly, do not reset the autodetection when LA is disabled via M900
K0. This can/will be used during a print if different quality settings
are used for different filling roles.
2019-12-30 11:32:27 +01:00
Yuri D'Elia
d78636c308 Do not synchronize on M900
Since the advance factor is computed per-segment in LA15, there's no
need to stop the planner. Allow changing K freely at each segment.

This allows varying quality factors for different filling roles, see:
https://github.com/supermerill/Slic3r/issues/108

During pause/resume/crashdetect or powerpanic K might temporarily be out
of sync when used this way. If this becomes an issue, we might need to
store K for each block, as done for the feedrate.
2019-12-29 23:25:16 +01:00
Yuri D'Elia
f5d382f9f4 Remove useless st_synchronize calls when unparking 2019-12-29 22:20:24 +01:00
Yuri D'Elia
186f881600 Avoid calling fsensor_update() one level earlier
Move the common checks between filament sensors out of fsensor_update().

Disable the runout check if a saved state is already present (this check
was missing in the PAT9125 variant) as this is currently not supported.

Note that the CHECK_FSENSOR looks completely redundant besides
e_active().
2019-12-29 22:08:44 +01:00
Yuri D'Elia
bd80ee88a0 Set the IN_HANDLER busy state while checking the filament 2019-12-29 21:27:42 +01:00
Yuri D'Elia
97170ed68d Do not call process_commands() within fsensor_update()
Plan moves directly to reduce the required stack size.
2019-12-27 19:37:20 +01:00
Yuri D'Elia
fe4c00fb8a Lift the extruder when checking for the filament
This avoids leaving marks on the print
2019-12-27 19:35:08 +01:00
Yuri D'Elia
301d64042b Set fsensor_watch_runout earlier to prevent re-entry
Do not set/clear fsensor_watch_runout within fsensor_oq_meassure_start
which is used outside of fsensor_update where it could have a different
starting value.

Set it within fsensor_stop_and_save_print to immediately prevent
re-entry.
2019-12-27 19:34:36 +01:00
Yuri D'Elia
a31319888c Fix fan_check_error check in usb print resume
Also check for fan_check_error == EFCE_OK in addition to EFCE_FIXED.

Reorganize the check in order to fix both #if[n]def FANCHECK cases,
as similarly done in the SDSUPPORT case a few lines below.
2019-12-23 19:12:46 +01:00
Yuri D'Elia
7b29ce29b4 Add a Linear Advance 1.0->1.5 compatibility layer
Allow existing gcode using LA10 to transparently take advantage of LA15
by using a simple linear conversion function based on experimental
results with the MK3 implementation of linear advance.

Autodetect LA10 values based on the first M900 instruction contained in
the print. In order to support printing mixed files without resetting
the printer we also reset the autodetection status when starting a new
SD print and/or when explicitly disabling LA.

Since we cannot reliably detect whether a new print is started when
printing via USB, also reset the detection status when homing in G28,
which is generally performed once at each print. Note that this doesn't
clear the previous K value, it only allows a subsequent M900 to provide
LA10 values when printed after a LA15 file.
2019-12-21 23:22:35 +01:00
Yuri D'Elia
c0ae92cd2a Remove "relative_mode", only use "axis_relative_modes"
axis_relative_modes can cleanly handle G90/G91 and M82/M83 without the
need of "relative_mode" entirely.

Change G90/G91 to simply reset all axes according to the requested
state, which avoids to check two variables in get_coordinates(),
fixing the following incorrect handling:

G91   ; all axis relative
M83   ; set extruder absolute
G1 E1 ; should be an absolute move, but still relative
2019-12-20 18:47:30 +01:00
Yuri D'Elia
8d60e4d6db Merge remote-tracking branch 'upstream/MK3' into MK3_LA15 2019-12-18 18:28:41 +01:00
Alex Voinea
f071aec747
Fix sheet minimum width on the status screen 2019-12-18 08:52:25 +03:00
Yuri D'Elia
8d490f941a Make use of the CRITICAL_SECTION macros in lcd_print_stop 2019-12-16 16:39:20 +01:00
Yuri D'Elia
0cc68228f8 Unretract when resuming a paused print 2019-12-16 16:33:11 +01:00
DRracer
955c88cf68
Merge pull request #2370 from wavexx/no_resume_while_resuming
Do not allow to resume a print twice while waiting for the hotend
2019-12-16 16:26:02 +01:00
Yuri D'Elia
faa76df2fe Fix the "Stop print" behavior from the LCD
Correctly cleanup the printer state when stopping the current print:

- Disable interrupts while aborting the planner/queue to ensure
  new serial commands are not inserted while aborting
- _Always_ call planner_abort_hard() to interrupt any pending move!
- Clear the saved_target, which might be set when calling stop
  from within a paused state. Create a new function to clear the
  paused state for future use.
- Do not disable/reset the MBL: doing so will destroy the ability to
  restart correctly using M999.
2019-12-16 15:52:37 +01:00
Alex Voinea
a8e6020238
Fix VERBOSITY 2019-12-16 15:21:55 +02:00
Yuri D'Elia
348bbbffb0 Do not allow to resume a print twice while waiting for the hotend
Clear isPrintPaused just prior to restore_print_from_ram_and_continue.
2019-12-15 22:22:44 +01:00
DRracer
d4fab1a713
Merge pull request #2304 from 3d-gussner/MK3-Fix_M81
Fix M81 Turn off Power Supply...
2019-12-15 11:52:56 +01:00
DRracer
c45d4f4bba
Merge pull request #2088 from rhounsell/MK3
Fix for Toshiba FlashAir (or other) SD card initialization
2019-12-15 11:46:56 +01:00
DRracer
44288bfe90
Merge pull request #2309 from leptun/MK3_fix_MMU_pause_time
Fix MMU needs user attention Statistics error
2019-12-15 11:04:57 +01:00
DRracer
d6ac9e4638
Merge pull request #2342 from vintagepc/2306-hard-reset-homing-fails
Fix #2306 hard reset homing fails
2019-12-15 10:51:52 +01:00
DRracer
c122399020
Merge pull request #2270 from leptun/MK3-PFW-1024
PFW-1024
2019-12-15 10:25:37 +01:00
DRracer
d68d9c7fef
Merge pull request #2058 from leptun/MK3_fix_warnings
Fix "LANG_MODE 0" warnings
2019-12-15 09:29:27 +01:00
Alex Voinea
770fcd7c42
Merge branch 'MK3' into MK3-PFW-1024 2019-12-14 10:08:52 +02:00
DRracer
6ab3b20ce1
Merge pull request #2348 from leptun/MK3_fix_kill
Fix kill messages
2019-12-13 18:30:27 +01:00
DRracer
1423de10a9
Merge pull request #2362 from leptun/MK3_Fix_Lang_64K_limit
Fix optiboot erase function after address 0xFFFF. Allows language files greater than 64K
2019-12-13 13:59:23 +01:00
DRracer
30cee7afca
Merge pull request #2353 from wavexx/lcd_pause_fixes
Fix the LCD pause (regression)
2019-12-13 13:53:29 +01:00
DRracer
838cec75ec
Merge pull request #2352 from wavexx/fix_m603_regression
Use lcd_print_stop() in M603, fix octoprint regression
2019-12-13 13:52:40 +01:00
DRracer
a1bc4cc5dc
Merge pull request #2332 from leptun/MK3_Octoprint_fIxes
Do not check for fanError if it is not enabled on resume
2019-12-13 13:47:56 +01:00
Alex Voinea
89dfb00b04
Fix optiboot erase function after address 0xFFFF 2019-12-08 08:43:43 +02:00
Yuri D'Elia
0b9123ce24 Fix Live K, allow "Advance K" to be translated 2019-12-05 15:18:24 +01:00
Yuri D'Elia
5122f79a39 Merge remote-tracking branch 'upstream/MK3' into MK3_LA15 2019-12-04 17:27:23 +01:00
Yuri D'Elia
19589f02f1 Remove an unused define 2019-12-04 17:22:21 +01:00
3d-gussner
17e23693eb Fixed stuipid copy paste error 2019-12-04 14:21:43 +01:00
3d-gussner
0cafd10378 minor fix 2019-12-04 13:43:19 +01:00
3d-gussner
f7bfca3061 Fix merge issues 2019-12-04 13:39:56 +01:00
3d-gussner
7da1db2f25 Merge remote-tracking branch 'upstream/MK3' into MK3-Gcode_documentation 2019-12-04 13:35:09 +01:00
3d-gussner
fb3c65b3dc fixed links to RR Wiki 2019-12-04 12:38:43 +01:00
3d-gussner
cdc6beaf6f Added M910 -> M918 2019-12-04 12:25:33 +01:00
3d-gussner
a5f3027ee1 D2130 updated
Needs review
2019-12-04 11:38:29 +01:00
Yuri D'Elia
8448b8d413 Keep destination updated in an aborted plan as well
When aborting the plan destination is updated anyway to reflect the latest
position. There's no use in this additional check.
2019-12-03 20:37:13 +01:00
Yuri D'Elia
063d0421ac Call long_pause from the main loop (again)
After calling stop_and_save_print_to_ram, perform the parking moves
within the main loop as done before PR#1899 to avoid planning within
an interrupted move (which would clear the abort flag too soon).
2019-12-03 20:37:13 +01:00
Yuri D'Elia
d60230e494 Add some documentation 2019-12-03 20:37:13 +01:00
Yuri D'Elia
792d7ca6dc Turn off heaters just prior to retraction to limit oozing 2019-12-03 20:37:13 +01:00
Yuri D'Elia
4fce74140a Also abort planning in stop_and_save_print_to_ram
Similarly to resume_print_from_ram_and_continue, abort any
planning in mesh_plan_buffer_line already in stop_and_save_print_to_ram
in case it is called for pausing only.
2019-12-03 20:37:09 +01:00
3d-gussner
0ce7c51c1d Added more D-codes to RR Wiki and doxygen
D-1, D80, D81, D106
2019-12-03 20:02:58 +01:00
Yuri D'Elia
454e99dbb5 Use lcd_print_stop() in M603, fix octoprint regression
M603 shouldn't report a fatal error state.
Use lcd_print_stop().

Regression introduced in PR #2274
2019-12-03 16:51:59 +01:00
Alex Voinea
56193ea252
Merge branch 'MK3' into MK3_TONE 2019-11-29 23:16:46 +02:00
Alex Voinea
e7f2577233
Fix kill messages 2019-11-29 22:49:22 +02:00
DRracer
15bfb7013d
Merge pull request #2274 from wavexx/fix_mesh_plan_buffer_line
PFW-1028: Fix recovery from filament sensor checks / crash detect / power panic
2019-11-29 15:18:15 +01:00
Alex Voinea
779423f0e7
Move hardcoded values to variants 2019-11-29 15:06:54 +02:00
Alex Voinea
a413cfbb9a
Merge branch 'MK3' into MK3-PFW-1024 2019-11-29 13:07:45 +02:00
Yuri D'Elia
dbe2ed4150 Fix pause/resume when using M25/M601
Remove the conflicting and mostly useless card.paused flag (the printing
is either paused, or not) and switch to isPrintPaused only which
accounts for both cases (SD/USB) correctly.

Fix M27/getStatus to show the current real status of the SD print.

Synchronize the queue on M601, as required to precisely pause the print
at the correct instruction.

Alias M25 to M601, which when combined with PR #1899 fixes issue #1614.

Guard against incorrect usage in M601, M602 and M603.
2019-11-28 17:37:58 +01:00
Yuri D'Elia
18eaf21baf Halve memory usage of saved feedrate
Truncate the saved feedrate to an uint16_t.
This is more than sufficient for recovery.
2019-11-28 17:16:37 +01:00
Yuri D'Elia
17176c1df2 Save/restore the default feedrate correctly
Since the global feedrate can be similarly modified for moves ahead of
time, save the original feedrate in the planner as we do for
gcode_target.

This avoids having to undo feedmultiply (and machine limits!) from
"nominal_speed" as previously done.

Thanks @leptun
2019-11-28 17:16:37 +01:00
Yuri D'Elia
4f0af648fb Save/restore feedmultiply independently of the feedrate 2019-11-28 17:16:36 +01:00
Yuri D'Elia
6ecff003b7 Fix M600 insertion by the filament sensor
Remove incorrect usage of stop_and_save_print combined with the
fsensor_recovert internal instruction which would result in a
broken sequence of events and/or broken stack.

Re-use the now safe stop/recover functions in the same spot
(fsensor_checkpoint_stream) to effectively cut a hole in the current
gcode stream to insert an M600 instruction, which removes all
recursive behavior without the need of extra state variables.
2019-11-28 17:13:37 +01:00
Yuri D'Elia
4268c2fdae Fix recovery from relative/chunked moves
When starting to replay existing USB/SD commands from a recovery state,
an immediate relative move needs to compensate for a previously
interrupted move. This is almost the norm for the E axis.

Instead of saving the relative status of the move (which needs to
account for the world2machine conversion and is not always available on
a chunked move split by MBL) save directly the calculated target
position for the move in the original plan, which is easy to replay.
2019-11-28 16:42:35 +01:00
Yuri D'Elia
faa9e925fe Replace a few loops with set_current_to_destination() 2019-11-28 15:57:21 +01:00
Yuri D'Elia
5fa7c178b5 Do not set current_position in mesh_plan_buffer_line
This is a task which _has_ to be performed by the caller,
such as prepare_move().
2019-11-28 15:57:21 +01:00
Yuri D'Elia
0f6b9b4051 Unroll the stack in restore_print_from_ram_and_continue
While handling moves in a recursive plan, such a filament check,
ensure restore_print_from_ram_and_continue unwinds the stack by
aborting early from any call that waits on the planner.

This currently only handles G1 moves, but hard-coded behavior that can
trigger recursive behavior (such as filament change) will probably have
to be checked too.
2019-11-28 15:57:20 +01:00
Yuri D'Elia
404802b5e6 Clear "sdprinting" state only when all SD moves are complete
Ensure card.printingHasFinished sees all the planned moves before
clearing sdprinting. To do that, we need to ensure all SD commands
exited the command queue.
2019-11-28 15:57:20 +01:00
3d-gussner
660b646b57 RR Wiki for Dcodes
open D-1, D80, D81, D106, D2130
2019-11-27 11:29:55 +01:00
3d-gussner
475551431c How does M862.5 P works??? 2019-11-26 20:21:05 +01:00
3d-gussner
84cb373905 More G codes documented in RR wiki
M44, M45, M47, M403, M509, M851, M601, M602, M603, M862
2019-11-26 20:11:55 +01:00
3d-gussner
5eaf6f0133 Merge branch 'MK3' into MK3-Gcode_documentation
Merge with MK3 branch
2019-11-26 12:48:21 +01:00
DRracer
35ce2896bb
Merge pull request #2339 from leptun/PFW-943
PFW-943: IR sensor gen. II - Updated PR
2019-11-25 06:23:24 +01:00
DRracer
abb220ff69
Merge pull request #2323 from Panayiotis-git/MK3_Fix_M603
Add oversighted ‘break’ statement at the M603 command's source
2019-11-25 06:04:41 +01:00
vintagepc
982c4cbf7b
Candidate fix for homing fail hard reset 2019-11-21 18:51:02 -05:00
Alex Voinea
45b89c5728 Fix typo 2019-11-19 13:55:37 +02:00
Alex Voinea
e66574ac5f Updated branch to use TOGGLE 2019-11-19 13:51:10 +02:00
MRprusa3d
6e2793566c
Merge branch 'MK3' into PFW-943 2019-11-18 14:43:46 +01:00
Alex Voinea
b077303156 Fix compile error 2019-11-17 11:10:13 +02:00
Alex Voinea
14104e7bf9 Clear error flag when fanError is disabled 2019-11-17 10:44:11 +02:00
Alex Voinea
2e0034d915 Update Toggles and Translations 2019-11-17 09:53:14 +02:00
Alex Voinea
359c447127 Do not check for fanError if it is not enabled on resume
Fix typos
2019-11-16 22:44:34 +02:00
Alex Voinea
07b6173aaa Merge branch 'MK3' into MK3-PFW-1024 2019-11-16 11:28:29 +02:00
DRracer
e2e32b455a
Merge pull request #2247 from mkbel/reset_live_Z+offset
Show current Z offset in reset dialog before first layer calibration
2019-11-15 17:52:29 +01:00
DRracer
460f6c3b5e
update message 2019-11-15 17:47:39 +01:00
DRracer
86ea24c364
Merge pull request #2273 from wavexx/do_not_wait_for_disabled_heater
Do not wait forever if the heater on the extruder is disabled
2019-11-15 17:19:11 +01:00
DRracer
715794d854
Merge pull request #2092 from leptun/MK3_Translations
PFW-1062: Mk3 Toggle and Translations
2019-11-15 16:53:17 +01:00
DRracer
3a41405f52
Merge pull request #2146 from vintagepc/MK3-2093-sheet-display
PFW-1061: #2093 - Relocate sheet menu, show sheet on info screen
2019-11-15 16:07:51 +01:00
vintagepc
f6c35c5d5f
Removed separate fix for #2089
Per PR fix request
2019-11-15 08:58:58 -05:00
DRracer
8fae50ec79
Merge pull request #2315 from mkbel/finda
PFW-1047: Show FINDA state as N/A if last received response is older than 1s.
2019-11-15 12:53:01 +01:00
DRracer
56251c4f99
Merge pull request #1937 from arons/MK3
added new function belt test under calibration menu
2019-11-15 09:39:42 +01:00
DRracer
9e780f0b2b
remove ESC sequence 2019-11-15 09:26:56 +01:00
Alex Voinea
e559a6b67f Merge branch 'MK3' into MK3_BED_LEVELING_PWM 2019-11-13 14:32:57 +02:00
leptun
28e812d91f Mesh bed leveling testing 2019-11-13 14:32:33 +02:00
Panayiotis-git
23cf076242 Add oversighted ‘break’ statement at the M603 command's source 2019-11-12 21:32:39 +02:00
Alex Voinea
11428388c6 MBL toggle and cleanup 2019-11-09 20:58:56 +02:00
Alex Voinea
20a59f5f40 Temp cal. 2019-11-08 19:44:48 +02:00
3d-gussner
422e7fde4a Merge branch 'MK3' into MK3-Gcode_documentation 2019-11-08 18:16:56 +01:00
DRracer
c82fa07299
Merge pull request #2195 from leptun/MK3-fix-LFN
Fix short filenames scrolling in sdprint menu and status screen
2019-11-08 16:52:53 +01:00
DRracer
21dd8eadd1
Merge pull request #2188 from mkbel/cut_last_try
Use MMU cutter only as last resort.
2019-11-08 16:49:28 +01:00
DRracer
ce5efb107a
Merge pull request #2155 from leptun/MK3_SD_scroll_workaround
SD Scroll workaround
2019-11-08 16:48:38 +01:00
DRracer
4cf2f05d1d
Merge pull request #2057 from leptun/MK3_fix_M350
M350 for all axis - MK3
2019-11-08 16:15:15 +01:00
DRracer
a14d7545a5
Update Marlin_main.cpp 2019-11-08 16:06:42 +01:00
DRracer
b33c79e6c7
Merge pull request #1899 from wavexx/fix_lcd_pause_function
Fix the LCD pause function
2019-11-08 14:55:13 +01:00
DRracer
42d70f3dea
Merge pull request #1768 from wavexx/unknown_z_improvements
"Unknown z" improvements
2019-11-08 14:52:56 +01:00
Alex Voinea
1de353dd09 Merge branch 'MK3' into MK3_Translations 2019-11-07 17:02:45 +02:00
3d-gussner
5bd995b21b Added more info to doxygen G-Codes 2019-11-06 11:14:06 +01:00
3d-gussner
e6eeafd20c More M-Commands ... 2019-11-05 15:47:04 +01:00
3d-gussner
ca234a11ed M-Commands to M240 2019-11-05 12:40:51 +01:00
3d-gussner
8114bd5b1c Merge with MK3 and few spaces 2019-11-05 09:05:05 +01:00
3d-gussner
58404b9c9d Merge branch 'MK3' into MK3-Gcode_documentation 2019-11-05 09:04:52 +01:00
DRracer
e56cb14bb9
Merge pull request #1739 from draeath/MK3-fix-sdcard-sorting
use modification times for sdcard time sorting. fixes #477
2019-11-04 17:31:38 +01:00
DRracer
3c26f7855b
Merge pull request #1704 from leptun/MK3_Enable_fan_waiting_cooldown
Enable print fan while waiting for cooldown
2019-11-04 16:52:26 +01:00
leptun
459385708e Fix MMU needs user attention Statistics error 2019-11-02 13:15:13 +02:00
leptun
cd5ff783cf General fixes and improvements to code 2019-10-31 19:07:20 +02:00
Marek Bel
76c39ce689 Show FINDA state as N/A if last received response is older than 1s. 2019-10-31 17:45:22 +01:00
3d-gussner
4501f9d760 M commands documentation #2 2019-10-31 15:46:23 +01:00
3d-gussner
c899320590 Fix M81 Turn off Power Supply...
... as it should be active if PS_ON_PIN is defined and assinged to an actual pin.
2019-10-31 15:08:07 +01:00
leptun
1e09f8c003 Wake on certain events
EEPROM DIM and BRIGHT values swapped!!!
2019-10-30 21:11:19 +02:00
3d-gussner
ce8dbb5013 M commands documentation #1 2019-10-30 18:52:25 +01:00
3d-gussner
b9dca5f895 other doxygen format changes 2019-10-30 15:52:27 +01:00
3d-gussner
d472f0730c Change doxygen format 2019-10-30 15:50:23 +01:00
3d-gussner
986ac95c45 G codes documented ... next M commands 2019-10-30 11:19:51 +01:00
3d-gussner
8f05627747 Update #1 gcodes doxygen documentation
added some RepRap G-codes Wiki external links.
2019-10-25 13:04:04 +02:00
Marek Bel
023ce01f9d Version 3.8.1 final. 2019-10-24 16:12:46 +02:00
XPila
b603528bfd
Merge pull request #2291 from DRracer/lang-381-fixes-4
Lang 381 fixes 4
2019-10-23 15:04:39 +02:00
Yuri D'Elia
e25befa175 Fix include guard to silence duplicate declaration warnings 2019-10-22 15:49:10 +02:00
Yuri D'Elia
50231b76da Improved handling of unknown Z position
- Introduce raise_z_above to move Z carefully when the current position
  is potentially unknown, using stallguard
- Use raise_z_above for:
  * filament loading/unloading clearance
  * extruder spacing when preheating (to avoid buildplate marks on PEI)
  * before homing to avoid damaging the build plate and to avoid
    repeated Z moves as well

Since raise_z_above is conditional, it will only raise when needed.

Calling raise_z_above when the extruder position is unknown and already
at maximum travel is safe and will prevent further vertical moves.
2019-10-22 15:49:10 +02:00
DRracer
d32fd1d893 Better EN for new messages 2019-10-22 09:11:47 +02:00
leptun
4943e17bda Preserve power during PP by turning off backlight 2019-10-19 18:45:31 +03:00
leptun
d7b12faa95 Add "Brightness" to Tune menu 2019-10-19 18:45:04 +03:00
leptun
0ed4a23ae7 And another compile fix... 2019-10-18 12:42:55 +03:00
leptun
9fc42526e7 Backlight always on during calibration 2019-10-18 12:18:43 +03:00
leptun
91e94aa0e8 Adjustable timeout 2019-10-18 10:32:41 +03:00
leptun
d432c3644d Enable beeping after fan error is fixed 2019-10-18 09:13:19 +03:00
leptun
ea8d9ae49d Merge branch 'MK3' into MK3_Octoprint_fIxes 2019-10-18 08:45:22 +03:00
leptun
ace1d7049a Reenable command processing when issue is fixed if printer not active 2019-10-17 17:49:15 +03:00
leptun
812eafd09c Fix compile for miniRambo 2019-10-17 13:14:32 +03:00
leptun
25e0d23efe Backlight overhaul and UI changes 2019-10-17 13:11:32 +03:00
DRracer
04bfe674df tiny lang fixes, part 1 2019-10-16 16:32:49 +02:00
leptun
3b005ae38f Backlight detection 2019-10-16 14:40:45 +03:00
DRracer
5a4126e00c
Merge pull request #2263 from leptun/MK3-Fix_PSU_DELTA_SILENT
PSU_DELTA fix force_high_power_mode()
2019-10-16 13:22:22 +02:00
Yuri D'Elia
7f3ba499a0 Do not wait forever if the heater on the extruder is disabled 2019-10-15 20:54:00 +02:00
leptun
5a662413e6 Fix compile for printer without backlight support 2019-10-13 14:34:04 +03:00
leptun
75f389a71d Auto-Dimming initial 2019-10-13 14:31:43 +03:00
leptun
4703853a3d Small fixes 2019-10-12 13:19:17 +03:00
leptun
350e27810a fix selftest Z crash. Use stallGuard when testing Z 2019-10-11 21:00:51 +03:00
leptun
b2a1dc6786 Compile fix for firmware without LCD_BL_PIN 2019-10-11 19:23:38 +03:00
leptun
68491c9d4d First implementation 2019-10-11 19:06:37 +03:00
leptun
e3ac2e2509 PSU_DELTA fix force_high_power_mode() 2019-10-10 19:01:57 +03:00
leptun
dde61bb444 Automaton changes. Keep heater ON during probing only if pwm is high 2019-10-06 12:44:45 +03:00
leptun
7650e2b60c Handle disable_heater() 2019-10-06 12:43:03 +03:00
leptun
570b5989f4 Disable bed PWM while probing bed. 2019-10-06 10:50:11 +03:00
Marek Bel
219a5e0625 Initialize EEPROM_SILENT in one place both for MK3 and MK25 printers and make it more clear. 2019-10-03 21:25:52 +02:00
Marek Bel
0dde5e3167 Increase version. 2019-10-03 17:37:22 +02:00
Marek Bel
4fc4cf9c11 Increase version and commit number. 2019-10-03 17:30:14 +02:00
Marek Bel
7feb763643 Move check for clear EEPROM just after factory_reset() to ensure nothing is written to EEPROM before check.
Fix wizard not starting after Factory RESET / All Data on MK25 printer.

This was broken by:

Author:      leptun <voinea.dragos.alexandru@gmail.com>
Date:        3 weeks ago (9/12/2019 6:16:31 AM)
Commit hash: 78708903e8

Also update eeprom value
2019-10-02 18:38:46 +02:00
Marek Běl
05e23d1468
Merge branch 'MK3' into MM_lay1_cal 2019-10-01 23:08:11 +02:00
DRracer
ff7260dc6e
Merge pull request #2246 from mkbel/reset_live_Z
Reset live z
2019-10-01 23:02:40 +02:00
Marek Bel
74a1c9341b Revert "Use content supplied strings for lcd_first_layer_calibration_reset(), as we have translations prepared for release. It will be reverted later to show current Z offset."
This reverts commit ca9ef3aba1.
2019-10-01 22:57:59 +02:00
Marek Bel
ca9ef3aba1 Use content supplied strings for lcd_first_layer_calibration_reset(), as we have translations prepared for release. It will be reverted later to show current Z offset. 2019-10-01 22:57:15 +02:00
Marek Běl
210d7f6bf1
Merge pull request #2245 from DRracer/knob-long-press
Knob long press fixes
2019-10-01 22:33:26 +02:00
Marek Bel
087d3cb250 Continue to lcd_v2_calibration() after selection is made in lcd_first_layer_calibration_reset(). Do not ask for selection if sheet is not calibrated, it is calibrated to zero offset or no first layer calibration was ever made. 2019-10-01 21:04:00 +02:00
Marek Bel
aabf7655dc Do all text formatting in first layer calibration reset dialog in one line. 2019-10-01 19:20:36 +02:00
leptun
6bd35bfa2f Increase MENU_DEPTH_MAX to 7 to allow sheet calibration with MMU 2019-10-01 19:43:30 +03:00
Marek Bel
7c3f397a62 Print sheet name and Z offset in first layer calibration reset dialog. 2019-10-01 18:22:12 +02:00
leptun
b39f09b68e Merge branch 'MK3' into MM_lay1_cal 2019-10-01 19:20:50 +03:00
DRracer
d044d3b7b5
Merge pull request #2244 from MRprusa3d/PFW-1008
EEPROM_BABYSTEP_Z using removal
2019-10-01 18:04:09 +02:00
DRracer
f3c3526aa5 fix the knob long-press causing hang in modal dialogs 2019-10-01 17:13:36 +02:00
MRprusa3d
ed13788e0c EEPROM_BABYSTEP_Z using removal 2019-10-01 16:57:37 +02:00
DRracer
9ae75612b5 Fixes after first feature tests 2019-10-01 15:31:01 +02:00
DRracer
06187f52f3
Merge pull request #2230 from leptun/MK3_Octoprint_fIxes
Mk3 Fan error fix
2019-10-01 11:34:55 +02:00
DRracer
72aed3c544 Allow knob-long-press only in listed menus 2019-10-01 10:51:02 +02:00
Marek Bel
543ad6eb41 Ask to reset Z offset before first layer calibration. 2019-09-30 19:58:09 +02:00
leptun
9d57f9c365 Fix fan_error_selftest() mistake 2019-09-30 20:30:09 +03:00
leptun
61c7479579 Code cleanup: Move texts to messages.c/h 2019-09-30 20:16:01 +03:00
leptun
30f325c81d Extract fan_error_selftest to function for readability 2019-09-30 20:01:31 +03:00
DRracer
aa50479da5
Merge pull request #2231 from MRprusa3d/PFW-873c
default nozzle diameter for farm mode
2019-09-30 18:36:25 +02:00
Marek Bel
aba9d1c360 Merge branch 'MK3' into MM_lay1_cal 2019-09-30 18:13:57 +02:00
DRracer
d31abd4bce
Merge pull request #2240 from leptun/MK3_fix_SD_workDirDepth
fix workDirDepth not reset after card init.
2019-09-30 17:32:46 +02:00
leptun
bf09eb943d fix workDirDepth not reset after card init. 2019-09-29 21:09:11 +03:00
Marek Bel
8c7015df53 Document set current command. 2019-09-27 15:42:31 +02:00
leptun
ff9a6c8177 Prevent fan error while checking fan functionality 2019-09-26 20:52:29 +03:00
leptun
dfd3f34351 Check for minimum fan speed. Should be achievable by both fans in 1s. 2019-09-25 22:35:35 +03:00
leptun
9c22692827 Fix Cancel Print command processing 2019-09-25 22:34:31 +03:00
leptun
4d149f0dfa Do not send useless keepalive messages after print is canceled from lcd 2019-09-25 18:50:29 +03:00
leptun
532d1fc4ae Fix "Resume Print" missing when doing a normal pause 2019-09-25 18:32:35 +03:00
leptun
14b72d2b46 Prevent timeout when printing from SD with USB host connected 2019-09-25 18:12:19 +03:00
leptun
c3b7b5ebb5 Check fans before resuming 2019-09-25 15:58:07 +03:00
MRprusa3d
89de5aac77 default nozzle diameter for farm mode 2019-09-23 17:13:33 +02:00
leptun
3c17f7e145 No need to check the fan in the menu 2019-09-22 14:04:58 +03:00
leptun
2363f19a62 Minor tweaks for usb printing 2019-09-20 21:07:20 +03:00
DRracer
139c37c744 allow only one string translation constraint defintion per line 2019-09-20 13:01:07 +02:00
leptun
fd01942db8 FAN Error fix - Initial 2019-09-19 20:48:59 +03:00
D.R.racer
2afeb65811 return failStatsFmt that fell out in merge 2019-09-19 18:39:25 +02:00
D.R.racer
f50cef8361 Merge remote-tracking branch 'upstream/MK3' into translations-doc
and resolve ultralcd.cpp conflicts
2019-09-19 18:10:20 +02:00
Marek Běl
68359687f8
Merge pull request #2202 from DRracer/lang-381-fixes
dialogs' layouts fixes + FR polished
2019-09-19 16:33:26 +02:00
D.R.racer
17cca89993 Merge remote-tracking branch 'upstream/MK3' into translations-doc 2019-09-18 15:17:28 +02:00
DRracer
e7273ea505 Fix [French translation] Wrong display during mesh bed calibration #2218
minor code/doc improvements
2019-09-18 12:49:44 +02:00
DRracer
c1bf4a6288
Merge pull request #2216 from michalrudolf/MK3-miniopravy
Mk3 miniopravy
2019-09-18 11:34:17 +02:00
DRracer
9ff0b7c3a5
Merge pull request #2199 from leptun/MK3_MK2.x_fix_Default_stepper_power
Mk3 mk2.x fix default stepper power
2019-09-18 11:05:23 +02:00
Marek Bel
19a8537901 Document. 2019-09-17 20:35:18 +02:00
Marek Bel
027b6238fd Mark code unused when PINDA_THERMISTOR is defined by macro. Saves 1B of RAM and 4B of FLASH memory. 2019-09-17 20:26:03 +02:00
Marek Bel
966d9baf2b Document. 2019-09-17 19:00:03 +02:00
DRracer
14933f6b0e Fix. Sound [assist], Z-probe [5], menu_fmt_float13off format for last
string parameter from PROGMEM
2019-09-17 16:50:51 +02:00
michalrudolf
b660cb3908
ultralcd.cpp 2019-09-17 11:46:29 +02:00
D.R.racer
77c4720c8b Merge remote-tracking branch 'upstream/MK3' into translations-doc 2019-09-17 11:32:27 +02:00
michalrudolf
b4e0c2f455
Update ultralcd.cpp
Menu Support -> XYZ calibration details -> 3. obrazovka "point offset"
X value is no longer moved to the left if there’s no negative sign
2019-09-17 10:51:43 +02:00
Marek Bel
c66b4bd876 Do not ask for preheat temperature twice if calibrating first layer from wizard without filament. 2019-09-16 21:14:17 +02:00
Marek Bel
e1cfd6dc4f Remove option to heat nozzle only from mFilamentItem() when activated from wizard, as it has no use after filament unload was removed from wizard. 2019-09-16 18:48:52 +02:00
Marek Bel
ff4450489b Document. 2019-09-16 18:38:44 +02:00
Marek Bel
002a7d31a4 Make lcd_wizard() more debug friendly. 2019-09-16 18:31:12 +02:00
Marek Bel
b99038736c Use eeprom_update_byte instead of eeprom_write_byte 2019-09-16 18:22:34 +02:00
MRprusa3d
d491a9801d
Update ultralcd.cpp 2019-09-16 16:04:45 +02:00
MRprusa3d
0e1d559f03
Merge branch 'MK3' into PFW-943 2019-09-16 15:29:28 +02:00
MRprusa3d
011468598e IR sensor gen. II
disconnected PCB detection
2019-09-16 00:43:37 +02:00
leptun
695f938348 Fix conversion warnings 2019-09-14 12:24:45 +03:00
leptun
e828798209 Fixes after merge and line buffer
General fixes to the lcd_edit_off item and improved way to generate the toggles.
The old process is this: Write '>' if required -> print base -> pad everything before the last character with spaces -> write the eol character -> jump back and print the toggle over the blank characters. This resulted in noticeable flickering when the toggle was redrawn and was showing the same thing. Now the process is similar, except that everything happens in a "line buffer" (a char buffer that holds an entire line) and gets printed in one go, avoiding jump instructions for the lcd and prevents flickering since it doesn't write ' ' and the letters afterwards.
This should get even better when the lcd_buffer gets implemented since the line_buffer will get compared to the existing data on the screen and avoid overwriting what is on the lcd with the same thing.
2019-09-13 21:21:42 +03:00
Marek Bel
015b34de05 Alert user in wizard about more sheets presets. 2019-09-13 17:09:11 +02:00
DRracer
4423106fad dialogs' layouts fixes (support menu dlgs, statistics etc.)
French translation polished
2019-09-13 16:55:05 +02:00
Marek Bel
e754780717 Fix condition for returning to wizard. eFilamentAction == FilamentAction::Preheat was never true as eFilamentAction is set to eFilamentAction::None in lcd_return_to_status(). 2019-09-13 00:19:37 +02:00
Marek Bel
f1d190d2d5 Do not ask same filament related question twice if starting first layer calibration from wizard. 2019-09-12 23:41:42 +02:00
Marek Bel
ebf405d589 Preselect "yes" for filament question in first layer calibration wizard. 2019-09-12 23:20:03 +02:00
Marek Bel
d256c18635 Fix first layer calibration wizard. Do not jump to WizState::LoadFil if calibration is supposed to be performed. 2019-09-12 23:17:19 +02:00
Marek Bel
73642632f5 Do not force PLA filament in first layer calibration from wizard. Remove duplicate variable wizard_active. Saves 410 B of FLASH and 1 B of RAM. 2019-09-12 22:37:28 +02:00
Marek Bel
07a0f527d8 Reset lcd_encoder_diff in lcd_show_fullscreen_message_yes_no_and_wait_P() also when it times out. 2019-09-12 20:30:27 +02:00
Marek Bel
6630591f9e Consume lcd_encoder_diff in lcd_show_fullscreen_message_yes_no_and_wait_P().
This fixes problem encountered in lcd_v2_calibration(). Selected menu item skips to another if returning to menu after this message is used.
2019-09-12 20:20:33 +02:00
Marek Bel
d48197656c Fix lcd_v2_calibration menu not redrawn after full screen message or question. 2019-09-12 20:05:16 +02:00
Marek Bel
770e470fd5 Extract common code to function preheat_or_continue(). Saves 138B of FLASH memory. 2019-09-12 18:53:24 +02:00
Marek Bel
d80b8280a0 Remove commented out and unused functions prototypes. 2019-09-12 18:41:17 +02:00
Marek Bel
3a541488b2 Rename extr_unload_() to mmu_unload_filament() and move it to ultralcd.cpp as it is menu. 2019-09-12 18:40:02 +02:00
Marek Bel
0cdfa7a5e8 Remove dead code. 2019-09-12 18:33:02 +02:00
Marek Bel
e83b2ebe1f Rename mFilamentMenu to lcd_generic_preheat_menu to match naming convention for global function and be more descriptive. 2019-09-12 18:15:15 +02:00
Marek Bel
c26d7e50f7 Remove redundant lcd_update_enable(true) call. 2019-09-12 18:07:46 +02:00
Marek Bel
6674cbf0d7 Select material / temperature before first layer calibration. 2019-09-12 17:54:05 +02:00
leptun
ae839aee31 Merge branch 'MK3' into MK3_Translations 2019-09-12 16:28:36 +03:00
Marek Bel
6661d3aa45 Merge remote-tracking branch 'prusa3d/MK3' into MM_lay1_cal 2019-09-12 14:28:52 +02:00
DRracer
521c5eb8ef
Merge pull request #2141 from mkbel/preheat_menu
Unify preheat menu, add ASA material
2019-09-12 14:25:38 +02:00
leptun
444daceca3 Move define as requested 2019-09-12 13:39:04 +03:00
leptun
78708903e8 Also update eeprom value 2019-09-12 07:16:31 +03:00
Marek Bel
43705aae2e Rename lay1cal_preheat() to lay1cal_wait_preheat(). 2019-09-12 00:19:20 +02:00
Marek Bel
ae3e6530e6 Do not ask for PLA filament in the beginning of first layer calibration. Do not ask if filament is present if it can be detected by IR sensor. 2019-09-12 00:14:24 +02:00
Marek Bel
14dc6b86e0 Change undocumented behaviour of M190 (Wait for bed temperature). Document M190 and M109 (Wait for extruder temperature).
Do not remember CooldownNoWait property set by M190 and M109. If M190 was invoked without parameters, CooldownNoWait property was set if it was previously set by "M109 S" or "M109 S" or printer was after power up. Otherwise CooldownNoWait was not set. Now CooldownNoWait is never set if M190 is invoked without parameters.

Saves 44 B of FLASH memory.
2019-09-11 23:37:09 +02:00
Marek Bel
acb0341a1f Do not set temperature in lay1cal_preheat(). 2019-09-11 22:42:40 +02:00
leptun
bf9f668574 Fix short filenames scrolling in sdprint menu and status screen 2019-09-11 22:04:48 +03:00
Marek Bel
608aa6ff3c Increase number of MMU load tries, so the same number of retries are done without cutter as before enabling cutter. 2019-09-10 18:49:23 +02:00
Marek Bel
0fda4e5594 Merge branch 'cut_last_try' into enable_cutter 2019-09-10 18:37:09 +02:00
Marek Bel
bb1fb49894 Use MMU cutter only as last resort. Cut filament only before last load retry. 2019-09-10 18:36:14 +02:00
Marek Běl
5a1005e143
Merge pull request #2186 from DRracer/enable-fan-pin-test-MK3
Enable fan pin test even for MK3
2019-09-10 18:21:17 +02:00
DRracer
d94356802c
Merge pull request #2187 from prusa3d/MK3_3.8.0
Mk3 3.8.0
2019-09-10 18:19:36 +02:00
DRracer
e1e40213b2 Enable fan pin test even for MK3 (was disabled in 3.7.2 due to lack of
FLASH)
2019-09-10 16:49:22 +02:00
DRracer
898e85e69f
Merge pull request #2038 from Eriobis/MK3
Add a threshold distance to Z calibration
2019-09-10 16:20:24 +02:00
DRracer
76c062b980
Merge pull request #2169 from mkbel/format
Use same format for all instances where "ok" is send to serial line.
2019-09-10 14:14:47 +02:00
DRracer
059c6b6cbf
Merge pull request #2148 from leptun/MK3_MK2.x_fix_Default_stepper_power
Mk3 mk2.x fix default stepper power
2019-09-10 14:13:51 +02:00
DRracer
60de313b8a
Merge pull request #1759 from wavexx/enhanced_longpress
Default to "Live Adjust Z" when longpressing during a print (closes #1604)
2019-09-10 14:13:00 +02:00
DRracer
f6f8f5b3b6
Merge pull request #2171 from 3d-gussner/patch-3
Update reserved space bytes as mentioned in
2019-09-10 14:07:56 +02:00
DRracer
90f85f7128
Merge pull request #2181 from leptun/MK3_fix_lcd_warning
Mk3 fix lcd warning
2019-09-10 14:07:28 +02:00
leptun
818befb91b Fix compile warning
function was defined as static in lcd.cpp and redefined in lcd.h
2019-09-09 14:05:20 +03:00
leptun
2480bd90fc Revert lcd_putchar to type int and retrun 0
Discussion: https://github.com/prusa3d/Prusa-Firmware/pull/2008#issuecomment-514500738
2019-09-09 13:59:20 +03:00
MRprusa3d
7cc9fe2e4f
Update 1_75mm_MK3S-EINSy10a-E3Dv6full.h 2019-09-09 02:20:39 +02:00
MRprusa3d
70de4d58f6
Update 1_75mm_MK3-EINSy10a-E3Dv6full.h 2019-09-09 02:20:14 +02:00
MRprusa3d
fb561b15ad
Update 1_75mm_MK25S-RAMBo13a-E3Dv6full.h 2019-09-09 02:19:52 +02:00
MRprusa3d
325e4a3403
Update 1_75mm_MK25S-RAMBo10a-E3Dv6full.h 2019-09-09 02:19:27 +02:00
MRprusa3d
0b50b2295c
Update 1_75mm_MK25-RAMBo13a-E3Dv6full.h 2019-09-09 02:18:54 +02:00
MRprusa3d
e581263bf1
Update 1_75mm_MK25-RAMBo10a-E3Dv6full.h 2019-09-09 02:18:22 +02:00
MRprusa3d
ca6937edaf
Update 1_75mm_MK2-RAMBo13a-E3Dv6full.h 2019-09-09 02:17:42 +02:00
MRprusa3d
a9a3d9d084
Update 1_75mm_MK2-RAMBo10a-E3Dv6full.h 2019-09-09 02:17:00 +02:00
MRprusa3d
978ace7fd7
Update Marlin_main.cpp 2019-09-09 02:16:06 +02:00
MRprusa3d
28c1486df2
Update Configuration.h 2019-09-09 02:14:10 +02:00
DRracer
eec8e5f8c0 Version changed (3.8.0 build 2684) 2019-09-06 19:47:05 +02:00
3d-gussner
d408fd2f42
Update reserved space bytes as mentioned in
https://github.com/prusa3d/Prusa-Firmware/pull/2170#pullrequestreview-284810840
2019-09-06 15:54:04 +02:00
DRracer
3ba2197dd3 more space for the second lang 2019-09-06 08:37:59 +02:00
Marek Bel
e73b0a88d5 Use same format for all instances where "ok" is send to serial line. 2019-09-05 22:35:01 +02:00
Marek Bel
3a5daf1c64 Change default sheet names. 2019-09-05 17:27:21 +02:00
3d-gussner
d51b3d6207 Added doxygen todos for missing LCD layout and positioning 2019-09-01 09:51:51 +02:00
vintagepc
339771a5fb Fixed info screen when selected_sheet hasn't been initialized. 2019-08-31 21:27:08 -04:00
leptun
10cdcb3ae3 SD Scroll workaround 2019-08-31 17:00:39 +03:00
leptun
795b1d1cf7 Toggle Sound 2019-08-31 16:56:14 +03:00