Commit Graph

4612 Commits

Author SHA1 Message Date
DRracer
84a9a5fd3f
Merge pull request #3113 from leptun/MK3_M20L_change_format
M20 L updated format and first implementation of timestamp reporting (M20 T)
2021-04-20 08:24:07 +02:00
Alex Voinea
7d82cab125
Update doxygen 2021-04-20 09:16:56 +03:00
Alex Voinea
c4b70b82f3
Document M20 T parameter 2021-04-20 09:13:38 +03:00
Alex Voinea
1c0383c48f
Add capability report for extended M20 2021-04-20 09:03:22 +03:00
D.R.racer
7011014abb Save 16 bytes - pass ls_param by value to functions
... as ls_param is a 1-byte structure it is more conservative to pass it
to functions by value than by a pointer
2021-04-20 06:50:37 +02:00
Voinea Dragos
2129bcf315 M20 T 2021-04-19 14:48:50 +03:00
Voinea Dragos
b16e1e5235 Invert size and LFN in M20 L output 2021-04-19 13:54:43 +03:00
Voinea Dragos
6d7d8c7c75 Do not show hidden/system dirs with M20 L 2021-04-19 13:31:30 +03:00
DRracer
10de97c042
Merge pull request #3110 from prusa3d/MK3_3.10.0
merge MK3_3.10.0 into MK3
2021-04-19 10:07:42 +02:00
Yuri D'Elia
a5e4df390d Sync before/after setting mesh_bed_leveling_flag/homing_flag
mesh_bed_leveling_flag and homing_flag should be set only when the
planner is empty as a consequence of #3100, since any operation executed
*while* the mbl/homing flag is set is considered part of the compound
instruction that generated it (G80, G28, G30, G76).

Failure in doing so can result in instructions just prior being lost,
since they're incorrectly discarded (assumed to be redone).

G1  ; lost ..
G80 ; .. if PP happens here
2021-04-19 06:31:57 +02:00
Yuri D'Elia
23c75da727 Fix Crash/PP recovery position on instructions with comments
PR #2967 altered the way ``sdpos_atomic`` was set, causing issues in the
crashdetect/powerpanic recovery offset if the instruction being
recovered happens to contain a comment.

Previously ``sdpos`` was assumed to be a single byte prior to the last
read character. sdpos+1 would thus position the index to the next
instruction. With gcode-filtering in place, sdpos is left just before
the comment, while the actual read position is at the newline. This
causes to parser to resume in the middle of the comment.

Change the value returned by cardreader::get_sdpos() to always return
the last read position, as everybody expects (!!).

This avoids the +1, and correctly sets the resume position to the next
valid instruction without overhead.
2021-04-19 06:30:37 +02:00
D.R.racer
c43688a549 Version changed (3.10.0-RC2 build 4104) 2021-04-16 13:52:36 +02:00
DESKTOP-AFI832L\admin
5a91e1de4d Calibration: fix checking of scan of calibration points
PFW-1223
2021-04-14 06:25:18 +02:00
Voinea Dragos
7356cd0811 EEPROM_JOB_ID 2021-04-09 08:09:51 +02:00
DRracer
f9f6284c50
Merge pull request #3100 from wavexx/powerpanic_state_fixes
Fix PowerPanic and Crash Detection during homing and bed leveling
2021-04-07 18:19:50 +02:00
Yuri D'Elia
61faa49cbb Fix buffer overflow in buf
Fix cmd overflow introduced in 186ce0f.

With a precision of %f being .6 and assuming a maximum (theoretical)
acceleration of 99999 we need 47 bytes including terminating byte.

Round it to 48
2021-04-07 15:57:50 +02:00
Alex Voinea
d31601dcb8 Use correct mfrid for gd25q20c 2021-04-06 10:16:47 +02:00
Alex Voinea
94c1e65d83 Fix MK2.x builds 2021-04-06 10:16:47 +02:00
Alex Voinea
56948157d0 GD25Q40C xflash support 2021-04-06 10:16:47 +02:00
Alex Voinea
07bf4bbe48 Fix gd25120c rd_uid command 2021-04-06 10:16:47 +02:00
Alex Voinea
9454f9d8ec Rename w25x20cl to xflash 2021-04-06 10:16:47 +02:00
Yuri D'Elia
449d181971 G80: handle power panic
This is handled in the same way crash detection is handled: homing/mbl
invalidates saved_target _and_ current position.

Fixes PP recovery during MBL and homing.
2021-04-06 02:20:00 +02:00
Yuri D'Elia
b46a52ffa8 G80: Handle crash detection
At a higher level, crash detection will repeat the last gcode command.

Some commands such as G28 or G80 need to be repeated in full and require
special handling.

In such cases, do not store the saved target coordinate (which is fake
in such cases) and invalidate the saved position.

This fixes the last coordinate of the first G1 move after recovery.

We also avoid moving from the origin when the saved position is
invalidated, which is not strictly necessary, but saves some time.
2021-04-06 02:00:47 +02:00
Yuri D'Elia
a5530593fa G80: preserve lcd status and message when aborting
Restore the old status just before returning, so that the subsequent G80
can restore the first (initial) message correctly.
2021-04-06 00:31:56 +02:00
Yuri D'Elia
5923276a86 G80: correctly abort during crash detection
Crash detection is handled at a higher level (which automatically
repeats the current command), however we still need to abort the current
command correctly.

