Commit Graph

7808 Commits

Author SHA1 Message Date
Alex Voinea c7f9a46c86 Cleanup around invalidating the custom characters 2023-10-03 08:19:48 +02:00
Alex Voinea 60494b20e8 lcd_print_custom(): limit searching to lcd_custom_index 2023-10-03 08:19:48 +02:00
Alex Voinea 7e0ab44d09 Refactor the lcd_print_custom() method 2023-10-03 08:19:48 +02:00
Alex Voinea 90222747f2 lcd_set_cursor_column() also updates lcd_ddram_address 2023-10-03 08:19:48 +02:00
3d-gussner f392fae996 Fix cherry-pick conflict 2 2023-10-03 08:19:48 +02:00
Alex Voinea 100a8e3b33 Dynamic characters initial
Fix more hardcoded characters

Finally optimize the lcd printf with custom characters

FontGen.py script

Add arguments and action

Fix build

Fix conflicts
2023-10-03 08:19:48 +02:00
gudnimg 3eaca29b0b PFW-1543 Move printing types into enum
Also add power panic namespace
2023-10-01 12:57:25 +00:00
gudnimg fcd61a378d power panic: save print type in EEPROM
The printer should know whether it is recovering a SD print
or a USB print

PFW-1543
2023-10-01 12:44:49 +00:00
gudnimg 0139cf6dde MMU: Fix printing uint8_t value onto serial
uint8_t values don't print correctly. Cast to 2-byte integer is required.
2023-09-30 14:06:38 +00:00
gudnimg e621d3445e PFW-1542 Handle fan error sooner when waiting for heating to complete
While waiting for the nozzle to reach a certain temperature, a fan error
should disable the hotend heater. If printing, it will simply pause the print.

Previously the printer would wait for the nozzle to heat up before pausing the print
and turning off the hotend heater.

We rely on LcdCommands::LongPause and must return to the top level loop to process it.
Waiting in the while loop e.g. in M190 does not make sense.
2023-09-30 14:01:09 +00:00
3d-gussner c97143fc2d
Merge pull request #4403 from gudnimg/PFW-1542
PFW-1542 Fix an issue where print can't be stopped under specific circumstances
2023-09-25 10:43:18 +02:00
gudnimg ae494b04de optimisation: make constructor constexpr
Minor optimisation I found. It doesn't save much but this change
should be harmless :)

Change in memory:
Flash: -30 bytes
SRAM: 0 bytes
2023-09-24 11:41:18 +00:00
VintagePC 52de576e0a change where FW_VERSION_FULL is defined so it's less messy 2023-09-23 13:10:04 -04:00
gudnimg 016db6a6e8 Hide menus more consistently when the printer is busy
lcd_calibration_menu: Remove redundant if (!isPrintPaused). The menu
is never called unless this condition is true.

eeprom_switch_to_next_sheet: Don't show this menu if the printer
is busy doing work!

Do not allow these menus to run while a print is paused or
when we're recovering a print:

- Preload to MMU
- Load to Nozzle
- Unload filament
- Eject from MMU
- Cut filament
- Autoload filament
- Settings
- Calibration
2023-09-23 15:42:03 +00:00
gudnimg 06d34b4398 Fix an issue where print can't be stopped under specific circumstances
There is a bug where if the printer is recovering a print, it run a
blocking loop to restore the extruder and bed temperatures.
But if a Fan error is triggered in this loop, then the user can't
abort the print via LCD.

If the fan error resolves on its own the 'Resume print' menu will
appear in a few seconds. But if not, then the user can't resume the print
(which is normal). But with the bug above the user can't abort the print either!

The problem is essentially isPrintPaused variable is cleared too early.
We should wait until the print is completely restored first.

Steps to reproduce:
1. Start a print
2. Pause the print
3. Wait for extruder temperature to fall at lest 180°C
4. Click 'Resume' print
5. While heating, stop the hotend fan and wait for a few seconds until an error is raised
6. Observe issue => 'Stop print' menu item is gone!

