Commit Graph

3888 Commits

Author SHA1 Message Date
3d-gussner
542ff58529 Update MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
as Polish translation is longer
2021-03-19 18:47:09 +01:00
3d-gussner
147fddd060 Update MSG_CALIBRATE_BED_RESET c=18 2021-03-19 18:41:01 +01:00
3d-gussner
6300211268 Update MSG_PLACE_STEEL_SHEET c=20 r=5
as Italian translation is longer
2021-03-19 18:37:23 +01:00
3d-gussner
79a148bb14 Update #MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
as Italian translation is longer
2021-03-19 18:34:39 +01:00
3d-gussner
9e60953d44 Update "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
as French translation is longer
2021-03-19 18:14:03 +01:00
3d-gussner
a09f2c2f2d Update "G-code sliced for a newer firmware. Continue?"
as French translation is longer
2021-03-19 18:12:16 +01:00
3d-gussner
41022d7d60 Update "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
as French translation is longer
2021-03-19 18:07:04 +01:00
3d-gussner
813aabab56 Update "Select nozzle preheat temperature which matches your material." c=20 r=6
as Spanish translation is longer
2021-03-19 18:03:06 +01:00
3d-gussner
d52a7326be Update "Please insert filament into the extruder, then press the knob to load it." c=20 r=6
as German translation is longer
2021-03-19 17:55:03 +01:00
3d-gussner
cc29a9485e Update "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." c=20 r=9
as German translation is longer
2021-03-19 17:52:54 +01:00
3d-gussner
03a13ace5a Update "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." c=20 r=9
as French translation is longer
2021-03-19 17:47:35 +01:00
3d-gussner
17c015f5c0 Update "Printer nozzle diameter differs from the G-code. Continue?" c=20 r=5 2021-03-19 17:44:07 +01:00
3d-gussner
ba9e26f444 Update #MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 2021-03-19 17:37:24 +01:00
3d-gussner
1bba2255c1 Update MSG_WAITING_TEMP c=20 r=4 2021-03-19 17:34:15 +01:00
3d-gussner
bab4994b89 Update #MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2 2021-03-19 16:52:24 +01:00
3d-gussner
6a54196862 Update "Now remove the test print from steel sheet." c=20 r=4 2021-03-19 16:42:21 +01:00
3d-gussner
8cbf0b3318 Update "Crash detected. Resume print?" c=20 r=2 2021-03-19 16:38:53 +01:00
3d-gussner
891861d475 Update "G-code sliced for a different level. Continue?" c= r= values 2021-03-19 16:35:53 +01:00
3d-gussner
f9a92e2277 Update "Y distance from min" c=20 2021-03-19 16:32:13 +01:00
3d-gussner
1f6834204f Update "Select filament:" c= value 2021-03-19 16:30:04 +01:00
3d-gussner
cbe2a4d301 Update MSG_CHECK_IDLER c=20 r=5 2021-03-19 16:22:05 +01:00
3d-gussner
4dc99d970d Update "MMU needs user attention." c= r= values 2021-03-19 16:17:26 +01:00
3d-gussner
0928c3d133 Update "Lin. correction" c=18 2021-03-19 16:14:16 +01:00
3d-gussner
ce42f2c2a5 Update MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 2021-03-19 16:11:42 +01:00
3d-gussner
5f9d6a0401 Update "Fail stats" c=18 2021-03-19 16:08:57 +01:00
3d-gussner
878200ecae Update "Fail stats MMU" c=18 2021-03-19 16:06:54 +01:00
3d-gussner
5cbb5b0e17 Update "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." c= r= values 2021-03-19 15:53:36 +01:00
3d-gussner
c39b22724d Update "G-code sliced for a different level. Please re-slice the model again. Print cancelled." c= r= values 2021-03-19 15:51:10 +01:00
3d-gussner
5a36b49cee Update "Select temperature which matches your material." c= r= values 2021-03-19 15:45:32 +01:00
3d-gussner
41db8eed30 Update "Select nozzle preheat temperature which matches your material." c= r= values 2021-03-19 15:42:17 +01:00
3d-gussner
f319dede23 Update "Please insert filament into the first tube of the MMU, then press the knob to load it." c= r= values 2021-03-19 15:39:57 +01:00
3d-gussner
286c1931a5 Update #MSG_WIZARD_LOAD_FILAMENT c=20 r=5 2021-03-19 15:33:13 +01:00
3d-gussner
6a267e5a9a Update "Press the knob to resume nozzle temperature." c= r= values 2021-03-19 15:30:13 +01:00
3d-gussner
b001eaec8d Update "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." c= r= values 2021-03-19 15:24:28 +01:00
3d-gussner
18a58c504d Update #MSG_BED_HEATING_SAFETY_DISABLED c=20 r=3 2021-03-19 15:21:42 +01:00
3d-gussner
ee8c9227cf Update #MSG_SELFTEST_FANS c=20 2021-03-19 15:16:23 +01:00
3d-gussner
ba73d14511 Update "Fix the issue and then press button on MMU unit." c= r= values 2021-03-19 15:13:56 +01:00
3d-gussner
0c18ddcb10 Update "Choose a filament for the First Layer Calibration and select it in the on-screen menu." c= r= values 2021-03-19 15:10:18 +01:00
3d-gussner
89900a5109 Update "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." c= r= values 2021-03-19 15:07:14 +01:00
3d-gussner
49e8f84916 Update "G-code sliced for a newer firmware. Continue?" c= r= values 2021-03-19 15:02:53 +01:00
3d-gussner
fd7aa82dce Update MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 2021-03-19 15:00:00 +01:00
3d-gussner
1ed7d8fc4b Update MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=5 2021-03-19 14:42:17 +01:00
3d-gussner
dbec06086c Update MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=5 2021-03-19 14:40:04 +01:00
3d-gussner
37ec18596b Update #MSG_USERWAIT c= value 2021-03-19 14:29:15 +01:00
3d-gussner
dd4c02aa15 Update "Heating disabled by safety timer." c= r= values 2021-03-19 14:23:46 +01:00
3d-gussner
9a719fd0b9 Update "Calibrating home" c= value 2021-03-19 14:17:30 +01: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
awenelo
9b21ebd376 Fix numbering for custum sheet hex values 2021-03-07 12:14:03 -05:00
awenelo
09b3632d43 Final changes + cleanup 2021-03-07 09:44:33 -05:00
awenelo
144fc197a5 Fix index number 2021-03-06 14:20:06 -05:00
awenelo
c777199d34 Simplify sheet numbering 2021-03-06 13:26:28 -05: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
awenelo
53a3772f09 Add satin sheet 2021-03-04 10:14:29 -05: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
3d-gussner
7fa93dfa1b Fix back from submenu Community made to Select language after factory reset 2021-03-01 09:18:47 +01:00
3d-gussner
fbcbba78a3 Merge remote-tracking branch 'upstream/MK3' into MK3_Dutch 2021-03-01 09:04:10 +01:00
DRracer
e9c3becb2c
Merge pull request #2572 from wavexx/fwretract_plan_sync
Always sync before manipulating the planner position in FWRETRACT
2021-03-01 08:26:57 +01:00
3d-gussner
6d7d9089f7 Add defines and templates for community languages
Add `Community made` submenu to `Select language`
2021-03-01 08:22:43 +01:00
3d-gussner
d0d4298249 Update EEPROM documentation for Service prep 2021-02-28 18:18:06 +01:00
3d-gussner
3e06a17810 Fix LCD output 2021-02-28 18:04:07 +01:00
Alex Voinea
28f21c8630
Fix bubblesort sorting speed. ShellSort is probably broken 2021-02-26 19:17:14 +02:00
Alex Voinea
6e0ecf5cd2
Remove redundant click sound in factory reset (MK3 merge issue) 2021-02-26 18:22:32 +02:00
DRracer
f3c422c40e
Merge pull request #3039 from 3d-gussner/PFW-910
Fix issue #3037
2021-02-26 12:07:10 +01:00
Alex Voinea
194438c130
Fix formatting 2021-02-26 09:54:57 +02:00
Alex Voinea
7faffa539a
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-26 09:48:46 +02:00
Alex Voinea
f346125948
Use BubbleSort by default. Disable ShellSort until I fix it 2021-02-26 09:18:59 +02:00
Alex Voinea
225c456ae6
Limit progressbar to LCD_WIDTH
for some stupid reason bubbleSort sometimes exceeds the total value :)
2021-02-26 09:18:28 +02:00
Alex Voinea
c63f92ae52
Invert shellSort logic 2021-02-26 08:57:49 +02:00
Alex Voinea
204da1cc3f
Factory reset and check_file progress bar 2021-02-25 21:04:05 +02:00
Alex Voinea
8821439878
Cardreader progressbar code 2021-02-25 20:25:32 +02:00
Alex Voinea
afa7c7ab03
Remove forgotten (?) undef at the end of menu.cpp 2021-02-25 19:29:14 +02:00
Alex Voinea
54b2edbc8c
Update debugging code 2021-02-25 19:26:01 +02:00
Yuri D'Elia
e8f6c9fac9 Exit the _lcd_move* menus when homing/leveling
Instead of resetting the encoder status when homing or leveling, simply
exit the move/liveZ menu.

