Commit Graph

1652 Commits

Author SHA1 Message Date
Yuri D'Elia
ea46402e4d Replace EXTRUDE_MINTEMP with the configurable extrude_min_temp
Everywhere MINTEMP is checked, use the configurable value set by M302,
not an hardcoded value.

EXTRUDE_MINTEMP is now used only as the initial default value.

Reduce the precision of extrude_min_temp to an integer to reduce the
generated code size (constant folding did in fact do the same previously
anyway). Having tenths of degrees is not necessary for this feature.
2022-05-11 20:07:38 +02:00
Yuri D'Elia
64f646a8a4 Add notices about Sheet::bed_temp and Sheet::pinda_temp being unused
There is a potential for 2*8 bytes of extra sparse eeprom space, plus a
few bytes saved if we remove the update calls, so add a notice that
these values are currently only written-to, but never actually used.
2022-05-11 11:15:36 +02:00
Guðni Már Gilbert
727060ddd8 Replace CustomMsg::MsgUpdate with CustomMsg::M117
MsgUpdate was only used with M117, renaming the message type to M117 may be more descriptive for current use case.
2022-04-17 15:01:48 +00:00
Guðni Már Gilbert
c77b768fdd Make M117 custom message persistant if print is paused
If M117 is called before M601 then we would like the custom message to
be visible on the LCD screen until the print is resumed.

Change in memory: +10 bytes of flash

Fixes #3316
2022-04-17 14:00:41 +00:00
3d-gussner
312f3070c2 Use/show help.prusa3d.com instead of howto.prusa3d.com 2022-04-13 13:33:26 +02:00
Yuri D'Elia
765fbd3e92 Fix argument of lcd_selftest_fan_auto to be uint8_t 2022-04-11 17:42:31 +02:00
Alex Voinea
b52597f1b2
Merge branch 'MK3_3.11.1' into MK3_3.10.2 2022-04-07 14:05:34 +02:00
Yuri D'Elia
859aa4d283 Reuse M123 during fan selftest to report RPM
M123 reports both fan speeds nicely in RPM, as well as the requested PWM
for each so that we don't need to show the test "number" to distinguish
between the two in the serial output.
2022-04-04 23:29:52 +02:00
Yuri D'Elia
7671ff37a9 Fix/optimize fan selftest
Rewrite the part of the fan selftest to use a shared path between hotend
and print fan.

Remove the useless 10 seconds spin-up delay for the print fan. Reduce it
to 5 seconds.

Properly wait for readings after spin-up, so that RPMs are more
reliable. Also tune the print fan threshold to a more reasonable
default. Both, in conjunction, now avoid the "swapped fan" check that
was incorrectly triggered in almost every case.
2022-04-04 21:36:02 +02:00
3d-gussner
85a5986e9e Update ////MSG... for lang-add.sh 2022-03-16 09:01:14 +01:00
3d-gussner
7c55cf801b Fix additional merge issues
Update lang-??port.sh scripts
2022-03-12 10:51:26 +01:00
3d-gussner
626e5b43eb Fix part 2 of \04Refresh and Sheet... 2022-03-11 15:37:57 +01:00
3d-gussner
879803daa9 Temp. cal. -> PINDA cal.
01234567890123456789
 Temp. cal.   [Off] old
 PINDA cal.   [Off] new

Temp. cal.  1/6     old
PINDA cal.    1/6   new

MSG_TEMP_CALIBRATION -> MSG_PINDA_CALIBRATION
MSG_TEMP_CALIBRATION_DONE -> MSG_PINDA_CALIBRATION_DONE

Updated text
- MSG_PINDA_CALIBRATION_DONE
- MSG_PINDA_CAL_FAILED

Update status line during PINDA cal.

Changed PINDA cal. from submenu to function
- Deleted `lcd_pinda_calibration_menu()`
- Deleted `#MSG_CALIBRATE_PINDA c=17`

Tried to update translations