PFW-1542
2023-09-23 14:18:52 +00:00
vintagepc 4b66485f46
Fix leading v 2023-09-22 21:48:22 -04:00
VintagePC 98ae24caad Improve handling for http urls 2023-09-22 18:18:13 -04:00
VintagePC f4ec19d3c7 Add debugging 2023-09-22 18:08:59 -04:00
VintagePC 20540cc61b Set repository, if possible. 2023-09-22 17:57:41 -04:00
VintagePC b81a440b7c Do full fetch for versioning information 2023-09-22 17:31:33 -04:00
VintagePC a6d1985742 -Clear project timestamp if git was not used/found
-Add git as a runner tool for versioning
2023-09-22 17:22:05 -04:00
VintagePC a5aab6afd9 Fix PROJECT_VERSION_FULL if git is not available 2023-09-22 17:13:13 -04:00
VintagePC 949539dfc9 Merge remote-tracking branch 'upstream/MK3' into vintagepc/more-cmake-fixes 2023-09-22 16:42:06 -04:00
3d-gussner f8c64de505
Merge pull request #4390 from sarusani/mbl_mag_comp
MBL: Add magnet compensation parameter
2023-09-22 14:57:09 +02:00
3d-gussner c92c0fda38
Merge pull request #4398 from gudnimg/minor-opt-offset
optimisation: Remove unused Z offset
2023-09-22 14:56:26 +02:00
3d-gussner 1b6bdb787b
Merge pull request #4394 from vintagepc/MK3
Build firmware using Actions
2023-09-22 14:07:24 +02:00
VintagePC 2a2932e66d Reduce message duplication 2023-09-21 19:32:32 -04:00
VintagePC 605cc5d83a Actually enable annotations via ENV 2023-09-21 18:46:43 -04:00
VintagePC f7fbdadae7 Test annotations for language checks 2023-09-21 18:44:43 -04:00
VintagePC 6ceb750999 Fix missing toolchain 2023-09-20 19:13:12 -04:00
VintagePC 5ddac5cb6c - Make size share cache
- Add tests step
- Add lang-check step
2023-09-20 19:05:46 -04:00
Guðni Már Gilbert e323490659 optimisation: Remove unused Z offset
Frees up some SRAM

Change in memory:
Flash: 0 bytes
SRAM: -4 bytes
2023-09-19 23:37:38 +00:00
3d-gussner 1996f977e1
Merge branch 'MK3' into mbl_mag_comp 2023-09-18 15:55:42 +02:00
3d-gussner 8bd71b7bf0
Merge pull request #4391 from sarusani/mbl_default_to_eeprom
MBL: Default to EEPROM values
2023-09-18 15:52:38 +02:00
3d-gussner 039202f34b Fix typo 2023-09-18 15:48:36 +02:00
3d-gussner 0877585bd1 Add M420
Same as G81
2023-09-18 15:45:13 +02:00
D.R.racer 0f1cb4f407 Fixup from review 2023-09-18 10:51:32 +02:00
gudnimg 4134bf4f40 8-bit proposed changes
The status line code is not nice, but we need to work around it
so the status line rendering works correctly

This commit mostly reapplies the code
from 3.13.2

Also fixes compiler warnings
2023-09-18 10:51:32 +02:00
D.R.racer ea01012026 Unify MMU operations' workflow 2023-09-18 10:51:32 +02:00
D.R.racer a02ff0651c Return try-load reporting to serial 2023-09-18 10:51:32 +02:00
D.R.racer 59e49c80f9 Sync MK3<->MK4 MMU2 Tune, Buttons, PowerPanic hooks refactoring 2023-09-18 10:51:32 +02:00
D.R.racer 9b48ab729a Sync MK3<->MK4 MMU2 TryLoadUnloadReporter 2023-09-18 10:51:32 +02:00
D.R.racer 7db7250773 Sync MK3<->MK4 MMU2 mmu2_mk4.cpp formatting 2023-09-18 10:51:32 +02:00
D.R.racer be5523187b Sync MK3<->MK4 MMU2 mmu2_mk4.h 2023-09-18 10:51:32 +02:00
D.R.racer 075858c9fa Sync MK3<->MK4 MMU2 reporting 2023-09-18 10:51:32 +02:00
D.R.racer 5235fe2480 Sync MK3<->MK4 MMU2 marlin macros 2023-09-18 10:51:32 +02:00
D.R.racer b4b0bba11c Sync MK3<->MK4 MMU2 marlin interface 2023-09-18 10:51:32 +02:00
D.R.racer eb7a73e748 Sync MK3<->MK4 MMU2 log 2023-09-18 10:51:32 +02:00
D.R.racer fd9f4ffb9e Sync MK3<->MK4 MMU2 progress converter 2023-09-18 10:51:32 +02:00
D.R.racer ec4740fe53 Clean-up ProgressCodes and ErrorCodes parameters throughout the code 2023-09-18 10:51:32 +02:00