When transitioning from idle->printing, axis move shouldn't be allowed
as it would insert moves during a print. This is always wrong.
The menu must be always dismissed. Instead of checking all places where
the menu could be active, automatically dimiss the menu from within
_lcd_move when homing/MBL is happening. The long-push function and the
settings menu checks if "axis move" is possible, and thus
prevent the user to re-enter the menu already.

When doing the first layer calibration, the _lcd_babystep_z is
automatically brought back after MBL has completed.

Technically we should do the same when entering/exiting the paused state
in _lcd_move. However, it's better to dismiss _any_ menu in
stop_and_save_print_to_ram/restore_print_from_ram_and_continue instead.

To be done later...
2021-02-25 17:33:59 +01:00
Yuri D'Elia
b4f5633bde Enable "Move axis" and "Disable steppers" only when idle
Move axis queues movements, which disrupts a normal print, homing (when
XY is combined) or MBL.

Likewise, "Disable steppers" only makes sense when the printer is fully
idle.

Only allow such actions when the printer is not active and/or in the
paused state.
2021-02-25 17:33:59 +01:00
Yuri D'Elia
14a1a93bc8 Include probing/MBL in the PRINTER_ACTIVE check
This prevents to perform disruptive actions during homing or between MBL
probes, which would result in a failure.
2021-02-25 17:33:59 +01:00
Yuri D'Elia
28e9c814fc Remove code duplication for babystep insertion 2021-02-25 16:44:16 +01:00
Yuri D'Elia
019c818c05 Insert babysteps using CRITICAL_SECTION instead of cli/sei 2021-02-25 16:44:16 +01:00
Yuri D'Elia
f5e419530b Inhibit LiveZ from the settings menu during mesh bed leveling 2021-02-25 16:44:16 +01:00
Yuri D'Elia
ff4e53d2d1 Prevent babysteps in more unsafe situations through homing_flag
Further restrict babystep insertion when the lcd_update is enabled by
toggling homing_flag when probing Z (where Z shouldn't be touched
anyway as it would disrupt the measurement)