Updated po files
2022-03-07 11:47:52 +01:00
3d-gussner
81d8c72cc4 Remove duplicate Extruder fan:
Create MSG in messages to reuse it
Remove `Nozzle FAN`
Change Support -> Extruder info -> fan speeds
2022-03-07 11:47:52 +01:00
3d-gussner
4a73cad3fd Remove Choose filament as it is a duplicate of Select filament 2022-03-07 11:47:52 +01:00
3d-gussner
6822b65e9c FW Crash messages will not be translated 2022-03-07 11:47:52 +01:00
Guðni Már Gilbert
efde923e57 Purge ftostr3
Saves 54 bytes of Flash and 2 bytes of SRAM
2022-02-27 20:58:39 +01:00
Alex Voinea
8e85242c8f Temperature selection is int16_t. Use sprintf for PID start command.
Saves 90B of flash and 2B of ram
2022-02-27 20:57:24 +01:00
Guðni Már Gilbert
6d98e99356 Use sprintf_P for M301 instead of ftostr32
Also fixed indentation of if statement

Saves 248 bytes of flash
2022-02-27 20:57:24 +01:00
Guðni Már Gilbert
0e6ff38b61 Optimise strcpy calls to use strcpy_P
Saves 24 bytes of SRAM
2022-02-27 20:57:24 +01:00
Alex Voinea
ce7cccab80
Merge pull request #3417 from leptun/MK3_temperature_busy_messages
Print busy messages while waiting for heaters
2022-02-25 12:03:23 +02:00
Guðni Már Gilbert
227b6b4b03 Fix FINDA timer
We want to set the FINDA state IF the timer has not expired.
It is helpful to see why by looking at the commit which broke
this 802b8860c8