Handle XY crashes by checking the planner status after st_synchronize().
2021-04-06 00:31:29 +02:00
Yuri D'Elia
5da39df968 G80: Use consistent XY axis feedrate 2021-04-06 00:10:33 +02:00
Yuri D'Elia
ce2e35d14d Move G80 into it's own function
No actual changes done in the function in this, besides break->return.

In G28, simply call the new function instead of using goto, making the
code more readable.

Also remove the senseless comments in G28 about command queuing (dating
back to when G80 was queued instead of being executed).
2021-04-05 23:35:17 +02:00
Yuri D'Elia
d2be40491b PP recovery: clamp initial position to software endstops
As done when initializing the printer from a cold start, we need to
clamp the starting position to software endstops before setting the
planner position since 0,0 is frequently out-of-bounds.

This avoids an useless move during recovery that can cause a crash:

- Initial X is set to be 0
- G1 performed by homing will clamp X>=0, resulting in a positive shift
- If X is already at max X (extruder being parked due to PP), this will
  slam at X+, causing an immediate crash.
2021-04-05 22:11:06 +02:00
Yuri D'Elia
3276320a06 Hide tmc2130_sg_change behind DEBUG_CRASHDET_COUNTERS
tmc2130_sg_change is only used for debugging purposes.
Hide definition and usage behind the required define.
2021-04-05 20:07:03 +02:00
Yuri D'Elia
6a61c26955 Removed unused crashdet_stop_and_save_print2 2021-04-05 20:04:50 +02:00
D.R.racer
cdcc06f376 SDFile - fix errorneous offset computation
... my fault, I was originally too optimistic about the overflow

Fixes #3077

PFW-1233
2021-03-30 11:33:42 +02:00
DRracer
a251dcc14e
Merge pull request #3064 from 3d-gussner/PFW-1222
PFW-1222: Disable M120 M121
2021-03-30 10:09:47 +02:00
DRracer
e76b0c40a8
Merge pull request #3066 from espr14/PFW-1223
Calibration: detect biased PINDA and retry calibration PFW-1223
2021-03-30 10:08:16 +02:00
DRracer
8ac1d5b95e
Attempt to workaround the M73 C0|D0 visual issue (#3067)
Attempt to workaround the M73 C0|D0 visual issue

This is an attempt to enable alternation of time to print finish and time
to color change even in the last minute of time to color change, i.e. be
able to print "0:00C".

The proposed solution leverages the capability of the current FW to read
float values from the C|D parameter. This could have the raw benefit of
being able still to alternate this time on the LCD as "0:00C" (or
"<1min") if the slicer sends a non-zero but <1 time right before the
color change.

Co-authored-by: D.R.racer <drracer@drracer.eu>
Co-authored-by: 3d-gussner <3d.gussner@gmail.com>
2021-03-19 10:18:28 +01:00
D.R.racer
f31189e5be Version changed (3.10.0-RC1 build 4078) 2021-03-17 12:30:54 +01:00
espr14
99206884b5 Calibration: detect biased PINDA and retry calibration
PFW-1223
2021-03-12 05:04:49 +01:00
3d-gussner
6355458052 Add def M120_M121_ENABLED to Configuration_adv.h 2021-03-11 15:00:49 +01:00
3d-gussner
832e881955 Disable M120 M121 2021-03-10 17:46:19 +01:00
espr14
eb4cf1a77f Calibration: return XY back after Z search
PFW-1217
2021-03-10 10:27:57 +01:00
DRracer
6489c6f17f
Merge pull request #3036 from wavexx/remove_is_buffer_empty
Remove duplicate function is_buffer_empty()
2021-03-05 08:28:40 +01:00
DRracer
29abff55ba
Merge pull request #3050 from leptun/optiboot_updates
Additional Optiboot fixes
2021-03-05 08:27:02 +01:00
Alex Voinea
f0eedf301d
optiboot: check boot_app_magic as well before early exit 2021-03-03 16:31:55 +02:00
Alex Voinea
c951bea627
Remove unused/broken bootapp code 2021-03-03 16:31:30 +02:00
Alex Voinea
c95d2fcbd7
Use avr-libc wdt library 2021-03-03 16:31:06 +02:00
DRracer
073cbe0339
Merge pull request #3048 from DRracer/bootappflags-bad-addr
Fix flashing languages with inline wdr instructions
2021-03-03 13:46:08 +01:00
Alex Voinea
8ced0579d6
Move SerialHead declaration outside of loops 2021-03-03 14:35:37 +02:00
DRracer
c1849f5cc2
Merge pull request #2405 from leptun/MK3_NEW_SD_COMPILATION
️New SD menu
2021-03-03 11:45:04 +01:00
Alex Voinea
026145b78b
Fix CFM message end pointer 2021-03-03 12:31:14 +02:00
D.R.racer
3922bf2877 Fix flashing languages with inline wdr instructions
A fairly mysterious situation happened recently in the MK3 branch.
After merging #3033 (change watchdogReset() into a single inline wdr instruction)
we were unable to flash languages.

Since it looked similarly suspicious like issue #2954 we started investigating deeply.
The problem was in the code as described in the comment in this PR.
2021-03-03 11:19:39 +01:00
DRracer
a5a83038fe
Merge pull request #2223 from 3d-gussner/MK3_Dutch
PFW-1212: Add Dutch language
2021-03-02 08:27:27 +01:00