Commit graph

4214 commits

Author SHA1 Message Date
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
DRracer
a7dfe4b523
Merge pull request #3305 from gudnimg/sd-card-lcdtimer-fix-gudni-v2
Fix issue when the SD card is inserted and the file menu may sometimes close immediately due to a timeout
2021-11-19 07:23:21 +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
Guðni Már Gilbert
13732f162b Fix build error when TMC2130_SERVICE_CODES_M910_M918 is enabled
(cherry picked from commit 6ed4b79cc6685f31b6914881008e036424dab2eb)
2021-11-18 19:19:56 +00:00
Guðni Már Gilbert
6887f844d3
Merge branch 'prusa3d:MK3' into fix-pinda-thermistor-build-fail 2021-11-18 19:15:15 +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
05e0c1e1d3 Fix build error if PINDA_THERMISTOR is not defined
temp_cal_active variable is not defined in this scope
2021-10-12 21:52:19 +00:00
EV3R4
eff9cd9f21 Typo: M84 docs 2021-09-27 19:34:53 +02:00
Guðni Már Gilbert
cf8a16baa1 Remove one call to lcd_timeoutToStatus.start
Saves 8 bytes of Flash memory

This call is redundant and when moving between menus
it gets called multiple times which results in waste
of clock cycles.

lcd_timeoutToStatus.start() is called from menu_lcd_lcdupdate_func()
which is enough.
2021-08-21 14:34:02 +00:00
Guðni Már Gilbert
e6a7abf2c1 Change temp_runaway_timer from float to uint32_t
Saves 32 bytes of flash

Also change temp_runaway_error_counter from int to
uint16_t to be specific
2021-08-06 15:08:46 +00:00
Guðni Már Gilbert
db1e5a203b Change temp_runaway_status from float to uint8_t and its enum
Saves 90 bytes of flash, and 12 bytes of SRAM
2021-08-06 15:03:35 +00: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
8d7d1698ee Remove unused global variable 'chunkHead'
No change in memory on my end, but it is one less 'int' :)
2021-08-03 21:48:26 +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
a54a133968 Use memset instead of nested for-loop to zero a 2d array
Saves 26 bytes of flash memory and removes two 'int' types
2021-08-02 19:20:51 +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
DRracer
fd6dbba06f
Merge branch 'MK3_3.10.1' into PFW-1271_PF-buildv20 2021-08-02 08:51:51 +02: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
8af9f78822 Optimize farm_mode init in setup()
This saves 28 bytes of flash memory
2021-07-26 16:37:09 +00:00
Guðni Már Gilbert
21226214a7 Remove MAX_SILENT_FEEDRATE
It was last used on MK2 in 3rd July 2017.
I suspect this code was simply forgotten.
2021-07-21 14:06:23 +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
400f673fe0 Remove redundant extern variable lcd_encoder from menu.cpp
This extern variable is included from lcd.h
2021-07-20 09:12:14 +02:00
Guðni Már Gilbert
d087973e00 Remove redundant extern variable is_usb_printing from tmc2130.cpp
This extern variable is included from Marlin.h
2021-07-20 09:12:14 +02:00
Guðni Már Gilbert
6aee17b4ca lcd_change_fil_state has two extern's in Marlin.h, only one needed. 2021-07-20 09:12:14 +02:00
Guðni Már Gilbert
3cfd706fff Remove useless extern in cmdqueue.cpp 2021-07-20 09:12:14 +02:00
Guðni Már Gilbert
31c8e4bc4c * Remove redundant externs already included with temperature.h
* Add ifdefs in Dcodes.cpp when using extern variables
2021-07-20 09:12:14 +02:00
Guðni Már Gilbert
eb9c8c8c20 Improve mc_arc() parameters
- Make the mc_arc() function declaration consistent with the definition
- isclockwise is supposed to be bool type, given how it is used.
2021-07-20 09:03:50 +02: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
bbe62b136a Remove unused Sound_Save() function declaration 2021-07-20 08:51:57 +02:00
Yuri D'Elia
d04ea859fb Consolidate "Unknown X-Code" to save 16 bytes 2021-07-20 08:19:19 +02:00
Yuri D'Elia
47b1e6ccef Remove spourious trailing whitespace in errors 2021-07-20 08:19:19 +02:00
Yuri D'Elia
1888c783cb Print an error on unknown D-codes
This follows the same convention of M/G codes, so that the user knowns
that the D-code has been either handled or ignored.
2021-07-20 08:19:19 +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
Yuri D'Elia
31b913cddb Correct the C implementation for MultiU16X8toH16
The comment behind the ASM MultiU16X8toH16 was misleading.
It actually computes ((a<<8)*b)>>16, or (a*b)>>8.

Correct the comment and C reference implementation accordingly.
2021-07-20 08:10:36 +02:00
Guðni Már Gilbert
710852a1f2 Change nrFiles from int16_t to uint16_t 2021-07-20 08:10:07 +02:00
Guðni Már Gilbert
16602f4003 change boolean to bool 2021-07-20 08:03:17 +02:00
3d-gussner
3d871a3aa6 Merge remote-tracking branch 'upstream/MK3' into PFW-1271_PF-buildv20 2021-07-17 19:10:51 +02:00
D.R.racer
4580b8a78c Version changed (3.10.1 build 4587) 2021-07-16 07:37:11 +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
Yuri D'Elia
1279a6cf4b Correctly read FW_VERSION_NR array from progmem
In PR #3093 the progmem array FW_VERSION_NR was introduced to store the
version components, however the code didn't read it properly using the
pgm_read_* functions, making version comparisons fail.

Fix the existing/unused is_provided_version_newer() and reuse it in
show_upgrade_dialog_if_version_newer().

Similarly also read/update correctly the version in the eeprom.
2021-06-28 06:36:26 +02:00
Yuri D'Elia
56e531d40a Improve/fix D23 for M2.5/S printers
- Move D23 into it's own function inside Dcodes
- Correctly include a break in the switch statement
- Show the dumper status (enabled/disabled) after toggling
- Allow to generate an immediate dump via g-code using D23 E for
  symmetry with D20 E
2021-06-25 08:46:55 +02:00
Yuri D'Elia
380e34d481 Include "Dcodes.h" after "Marlin.h" for configuration
This is needed in order to get the function prototypes right according
to the actual enabled configuration.
2021-06-25 08:46:55 +02:00
Voinea Dragos
ecce6f865f write_command() no line number handling 2021-06-25 08:12:30 +02:00
Yuri D'Elia
53fcd6fc8f Work-around GCC LTO codegen bug in process_commands()
When building with GCC 4.9.2 (bundled with PF-build-env-1.0.6.*), -Os
and LTO enabled, PID_autotune gets automatically inlined into
process_commands().

Sadly, due to the massive size of process_commands(), it results in
codegen bug doing a partial stack overwrite in process_commands()
itself, manifesting as random behavior depending on the timing of
interrupts and the codepath taken inside the merged function.

Mark the function as noinline and add a note about the affected compiler
version in order to be checked again in the future.
2021-06-24 07:39:28 +02:00