Also reset the encoder value during mesh leveling.
2021-02-25 16:44:16 +01:00
Yuri D'Elia
c241adec5f Ensure babystep_apply|undo always uses the planner
The code around these calls _requires_ that the steps are immediately
processed and/or added to the subsequent planner moves.

The only part that doesn't care about immediate insertion is the
direct user-insertion though the lcd encoder.
2021-02-25 16:44:16 +01:00
DRracer
ffae16bf95
Merge pull request #3033 from DRracer/wdr-inline
Make watchdogReset() force_inline
2021-02-25 13:53:34 +01:00
3d-gussner
d9b820690e Merge remote-tracking branch 'upstream/MK3' into MK3_Dutch
fix merge issues
2021-02-25 09:56:23 +01:00
DRracer
7b22895f23
Merge pull request #3032 from DRracer/service-prep2
Make a special welcome message for Shipping/Service prep.
2021-02-25 08:51:47 +01:00
DRracer
9ed713ab13
Merge pull request #3015 from 3d-gussner/PFW-1174
PFW-1174: Add pause/resume for USB/host prints via LCD menu
2021-02-25 08:50:41 +01:00
3d-gussner
657767f073 Merge branch 'MK3' into MK3_Fix_LCD_stats
Fix merge issue
2021-02-24 09:01:30 +01:00
3d-gussner
076613fd97 Show Fil. sensor in Support::Sensor info only if IR Sensor detected 2021-02-23 15:20:08 +01:00
3d-gussner
08a6a4b25e Enable Filament sensor action during print even if in Support::Sensor info 2021-02-23 15:19:03 +01:00
D.R.racer
734e497cd0 Move wizard msgs into messages.h/c + add more translation markers 2021-02-23 15:09:19 +01:00
3d-gussner
fdff5d84b2 Move Filament sensors to Support -> Sensor Info 2021-02-23 08:52:40 +01:00
3d-gussner
8d4176a530 Add "Fan check [On|Off]" menu to tune
User can en/disable the fan check during print. This is very useful in case of false positive
fan errors to let the user to decide to finish print with "faulty" fan.
2021-02-23 07:24:33 +01:00
3d-gussner
30b60e44d2 || isPrintPaused is already in PRINTER_ACTIVE 2021-02-22 18:21:20 +01:00
3d-gussner
fd154e4b69 Again revert Settings 2021-02-22 18:10:43 +01:00
3d-gussner
5894883324 Fix USB/host FAN Error resume
Show Settings during Pause also for USB/host prints
2021-02-22 16:37:01 +01:00
3d-gussner
9110ffd4ae Revert M602 2021-02-22 16:36:21 +01:00
3d-gussner
cbe207eb59 Fix issue #3037
`starttime` is only set for SD prints via gcode `M24 and M32`
2021-02-20 13:18:53 +01:00
Yuri D'Elia
461d3f6749 Remove duplicate function is_buffer_empty()
Use cmd_buffer_empty() instead
2021-02-19 17:06:00 +01:00
D.R.racer
87f416f303 Keep wizard flag==2 even when a user restarts during Z-calibration
i.e. prevent jumping into the standard wizard if reset during Z-
calibration
2021-02-18 15:39:29 +01:00
3d-gussner
495dcee066 Show LCD Settings during pause 2021-02-18 12:09:43 +01:00
3d-gussner
a109d20506 Merge remote-tracking branch 'upstream/MK3' into PFW-1174
Fix merge issues
2021-02-18 11:05:31 +01:00
3d-gussner
c1d8e6660b Indentations 2021-02-18 10:07:40 +01:00
DRracer
adf347fdf1
Merge pull request #3034 from 3d-gussner/MK3_PFW-960
PFW-960 Improve M0/M1/M117
2021-02-18 09:59:01 +01:00
3d-gussner
291ee8e46d Indentations 2021-02-18 09:53:14 +01:00
3d-gussner
75a385d614 Indentations 2021-02-18 09:10:28 +01:00
D.R.racer
4e768057e7 Use standard wdt_reset() from AVR lib
which translates to the one `wdr` instruction like before
+ wrap configuration of watchdog into cli/sei
2021-02-17 15:59:52 +01:00
3d-gussner
2b4cf8d56e Fix FANCHECK build error 2021-02-17 13:52:31 +01:00
D.R.racer
a456c4a52d Make watchdogReset() force_inline
It makes no sense keeping watchdogReset as a separate function which
must be called, since it only contains one instruction: "wdr".