Without this fix my FINDA sensor just shows N/A. But after this commit is works perfectly.
2022-02-20 12:28:40 +00:00
Alex Voinea
0cc364ff7a Print busy messages while waiting for heaters 2022-02-17 17:53:02 +01:00
DRracer
159c9c34bd
Merge pull request #3089 from wavexx/show_axes_during_crash
Show affected axes in crash detection messages
2022-02-17 09:52:19 +01:00
Yuri D'Elia
9b6fca9214 Introduce lcd_show_yes_no_and_wait for future use
Split off yes/no lcd handling from
lcd_show_fullscreen_message_yes_no_and_wait_P into a separate function
in order to allow generic requests where the text prompt can change.
2022-02-16 14:17:56 +01:00
Alex Voinea
91797214b0 Update Eject and Cut to use for loop for menu items
Saves 134B of flash
2022-02-15 23:37:55 +01:00
Alex Voinea
2ec530c282 Do not hardcode the factory reset menu item count 2022-02-15 15:58:33 +01:00
Alex Voinea
a6331d22c8 Remove ancient SNMM code in the MK3 branch 2022-02-15 15:58:33 +01:00
Alex Voinea
775c460dc5
Merge branch 'MK3' into MK3_fix_usb_timer 2022-02-15 10:36:57 +01:00
DRracer
9aa0b250ff
Merge pull request #3405 from wavexx/fixup_suspicious_indentation
Fixup suspicious indentation in lcd_show_sensors_state
2022-02-15 10:31:20 +01:00
DRracer
2d9a154541
Merge pull request #3247 from gudnimg/remove-ifdef-gudni
Remove unused ifdef `MK1BP` and `MAX_SILENT_FEEDRATE`
2022-02-15 10:27:21 +01:00
Alex Voinea
73406f53e9
Merge pull request #3393 from gudnimg/add-menu-back-arrow-to-preheat-menu
Add menu back arrow to the Preheat menu
2022-02-15 08:49:07 +01:00
Yuri D'Elia
40881f52ad Prettify lcd_show_sensors_state() v2
Allow to show the full precision of Xd/Yd by rearranging the layout
2022-02-14 23:30:08 +01:00
Yuri D'Elia
0c63e0e8df Prettify MK3 sensor-info screen 2022-02-14 18:07:54 +01:00
Yuri D'Elia
d89f4e9952 Fix indentation in the MK3 sensor information screen 2022-02-14 17:59:47 +01:00
Alex Voinea
8d0f4b766a Change fake SN as requested 2022-02-14 10:14:08 +01:00
Alex Voinea
4ec8781df2 Fix usb print timer 2022-02-13 22:52:49 +01:00
Guðni Már Gilbert
bd3a835516 Optimise preheat menu's MENU_ITEM_BACK_P
Saves 10 bytes of flash memory
2022-02-12 14:17:11 +00:00
Guðni Már Gilbert
70ee06144e Add menu back arrow to the Perheat menu
All other menus have this arrow on the back button.
2022-02-12 12:48:39 +00:00
Guðni Már Gilbert
4672b6444c
Merge branch 'MK3' into remove-eeprom-func 2022-02-11 19:32:11 +00:00
Alex Voinea
3031f68d31 Fix Octoprint connect because of SN GET on blank einsy boards 2022-02-11 14:21:06 +01:00
Alex Voinea
42b91a83cd Merge branch 'MK3' into MK3_3.12_Optimizations 2022-02-10 10:36:31 +01:00
Alex Voinea
5c0d2767a8 Move the test to the experimental menu
.
2022-02-08 11:18:09 +01:00
3d-gussner
a4b605ba16 The Bed level correct menu is under Calibration so BACK is correct 2022-02-08 10:38:04 +01:00
3d-gussner
d80cef5443 Change [um] to [μm]
Including lang-im/export.sh to convert HD44780 to UTF-8 and vice versa
2022-02-08 10:18:27 +01:00
Alex Voinea
234add3c58 Merge branch 'MK3' into lcd-optimisation-gudni 2022-02-08 00:14:59 +01:00
Guðni Már Gilbert
121324d20b Revert "Remove one space from Support -> Temperatures menu"
This reverts commit 158877e736.
2022-02-08 00:09:09 +01:00
Alex Voinea
9c3c47ea29
Merge pull request #3253 from gudnimg/sd-sub-dir-fix
Fix edge case when SD card is inserted while user is inside the 'No SD card' submenu
2022-02-07 17:09:14 +01:00
3d-gussner
0d4d386991
Merge pull request #3228 from gudnimg/remove-mmu_lcd
Remove a few redundant lines from ultralcd code
2022-02-07 17:04:34 +01:00
Alex Voinea
5d29c4fab2 Fix build for real this time 2022-02-07 13:49:56 +01:00
Alex Voinea
b3a53f6436
Fix build 2022-02-07 14:41:56 +02:00
3d-gussner
db79ae9d5e Forgot #ifdef DEBUG_PULLUP_CRASH 2022-02-07 13:31:55 +01:00
3d-gussner
0b8ecfbf7c Add Test Pullup Crash menu 2022-02-07 13:28:48 +01:00
Guðni Már Gilbert
ff00988303 Revert "Replace hardcoded values and optimise strings"
This reverts commit e62bc4686f.
2022-02-06 11:09:45 +01:00
Guðni Már Gilbert
c6ecc0dfc9
Merge branch 'prusa3d:MK3' into lcd-optimisation-gudni 2022-02-06 09:54:58 +00:00
Alex Voinea
d06e74dd6f Fix Welcome message and language flashing 2022-02-05 23:44:24 +01:00
Guðni Már Gilbert
a22a7ea9d7 Change LCD_STR_UPLEVEL to LCD_STR_UPLEVEL[0] for consistency
Saves 4 bytes of flash and 2 bytes of SRAM (Arduino IDE 1.8.19)
2022-02-05 19:58:31 +00:00
Guðni Már Gilbert
d5b666d260 Add LCD_STR_SOLID_BLOCK to represent \xFF 2022-02-05 19:53:42 +00:00
Guðni Már Gilbert
e62bc4686f Replace hardcoded values and optimise strings
This commit saves 64 bytes of flash memory on my end
2022-02-05 18:28:17 +00:00
Alex Voinea
21a0b53647 remove firstrun 2022-02-04 13:27:43 +01:00
Alex Voinea
6ce7792045 Remove "hh" in fmt where it makes no difference 2022-02-02 20:58:21 +01:00
Guðni Már Gilbert
146b008186 Remove redundant variable farm_status
It is unused and status_number variable can be used instead.
2022-02-02 18:37:55 +00:00
Guðni Már Gilbert
459570ab66 Change prusa_stat_printerstatus parameter to uint8_t
Also changes status_number global variable to uint8_t

