Commit Graph

5974 Commits

Author SHA1 Message Date
gudnimg af465da9e2 Add a comment 2023-11-11 16:53:56 +00:00
gudnimg 45880c252b Fix filament change behavior when print is paused
Reimplementing PR 2390
https://github.com/prusa3d/Prusa-Firmware/pull/2390
from @wavexx
2023-11-11 16:51:35 +00:00
gudnimg dc280b0d9e power panic: support any valid DOS 8.3 extension
When a SD file is selected to print
save the DOS 8.3 extension into EEPROM.

After a power outage, the correct file extension is then
selected instead of always assuming it's ".gco"

This allows users to recover ".g" files.

Change in memory:
Flash: +104 bytes
SRAM: 0 bytes
2023-11-05 16:46:54 +00:00
gudnimg 4c52d92d16 power panic: read whole directory name block from EEPROM
There is no need to read one byte at a time. We can simply
read the whole block in one go. This saves some flash memory.

Change in memory:
Flash: -18 bytes
SRAM: 0 bytes
2023-11-05 16:46:54 +00:00
gudnimg 21d0130626 power panic: simplify recovering SD filename
We can just read the whole EEPROM block since short filenames
are always null terminated. strcat_P will then apply the file extension
at the correct position.

Change in memory:
Flash: -24 bytes
SRAM: 0 bytes
2023-11-05 16:46:54 +00:00
Guðni Már Gilbert dec5e2c1b4 Refactor menu_action_sdfile 2023-11-05 16:46:54 +00:00
Guðni Már Gilbert 82cece95aa power panic: read EEPROM_FILENAME until \0 is seen
Also removed debug logs
2023-11-05 16:46:14 +00:00
Guðni Már Gilbert 977792961c power panic: only send M23 for SD prints
If the saved printing type was USB, then EEPROM_FILENAME
does not contain anything. The firmware should also
not be trying to open a file on a SD card which is maybe
not even mounted.

Change in memory:
Flash: +12 bytes
SRAM: 0 bytes
2023-11-05 16:46:13 +00:00
3d-gussner fca93b00e9
Merge pull request #4471 from gudnimg/issue-4470
MMU: Set PAUSED_FOR_USER state on MMU error screen
2023-10-31 08:36:53 +01:00
3d-gussner 3ffe7bf406
Merge pull request #4460 from gudnimg/PFW-1523
PFW-1523 Add a new timer for Prusa Link
2023-10-30 11:23:46 +01:00
gudnimg 8fcfdf31c4 PFW-1523 Implement M79 timer for PrusaLink
The idea is to have the host ping the printer periodically with a M79 to
enable certain features/UI. Using the usb_timer is not a good solution
for this as it depends on seeing a 'G' character

The LCD code, or whatever code is implementing the new functionality
will need to include host.h and check whether M79_timer_get_status()
returns 0 (timer not running) or 1 (timer is running).

I created a new file for the code host.cpp which we can use to expand
host related functionality and not clutter Marlin_main.cpp further.

Change in memory:
Flash: +104 bytes
SRAM: +5 bytes
2023-10-29 16:33:45 +00:00
gudnimg 645b11e643 Fix regression in MMU enable menu
Fixes a regression introduced in https://github.com/prusa3d/Prusa-Firmware/pull/4454
2023-10-29 16:17:03 +00:00
gudnimg 287e340117 MMU: Set PAUSED_FOR_USER state on MMU error screen
Setting this state notifies PrusaLink/PrusaConnect
that the printer is waiting for user input (attention).

Change in memory:
Flash: +12 bytes
SRAM: 0 bytes
2023-10-28 19:31:32 +00:00
Guðni Már Gilbert 3b10c6130e
Merge pull request #4466 from gudnimg/eeprom-optimisations
Optimise EEPROM access in a few places by reading/writing larger blocks
2023-10-27 21:12:13 +00:00
Guðni Már Gilbert 3297429ca7 TM: Optimise EEPROM read and writes 2023-10-25 17:37:04 +00:00
Guðni Már Gilbert e207945154 MBL: optimise EEPROM read/writes 2023-10-25 17:36:15 +00:00
Guðni Már Gilbert 82e0124cb4 mmu: remove isErrorScreenRunning()
No change in memory
2023-10-19 18:32:42 +00:00
Guðni Már Gilbert d56f2bc57e mmu: remove obsolete EEPROM comments 2023-10-19 18:32:42 +00:00
Guðni Már Gilbert 62b90fde28 mmu: remove ResetOnExit
No change in memory
2023-10-19 18:32:42 +00:00
Guðni Már Gilbert 7b9e707709 mmu: add ResetCommunicationTimeoutAttempts
Adding __attribute__((noinline)) saves 14 bytes of flash

Change in memory:
Flash: +34 bytes
SRAM: 0 bytes
2023-10-19 18:32:42 +00:00
Guðni Már Gilbert ef33db9a71 mmu: add DisableMMUInSettings
power_on should not be modifying
EEPROM_MMU_ENABLED. The code is never
executed unless it's already been set.