Not only was the code larger by 32 bytes in total, but also much slower
(call+ret take 4 cycles together for no reason in this case).

Surprisingly, doing just this on FW 3.9.3 solves issue #2954 on the one
affected EINSY board, even though it makes not much sense (there must be
some other timing issue).
2021-02-17 13:04:46 +01:00
D.R.racer
c3bea4d71c Make a special welcome message for shipping/service prep
Another request from our Service dept. - the user shall be prevented
from skipping the intro wizard, because otherwise some preset/calibrated
features will look like not done - especially live-z calibration.

And since there are users, who send a machine to service to perform 1st
layer calibration only, they must not omit the Z-calibration at the
start after shipping.
2021-02-17 12:53:56 +01:00
3d-gussner
c79bce010d Don't show Settings during pause 2021-02-17 12:18:30 +01:00
DRracer
7a84ad71dc
Merge pull request #3023 from DRracer/service-prep
Add Service prep. item into Factory reset
2021-02-17 10:43:08 +01:00
D.R.racer
dbb0269bd4 Make indentation consistent with surrounding code in factory_reset() 2021-02-17 08:27:49 +01:00
3d-gussner
afc15b42bb Indentations 2021-02-17 08:13:32 +01:00
3d-gussner
59c2b7e795 Fix Fan error issues. 2021-02-17 07:42:12 +01:00
3d-gussner
66ea1bdfba Indentations 2021-02-16 12:31:23 +01:00
3d-gussner
d6c6517fcd Back to Status after Resuming 2021-02-16 07:27:46 +01:00
3d-gussner
c2637d9430 Documentation Show Main Menu 2021-02-15 18:35:04 +01:00
3d-gussner
c07bcd172a Fix NO Stop print during MBL 2021-02-15 18:34:08 +01:00
3d-gussner
583993b7e2 Back to "Status" after gcode M0/M1 2021-02-15 15:25:04 +01:00
3d-gussner
25928232e4 Merge remote-tracking branch 'upstream/MK3' into MK3_PFW-960 2021-02-15 13:06:47 +01:00
3d-gussner
9071a9f8fd Gcode M1 must have a string while M0 it is optional
As the `M0/M1` moved to the beginning of the parser
- parser would not be able to "find" `M1nn` command if the query was `M1` instead of `M1 `
- to be able to "stop/halt" without sending a string and display default message use gcode `M0`
- as there are no `M0nn` gcodes the parser can query `M0` without additional space needed as in `M1 `
2021-02-15 12:51:12 +01:00
3d-gussner
fc270a356a Fix indentations 2021-02-15 12:50:40 +01:00
DRracer
86e117679c
Merge pull request #3011 from 3d-gussner/MK3_translation_0121
Fix few translations introduced with #2982
2021-02-15 11:16:54 +01:00
3d-gussner
c95a8e13d7 Fix indentations to 4 spaces per tab 2021-02-12 11:47:02 +01:00
3d-gussner
f810047a5c Switch between Remaing and Change time every few seconds
- If `M73` `R,S,C,D` values set the LCD Info screen clock switchs between Remaining and Change time
- If Remaining time is 0 while Change time is >0 the clock switchs between Change time and actual printing time
- If Change is 0 while Remaining time is >0 the clock shows the Remaining time
- If both are 0 the clock shows the actual printing time
- `M73 C` values are shown in "Normal" mode
- `M73 D` values are shown in "Stealth" mode
- Changing the speed will try to calculate the espected times and show `?` behind `R` or `C`
2021-02-12 11:29:47 +01:00
3d-gussner
d2e60aee90 Use CLOCK_INTERVAL_TIME 2021-02-11 10:45:26 +01:00
3d-gussner
cf982b0d4d Fix timer issue
The remaining time stays for ~5 seconds while the change time stays just for ~1 second
2021-02-11 10:20:06 +01:00
3d-gussner
14b4bf5fa5 Add CLOCK_INTERVAL_TIME and ShortTimer IntervalTimer 2021-02-11 07:47:44 +01:00
3d-gussner
b9a3fa2ddd fix time at speed 2021-02-11 07:47:44 +01:00
3d-gussner
b13d4b71d4 Add Change time behind existing message 2021-02-11 07:47:44 +01:00
3d-gussner
4998cfb70d Fix printing time being shown without M73 gcode
Adjust estimated times only if speed is changed. Printing time has to stay printing time.
2021-02-11 07:47:43 +01:00
3d-gussner
d063ffb141 Add parameter D to gcode M73 for silent/stealth mode 2021-02-11 07:47:43 +01:00
3d-gussner
83e791cbbe Fix temp Build number 2021-02-11 07:47:43 +01:00
3d-gussner
91c767b0f2 Reduce code size 2021-02-11 07:47:43 +01:00
3d-gussner
ae48e7c3ce indentation 2021-02-11 07:47:43 +01:00
3d-gussner
f4ca6ee59d Fix typo 2021-02-11 07:47:43 +01:00
3d-gussner
cca90da64b Include silent mode on time change
- depends on difference between print time remaining NORMAL vs SILENT mode
2021-02-11 07:47:43 +01:00
3d-gussner
cb61436093 Add remaining time to change/pause/user interaction to LCD Info screen
- Add parameter `C` to gcode `M73`
- LCD Info screen switches to change time if last `M73` gcode contains `C` parameter
  - Examples:
    - `M73 P5 R120` will display on LCD ` SD  5%      02:00R ` if it is printing at 100% speed
    - `M73 P5 R120 C60` will display on LCD ` SD  5%      01:00C ` if it is printing at 100% speed