Changes save 80 bytes of flash and 1 byte of SRAM (Arduino IDE 1.8.19)
2022-02-02 18:35:52 +00:00
Guðni Már Gilbert
e525bcb7f5 Optimise lcd_selftest_screen input parameters and return type
* _progress_scale is max 3 so it can be uint8_t
* _progress is max 6 so it can be uint8_t
* Change _delay type to uint16_t to be explicit

Changes save 102 bytes of flash memory (Arduino IDE 1.8.19)
2022-02-01 18:57:43 +00:00
Guðni Már Gilbert
9bf45773f9 Merge remote-tracking branch 'upstream/MK3' into rebase-testing-ground-v2 2022-01-30 11:43:16 +00:00
Guðni Már Gilbert
f8847edca6 Remove one unused variable
Saves 1 byte of SRAM

The variable is only assigned a value but is never used.
2022-01-30 11:39:28 +00:00
Guðni Már Gilbert
b835f31904 Remove variable move_menu_scale
The variable is just set to 1.0 and is never modified, I also
removed the function lcd_move_menu_1mm()

Changes save 96 bytes of flash memory and 4 bytes of SRAM
2022-01-30 11:39:27 +00:00
Guðni Már Gilbert
a940c364c9 Create enum class for heating_status variable 2022-01-30 11:39:27 +00:00
Guðni Már Gilbert
2013295f94 Change farm_timer to uint8_t
Remove extern declaration of farm_timer and farm_status as they
are only used in one file.

Saves 26 bytes of flash
2022-01-30 11:39:26 +00:00
Guðni Már Gilbert
a687173e02 Change custom_message_state_old and custom_message_state to uint8_t
I see max value as 7*7+10 = 59

Saves 100 byte of flash and 1 byte of SRAM
2022-01-30 11:39:26 +00:00
Guðni Már Gilbert
60c9640602 Change heating_status_counter to uint8_t
It has a max value of 14

Saves 28 bytes of flash and 1 byte of SRAM
2022-01-30 11:39:26 +00:00
Guðni Már Gilbert
6a9bab02f7 Convert display_time to ShortTimer
Saves 24 bytes of flash, 1 byte of SRAM
2022-01-30 11:39:25 +00:00
Guðni Már Gilbert
802b8860c8 Convert mmu_last_finda_response to ShortTimer
Saves 48 bytes of Flash, 1 byte of SRAM
2022-01-30 11:39:25 +00:00
Guðni Már Gilbert
37fd9d1b11 Convert NcTime to ShortTimer
The variable is only used in ultralcd.cpp so I made it static there
and deleted it from Marlin_main.cpp

Saves 24 bytes of flash and 1 byte of SRAM
2022-01-30 11:39:25 +00:00
Alex Voinea
fb10b4398e Merge pull request #6 from gudnimg/gudni-PR1
Purged some `int`s for `uint8_t` when using the axis enum
2022-01-30 11:30:25 +00:00
Voinea Dragos
9684806e00 Change arduino IO to fastio where possible 2022-01-30 11:22:43 +00:00
Alex Voinea
93b1a6b736 "Unload filament" c adjustment 2022-01-16 11:19:24 +01:00
3d-gussner
e02dd42765 Prepare for lot of community languages
The firmware is limited to how many languages can be stored in the xflash.
We will need to compile multiple language groups
2022-01-03 11:25:15 +01:00
DRracer
0be90dc5d1
Merge pull request #3320 from prusa3d/MK3_3.10.1
Merge MK3_3.10.1 into MK3 after release
2021-12-17 14:02:13 +01:00
Yuri D'Elia
3849f9785a Make cancel_heatup also abort cooldown in M190
This matches the expected behavior, as already implemented in
wait_for_heater().
2021-12-10 01:51:43 +01:00
Yuri D'Elia
32d8d892f5 Actually call UnconditionalStop() in Stop()->lcd_print_stop()
Remove incorrect check introduced during development.
2021-12-10 01:43:59 +01:00
Yuri D'Elia
83693bf4cc Remove useless assignment in lcd_cooldown
The current filament action will be aborted by lcd_return_to_status()
2021-12-07 19:27:18 +01:00
Yuri D'Elia
78f856c8d6 Do not unconditionally overwrite the status message in check_file()
No function should touch the status message directly without checking
the message severity level first. Replace the strcpy_P with
lcd_setstatuspgm().
2021-12-07 19:27:18 +01:00
Yuri D'Elia
36a7b5ca56 Avoid redundant checks in lcd_setalertstatus* 2021-12-07 19:27:18 +01:00
Yuri D'Elia
a3915b57b9 Improve temp_runaway_stop robustness
Remove most of the duplicated code inside temp_runaway_stop(),
making it identical to the other temperature handlers.

