3d-gussner
e74abb102a
Merge pull request #4494 from gudnimg/issue3122
...
Fix #3122
2023-11-12 17:42:10 +01:00
gudnimg
842d029f7e
Replace unused EEPROM entry names with placeholders
...
_EEPROM_FREE_NRx_ make it a bit more clear this entry is free.
2023-11-12 16:21:34 +00:00
Guðni Már Gilbert
1e6460c344
Merge pull request #4479 from gudnimg/PFW-1523-2
...
PFW-1523 Add the `S` parameter to `M79`
2023-11-12 16:19:31 +00:00
gudnimg
077aa0a2b8
Minor wording changes
2023-11-12 16:09:15 +00:00
gudnimg
1fc1998874
EEPROM: Formatting cleanup
...
Mark unused bytes consistently
Add "Power Panic" into the Feature column for relevant bytes
Change "MMU2/s" to "MMU"
2023-11-12 14:39:52 +00:00
gudnimg
ddbadf4874
Fix #3122
...
If the feedrate multiplier is changed while the print is paused
update the saved feedrate multiplier in RAM
2023-11-12 12:38:05 +00:00
gudnimg
4e6b649865
PFW-1523 Only overwrite name if not SD printing
2023-11-11 16:56:14 +00:00
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
3d-gussner
342d8e92ab
Update doxygen M709
2023-11-11 12:20:58 +01:00
3d-gussner
0016b77827
Updated MMU serial status message
...
- Shown during bootup
- Shown on LCD menue MMU [ON|OFF]
- Shown using `M709`
- Shown when `Disable`d with MMU ERROR FW UPDATE NEEDED
2023-11-11 12:18:34 +01:00
3d-gussner
e3392a763a
Update doxygen for M709
2023-11-11 12:18:34 +01:00
3d-gussner
b11c0024d1
Update requested changes
2023-11-11 12:18:34 +01:00
3d-gussner
69cb7add26
Add en- and disable MMU to M709
...
Add X42 to erase the MMU eeprom
2023-11-11 12:18:34 +01:00
gudnimg
bcc7a16e1c
PFW-1523 Trim trailing whitespace in util.h
2023-11-07 07:27:26 +00:00
gudnimg
890bfab946
PFW-1523 Update M79 description
2023-11-07 07:27:21 +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
gudnimg
469f002179
optimisation: simplify two LCD messages
...
There is no need to restrict how often the message is rendered.
It was being restricted to render every 1 second. We don't do
this for most of the static menus. So I propose this 1 second period
be removed.
Tested on MK3S+
Change in memory:
Flash: -168 bytes
SRAM: -8 bytes
2023-11-05 12:57:28 +00:00
gudnimg
ed376009aa
PFW-1523 Force inline unquoted_string constructor
...
Saves 36 bytes of flash
2023-11-04 20:57:31 +00:00
gudnimg
20a2216623
PFW-1523 Implement S parameter for M79
...
Change in memory:
Flash: +112 bytes
SRAM: +3 bytes
2023-11-04 20:38:50 +00:00
gudnimg
cdb559040c
PFW-1523 Refactor parsing quoted strings
...
My plan is to re-use this function in M79
in a later commit. The firmware doesn't
have a dedicated parser like Marlin 2.1
so this is my attempt to not duplicate the parsing of a quoted string in G-codes
Change in memory (MK3S+ Multilang):
Flash: -50 bytes
SRAM: 0 bytes
2023-11-04 17:45:14 +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
Guðni Már Gilbert
baba1e78c7
use uint16_t when writing to Timer/Counter4
...
Using uint16_t instead of uint32_t reduces code size
and probably is quicker to execute
OCR4C register is 2 bytes on ATmega2560
It's 1 byte on ATmega32u4 and ATmega16u4
Change in memory:
Flash: -80 bytes
SRAM: 0 bytes
2023-10-15 16:50:43 +00: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
Alex Voinea
90dbaa8c51
Update `đûůű`
2023-10-03 08:19:48 +02:00
Alex Voinea
927b27615e
Update `ď`
2023-10-03 08:19:48 +02:00
Alex Voinea
3817893199
Implement the rest of the diacritics
2023-10-03 08:19:48 +02:00
Alex Voinea
5ea2b881d5
Yet another workaround for the language update
2023-10-03 08:19:48 +02:00
Alex Voinea
3305227bbc
Implement all a-based diacritics
2023-10-03 08:19:48 +02:00
Alex Voinea
6707570c6c
Update diacritic alignment
2023-10-03 08:19:48 +02:00
Alex Voinea
c0875f37f2
Implement 'á'
2023-10-03 08:19:48 +02:00
Alex Voinea
a267d80fe2
Fix legacy build
2023-10-03 08:19:48 +02:00
Alex Voinea
10e6087d6b
Update language scripts to use the font
2023-10-03 08:19:48 +02:00
Alex Voinea
09c85796a6
No need to mask the CGRAM data before sending
2023-10-03 08:19:48 +02:00
Alex Voinea
245a2852ac
Font table compression
2023-10-03 08:19:48 +02:00
Alex Voinea
1c637f8082
Fix " 🔃 Refresh" translation
2023-10-03 08:19:48 +02:00
Alex Voinea
1c260f94a0
Expand list of custom characters
2023-10-03 08:19:48 +02:00
Alex Voinea
6d5e645c1f
Regen font table and include ID in comment
2023-10-03 08:19:48 +02:00
Alex Voinea
c1ec8d97e6
Remove TR font
2023-10-03 08:19:48 +02:00
Alex Voinea
81103602f0
Change μ to µ
...
stupid unicode...
2023-10-03 08:19:48 +02:00
Alex Voinea
6367172177
Change ↡ to
2023-10-03 08:19:48 +02:00
Alex Voinea
4957544fcf
Change 🗘 to 🔃
2023-10-03 08:19:48 +02:00
Alex Voinea
c514774a54
Generate the font from Prusa.lcd
2023-10-03 08:19:48 +02:00
Alex Voinea
8e18c83d51
Update debug messages
2023-10-03 08:19:48 +02:00
Alex Voinea
4736a1624f
First working implementation
...
Fix cherry-pick conflict
2023-10-03 08:19:48 +02:00
Alex Voinea
e9f74b2678
Remove unnecessary lcd_home() calls
2023-10-03 08:19:48 +02:00
Alex Voinea
580b27e394
Use lcd_home() wherever possible
...
Fix cherry-pick conflict
2023-10-03 08:19:48 +02:00
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