Slicers can generate "Time to change/pause/user interaction" using `C<mins:0-65535>` parameter to "overwrite" the remaining print time.
To switch between time to change and remaining time just send in intervals `M73` with or without `C` parameter.
2021-02-11 07:47:43 +01:00
Alex Voinea
1c1ff722c0
Move sort_order to stack during ::presort 2021-02-10 18:16:26 +02:00
Alex Voinea
8397dae386
Remove comment 2021-02-10 18:15:18 +02:00
Alex Voinea
b4de57c365
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-10 17:08:28 +02:00
Yuri D'Elia
e010ca8ceb Fix conflicting extern/inline declarations
The functions find_bed_induction_sensor_point_* have conflicting
extern and inline declarations.

These are used outside of the compilation unit only, and thus there's no
point in defining them inline.

This causes a compilation failure at O1 and above, which is strangely
avoided at Os.
2021-02-10 14:50:13 +01:00
Alex Voinea
a95d497289
Remove commented out code and deprecated comments 2021-02-10 13:45:30 +02:00
Alex Voinea
8a068d4d36
Remove redundant position=0 in ::presort 2021-02-10 13:44:39 +02:00
Alex Voinea
b72ce00183
Reduce reserved space on stack for LONG_FILENAME_LENGTH by 1 in presort
LONG_FILENAME_LENGTH already includes a +1 for the \0 string termination
2021-02-10 13:43:46 +02:00
D.R.racer
7ad922e87b Report fname instead of name
looks like being omitted in MK3 upstream fixes
2021-02-10 12:38:04 +01:00
D.R.racer
8d39880abf Fix compilation against latest MK3 branch 2021-02-10 12:23:02 +01:00
DRracer
7aa4595211
Merge branch 'MK3' into thumbnails2 2021-02-10 12:15:57 +01:00
D.R.racer
c1ead75a73 Remove commented debug code
the whole PR is ready for review after successfull tests
2021-02-10 11:18:59 +01:00
3d-gussner
8bc46248f6 avoid having the block body twice in the code. Thanks to @DRracer 2021-02-10 11:09:29 +01:00
3d-gussner
e5711ea84f Indentation to 4 spaces for tabs 2021-02-10 11:03:23 +01:00
Alex Voinea
a830d5b6b7
getfilename_next 2021-02-09 20:31:02 +02:00
Alex Voinea
8d1c5cbb27
Fix position table offset 2021-02-09 20:29:06 +02:00
Alex Voinea
e6ffc99ff5
Fix compiler bug ... again ...
:endit: :blobhydraulicpress:
2021-02-09 16:28:13 +02:00
Alex Voinea
d2a7c62b50
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-09 16:17:43 +02:00
DRracer
a47c971c75
Merge pull request #3010 from leptun/MK3_fix_M23
Fix M23
2021-02-09 15:06:51 +01:00
Alex Voinea
4fcbf95db6
apply RAII principle on the lsDive recursion limiter 2021-02-09 15:00:46 +02:00
D.R.racer
9ccda4c57f Optimize code size
... looks like I've been able to reduce the code by 80B by using the
clamp999() function. There are other spots this function can be used as
well, I didn't touch those yet.
2021-02-09 09:10:23 +01:00
DRracer
e491b53f48
Merge branch 'MK3' into MK3_Fix_LCD_stats 2021-02-09 08:53:32 +01:00
DRracer
5c3683b4ad
Merge pull request #3022 from 3d-gussner/PFW-1182
PFW-1182 Fix too long translations during Load/Unload Filament
2021-02-09 08:24:31 +01:00
DRracer
d5d44d30a7
Merge pull request #2305 from 3d-gussner/MK3-Fix_M120_M121
Follow RepRap Wiki G-codes documentation
2021-02-09 07:52:14 +01:00
D.R.racer
3668cdeb30 Add Service prep. item into Factory reset
upon request from our Service dept. - it is to do the same stuff like
Shipping prep., but keep the printer's stats intact. Still, this has to
be verified and may undergo some further changes.
2021-02-08 17:27:32 +01:00
D.R.racer
5f49d65546 Farmers' request - allow file sorting menu item 2021-02-08 15:43:08 +01:00
3d-gussner
92db282eca Merge remote-tracking branch 'upstream/MK3' into PFW-960 2021-02-08 12:48:27 +01:00
3d-gussner
aecbd7ab49 Fix c=aa location in lang files
Fix too long translations in Spanish and Italian
2021-02-08 12:17:41 +01:00
3d-gussner
214695105c Fix issue #2958 2021-02-08 11:33:46 +01:00
3d-gussner
fb39e7296b Uniform message Press the knob 2021-02-08 10:58:41 +01:00
Alex Voinea
c739aa9003 M23 full path support. 2021-02-07 21:51:44 +02:00
Alex Voinea
f5cde38a7c Remove duplicit debug line 2021-02-06 21:06:37 +02:00
Voinea Dragos
77a5082b56 Fix presort_flag duplicate declaration 2021-02-06 17:25:17 +02:00
Voinea Dragos
52f7a71dce More fixes that were extracted from #2405 2021-02-06 14:59:11 +02:00
Voinea Dragos
f343e6432a Fix diveSubfolder string termination 2021-02-06 12:55:51 +02:00
DRracer
2dfe21358f
Merge pull request #2838 from wavexx/m204_travel_acceleration
Implement M204 T (separate travel acceleration)
2021-02-05 16:27:50 +01:00
DRracer
77eb10000c
Merge pull request #2948 from 3d-gussner/PFW-1168
PFW-1168 Move Z up running xyz calibration
2021-02-05 16:18:07 +01:00
Alex Voinea
84d043d41b Fix WorkDirDepth limit (for good this time) 2021-02-04 17:52:42 +02:00
Alex Voinea
90c0f33bc5 Fix farm filename when LFN is missing 2021-02-04 16:40:15 +02:00
Alex Voinea
080c44cb2e Undo stupid hack for an error because of some compiler issue in the past 2021-02-04 16:37:24 +02:00
Alex Voinea
df163066fb Fix "sorting files" messages for both ShellSort and BubbleSort 2021-02-04 15:44:15 +02:00
Alex Voinea
279c0aaa21 Fix double '>' bug and brutal refactoring 2021-02-04 14:21:37 +02:00
Yuri D'Elia
640e8d899b Don't scroll one character past the filename end 2021-02-04 13:33:20 +02:00
Alex Voinea
8445f76eb9 Restructure for loop to work correctly in reverse 2021-02-04 13:26:15 +02:00
Alex Voinea
3c5c1e5167 Use enum for menu state code readability 2021-02-04 13:19:22 +02:00
Alex Voinea
ffc3a445ca Remove even more dead code 2021-02-04 11:35:15 +02:00
Alex Voinea
d25b4a6bc9 Remove dead code (SDSORT_GCODE) 2021-02-03 19:18:13 +02:00
Alex Voinea
e52e68d4c1 Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-03 18:30:36 +02:00
Alex Voinea
4c977cc335 Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-03 18:28:18 +02:00
Yuri D'Elia
186ce0f4b3 Handle acceleration settings in UVLO/power panic
Acceleration settings need to be saved in UVLO, since these are often
changed/set during a print. This is especially important for travel and
retract acceleration, which is usually set once per-print.