Only disable EEPROM_MMU_ENABLED through Buttons::DisableMMU

Change in memory:
Flash: -18 bytes
SRAM: 0 bytes
2023-10-19 18:32:42 +00:00
Guðni Már Gilbert cd3372dc92 mmu: formatting 2023-10-19 18:32:41 +00:00
Guðni Már Gilbert 12a3051c50 mmu: Add CheckErrorScreenUserInput
Due to differences in 8-bit FW I had to implement two new get functions

* GetCommandInProgress
* GetLastErrorCode
2023-10-19 18:32:41 +00:00
Alex Voinea 1528294450 Update enabled diacritics 2023-10-19 13:07:49 +02:00
3d-gussner 1f1743d7ad Not needed anymore thanks to @vintagepc 2023-10-18 18:02:56 +02:00
3d-gussner fe9a8cf8ac Fix PF-build.sh with new cmake
Same as MK3_3.13.2 branch
2023-10-17 15:36:54 +02:00
gudnimg 20a434dbac PFW-1542 Reset status line message on EFCE_OK
If the error is really resolved, I'd prefer to see

"Prusa i3 MK3S OK" instead of "Err:HOTEND FAN ERROR"
2023-10-15 12:26:44 +00:00
gudnimg 466e562360 PFW-1542 Don't allow starting SD print if there is a fan error
Apply same conditions as on "Resume print" feature.
Starting a SD print should not be possible if there is an active hardware error
2023-10-15 12:17:36 +00:00
3d-gussner 63b628d722
Merge pull request #4396 from 3d-gussner/MK3_PFW-1538_M420
PFW-1538: Add M420
2023-10-13 14:27:34 +02:00
Guðni Már Gilbert 415c0c79d1 Fix FW_COMMIT_HASH compiler warning
On my end, the default length for the abbreviated commit hash is 9 characters.
This won't fit into uint32_t (4 bytes).

Instead change FW_COMMIT_HASH into a string
and create preprocessor symbol for the string length
such that it's known at compile time.

If the string should be longer or shorter
then only FW_COMMIT_HASH_LENGTH needs to be configured on the CMake side
2023-10-07 21:01:28 +00:00
3d-gussner 23503624d0
Merge pull request #4407 from gudnimg/minor-opt-temp-gudni
optimisation: make `alert_automaton_mintemp` constructor `constexpr`
2023-10-06 09:05:24 +02:00
3d-gussner 2027a54873
Merge pull request #4420 from gudnimg/PFW-1543
PFW-1543 Save print type in EEPROM
2023-10-06 09:04:30 +02:00
3d-gussner 9aca81dc7c
Merge pull request #4381 from vintagepc/misc-cmake-fixes
Refine CMake version handling based on tags
2023-10-05 16:00:55 +02:00
Guðni Már Gilbert b89c62bd50 PFW-1543 Replace ffh 255 with ^ 2023-10-04 20:57:05 +00:00
3d-gussner 8b9b63c35b
Merge pull request #4418 from gudnimg/PFW-1542-v2
PFW-1542 Handle fan error sooner when waiting for heating to complete
2023-10-03 10:16:49 +02:00
Alex Voinea 9606c4f00b Add font unpacking documentation 2023-10-03 08:19:48 +02:00
Alex Voinea d53ba0eba2 Fix wrong character sent when potentially unused slot is replaced 2023-10-03 08:19:48 +02:00
Alex Voinea 7e88e49b4e Fix tilde in message 2023-10-03 08:19:48 +02:00
Alex Voinea 32cee8b529 Move custom character type to lcd.cpp 2023-10-03 08:19:48 +02:00
Alex Voinea c2c01a9a86 Use beta symbol as fallback of `ß` 2023-10-03 08:19:48 +02:00
Alex Voinea 3e15a24be7 Fix sheet rename resetting characters to blank 2023-10-03 08:19:48 +02:00
Alex Voinea 8a39f53e26 Prevent out of bounds custom character font data 2023-10-03 08:19:48 +02:00
Alex Voinea 9dbbb12a13 Fix frame start for non-menu screens 2023-10-03 08:19:48 +02:00
Alex Voinea 8e25e1b164 Allow all diacritics in the sheet name 2023-10-03 08:19:48 +02:00
Alex Voinea d5074129f5 Fix MMU error message character 2023-10-03 08:19:48 +02:00
Alex Voinea 6703640c56 Optimize `lcd_print_custom()` 2023-10-03 08:19:48 +02:00
Alex Voinea fcaa9c8de6 Update `ăĂñ` 2023-10-03 08:19:48 +02:00
Alex Voinea 9ee71b2942 Update `ø` 2023-10-03 08:19:48 +02:00
Alex Voinea dd32f7be3c bootapp cleanup 2023-10-03 08:19:48 +02:00
Alex Voinea 5466bfb500 Cleanup uartout declaration 2023-10-03 08:19:48 +02:00