Commit Graph

1652 Commits

Author SHA1 Message Date
Guðni Már Gilbert
153de8e1db Remove redundant lines 2021-07-10 17:01:13 +00:00
Guðni Már Gilbert
47b8462c38 Remove two functions EEPROM_read() and EEPROM_save() 2021-07-02 20:10:47 +00:00
DRracer
6188870c2e
Merge pull request #3157 from wavexx/improve_d2
Add extra debugging functions & crash analysis
2021-06-22 07:37:30 +02:00
Alex Voinea
30d9faef9d
Minor fixes to SD presence handling (#3139)
* Remove forgotten function protorypes

* Fix code indentation

* Fix double sorting if SD card is inserted during setup()

* Correctly handle SD removal during sorting
2021-06-21 07:30:47 +02:00
Yuri D'Elia
a92c0278fe Use LCD_WIDTH instead of hardcoding 20 2021-06-21 07:21:10 +02:00
Yuri D'Elia
09e935d27b Fix two new explicit case fallthru warnings 2021-06-21 06:52:52 +02:00
Yuri D'Elia
d727a949dd Silence explicit case-fallthru 2021-06-21 06:52:52 +02:00
Yuri D'Elia
f2fe57bfc0 Fix unused static declaration warnings
Guard declarations using the appropriate defines
2021-06-21 06:52:52 +02:00
Yuri D'Elia
97f66a6a13 Remove ignored/incorrect PROGMEM
This PROGMEM is currently ignored by gcc, but even if it wasn't it
wouldn't be correct since the following code is expecting to read "item"
without fetching the array itself from PROGMEM.
2021-06-21 06:44:19 +02:00
Yuri D'Elia
dd8c6c064c xfdump: simplify stack debugging (sample pc+sp)
Instead of having to guess the PC where the SP was sampled, always take
both. This allows "seamless" stack decoding for both serial and xflash
dumps, since we don't have to guess which function generated the dump.

Make the core functions (doing the sampling) be ``noinline`` as well,
so that they always have valid frame.
2021-06-17 01:29:25 +02:00
Yuri D'Elia
97535ec0c1 Fix last commit 2021-06-15 22:10:08 +02:00
Yuri D'Elia
e6d520cf6e Add test code for the stack overflow handler 2021-06-15 18:49:20 +02:00
Yuri D'Elia
928c7211ad emergency handlers: always save SP _at_ the crash location
Save SP which is closest to the crash location, which simplifies
debugging. For serial_dump, write SP just before the dump.
For xfdump, save SP in the dump header.

This makes xfdump_dump and xfdump_full_dump_and_reset() equivalent for
stack debugging.
2021-06-15 11:47:27 +02:00
Yuri D'Elia
6de98f7b0d Move inclusion closer to the usage point 2021-06-12 15:33:18 +02:00
Yuri D'Elia
050cf72e98 Move stack checking to the temperature ISR
Now that the stack_error function is truly minimal,
we can check for stack errors much more frequently.

Also move away stack_error from ultralcd to Marlin_main.
2021-06-12 15:23:33 +02:00
Yuri D'Elia
01934b89e9 xflash_dump is now always required in all variants 2021-06-12 15:13:32 +02:00
Yuri D'Elia
449510392d Untangle a bit some recursive include mess 2021-06-12 15:09:03 +02:00
Yuri D'Elia
e28301f391 Report crash also in MK2.5, fix stack_error abuse
Rename EEPROM_CRASH_ACKNOWLEDGED to EEPROM_FW_CRASH_FLAG.

Use EEPROM_FW_CRASH_FLAG to always set the last crash reason, which
simplifies handling between the online/offline variants.

Make stack_error safe, by setting the flag and restarting immediately,
so that the error can be shown after restart.
2021-06-12 14:41:54 +02:00
Yuri D'Elia
bd57e00448 Implement an online crash dumper for MK2.5 boards
When XFLASH is not available, allow users to request _online_ crash
dumps by using D23 (since these require active user cooperation).

Once enabled, instead of just rebooting, dump memory directly to
the serial.

As similarly done with EMERGENCY_DUMP, we have two features that can be
enabled:

EMERGENCY_SERIAL_DUMP: enables dumping on crash after being requested
MENU_SERIAL_DUMP: allow triggering the same manually through the support
menu.
2021-06-12 13:37:20 +02:00
Yuri D'Elia
31f416fd5e Rename dump_crash_source to dump_crash_reason 2021-06-10 17:35:49 +02:00
Yuri D'Elia
c375610668 Move "WDR dump" inside EMERGENGENCY_DUMP 2021-06-10 17:02:41 +02:00
Yuri D'Elia
63f870c089 Enable the "WDR reset" menu item in DEBUG_BUILD only 2021-06-10 16:30:59 +02:00
Voinea Dragos
1e786c7f55 WDR crash initial 2021-06-09 13:59:26 +03:00
Yuri D'Elia
c31109c750 Implement MENU_DUMP: offline memory dump from "Support"
If MENU_DUMP is enabled, a new entry at the end of the "Support" menu is
added that allows to dump memory for offline use.

This allows to trigger a memory dump at any moment during regular usage
(either idling or printing) and to recover the dump later even after a
hardware reset.
2021-06-08 16:56:58 +02:00
Yuri D'Elia
c089ac5341 Implement EMERGENCY_DUMP for offline analysis
If EMERGENCY_DUMP is defined, crash and dump using the new xflash dump
functionality instead of just continuing with an error message.

When an emergency crash is stored, the first restart after a crash
displays a message that debug data is available and to contact support
to submit the crash for analysis.
2021-06-08 16:42:43 +02:00
Yuri D'Elia
1a92f2e19f Merge remote-tracking branch 'upstream/MK3_3.10.0' into fix_partial_redraw2 2021-05-04 10:49:24 +02:00
DRracer
eaa6801849
Merge pull request #3136 from leptun/PFW-1225_fix_open_file_from_sd_wrong_file
Fix menu_action_sdfile() check_file(filename) call
2021-04-29 16:34:01 +02:00
DRracer
80e248662c
Merge pull request #3079 from 3d-gussner/PFW-1189
PFW-1189 Pre-release tasks
2021-04-29 16:33:18 +02:00
DRracer
a3b392d96c
Merge pull request #3130 from DRracer/move-alldata-2-end
Move All Data into last position in Factory Reset menu
2021-04-29 10:08:32 +02:00
Voinea Dragos
1a70f3369d fix comment 2021-04-29 09:48:25 +03:00
Voinea Dragos
d9976ca69c Fix menu_action_sdfile() check_file(filename) call 2021-04-29 09:47:16 +03:00
3d-gussner
b5ba4041d3 Remove FINDA from translations 2021-04-28 17:36:17 +02:00
3d-gussner
30b383195d Remove copy/paste error 2021-04-28 17:29:32 +02:00
Yuri D'Elia
aee04a43e2 Redraw "Preheating to load" in full when modified by other actions
Check for lcd_draw_update to see if the lcd has been altered outside the
function and redraw the screen if full.

This fixes scenarios such as #3129 where the "Card removed" message or
the SD menu is entered from outside the function's control.

This requires checking/resetting bFilamentWaitingFlag carefully to avoid
re-entering this function _twice_ (raise_z_above will run the main
loop until complete).
2021-04-28 17:13:46 +02:00
D.R.racer
5089b2cddb Move All Data into last position in Factory Reset menu 2021-04-28 06:43:54 +02:00
3d-gussner
7a54c3638c Remove web links and Prusa i3 MKxy OK. from translations
as these never have been translated or doesn't make sense
to translate web links
2021-04-27 20:36:22 +02:00
3d-gussner
1145b231a9 Define MSG_SELFTEST_FS_LEVEL 2021-04-26 14:30:20 +02:00
3d-gussner
b522ef4812 Update MSG_SEVER_SKEW and MSG_SLIGHT_SKEW message to c=14
Changed and tested Support-> "XYZ cal. details" LCD output
2021-04-26 12:39:13 +02:00
3d-gussner
466de83ae0 Remove white spaces in messags which saves ~62bytes 2021-04-26 07:22:22 +02:00
3d-gussner
9f77ca31b8 Set MSG_SET_TEMPERATURE chars to c=20
Fix Italian warning shown by `lang-check.py`
2021-04-24 08:19:48 +02:00
Marek Bel
aa45091400
Scale extruder motor current linearly with speed. (#2813)
Scale extruder motor current linearly with speed.

49% less heating when running at low speed and standstill, 4% more torque at maximum extrusion rate (15mm^3/s), 15% more torque in high speed movements (un/retractions).

StealthChop mode is used for low speeds (below 900mm/min)
spreadCycle is used above. Transition speed is well above maximum extrusion rate of 15mm^3/s (275mm/min) so mode transition is not expected to be visible on printed surface.

StealthChop is expected to improve printed surface quality (less artifacts).

Warning you can burn extruder motor if it is not the same impedance as original Prusa i3 Extruder stepper motor. There is no current feedback in low speed so lower impedance motor can be burned by over current.

Even there is no direct current feedback, there is no risk for original motor thermal runaway, as motor resistance increases with temperature, current decreases.

Standstill peak phase current is expected to be 500 mA and linearly increase with speed to 970 mA at 900mm/min where spreadCycle constant current regulation takes over and keeps peak current at 805 mA to maximum speed possible.

As motor heating increases with current squared, lowering low speed current from 700mA to 500mA decreases heating 49% in thate mode, where motor spends most of the time.

Enable E-motor cool mode in farm mode only (and experimental menu) - the experimental menu is visible AND the EEPROM_ECOOL variable has a value of the universal answer to all problems of the universe - i.e. two conditions must be met at the start of the FW to enable the E-cool mode. If the user enables the experimental menu, sets the E-cool mode and disables the menu afterwards, on the next start of the FW the E-cool mode will be DISABLED. This is still subject to discussion how much obscure (security through obscurity) we'd like this option to have .

Additional stuff:
* Add serial debug msg to verify if E-cool mode is on
* Avoid access to E-cool mode switch on machines without TMC2130
* Do not allow only M907 E in case of E-cool mode+warn the user on the serial line that the command was skipped

Co-authored-by: D.R.racer <drracer@drracer.eu>
2021-04-23 16:06:28 +02:00
3d-gussner
c2cde83d7e Fix MSG_SELFTEST_WIRINGERROR to c=18 2021-04-23 13:29:45 +02:00
3d-gussner
032e8a5957 @leptun strip 1st char hack for duplicate Cancel 2021-04-23 13:03:59 +02:00
3d-gussner
28aec049a2 Fix Typo in MSG_FIL_FAILED 2021-04-23 09:41:12 +02:00
3d-gussner
ff9185d1bb Readded >Cancel as the > has some meaning. Sadly the previously 10bytes more free space are gone again 2021-04-23 08:50:50 +02:00
3d-gussner
e18d688b64 Fix merge issues 2021-04-22 20:48:26 +02:00
3d-gussner
681bc560c9 Merge remote-tracking branch 'upstream/MK3_3.10.0' into PFW-1189 2021-04-22 20:43:54 +02:00
DRracer
00ce16ee55
Merge pull request #3121 from wavexx/reduce_m600_min_height
Revert/cleanup mininum extruder height during M600
2021-04-22 11:43:18 +02:00
Yuri D'Elia
8d04316497 Revert/cleanup mininum extruder height during M600
This change restores the minimum extruder height for filament purge
during M600 from the current 50mm back to 27mm from FW 3.9.

We do this by introducing a new option for unload_filament() to indicate
that the unload is part of an automatic swap, and in such cases avoid
raising more than absolutely necessary (this will _also_ come in handy
to avoid the extra purge in PR #2318 during M600).

A new define MIN_Z_FOR_SWAP is introduced for this purpose.
MIN_Z_FOR_UNLOAD is still used for manual lcd unload and for M702 and
hasn't been changed.
2021-04-21 19:07:58 +02:00
Yuri D'Elia
bc355674d9 Fix partial redraw during filament autoload
If the printer was already being pre-heated but didn't reach the target
temperature yet and a new filament is being inserted, the LCD used to
display a "Preheating to load" message to block the loading until the
extruder is hot.

This message is currently missing, and the ">Cancel" option doesn't
display immediately either, depending on the extruder height.

This PR fixes this behavior, which was broken during an earlier update.

We now force-update LCD updates during the first (and _only_) time the
screen is setup, and push all messages _before_ the carriage is
eventually raised, so that ">Cancel" is shown immediately as well.
2021-04-21 16:56:16 +02:00
Alex Voinea
9454f9d8ec Rename w25x20cl to xflash 2021-04-06 10:16:47 +02:00
3d-gussner
3b431bcbc1 Fix output "Y distance from min" by removing ":" so translations can use 20 chars 2021-03-31 08:54:16 +02:00
3d-gussner
d864a5cfdb Define #MSG_PRINTER_IP c=18 2021-03-31 08:46:17 +02:00
3d-gussner
9922774fa7 Cleanup some comments ////c= 2021-03-31 08:11:19 +02:00
3d-gussner
8e74cbce58 Remove r=1 and some minor fixes 2021-03-31 08:07:42 +02:00
3d-gussner
fb691b44b4 Update #MSG_INFO_SENSORS c=18 2021-03-31 07:51:22 +02:00
3d-gussner
3fb90be46f Define #MSG_SELECT c=18 2021-03-31 07:50:18 +02:00
3d-gussner
9a0e67c1d7 Define #MSG_RENAME c=18 2021-03-31 07:43:48 +02:00
3d-gussner
cdfc40fb62 Define #MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 2021-03-31 07:38:41 +02:00
3d-gussner
268d4020cf Define #MSG_FINDA c=5 and update #MSG_PINDA c=5 2021-03-31 07:32:43 +02:00
3d-gussner
c0b8eef6cd Define #MSG_FALSE_TRIGGERING c=20 2021-03-31 07:29:42 +02:00
3d-gussner
1ca443f1f4 Define #MSG_CHECKS c=18 2021-03-31 07:28:18 +02:00
3d-gussner
5e049283be Define #MSG_UNKNOWN c=13 2021-03-31 07:24:41 +02:00
3d-gussner
982153fee1 Define and update #MSG_PRINT_TIME c=19, #MSG_FILAMENT_USED c=19, #MSG_TOTAL_FILAMENT c=19, #MSG_TOTAL_PRINT_TIME c=19 2021-03-31 07:16:36 +02:00
3d-gussner
7a88ce89e4 Update MSG_TEMPERATURE c=18 2021-03-31 07:11:01 +02:00
3d-gussner
c0df79d39a Define #MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 2021-03-31 07:10:03 +02:00
3d-gussner
7268f6a824 Define #MSG_SELECT_FILAMENT c=20 2021-03-31 07:08:09 +02:00
3d-gussner
2e43234d3f Update #MSG_SUPPORT c=18 2021-03-31 07:06:46 +02:00
3d-gussner
ba38262109 Update #MSG_STATISTICS c=18 2021-03-31 07:05:28 +02:00
3d-gussner
960ebac02d Update #MSG_SPEED c=15 2021-03-31 07:04:47 +02:00
3d-gussner
acbdc2ac8d Define #MSG_RUNOUTS c=7 2021-03-31 06:59:16 +02:00
3d-gussner
09f4850a8a Define #MSG_SLIGHT_SKEW c=13, #MSG_SEVERE_SKEW c=13 2021-03-31 06:53:04 +02:00
3d-gussner
4749dd1750 Define #MSG_CHECK_IR_CONNECTION c=20 r=4 2021-03-31 06:46:43 +02:00
3d-gussner
bd8ab39b39 Define #MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 2021-03-31 06:45:33 +02:00
3d-gussner
5280a89fba Define #MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 2021-03-31 06:43:21 +02:00
3d-gussner
4f394c8c5a Update #MSG_TUNE c=18, #MSG_PREHEAT c=18 2021-03-31 06:38:50 +02:00
3d-gussner
fbecae1707 Update MSG_PREHEAT c=18 2021-03-31 06:38:06 +02:00
3d-gussner
ac810bf03a Define #MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 2021-03-31 06:36:28 +02:00
3d-gussner
00b100bf26 Define #MSG_NOZZLE_FAN c=10, #MSG_PRINT_FAN c=10 2021-03-31 06:30:00 +02:00
3d-gussner
baf231b0f1 Update MSG_NO_CARD c=18 2021-03-31 06:23:18 +02:00
3d-gussner
1c09e8411d Define #MSG_PINDA c=6 and remove duplicate saved 8 bytes 2021-03-30 19:30:26 +02:00
3d-gussner
6a266d497b Define #MSG_REMOVE_TEST_PRINT c=20 r=4 2021-03-30 19:19:43 +02:00
3d-gussner
5fcc731be1 Define #MSG_INSERT_FIL c=20 r=6 2021-03-30 19:17:48 +02:00
3d-gussner
243fa68745 Define #MSG_LIN_CORRECTION c=18 2021-03-30 19:16:11 +02:00
3d-gussner
44f7be134d Define #MSG_FS_VERIFIED c=20 r=3 2021-03-30 19:13:31 +02:00
3d-gussner
bcdaecb46d Define #MSG_TO_LOAD_FIL c=20, #MSG_TO_UNLOAD_FIL c=20, #MSG_PRESS_KNOB c=20 2021-03-30 19:10:56 +02:00
3d-gussner
de9697b913 Define #MSG_PREHEATING_TO_LOAD/UNLOAD/CUT/EJECT c=20 2021-03-30 19:06:46 +02:00
3d-gussner
e9750a7312 Update #MSG_FIL_FAILD c=20 r=5 2021-03-30 18:52:58 +02:00
3d-gussner
4a5d7bc6b7 Define #MSG_Y_DIST_FROM_MIN c=20 2021-03-30 18:51:04 +02:00
3d-gussner
7f3fe6740b Update #MSG_NO_MOVE c=20 2021-03-30 18:46:56 +02:00
3d-gussner
1a1a1d88a7 Update MSG_MOVE_X/Y/Z c=18 2021-03-30 18:13:49 +02:00
3d-gussner
c1f22a5239 Update #MSG_MOVE_AXIS c=18 2021-03-30 18:12:03 +02:00
3d-gussner
99893d5066 Define #MSG_MMU_CONNECTED c=18 2021-03-30 18:11:22 +02:00
3d-gussner
4d9dffb042 Define #MSG_MEASURED_SKEW c=13 2021-03-30 18:06:43 +02:00
3d-gussner
afb7c82e26 Update #MSG_LOAD_TO_NOZZLE c=18 2021-03-30 18:00:20 +02:00
3d-gussner
2408bc9f2e Update MSG_LOADING_COLOR c=20 2021-03-30 17:58:51 +02:00
3d-gussner
c4f80642b3 Update #MSG_MAIN c=18 2021-03-30 09:52:52 +02:00
3d-gussner
6900c206cd Define #MSG_SEL_PREHEAT_TEMP c=20 r=6 2021-03-30 09:36:32 +02:00
3d-gussner
12dc48ff1a Update #MSG_BELTTEST c=18 2021-03-30 09:34:41 +02:00
3d-gussner
b697117654 Update #MSG_SELFTEST c=18 2021-03-30 09:33:49 +02:00
3d-gussner
9bc702ae0a Update #MSG_SELFTEST_OK c=20 2021-03-30 09:32:27 +02:00
3d-gussner
00fedbb08a Update MSG_LANGUAGE_SELECT c=18 2021-03-30 09:30:04 +02:00
3d-gussner
164226c739 Define #MSG_RIGHT c=10 2021-03-30 09:29:07 +02:00
3d-gussner
2daf1d9114 Define #MSG_LEFT c=10 2021-03-30 09:26:50 +02:00
3d-gussner
169f8983b6 Define #MSG_ADDITIONAL_SHEETS c=20 r=9 2021-03-30 09:23:35 +02:00
3d-gussner
0139bb5a5e Update #MSG_CHANGE_SUCCESS c=20 2021-03-30 09:20:57 +02:00
3d-gussner
280a3c4d3a Update #MSG_PRUSA3D_HOWTO c=18 2021-03-30 09:16:14 +02:00
3d-gussner
12bd2f1a09 Update #MSG_PRUSA3D c=18 2021-03-30 09:15:21 +02:00
3d-gussner
4e4fb7a59f Update #MSG_PRUSA3D_FORUM c=18 2021-03-30 09:14:20 +02:00
3d-gussner
10c586b577 Update #MSG_FLOW c=15 2021-03-30 09:13:09 +02:00
3d-gussner
7a99f63ffd Define #MSG_FAIL_STATS c=18 2021-03-30 09:06:59 +02:00
3d-gussner
d427563e2b Define #MSG_MMU_FAIL_STATS c=18 2021-03-30 09:05:18 +02:00
3d-gussner
b6031c02a8 Update #MSG_DISABLE_STEPPERS c=18 2021-03-30 08:59:27 +02:00
3d-gussner
411caddc55 Define #MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 2021-03-30 08:14:46 +02:00
3d-gussner
2d2dc23e81 Define #MSG_CALIBRATING_HOME c=20 2021-03-30 08:12:20 +02:00
3d-gussner
c8af50d344 Define #MSG_COPY_SEL_LANG c=20 r=3 2021-03-30 08:09:08 +02:00
3d-gussner
5f9b66a23a Update #MSG_NOT_COLOR c=19 2021-03-30 08:04:39 +02:00
3d-gussner
02ff05639b Define MSG_CHECKING_FILE c=17 2021-03-30 08:01:26 +02:00
3d-gussner
f2298b1a46 Update #MSG_SD_REMOVED c=20 2021-03-30 07:57:42 +02:00
3d-gussner
3733c42d38 Update #MSG_HOMEYZ_DONE c=20 2021-03-30 07:54:11 +02:00
3d-gussner
fa0382fd3e Update #MSG_CALIBRATE_BED c=18 2021-03-30 07:50:54 +02:00
3d-gussner
7c906dd0b1 Update #MSG_BED_CORRECTION_MENU c=18 2021-03-30 07:44:16 +02:00
3d-gussner
ba0f2b2501 Update MSG_LOOSE_PULLEY c=20 2021-03-20 07:11:41 +01:00
3d-gussner
3fcc81ebdb Update MSG_SELFTEST_ENDSTOP c=16 2021-03-20 07:11:07 +01:00
3d-gussner
17df4e1c8d Update MSG_SELFTEST_ENDSTOPS c=20 2021-03-20 07:10:09 +01:00
3d-gussner
4a6c53daf8 Update MSG_SELFTEST_PLEASECHECK c=20 2021-03-20 07:09:33 +01:00
3d-gussner
b3d3feef4d Update MSG_SELFTEST_ERROR c=20 2021-03-20 07:08:48 +01:00
3d-gussner
5d167ce813 Update MSG_SELFTEST_NOTCONNECTED c=20 2021-03-20 07:08:20 +01:00
3d-gussner
625604d704 Update MSG_SELFTEST_HEATERTHERMISTOR c=20 2021-03-20 07:07:14 +01:00
3d-gussner
b86ad11b68 Update MSG_SELFTEST_BEDHEATER c=20 2021-03-20 07:06:37 +01:00
3d-gussner
b3b062e4ba Update MSG_SELFTEST_SWAPPED c=16 2021-03-20 07:05:47 +01:00
3d-gussner
b6684f6114 Update MSG_SELFTEST_AXIS c=16 2021-03-20 07:05:03 +01:00
3d-gussner
bc9f6b6ae6 Update MSG_SELFTEST_AXIS_LENGTH c=20 2021-03-20 07:03:47 +01:00
3d-gussner
fe1b4e50be Update MSG_AMBIENT c=14 2021-03-20 06:59:54 +01:00
3d-gussner
178fe36dc7 Create MSG_CANCEL c=9
Delete ">Cancel"
Samed 10 bytes
Updated MSG_MEASURED_OFFSET c=20
2021-03-20 06:30:26 +01:00
3d-gussner
1c965cd988 Update MSG_MEASURED_OFFSET c=20 2021-03-20 06:18:41 +01:00
3d-gussner
92acac453f Update MSG_MMU_POWER_FAILS c=15 2021-03-20 06:16:11 +01:00
3d-gussner
b806c017cb Update MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
as Polish translation is longer
2021-03-19 18:47:58 +01:00
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
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
1bba2255c1 Update MSG_WAITING_TEMP c=20 r=4 2021-03-19 17:34:15 +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
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
0928c3d133 Update "Lin. correction" c=18 2021-03-19 16:14:16 +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
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
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
ee8c9227cf Update #MSG_SELFTEST_FANS c=20 2021-03-19 15:16:23 +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
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
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
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
c1849f5cc2
Merge pull request #2405 from leptun/MK3_NEW_SD_COMPILATION
️New SD menu
2021-03-03 11:45:04 +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
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
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
DRracer
f3c422c40e
Merge pull request #3039 from 3d-gussner/PFW-910
Fix issue #3037
2021-02-26 12:07:10 +01:00
Alex Voinea
7faffa539a
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-26 09:48:46 +02:00
Alex Voinea
204da1cc3f
Factory reset and check_file progress bar 2021-02-25 21:04:05 +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
28e9c814fc Remove code duplication for babystep insertion 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
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
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
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
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
3d-gussner
59c2b7e795 Fix Fan error issues. 2021-02-17 07:42:12 +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
25928232e4 Merge remote-tracking branch 'upstream/MK3' into MK3_PFW-960 2021-02-15 13:06:47 +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
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
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
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
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
b4de57c365
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-10 17:08:28 +02:00
DRracer
7aa4595211
Merge branch 'MK3' into thumbnails2 2021-02-10 12:15:57 +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
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
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
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
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
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
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
4c977cc335 Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-03 18:28:18 +02: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
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
2f4119a6d7 M552 - Printer IP address 2021-02-02 13:21:16 +02:00
3d-gussner
d75a0fdcbd Merge remote-tracking branch 'upstream/MK3' into MK3_translation_0121 2021-01-29 15:38:48 +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
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
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