Saving and restoring is not 100% correct.

We save the current front-end value, which might ahead of the backend
when UVLO is triggered. Print acceleration, likely the most significant,
should be saved in the block buffer to be accurate.

Acceleration needs to be restored after the UVLO Z repositioning is
performed, using an M204 command. This is correct, however we don't save
the _temporary_ max acceleration limits set via M201, which could be
higher than the saved limits (via M500). This could result in lower
clamped values compared to the original print.

Maximum acceleration/jerk/feedrate limits should _all_ be saved in UVLO
in the future.
2021-02-03 11:28:51 +01:00
Yuri D'Elia
f7542aa064 Report travel acceleration in M503
Use the new M204 format consistently also in M503's output
2021-02-03 11:20:28 +01:00
Yuri D'Elia
76911f67db Take advantage of the new is_uninitialized function
Save some space and perform some cleanup
2021-02-03 11:20:28 +01:00
Yuri D'Elia
45811f82aa Initialize default travel_acceleration from EEPROM
When reading uninitialized memory, preset the travel acceleration to be
the same as the default acceleration.
2021-02-03 11:20:28 +01:00
Yuri D'Elia
5589954b77 Add DEFAULT_TRAVEL_ACCELERATION in all variants
Use the same value as DEFAULT_ACCELERATION for compatibility.
2021-02-03 11:20:28 +01:00
Yuri D'Elia
1c76152e62 Implement separate travel acceleration (M204 T)
Allow to separate extrusion and travel acceleration settings using M204,
as Marlin 1.1.x and 2.x does using M204 T.

This allows to reduce the number of instructions required during
printing, since resetting the acceleration for travel moves is no longer
required and can be done a single time during the print.

Provision for this parameter was pre-existing, but not implemented.
M204 has two forms: the lagacy format (Marlin <1.1):

  M204 S[print-acc] T[retract-acc]

and the newer format:

  M204 P[print-acc] R[retract-acc] T[travel-acc]

The distinction in the MK3 FW is done based on the presence of the P
parameter. If P is seen, the new format is adoped. In the new format
however, M204 T was ignored until this change.

To keep backward compatibility, M204 S[acc] will set both print and
travel acceleration, which is identical in behavior to recent versions
of Marlin.
2021-02-03 11:20:28 +01:00
3d-gussner
2ba24fe0d4 Add pause/resume to USB/host prints via LCD menu
Depending if SD or USB/host print the firmware sends
- SD print: `// action:paused` or `// action:resumed` are send to inform USB/Host
- USB/host print: `// action:pause` or `// action:resume` are send to trigger the USB/host to handle it

- USB/host must handle `// action:pause` and `// action:resume` correctly to work
  - Tested with Octoprint
    - It handles every thing correctly
    - Any combination of Octoprint and/or LCD `pause` and `resume` working correctly
  - Tested with Pronterface
    - It pauses BUT doesn't send the printer in pause position, and so it is not possible to `resume` from LCD menu
    - I guess some Macros can fix that.
  - Repetier Host/Server documentation shows that it should work. Not tested.

