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
f6737d2fca
optimisation: make dda_isteps_t an array
...
This way we can loop through it with a for-loop
and save some code size
2023-10-07 22:18:01 +00: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
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
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
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
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
D.R.racer
717281cd87
Sync MK3<->MK4 MMU2 crc
2023-09-18 10:51:32 +02:00
D.R.racer
f235976f26
Sync MK3<->MK4 MMU2 protocol logic
2023-09-18 10:51:32 +02:00
Guðni Már Gilbert
6187b7eecf
optimisation: use disable_heater() in more places
...
Change in memory:
Flash: -84 bytes
SRAM: 0 bytes
2023-09-16 14:26:09 +00:00
sarusani
84d353793d
Fix typos
2023-09-16 12:38:14 +02:00
sarusani
e4a10e5fab
Move code_seen back into if statement
...
Same memory usage, but prettier to look at. :)
2023-09-15 14:11:27 +02:00
sarusani
56a79f88ef
Optimise memory usage
2023-09-15 14:11:27 +02:00
sarusani
2951bc8af0
Default to eeprom values
...
Use eeprom values if provided parameters are out of bounds.
2023-09-15 14:11:27 +02:00
3d-gussner
9e794a47a4
Merge pull request #4386 from 3d-gussner/MK3_mbl_print_area_translations
...
🚧 Add new MBL message for #4183 and translation
2023-09-15 09:00:38 +02:00
sarusani
21c57a1222
Add parameter for magnet compensation
...
allow to enable/disable magnet compensation when 7x7 is in use.
2023-09-14 21:02:56 +02:00
sarusani
2863c9bc01
Cleanup: whitespace in nProbeRetryCount var
2023-09-14 09:43:26 +02:00
3d-gussner
5f605012eb
Merge pull request #4388 from prusa3d/vintagepc/tmc-mode-query
...
Add Q parameter to M91[4/5]
2023-09-14 09:13:55 +02:00
VintagePC
70d83fe4ee
Add Q parameter to query current mode.
2023-09-13 16:52:11 -04:00
sarusani
a9c8bb7dbf
Code cleanup: rename params
2023-09-13 18:31:45 +02:00
sarusani
d3bb6e5ca5
Rename MBL repeat param
2023-09-13 17:37:39 +02:00
3d-gussner
ca27841d67
Add new MBL message for #4183 and translate these messages
2023-09-13 11:14:16 +02:00
sarusani
dc129e0934
Remove obsolete mesh definitions
...
Clean up mesh definitions that where made obsolete by #4183
2023-09-13 10:49:52 +02:00
3d-gussner
2e70697fa7
Merge pull request #4183 from leptun/mbl_print_area
...
MBL print area
2023-09-13 10:28:08 +02:00
3d-gussner
0aa380b931
Merge pull request #4206 from gudnimg/sd-card-menu-opt
...
optimisation: `menu_item == menu_line` is always true in `menu_item_sddir()` and `menu_item_sdfile()`
2023-09-13 07:49:43 +02:00
3d-gussner
73118dd4e2
Merge pull request #2474 from vintagepc/#2161-tune-x-y-rehome
...
Add X-Y home to tune menu if print is paused
2023-09-13 07:49:23 +02:00
3d-gussner
f5d48cd029
Merge pull request #4342 from gudnimg/optimsation_timer_class
...
optimisation: Timer constructor can be `constexpr`
2023-09-13 07:48:43 +02:00
vintagepc
b7daac3b70
Direct home instead of G28
2023-09-12 18:41:14 -04:00
vintagepc
b75e3b5233
facepalm commit
...
... I somehow managed to lose a bracket. DERP.
2023-09-12 18:33:27 -04:00
vintagepc
ebc6663210
Add auto-home to tune menu
2023-09-12 18:33:27 -04:00
Guðni Már Gilbert
ff6fd8cf4b
Allow statistiscs menu while running 1st Layer cal
...
There is no problem with opening the menu during first layer
calibration. Removing this condition simplifies the code a little bit.
Change in memory:
Flash: -8 bytes
SRAM: 0 bytes
2023-09-12 20:26:43 +02:00
3d-gussner
74f724b228
Merge pull request #4174 from gudnimg/check_all_heaters
...
optimisation: use `CHECK_ALL_HEATERS` in more places
2023-09-12 16:31:45 +02:00
3d-gussner
019126778d
Merge pull request #1790 from jiri-jirus/MK3
...
y-axis self-test hack cleanup
2023-09-12 16:31:34 +02:00
3d-gussner
5050fd768b
Merge pull request #4150 from gudnimg/psu-delta-typo
...
Fix a typo in `PSU_Delta` define
2023-09-12 16:28:32 +02:00
3d-gussner
f5259ee611
Merge pull request #4316 from gudnimg/fix-VERBOSE_CHECK_HIT_ENDSTOPS
...
Fix and optimise VERBOSE_CHECK_HIT_ENDSTOPS
2023-09-12 10:55:25 +02:00
3d-gussner
ffbb720d34
Merge pull request #4365 from gudnimg/sync-with-32-bit
...
Explicitly use `Buttons` namespace
2023-09-12 10:53:21 +02:00
3d-gussner
c84985ec3e
Merge pull request #4328 from dawidpieper/m850_addselection
...
M850 add possibility to set sheet as active
2023-09-11 13:02:04 +02:00
VintagePC
d8f7642058
Fix comment
2023-09-09 13:25:00 -04:00
VintagePC
2485c36391
Add dev status handling
2023-09-09 13:19:11 -04:00
VintagePC
ab299e36d1
Use commit number as version tweak value
2023-09-07 19:38:07 -04:00
VintagePC
916d02824e
Initial round of changes to address some cmake features
2023-09-07 18:46:47 -04:00
Yuri D'Elia
334bfe4d29
build: Set all version data based on git tags
...
Drop the ALPHA/BETA/custom version handling. Set the version string and
firmware date based on the current tree description which has all the
required details.
Allow to override the repository information via cmake.
Use a truncated commit hash to set the internal commit number for
compatibility.
Rebase and fix issues
2023-09-04 08:35:15 -04:00
gudnimg
e0269d6f6a
Explicitly using Buttons namespace
...
This change sync the code a little bit with the 32-bit FW
No change in memory
2023-09-03 12:41:39 +00:00
3d-gussner
77a4b99f5e
Fix Calibration menu shown during resuming
2023-09-01 16:18:57 +02:00
3d-gussner
4c53163068
Merge pull request #4357 from DRracer/z-stall-xyz-workaround
...
Force-move-Z after searching for XY calibration points
2023-08-31 08:21:43 +02:00
D.R.racer
abdfe07f3f
Force-move-Z after searching for XY calibration points
...
Bogus StallGuard readings may prevent the Z from moving at this spot which will result in other nasty behaviour.
2023-08-31 07:48:28 +02:00
Yuri D'Elia
2bfd56cd30
lang/mmu: Translate MMU menu strings within caller
...
This fixes the undefined _T(label) reference, at the expense of a few
extra bytes.
I would argue this is worth the cost for the ability to check
translation references for the future. The warning happens because
`lang-check` cannot check a reference which is not _directly_ a catalog
entry.
We could introduce a method to suppress this warning (either a new macro
or some ///IGNORE comment), but that would mean that the additional
translation check is completely bypassed, defeating the purpose.
2023-08-30 18:54:57 +02:00
3d-gussner
47775e158b
Reuse messages
2023-08-21 19:00:22 +02:00
3d-gussner
0bbec5626c
Update and fix translations
2023-08-21 16:28:36 +02:00
Guðni Már Gilbert
5bf9bf7507
optimisation: reduce code size in MMU filament menus
...
Change in memory:
Flash: -156 bytes
SRAM: 0 bytes
2023-08-21 07:29:43 +02:00
Guðni Már Gilbert
1881c5f086
Fix filament actions not cleared properly
...
We can't clear eFilamentAction in every case in mFilamentItem()
mFilamentItem() can trigger a call to M701 and M702 e.g. for Autoloading
and eFilamentAction must be cleared by the gcode to prevent
the user from triggering another Autoload (which will crashe the FW)
The same applies to submenus. Now the MMU submenus clear eFilamentAction
only when the action is done.
For MMU Unload Filament item, eFilamentAction is only cleared after
the unload_filament() call is done running. This fixes an issue where
the menu item can be selected again while the first unload is still
running.
2023-08-21 07:29:43 +02:00
sarusani
c4c26050d3
Fix screen update after PFW-1531
2023-08-21 06:36:25 +02:00
sarusani
6c0f80e680
Add static_assert check for TEMP_HYSTERESIS
2023-08-21 06:35:32 +02:00
sarusani
0d097d5a62
Fix TEMP_HYSTERESIS calculation
2023-08-21 06:35:32 +02:00
Guðni Már Gilbert
7c7d6b1671
Fix issue with Tune item appearing on MMU FW UPDATE screen
2023-08-21 06:33:14 +02:00
Guðni Már Gilbert
a89e06a54e
optimisation: Timer constructor can be constexpr
...
Change in memory:
Flash: -206 bytes
SRAM: -16 bytes
2023-08-20 19:39:38 +00:00
Guðni Már Gilbert
cabc44194a
optimisation: menu_item == menu_line is always true
...
The if statement is checked in lcd_sdcard_menu()
so checking it again these functions is
redundant since it's always going to be true.
Tested on MK3S+
Change in memory:
Flash: -22 bytes
SRAM: 0 bytes
2023-08-20 08:19:01 +00:00
Guðni Már Gilbert
60534738d3
PFW-1522 Don't increment failure statistic on filament change
2023-08-18 14:27:39 +02:00
Guðni Már Gilbert
e6f05e7856
PFW-1522 Fix firmware getting stuck on ejecting
...
If slot is unknown, the printer will always get a rejected command
error from the MMU.
Change in memory:
Flash: +4 bytes
SRAM: 0 bytes
2023-08-18 14:27:39 +02:00
Guðni Már Gilbert
c7360055ae
PFW-1522 Make Load the default button choice
...
No change in memory
2023-08-18 14:27:39 +02:00
Guðni Már Gilbert
814169a213
PFW-1522 Update screen description
...
Change in memory:
Flash: +32 bytes
SRAM: 0 bytes
2023-08-18 14:27:39 +02:00
Guðni Már Gilbert
fc18f4c5d7
PFW-1522 Implement filament change screen
...
Change in memory:
Flash: +116 bytes
SRAM: +1 byte
2023-08-18 14:27:39 +02:00
Alex Voinea
ede4cc5d30
Update error messages
2023-08-17 08:02:47 +02:00
Alex Voinea
45823e7336
Make the G80 Z threshold tighter
2023-08-17 08:02:47 +02:00
Alex Voinea
f5f09f147c
Add a limit to how many times G80 can fail
...
Flash: +80
SRAM: +1
2023-08-17 07:53:39 +02:00
Alex Voinea
7740a81edb
Do not store a global mbl_z_probe_nr
...
flash: -6
sram: 0? (somehow)
2023-08-17 07:53:39 +02:00
Alex Voinea
a984b2e609
G80 `O` parameter
...
a
2023-08-17 07:53:39 +02:00
Alex Voinea
a15f536ff4
Combine BED_X/Y() and mbl::get_x/y()
...
flash: -112
2023-08-17 07:52:55 +02:00
Alex Voinea
aba0450615
mbl.get_z() optimizations
...
Those constrains on t and s were useless.
flash: -294
2023-08-17 07:52:55 +02:00
Alex Voinea
dd1bde74dc
Fix Z calibration points
2023-08-17 07:52:55 +02:00
Alex Voinea
42c27cabde
Remove unused code
2023-08-17 07:52:55 +02:00
Guðni Már Gilbert
a9d0cc5e56
optimisation: Move divison into constexpr
...
Change in memory:
Flash: -12 bytes
SRAM: 0 bytes
2023-08-17 07:52:55 +02:00
Guðni Már Gilbert
6b12be42d9
optimisation: Make BED_X and BED_Y into functions
...
Previously these preprocessor macros were always being inlined.
By making these into a function we can control the inlining
more directly.
The number of points on the mesh is also now constant. This means
'n' can now be float at compile time. This removes one uint8_t to float
conversion.
Change in memory:
Flash: -208 bytes
SRAM: 0 bytes
2023-08-17 07:52:55 +02:00
Alex Voinea
3ccf2d60c0
Make bed correction matrix const
2023-08-17 07:52:55 +02:00
Alex Voinea
be3465cf18
optimize lambda expression capture
...
flash: -10
2023-08-17 07:52:55 +02:00
Alex Voinea
2d0b96fe6a
Bed correction code optimization
...
flash: -44
2023-08-17 07:52:55 +02:00
Alex Voinea
5b8c65e342
Minor magnet elimination optimization
...
flash: -4B
2023-08-17 07:52:55 +02:00
Alex Voinea
67945579de
G80 minor optimization
2023-08-17 07:52:55 +02:00
Alex Voinea
a5c20a1c6e
Do not plan a Z move if no move is actually performed
2023-08-17 07:52:55 +02:00
Alex Voinea
de98551691
Extract hardcoded value
2023-08-17 07:52:55 +02:00
Alex Voinea
40db9c9258
Fix eeprom mesh offset
2023-08-17 07:52:55 +02:00
Alex Voinea
a7d3dd720b
Fix eeprom mesh interpolation
2023-08-17 07:52:55 +02:00
Alex Voinea
36d8de0727
G80 general fixes
...
Use interpolated eeprom mesh for skewed Z detection
Use the interpolated eeprom mesh for raising Z for the next point
Fix LCD countdown during MBL
2023-08-17 07:52:55 +02:00
Alex Voinea
b234560b22
MBL print function optimization
2023-08-17 07:52:55 +02:00
Alex Voinea
f94bc72235
Optimize G80 bed correction argument parsing
2023-08-17 07:52:55 +02:00
Alex Voinea
90c21425c6
Optimize is_bed_z_jitter_data_valid()
2023-08-17 07:52:55 +02:00
Alex Voinea
6c97907507
A bit more cleanup
2023-08-17 07:52:55 +02:00
Alex Voinea
6af5f5e2a2
Some code cleanup around homing_feedrate
2023-08-17 07:52:55 +02:00
Alex Voinea
83879fd10c
Cleanup magnet compensation code
2023-08-17 07:52:55 +02:00
Alex Voinea
46710c4b4e
G80 code cleanup
2023-08-17 07:52:55 +02:00
Alex Voinea
07b9447ee1
Fix correction nMeasPoints
2023-08-17 07:51:15 +02:00
Alex Voinea
fbfc6bf4a5
MBL remove MBL_BILINEAR
2023-08-17 07:51:15 +02:00
Alex Voinea
8edfff39e4
MBL code cleanup
2023-08-17 07:51:15 +02:00
Alex Voinea
a4ef72b1fc
Use mesh from eeprom during print area MBL
2023-08-17 07:51:15 +02:00
Alex Voinea
7b9f2086f4
MBL print area initial implementation
2023-08-17 07:51:15 +02:00
Alex Voinea
11e1806e0c
Gcode documentation
2023-08-17 07:51:15 +02:00
Guðni Már Gilbert
c4f48a6606
MMU: Disable FINDA runout during Homing and MBL
...
If for some reason a user added a extrusion move in the firmware. Prevent FINDA runout
from triggering.
Change in memory:
Flash: +16 bytes
SRAM: 0 bytes
2023-08-17 07:43:59 +02:00
Guðni Már Gilbert
61ec6b8ae7
G80: Don't unretract unless retracting first
...
temp_compensation_start() is only called when
PINDA_THERMISTOR is not defined.
Additionally make sure the retraction or unretraction cannot happen
twice in case MBL fails.
For MK3S users with MMU this extrusion move could
cause a FINDA runout event.
Change in memory:
Flash: -130 bytes
SRAM: 0 bytes
2023-08-17 07:43:59 +02:00
dawidpieper
14306e59c8
Try immediate EEPROM writes for flash size optimization
2023-08-16 20:36:24 +02:00
dawidpieper
1dada5ba81
Revert optimizations of bIsActive
2023-08-16 20:18:16 +02:00
dawidpieper
91cb01b12f
Code optimization
2023-08-16 20:08:53 +02:00