Move the lower-level functions required to stop the entirety of the
machine into UnconditionalStop(). Reuse this function inside
lcd_print_stop().

Set the LCD alert message before calling Stop(), as done in other safety
handlers, so that the error is visible while the printer is stopping.

This also avoids other temporary status messages to appear before
the real issue is shown and/or STEALING the first CRITICAL alert
level before we do.
2021-12-07 19:25:34 +01:00
Yuri D'Elia
fb025bba05 Introduce severity levels for alert messages
Use the internal lcd_status_message_level for multiple severity levels
of alert messages.

This is needed to distinguish between non-critical alerts (such as FAN
ERROR) from critical ones (any heater issue). During a failure
scenario, a critical error MUST NOT be overridden by a lower-level one.

As such LCD_STATUS_CRITICAL is currently used for all heater-related
errors that result in a safety full-stop.
2021-12-07 11:06:08 +01:00
Guðni Már Gilbert
be79e3791f Fixes #3262
Make sure to call lcd_timeoutToStatus.start() when the SD card is inserted
into the printer after it was removed beforehand.

(cherry picked from commit 6795843f153aa064f087f80990419a946cdfe857)
2021-11-18 19:23:21 +00:00
Panayiotis-git
f8410d8f3c Print temperatures only if filament loading is still active 2021-11-18 11:46:36 +02:00
Guðni Már Gilbert
b716c208d7 Various optimisation to change int to uint8_t
This commit saves 174 bytes of flash memory
2021-08-03 22:42:01 +00:00
Guðni Már Gilbert
1946c58d21 1. Remove redundant variable 'inters'
2. 'gh' variable can be 1 byte instead of 2

This saves 26 bytes of flash memory
2021-08-03 21:46:11 +00:00
Guðni Már Gilbert
05ed5b9668 Improve lcd_selftest_screen_step() parameter types
Saves 62 bytes of flash memory
2021-08-03 21:35:28 +00:00
Guðni Már Gilbert
2554d21925 Use uint8_t when using axis enum
Saves 76 bytes of flash memory
2021-08-02 12:20:10 +00:00
Guðni Már Gilbert
158877e736 Remove one space from Support -> Temperatures menu
Saves 2 bytes of flash memory
2021-08-01 11:20:29 +00:00
Guðni Már Gilbert
da2c802440 Add two defines and use LCD_STR_DEGREE with consistency
This saves 12 bytes of flash and 2 bytes of SRAM
2021-08-01 11:10:03 +00:00
Guðni Már Gilbert
6afc87d3c8 Reduce unnecessary LCD CGRAM writes 2021-07-30 23:53:57 +00:00
Guðni Már Gilbert
b1972fdcee Fixes https://github.com/prusa3d/Prusa-Firmware/issues/3252 2021-07-28 16:47:47 +00:00
Guðni Már Gilbert
25408d14da Remove unused #ifdef MK1BP
MK1BP is never defined anywhere
2021-07-21 06:27:44 +00:00
Guðni Már Gilbert
13477c65c6 Remove two functions EEPROM_read_B() and EEPROM_save_B()
This resolves #3218
2021-07-20 17:04:17 +00:00
Guðni Már Gilbert
538ce06bf0 Remove unused function lcd_choose_color() 2021-07-20 08:55:49 +02:00
Guðni Már Gilbert
d853c19a21 Use fabs() instead of abs() when using floats
This saves 514 bytes of flash memory
2021-07-20 08:16:18 +02:00
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