Could save 56 bytes in first step and additional 38 bytes adding `MSG_PAUSE_PRINT` to messages.c/.h

Updated `lang_en*.txt`
@todo Polish translation is 19 characters long (it still fits) BUT should be corrected to 18 chars.
2021-02-03 11:00:26 +01:00
Alex Voinea
896f4e1dd1 Fix compile error 2021-02-02 19:14:05 +02:00
Alex Voinea
f6ae379077 Fix dir_names array definition. Prevents overrun 2021-02-02 19:08:44 +02:00
Alex Voinea
5c9d202871 Change MAX_DIR_DEPTH from 10 to 6
You can't run M23 with so many directories as the length of the command will exceed the maximum allowed by cmdqueue
2021-02-02 19:08:19 +02:00
3d-gussner
57e730c80c Merge remote-tracking branch 'vojtech-pavlik/MK3' into MK3_Test_PRs
Fix merge issues PR1900
2021-02-02 13:49:34 +01:00
Alex Voinea
647cde0cae Add documentation 2021-02-02 13:38:20 +02:00
Alex Voinea
2f4119a6d7 M552 - Printer IP address 2021-02-02 13:21:16 +02:00
DRracer
2b81abb24c
Merge pull request #2814 from wavexx/MK3_PAT9125_I2C
Use hardware TWI for the PAT9125 (optical) filament sensor
2021-02-02 09:15:35 +01:00
D.R.racer
15d76a7501 Remove duplicit incrementation of consecutive comment lines
It was left in the code in one of the refactoring/optimization passes.
It really didn't do any harm, but was limiting the performance of the
skipping algorithm.

+ some verification code added - will be removed after successful tests
2021-02-02 07:57:06 +01:00
DRracer
40e45c5eaa
Merge pull request #3009 from leptun/PFW-1144-LongPathName
"M27 P" support. Get current file absolute filename (file path)
2021-02-01 14:41:15 +01:00
DRracer
58c217a340
Merge pull request #2988 from leptun/PFW-1171-EEPROM_SN
Cache SN to EEPROM on startup
2021-02-01 14:24:13 +01:00
Alex Voinea
7e09df6a34 Add documentation 2021-02-01 14:54:44 +02:00
Alex Voinea
b6d56bc0f4 Change M27 argument from L to P as that makes more sense (path vs LFN)) 2021-02-01 14:54:37 +02:00
Yuri D'Elia
ec4c1be058 Silence bUpdateEEPROM unused warning in MK3 variant 2021-02-01 07:09:44 +01:00
Voinea Dragos
30131c9ab5 Patch broken string PROGMEM transition with setTargetedHotend() error 2021-02-01 06:12:37 +01:00
Voinea Dragos
ea44d78d68 Merge branch 'MK3' into PFW-1171-EEPROM_SN 2021-01-31 17:19:00 +02:00
Voinea Dragos
698499f00d split timer0 and timer2 initialization. Move timer2 init early 2021-01-31 17:18:32 +02:00
Voinea Dragos
6b6205d2f6 M27 refactoring and M27 L initial implementation 2021-01-31 15:06:20 +02:00
Yuri D'Elia
b8b75186fe Remove the extra copy of CRITICAL_SECTION from fastio 2021-01-29 18:30:16 +01:00
Yuri D'Elia
31b3ad0613 Merge remote-tracking branch 'upstream/MK3' into MK3_PAT9125_I2C 2021-01-29 18:28:55 +01:00
Yuri D'Elia
2d71a071f0 Switch twi.c to fastio 2021-01-29 17:51:38 +01:00
Yuri D'Elia
1fa7b8cd8d Move SDA/SCL pins into pins.h for fastio compatibility
fastio relies on macros for pin definitions, so we cannot use the const
declaration in Sd2PinMap or the arduino's definition.

Declare SDA/SCL_PIN into pins.h based on the current MCU, which is
identical in all our variants.

Remove the conflicting/unused declaration in Sd2PinMap.
2021-01-29 17:48:59 +01:00
Yuri D'Elia
30262b0a6e Remove redundant definitions of CRITICAL_SECTION_*
Move CRITICAL_SECTION_START/END into fastio.h, where it's needed.
2021-01-29 17:30:04 +01:00
3d-gussner
d75a0fdcbd Merge remote-tracking branch 'upstream/MK3' into MK3_translation_0121 2021-01-29 15:38:48 +01:00
DRracer
42311db5f1
Merge pull request #2789 from wavexx/MK3_TMC2130_DEDGE
Use/enable TMC2130 DEDGE support in MK3/MK3S
2021-01-29 11:13:09 +01:00
D.R.racer
caf58b16b6 Fix handling EOF
+ save ~160B by using local variables
+ rename some of the vars to more descriptive names
+ remove consecutiveEmptyLines handling from cmdqueue
2021-01-29 08:29:51 +01:00
Yuri D'Elia
e9d5c44732 Also toggle pins efficiently in sm4.c
Use the same technique used in fastio to toggle pins efficiently in sm4
when DEDGE is used.
2021-01-29 00:13:49 +01:00
D.R.racer
6c9c1423c6 Remove temporary changes from SdBaseFile.h 2021-01-28 09:42:50 +01:00
D.R.racer
71d825d0f2 Return SdBaseFile into previous state
no changes necessary afterall
2021-01-28 09:41:30 +01:00
D.R.racer
7279de7403 Separate reading G-code files and writing to a file
- extract common strings
- cleanup openFileWrite and openFileReadFilteredGcode formatting a bit
Alltogether - code size 400B down
2021-01-28 09:37:58 +01:00
D.R.racer
c05b625b1c Fix occasionally skipped valid G-code lines
which also allowed for removal of the pre-increment -> post-increment
workaround
2021-01-28 08:13:16 +01:00
D.R.racer
d1fd5a555f Clean up gfReset() 2021-01-27 14:12:11 +01:00
D.R.racer
b2cf5b7b6c Fix seekSetFilteredGcode()
+some more debug code which will vanish after all is done and verified
2021-01-27 13:01:25 +01:00
D.R.racer
b6c59e08ac Workaround ++gfCacheP into postincrement ld r22, Z+
TODO: ideally improve the automaton to work with postincrement only, at
least in this case.
2021-01-27 09:52:20 +01:00
D.R.racer
d275fe0e83 Extract gcode filter from SdBaseFile into SdFile + optimization
- Start saving instructions as the whole PR was >1KB long.
- It turned out the compiler was unable to understand the core skipping
cycle and an ASM version had to be used.
- Add seekSet aware of the G-code filter
2021-01-27 09:33:28 +01:00
D.R.racer
c3758d350e Fast skipping of large comment blocks
This is an extension/optimization of PR #2956.
It uses the cached 512B block buffer to avoid heavy-weight read() in SdBaseFile.
Even though this principle allowed the AVR to skip ~600KB of data within ~5 seconds,
the impact on code base is huge, especially into well proven and long-term stable
parts like reading a file from the SD card.

The sole purpose of this PR is to show/verify the possibility of the AVR CPU
in relation to adding thumbnails into MK3 G-codes.
Moreover, this PR shall not be merged unless the missing/commented features
are restored - especially file seeking and M84 search.

PFW-1175
2021-01-27 07:03:51 +01:00
D.R.racer
dcc6605809 Workaround for skipping large comment blocks
If there are large blocks of comments in the G-code,
the printer may get shot down by its own watchdog.
Watchdog is generally set to 4s and updated only
in manage_heaters (and some other spots in some specific cases).

So far, the code reading the file and feeding it into Marlin
cycles indefinitely until it finds valid G-code lines and fills up the
command queue.

If the block is large enough, the printer cannot read it completely
within those 4s.

A simple workaround - bail out after some consecutive empty/comment
lines to enable other parts of code do their job (especially
manage_heaters).

Tested on MK404, previous FW fails with 600KB of comment lines at the
beginning, this patch survives. The printer even draws some update
on its status screen before starting a real print.
2021-01-27 07:03:51 +01:00
Yuri D'Elia
a9625747db Reinstate the nop instruction as delay in non-DEDGE
When TMC2130_MINIMUM_PULSE is 0 a minimum delay is implied.
In this case, use a single "nop" instruction.
2021-01-26 19:43:29 +01:00
Yuri D'Elia
d3734b02cc Also fix delay instances inside unused BACKLASH_[XY] 2021-01-26 16:18:23 +01:00
Yuri D'Elia
b17cdcd4d7 Ensure MINIMUM_PULSE is always 0 in DEDGE mode
This ensures delays are always properly elided without having to check
for DEDGE all over the place.
2021-01-26 16:12:59 +01:00
Yuri D'Elia
2a6989ecd5 Remove TMC2130 special-cases
With the new STEPPER_MINIMUM_DELAY being automatically removed for
TMC2130 we no longer need to add specialized #ifdefs for DEDGE in
babystep.
2021-01-26 16:09:23 +01:00
Yuri D'Elia
4fed728e08 Elide delayMicroseconds for TMC2130 in non-DEDGE mode
Introduce new macros TMC2130_MINIMUM_DELAY/STEPPER_MINIMUM_DELAY for
blocking pauses.

If MINIMUM_PULSE has defined to be zero, avoid the delay call entirely.
2021-01-26 16:02:53 +01:00
3d-gussner
f40c593d11 Fix few translations not being used due to spaces or upper case 2021-01-26 14:15:34 +01:00
D.R.racer
c28e5a9dbc Farmer's request 2
Farmers request having the Change filament menu item always visible in
the main menu and located after the Live Adjust Z (which disappears
after the first few printed layers).
2021-01-26 12:19:41 +01:00
DRracer
bfe93d3959
Merge pull request #2951 from DRracer/pvb-08
Add PVB preheat and 0.8mm nozzle presets
2021-01-26 12:09:41 +01:00
3d-gussner
ad5d068690 Update char lengths part 1
Fix some too long translations
2021-01-26 12:09:35 +01:00
DRracer
891f37a622
Merge pull request #2982 from DRracer/codesize
Reduce code size and RAM usage
2021-01-26 12:04:39 +01:00
3d-gussner
c555907a12 Remove duplicate string G-code sliced for a different printer type. Please re-slice the model again. Print cancelled. using MSG_GCODE_DIFF_PRINTER_CANCELLED 2021-01-26 11:01:50 +01:00