3d-gussner
9721a87ef2
Raname `MMU2` message to `MMU` as everywhere
2023-03-14 08:24:50 +01:00
3d-gussner
03778226ca
Remove `Select Extruder:` message
...
Post fix PR4064 for update.po*.py scripts
2023-03-14 08:24:12 +01:00
3d-gussner
93598ef00d
Change some messages to be max three rows instead of two
...
Yes|No are now located at the 4th row and so messages can
use three rows. This should allow improvement in some translations.
2023-03-14 08:23:40 +01:00
Guðni Már Gilbert
ebf94c572f
PFW-1504 Minor optimisation
...
Change in memory:
Flash: -4 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
42878341af
PFW-1504 More correct solution to the pixel count issue
...
The fact that the relationship between
machine position and pixel index is not linear
means we cannot simply rely on comparing
the previous position to the next machine position. i.e derivative of E_AXIS
Because around the max amplitude of the triangle wave
the slope will suddenly change sign and will create a deadzone
which has width 2*mm_per_pixel.
For MMU2S this is ~10mm (or two pixels).
Instead we should split the moves.
And only plan the 2nd move once we're
at the top of the triangle wave. That way we don't really care about the position delta.
Now we just calculate the current y(x)
position relative to current position and divide by mm_per_pixel.
If there is a delta measured with unit 'pixel' then that means
its time to render the next pixel.
This solution seems to work well so far on my end.
Change in memory:
Flash: +2 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
b5e323e67c
PFW-1504 rename length_step_mm to mm_per_pixel
...
Its more descriptive
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
9865d4a38a
PFW-1504 Add precision error
...
This fixes an issue where sometimes
not all 20 pixels are rendered.
It is better to render 1 too many pixels (sometimes), rather than rendering too few.
Change in memory:
Flash: +18 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
f2157c6f1d
Fixup
...
We're always setting the cursor position when rendering now
Saves 8 bytes of flash
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
c518bfdb73
PFW-1504 Set cursor position each time to be safe
...
Change in memory:
Flash: +18 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
59e1ac0396
PFW-1504 implement stepper_get_machine_position_E_mm()
...
This function should be used when reading the current machine
position while a move is ongoing
No change in memory
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
690d83a94a
fixup
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
9145c8f59f
PFW-1504 too much?
...
I'm not happy with the current solution, I think we can improve it
by using the fact that this is a triangle wave. Need to think about it.
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
73c76579af
PFW-1504 Add init for progress bar
...
In case we are running a retry, the firmware
should clear the old rendering before
starting on a new one
Change in memory:
Flash: +6 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
51f1aa14a5
PFW-1504 Update last position as quickly as possible
...
0.1mm extrusion may happen while updating the LCD
No change in memory
2023-03-13 06:47:08 +01:00
Guðni Már Gilbert
bbfc4b9f78
PFW-1504 initial commit
...
Change in memory:
Flash: +162 bytes
SRAM: 0 bytes
2023-03-13 06:47:08 +01:00
3d-gussner
04d440a9c8
Fix AutoLoad filament menu not shown when FSensor is [Off] ( #4072 )
...
Fix AutoLoad filament menu not shown when FSensor if [Off]
2023-03-10 14:23:56 +01:00
3d-gussner
ba41b2bb0b
Fix M706 lcd message stuck
2023-03-09 07:00:40 +01:00
DRracer
e787111922
Add MMU error code: MCU_UNDERVOLTAGE_VCC ( #4069 )
...
+ read bandgap voltage periodically
+ correct wording of ERR_ELECTRICAL_MCU_UNDERVOLTAGE_VCC (as requested in Prusa-Error-Codes PR#81)
2023-03-08 15:42:25 +01:00
Guðni Már Gilbert
a20a7232a8
Change "Extruder N" to "Filament N"
...
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2023-03-06 10:26:12 +01:00
Guðni Már Gilbert
0b261ad4de
remove duplicate function in planner
...
moves_planned() should be used instead
No change in memory
2023-03-03 21:11:16 +00:00
3d-gussner
03280c48d5
Merge pull request #4059 from gudnimg/planner-opt-subtraction
...
planner: calculate step difference once
2023-03-03 14:42:47 +01:00
3d-gussner
474d489c39
Merge pull request #4033 from gudnimg/improve-preheat-target
...
preheat: improve target temperature threshold
2023-03-03 14:41:58 +01:00
D.R.racer
bc818636b0
Increase MMU FW version to 2.1.8
...
in relation to MMU-218
2023-03-02 19:58:00 +01:00
Guðni Már Gilbert
d487254806
planner: calculate step difference once
...
Change in memory:
Flash:-158 bytes
SRAM: 0 bytes
2023-03-01 22:28:08 +00:00
vintagepc
13f7ba81ff
Cleanup, share more M914/5/FORCE code
2023-02-25 15:49:15 -05:00
vintagepc
7214584723
Fixed conflict with force_z, added P flags
2023-02-25 15:24:59 -05:00
vintagepc
487c7d63e1
Partial
2023-02-25 15:02:26 -05:00
vintagepc
6dfbdd3735
Enable M914/5, Show in settings if overloaded
2023-02-25 14:49:40 -05:00
3d-gussner
051054b0db
Bump up FW version and build number
2023-02-24 16:42:36 +01:00
D.R.racer
303a67cd6f
Introduce MMU EEPROM reset feature
...
This new feature requires MMU FW v 2.1.7 (which brings some more small changes)
2023-02-24 15:26:07 +01:00
3d-gussner
31bfbb4ed0
Merge pull request #4023 from DRracer/rename-eject-mmu
...
PFW-1497 Change Eject filament -> Eject from MMU
2023-02-23 10:48:35 +01:00
3d-gussner
afc866e756
Merge pull request #4010 from gudnimg/improve-backlight-control
...
backlight: always allow backlight to dim/wake
2023-02-21 10:00:03 +01:00
Guðni Már Gilbert
8a926fad10
backlight: set rotation flag when certain amount of pulses are detected
...
We don't want to trigger a backlight wakeup randomly, for example
due to background noise.
2023-02-20 18:26:43 +00:00
3d-gussner
36c6b323c4
Set `Is filament loaded? Yes|No` default to `No` without a timeout.
2023-02-20 16:31:23 +01:00
3d-gussner
791b9b4d39
Merge pull request #4028 from DRracer/pr3322-updated
...
Merge duplicate strings in cmdqueue.cpp
2023-02-20 13:51:09 +01:00
Guðni Már Gilbert
496b52b819
preheat: sync temperature threshold in M600 and Wizard
...
* M600 used 1°C threshold, which may increase the waiting time a bit
* Wizard used 3°C
Sync both to use TEMP_HYSTERESIS for consistancy
No change in memory footprint
2023-02-19 13:23:31 +00:00
Guðni Már Gilbert
6ad126ef0b
optimisation: preheat menu always uses integers for target temperature
...
Let's drop the float comparison since it not needed
Change in memory:
Flash : -16 bytes
SRAM: 0 bytes
2023-02-19 13:21:30 +00:00
Guðni Már Gilbert
319fec47f0
preheat: improve target temperature threshold
...
Use 5°C threshold to be consistant with other parts
of the firmware.
Relying on 95% of the target temperature creates
a dependency on the temperature:
PLA: Target = 215°C, threshold = 10.75°C
PETG: Target = 230°C, threshold = 11.5°C
ABS: Target = 255°C, threshold = 12.75°C
ASA: Target =260°C, threshold = 13.0°C
PC: Target = 275°C, threshold = 13.75°C
My proposal is we instead use a constant
TEMP_HYSTERESIS = 5, which is consistent with
M109, and behavior when restoring print from RAM
and some of the MMU code (like unload function)
Change in memory:
Flash: +2 bytes
SRAM: 0 bytes
2023-02-19 12:59:58 +00:00
Guðni Már Gilbert
db878c9996
backlight: always allow backlight to dim/wake
...
This commit adds the ability for the firmware to dim and wake the
backlight when LCD updates are disabled. Such as in the MMU error screen
or when rendering full screen messages which typically
disable the LCD updates to prevent the status screen from rendering.
Fixes #2777
Change in memory:
Flash: -26 bytes
SRAM: +1 byte
2023-02-18 17:08:35 +00:00
D.R.racer
5cd60636f9
Add missing translations + shorten to 16 chars
2023-02-18 17:39:30 +01:00
D.R.racer
98e7c15928
Change Eject filament -> Eject from MMU
...
PFW-1497
2023-02-18 17:39:30 +01:00
Guðni Már Gilbert
05662a5c0a
optimsation: reduce code size in LCD rendering
...
Change in memory (MK3S+ Multilang):
Flash: -62 bytes
SRAM: -6 bytes
2023-02-18 16:32:08 +01:00
Guðni Már Gilbert
074057c110
Fix an issue where LCD freezes during loading test
...
It may be useful to view the Sensors menu
while the toolchange loading test is taking
place. For example to see if the reading is flickering
The firmware needs to call lcd_update(0) to update the screen rendering.
Change in memory:
Flash: -2 bytes
SRAM: 0 bytes
2023-02-18 13:16:40 +01:00
Guðni Már Gilbert
555e766296
optimisation: only update mm when i > 0
...
Change in memory:
Flash: -24 bytes
SRAM: 0 bytes
2023-02-18 12:39:44 +01:00
Guðni Már Gilbert
e41b6d106d
optimisation: use more string from PROGMEM
...
Change in memory:
Flash: -10 bytes
SRAM: 0 bytes
2023-02-18 12:39:44 +01:00
Guðni Már Gilbert
9f4a7adb9a
optimisation: extract common M861 code
...
Change in memory:
Flash: -128 bytes
SRAM: 0 bytes
2023-02-18 12:39:44 +01:00
D.R.racer
ee23d6c62a
Merge duplicate strings in cmdqueue.cpp
...
Original idea from @GilesBathgate, PR #3322 . This is just a rework on top of current MK3 branch.
2023-02-18 11:37:48 +01:00
3d-gussner
3381bf2f7e
Merge pull request #2201 from vintagepc/2091_2153_sheet_Mcode
...
Add M850 code for setting sheet label and offsets
2023-02-17 15:12:22 +01:00
Yuri D'Elia
1b3fa8bfe9
TM: Move headers to support the legacy build system
2023-02-17 15:01:59 +01:00
Yuri D'Elia
a8f219259a
TM: Split default model parameters into a separate header
...
Preparation to support multiple default model parameter sets
2023-02-17 15:01:59 +01:00
Yuri D'Elia
d1ff728e4f
TM: future-proofing for incompatible model upgrades
...
Introduce a model version. This is initialized at "1" and doesn't
require any upgrade/downgrade checks since it's currently
retro-compatible.
2023-02-17 15:01:59 +01:00
Yuri D'Elia
9bd03cedb9
TM: Fix UV identity
2023-02-17 15:01:59 +01:00
Yuri D'Elia
ddf5147f9f
TM: Optimize temp_model_set_lag
...
Save about 20 bytes by rewriting the sample count check
2023-02-17 15:01:59 +01:00
Yuri D'Elia
b676d395e3
TM: Handle L/TEMP_MODEL_LAG
2023-02-17 15:01:59 +01:00
Yuri D'Elia
0bf6a5bc4b
TM: Handle UV (PTC loss)
...
Model UV as power-invariant, so that scaling P doesn't change the
intercept location (that is, the zero point remains at the same
temperature even for more powerful heaters).
NOTE: It's not clear to me whether this is generally true (couldn't
find a datasheet from the same heater in diffent power variants
showing the efficiency loss)
2023-02-17 15:01:59 +01:00
Yuri D'Elia
ba96c8d457
TM: Handle D/TEMP_MODEL_fS
2023-02-17 15:01:59 +01:00
Yuri D'Elia
eb88b720ac
TM: Handle UVDL set/load/report/upgrade
...
- Expose TEMP_MODEL_fS and TEMP_MODEL_LAG as D and L respectively,
initializing the default values based on the previous hard-coded
values.
- Always round L to the effective sample lag to future-proof model
upgrades or changes (the stored value _is_ the effective value).
- Introduce UV as a new linear term for PTC heaters, defaulting
to an identity for model backward-compatibility.
2023-02-17 15:01:59 +01:00
Yuri D'Elia
38b1e64687
TM: Allocate new eeprom parameters for PTC handling
2023-02-17 15:01:59 +01:00
vintagepc
235ce62cd3
Update Marlin_main.cpp
...
Remove more stale code
2023-02-17 08:58:17 -05:00
vintagepc
032d5ebe5b
Update Marlin_main.cpp
...
Fix use of removed function
2023-02-17 08:31:27 -05:00
Guðni Már Gilbert
d0e0b51497
Optimisation: lcd_commands "M702 C" should be "M702"
...
Change in memory:
Flash: -2 bytes
SRAM: 0 bytes
2023-02-17 14:30:20 +01:00
Giles Bathgate
952b1af60b
Consistent use of noinline attribute
2023-02-17 14:30:20 +01:00
Giles Bathgate
754b2d03c3
Remove extraneous line added during merge conflict resolution
2023-02-17 14:30:20 +01:00
Giles Bathgate
25f9728e09
Add noinline attribute to count_e
2023-02-17 14:30:20 +01:00
Giles Bathgate
620b19bbab
Roll up lay1cal_square loops
2023-02-17 14:30:20 +01:00
Giles Bathgate
f92d2279d5
Re-use duplicated strings
2023-02-17 14:30:20 +01:00
Giles Bathgate
8129a14f19
Move layer calibration finish commands into first_layer_cal.cpp
2023-02-17 14:30:20 +01:00
Giles Bathgate
39160bc4ae
Free up some progmem
2023-02-17 14:30:20 +01:00
Giles Bathgate
568eec5ee0
Implement first layer cal with calculated extrusion widths
2023-02-17 14:30:20 +01:00
vintagepc
20eef890a6
Merge branch 'MK3' into 2091_2153_sheet_Mcode
2023-02-17 08:24:49 -05:00
D.R.racer
9b64d122dc
Disable MMU2S by default
...
On printers without the MMU no error screen should occur and no attempts of communication with the MMU should be performed -> EEPROM_MMU_ENABLED should default to 0.
PFW-1418
2023-02-17 12:53:07 +01:00
Guðni Már Gilbert
6745b2c766
Shorten Reset MMU button to fit LCD
...
Button strings are limited to 8 characters
2023-02-13 07:08:54 +01:00
Guðni Már Gilbert
b63f5433df
Don't show Pause/Stop menus while processing T-codes
...
PFW-1449
Change in memory:
Flash: +18 bytes
SRAM: +1 bytes
2023-02-12 15:58:07 +01:00
Guðni Már Gilbert
504099bd6c
optimisation: reduce code size in rendering cursor
...
Change in memory:
Flash: -62 bytes
SRAM: 0 bytes
2023-02-11 19:06:14 +01:00
Guðni Már Gilbert
c51aa10087
optimisation: spooljoin: use new eeprom init method
...
Change in memory:
Flash: -40 bytes
SRAM: -1 byte
2023-02-11 15:58:07 +01:00
Guðni Már Gilbert
982b1bb4bd
optimisation: backlight: use new eeprom_init function
...
Change in memory:
Flash: -56 bytes
SRAM: 0 bytes
2023-02-11 15:56:46 +01:00
Guðni Már Gilbert
c2a952cee5
optimisation: sound: use new eeprom_init function
...
Change in memory:
Flash: -18 bytes
SRAM: 0 bytes
2023-02-11 15:56:46 +01:00
Guðni Már Gilbert
8794ab2f71
respect Once sound mode
...
Change in memory:
Flash: +4 bytes
SRAM: 0 bytes
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
96fc90c80b
Revert a change in the MMU error screen logic
...
We can pull this code into a common function in a separate PR
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
5b4bc8bcdb
Tune louder beeps to match previous M600 behavior
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
b4f9f6d0b5
fixup: make sure to start the timer
...
Change in memory:
Flash: +10 bytes
SRAM: 0 bytes
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
8db2fbc97f
Improve sound handling for MMU error screen
...
Change in memory:
Flash: -174 bytes
SRAM: +4 bytes
2023-02-11 15:54:33 +01:00
Guðni Már Gilbert
e34faee389
optimisation: don't inline Sound_MakeCustom
...
Change in memory:
Flash: -32 bytes
SRAM: 0 bytes
2023-02-11 12:42:47 +01:00
Guðni Már Gilbert
7799853a05
optimisation: remove duplicate code
...
Sound_MakeCustom should play the sound
if critical = true OR the sound is not Silent
Change in memory:
Flash: -16 bytes
SRAM: 0 bytes
2023-02-11 12:42:47 +01:00
D.R.racer
c826ae989f
Remove Done button on FINDA-related MMU error screens
...
Follows the requirements from Prusa-Error-Codes yaml definition.
Saves a fwe bytes as well as the button switch() statement got simplified.
PFW-1494
2023-02-10 14:38:18 +01:00
3d-gussner
8b1b632164
Fix copy/paste typo thanks to @gudnimg
2023-02-10 14:35:36 +01:00
3d-gussner
4f8dbb19fd
Fix `M862.x` LCD messages
...
As the new menue adds a Yes/No option the messages
need to be limited to c=20 r=3
Updated/shortened all translations
2023-02-10 14:35:36 +01:00
3d-gussner
b02e8d9961
Fix First layer cal being stored without confirming with knob
2023-02-10 14:34:16 +01:00
RoboMagus
c3cfc86094
Fix #3977
2023-02-10 14:27:04 +01:00
Yuri D'Elia
d403d58b19
TM: Do not emit an "error:" on the serial for recoverable errors
...
Use "echo:" for thermal model error reporting to avoid octoprint
automatically sending a M112 kill.
Keep using "error:" instead for other thermal errors (MAXTEMP/etc).
This should allow resuming a thermal mode pause with the default
octoprint settings.
2023-02-10 14:24:50 +01:00
Guðni Már Gilbert
ea7e717204
Cleanup: Remove various dead code
2023-02-10 08:17:36 +01:00
3d-gussner
ca978080c4
Change to Thermal model
...
Add prusa.io/tm-cal link
and update all TM related translations
2023-02-08 15:36:59 +01:00
D.R.racer
26126906ef
Hardcode expected MMU FW version into the error message v2
...
This is an 80% solution to PFW-1488 which should be somewhat compatible with the existing languages/translations infrastructure.
I don't see a point in extending the infrastructure a great deal to support some compile-time replacement in order to patch just MSG_DESC_FW_UPDATE_NEEDED.
Related PR: https://github.com/prusa3d/Prusa-Firmware/pull/3993
2023-02-08 10:50:33 +01:00
Guðni Már Gilbert
99761bdff7
optimisation: re-use adjust_bed_reset()
...
Move the code into eeprom.cpp since we're only working with EEPROM
Change in memory:
Flash: -42 bytes
SRAM: 0 bytes
2023-02-08 08:01:55 +01:00
D.R.racer
3ddc2cf86d
Add ResetMMU and DisableMMU buttons to specific error screens
...
- MMU not responding/Communication error: add DisableMMU
- MMU FW update needed: add ResetMMU
Flash: +8B
RAM: +0B
2023-02-08 06:48:11 +01:00
D.R.racer
296b0414af
Optimize execute_extruder_sequence
...
Save 64B by refactoring of execute_extruder_sequence.
2023-02-08 06:47:50 +01:00
Guðni Már Gilbert
e34ed479ef
PFW-831 Add single buzzer beep when an MMU error screen is shown for the first time
...
If the user has the sound settings set to 'Silent' then this beep should be silent
Change in memory:
Flash: +4 bytes
SRAM: 0 bytes
2023-02-06 08:35:08 +01:00
Guðni Már Gilbert
b28aa6f42a
PFW-1471 Rename 'Toolchange count' to 'Material changes'
...
Added the string to our message so it can be translated
Change in memory:
Flash: -10 bytes
SRAM: 0 bytes
2023-02-06 08:33:40 +01:00
D.R.racer
ba34661b62
Fixup after rebase onto MK3
2023-02-01 08:28:23 +01:00
Guðni Már Gilbert
d66e2b66c2
Cleanup: use setTargetHotend consistently for one extruder
...
Main changes:
* setAllTargetHotends() is removed
* setTargetHotendSafe() is removed
* Extruder parameter on setTargetHotend() is dropped
Change in memory:
Flash: -192 bytes
SRAM: 0 bytes
2023-02-01 08:28:23 +01:00
D.R.racer
ed80defc2c
Shorten the Try-Load-Unload sequence
...
... and allow easier future tweking in case of need
Also, save ~30B of code by returning the previous E-motor position.
2023-02-01 06:38:19 +01:00
Guðni Már Gilbert
e597be2cb5
PFW-1381 Optimise initialisation
...
Change in memory:
Flash: -2 bytes
SRAM: -1 byte
2023-01-31 10:02:15 +01:00
Guðni Már Gilbert
a35e7d543f
Fix bug with button choice on MMU error screen isn't reset
...
PFW-1381
2023-01-31 10:02:15 +01:00
D.R.racer
d2f3835b2c
Fixup after review
2023-01-31 09:35:22 +01:00
Guðni Már Gilbert
8720602b0e
Fix an issue with corrupt serial messages
2023-01-31 09:35:22 +01:00
D.R.racer
43ae2c78e5
Fix cmake build
2023-01-31 09:35:22 +01:00
D.R.racer
528abcb8d8
clang-format
2023-01-31 09:35:22 +01:00
D.R.racer
0555376502
Refactor mmu2.cpp and related interfaces
...
The general idea is to keep platform specific implementation away from the MMU state machines as much as we can.
That would enable unit testing the top level MMU state machine and integration into other project as well (if needed).
2023-01-31 09:35:22 +01:00
Yuri D'Elia
e39f2d132e
TM: Check for PC parameters more carefully
2023-01-27 14:57:59 +01:00
3d-gussner
216b935488
Minor typo
2023-01-26 12:20:43 +01:00
3d-gussner
05cd50e2ef
Update M214 description with link to RepRap wiki
2023-01-26 12:20:43 +01:00
Guðni Már Gilbert
da63d73585
optimisation: don't print floats with lcd_print()
...
Change in memory:
Flash: -442 bytes
SRAM: 0 bytes
2023-01-25 18:21:22 +00:00
Guðni Már Gilbert
a5f7f1d735
optimisation: change index from uint32_t to uint8_t
...
Change in memory:
Flash: -152 bytes
SRAM: 0 bytes
2023-01-25 18:21:22 +00:00
Guðni Már Gilbert
8c4cd11ae0
Cleanup: remove code_value_float()
...
The function adds a bit of overhead compared to code_value()
I suspect this function is a relic of the past.
Change in memory:
Flash: -82 bytes
SRAM: 0 bytes
2023-01-25 16:51:10 +00:00
Guðni Már Gilbert
17e6f1b75e
optimisation: remove conv2str.cpp
...
Change in memory:
Flash: -288 bytes
SRAM: -8 bytes
2023-01-25 06:28:00 +00:00
Guðni Már Gilbert
79a10868fe
cleanup: FILWIDTH_PIN doesn't exist
...
raw_filwidth_value variable is never used
2023-01-24 19:41:45 +00:00
3d-gussner
7b163cf464
Merge pull request #3936 from wavexx/tm_cal_htemp
...
TM: Do not restrict autotune temperature
2023-01-24 14:20:55 +01:00
3d-gussner
fab4165f4a
Merge pull request #3920 from wavexx/selftest_ok_alert
...
wizard: Do no set "Self test OK" as an alert message
2023-01-24 14:16:44 +01:00
3d-gussner
1f54dfd0b2
Merge pull request #3941 from wavexx/tm_wizard_nowarn
...
wizard: Disable TM warnings during calibration
2023-01-24 14:15:04 +01:00
Alex Voinea
53fb4c3e3f
Move altfan eeprom initialization to extruder_altfan_detect()
...
flash: -16B
RAM: 0B
2023-01-23 19:47:03 +00:00
Guðni Már Gilbert
7245c76094
Fix an issue where Altfan Override setting in EEPROM is not respected at boot-up
2023-01-23 19:47:03 +00:00
Yuri D'Elia
c9f3a4cfce
wizard: Disable TM warnings during calibration
...
During calibration model warnings are possible/normal. This is
apparently leading some into thinking the hotend might be faulty
and abort the calibration with a hard reset.
Disable warnings/beeps during calibration.
Rely on the error threshold only.
2023-01-23 16:52:27 +01:00
Yuri D'Elia
679208b29e
TM: Do not restrict autotune temperature
...
Fix a wrong type that prevents running TM autotune at temps >127
2023-01-20 19:18:19 +01:00
Guðni Már Gilbert
39f9979655
optimisation: Combine if statement in M600
...
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2023-01-18 09:44:27 +01:00
D.R.racer
6298722f9a
Disable E-motor before the MMU starts doing something
...
It may seem counterintuitive to disable the E-motor, but it gets enabled in the planner whenever the E-motor is to move.
The idea behind disbling the E-motor when it won't be needed for some time is to save power and lower the heat of the motor.
Therefore it is especially important to disable the motor before the printer pauses a print due to some MMU error screen.
2023-01-18 09:42:57 +01:00
Alex Voinea
0c352ac2d1
Disable M47 if TMC2130 drivers are used
...
flash: -126B
RAM: 0B
2023-01-17 20:37:27 +01:00
Guðni Már Gilbert
d83c0f6c40
Fix an issue with indexing PROGMEM pointer
...
Using array index 'pointer[index]' doesn't work properly.
Instead using "pointer + index" works fine.
No change in memory footprint
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
9416310f7e
optimisation: move row_offsets into PROGMEM
...
Change in memory:
Flash: -42 bytes
SRAM: -4 bytes
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
eeb5f3d50c
optimisation: refactor menu_draw_P()
...
Add a way to only change the LCD column
Change in memory:
Flash: -90 bytes
SRAM: 0 bytes
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
730bb3708e
Fix an issue with menu_draw_item_puts_P
...
Change in memory:
Flash: +16 bytes
SRAM: 0 bytes
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
4f4153175c
Refactor menu_draw_toggle_puts_P
...
The refactoring drops the local buffer lineStr
Change in memory:
Flash: -106 bytes
SRAM: 0 bytes
2023-01-16 12:36:57 +01:00
Guðni Már Gilbert
cc08b938b7
Optimisations: implement lcd_print_pad_P()
...
Used lcd_print_pad_P is some obvious places. We can probably use
this function in more places to further save flash memory
Change in memory:
Flash: -268 bytes
SRAM: 0 bytes
2023-01-16 12:36:57 +01:00
Yuri D'Elia
16a89b9215
wizard: Return to status after calibration
2023-01-16 11:38:56 +01:00
D.R.racer
472f84e46a
Avoid FullScreenMsg "Eject/Cut Filament" when called inside a toolchange
...
CutFilament and EjectFilament got a flag: enable/disable FullScreenMsg
2023-01-16 09:25:04 +01:00
D.R.racer
48ce22d41f
Fix blank LCD while err. Load to Extr. Failed
...
Because this error is not an MMU error but a printer one, the existing infrastructure has been bent to support such a scenario.
During testing it turned out, that some machines fail to draw the error screen due to previous internal states.
This PR resets the internal states so that the conditions for drawing the error screen are met.
2023-01-16 09:25:04 +01:00
Yuri D'Elia
4f177f0b38
TM: Fan measuring state reset unification
...
Add resetFanCheck() to reset the fan measuring state as it's needed in
several places and save some flash space.
2023-01-16 08:43:36 +01:00
Yuri D'Elia
7529652dca
TM: Restore extruder autofan state when stopping/resuming
...
During thermal errors all fans are set to full speed.
When the print is resumed or stopped *and* the thermal error is gone,
also restore the autofan state.
Fixes #3893
2023-01-16 08:43:36 +01:00
Yuri D'Elia
204df90d6d
TM: Set the cal status bit when running `M310 A` directly
...
Running `M310 A` should set the TM calibration bit status if the
autotune procedure was successful.
Partially addresses #3891 and #3890 , since running `M310 A F0` should
*still* count as valid calibration data and is not something that can be
replicated by using the LCD (which enforces self-test).
2023-01-16 07:32:57 +01:00
Yuri D'Elia
12f5bd3648
wizard: Do not complain about missing calibration if model is disabled
...
This fixes #3891 without having to set the calibration bit, meaning
that if the model is later re-enabled without a real calibration, a
prompt is shown as expected.
2023-01-16 07:31:33 +01:00
3d-gussner
2d34535977
Move Z to top during Nozzle change
2023-01-16 07:27:53 +01:00
D.R.racer
58bed7e388
MMU: Make sound after the hotend reaches temp, not while waiting
2023-01-16 07:19:11 +01:00
Guðni Már Gilbert
5582114628
optimisation: re-use delay_keep_alive() in a few places
...
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2023-01-15 19:21:55 +01:00
Yuri D'Elia
9e0e0f5942
wizard: Do no set "Self test OK" as an alert message
...
Alert messages are intended to persist above "info" messages, thus
preventing further calibration status updates to be shown (such as
thermal model calibration).
Just set the message as a regular status message.
Fixes #3892
2023-01-15 18:25:15 +01:00
Guðni Már Gilbert
d3aa40a575
Fix blank LCD issue
2023-01-14 13:51:10 +01:00
Guðni Már Gilbert
76d1f28c14
optimisation: serialecho_temperatures should print a constant extruder number
...
Change in memory:
Flash: -18 bytes
SRAM: 0 bytes
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
62fc19b361
optimisation: combine a few serial logs since extruder is now constant
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
858e80e806
optimisation: M109 doesn't have a T parameter.
...
In 8-bit firmware the tool is always 0.
Change in memory:
Flash: -146 bytes
SRAM: 0 bytes
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
ff49c6a0bf
optimisation: M104 doesn't have a T parameter
...
Change in memory:
Flash: -120 bytes
SRAM: 0 bytes
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
44660f668a
optimisation: M105 doesn't have a T parameter
...
Remove parameter from gcode_M105() extruder is always 0.
Change in memory:
Flash: -64 bytes
SRAM: 0 bytes
2023-01-14 11:22:03 +00:00
Guðni Már Gilbert
fa0a522b7d
optimisation: re-use serialecho_temperatures()
...
Change in memory:
Flash: -82 bytes
SRAM: 0 bytes
2023-01-10 07:22:35 +01:00
Guðni Már Gilbert
f1cd388370
Shorter code
2023-01-06 19:33:32 +01:00
Guðni Már Gilbert
8c79bab503
optimisation: there is only one extruder when planning a line
...
Change in memory:
Flash: -50 bytes
SRAM: -3 bytes
2023-01-06 19:33:32 +01:00
Guðni Már Gilbert
534c2e2664
Cleanup: Remove M218
...
It was only enabled when multiple extruders are enabled
The firmware doesn't support it
and even if the M218 gcode could be used, the code does not compile
2023-01-06 19:30:05 +01:00
Yuri D'Elia
96a7383f19
Merge pull request #3869 from wavexx/m300_s0
...
Make M300 S0 pause like Marlin
2023-01-02 19:23:58 +01:00
3d-gussner
ba3ee0b4c6
Fix few values
2023-01-02 15:11:01 +01:00
3d-gussner
20634a3852
Update calibration status v2 documentation
2023-01-02 15:11:01 +01:00
D.R.racer
3d9dd08c16
Change MMU error links to a new url
...
PFW-1473
2023-01-02 12:43:08 +01:00
Yuri D'Elia
7a6d588d97
TM: Mark more internal functions as static
2023-01-02 10:52:07 +01:00
Yuri D'Elia
50209815ea
TM: Also clear the status flags when disabling the model
...
Disabling the model during a warn/error condition will also stop
updating the warning/error flag, keeping the printer in an error state.
Clear all flags as well when changing model settings.
2023-01-02 10:52:07 +01:00
Yuri D'Elia
543b333007
Remove extra delay after critical sound
...
This delay doesn't exist for the tone generator, so remove it from the
pure version as well.
2022-12-31 01:13:45 +01:00
Yuri D'Elia
e45adb4cee
Make M300 S0 pause like Marlin
...
Follow Marlin's behavior and simply insert a delay for the requested
duration when using M300 S0.
When S is not specified, use the default tone instead.
Fixes #3856
2022-12-31 01:13:45 +01:00
Guðni Már Gilbert
9cbf0a28cc
Fix an issue on multilang builds where first two charactes are not rendered ( #3781 )
2022-12-30 15:18:48 +01:00
D.R.racer
85d27e6e5e
Address 3 different start scenarios 1st lay cal + MMU
...
This PR tries to address the 3 different startup scenarios for 1st layer calibration with the MMU:
- 1st lay cal started with correct filament already loaded in the nozzle - we should continue, but skip the first 58mm (first 2 g-codes in the hard coded sequence) of purge line extrusion
- 1st lay cal started with other filament already loaded in the nozzle - we should unload and then issue a toolchange with no extra unload
- 1st lay cal started without loaded filament - we should just do a toolchange with no extra unload
PFW-1457
2022-12-30 15:04:45 +01:00
D.R.racer
52a3beb931
Cut & Eject: avoid preheat if no filament loaded
...
and add fullscreen messages for Cut & Eject (messages intentionally reused to save space)
2022-12-30 14:23:44 +01:00
D.R.racer
43f3865d7c
Tune UI CutFilament & EjectFilament
2022-12-30 14:23:44 +01:00
D.R.racer
ec1d12d929
Introduce FILAMENT_EJECTED + tune Eject operation + inc. MMU ver. 2.1.6
2022-12-30 14:23:44 +01:00
D.R.racer
58ff0efb30
Silence nodiscard attribute at one spot
...
... where it is really irrelevant
2022-12-30 14:23:44 +01:00
D.R.racer
ce7ab1d73c
Fixup: build MK25/MK3 (non-S)
2022-12-30 14:23:44 +01:00
D.R.racer
ebbf2378ed
Update MMU error texts
...
as per https://github.com/prusa3d/Prusa-Error-Codes/pull/71
2022-12-30 14:23:44 +01:00
D.R.racer
5e103cc24e
Fixup: restoring temp. while Load2ExtrFailed
2022-12-30 14:23:44 +01:00
D.R.racer
d4f0f363cd
Fixes from tests
...
- introduce Cut Filament
- limit retries try-unload
- fix waiting in "Load to extruder failed" error screen
- add LOAD_TO_EXTRUDER_FAILED error definition
2022-12-30 14:23:44 +01:00
D.R.racer
a30ea1c5ab
Rename error: Load to Extruder Failed
...
as per request from the Content team
2022-12-30 14:23:44 +01:00
D.R.racer
0a3517e8b2
Show an error screen when try-unload fails to push filament into nozzle
...
This is a prototype implementation of having the ability to show an MMU error screen even for printer's errors (during an MMU operation).
Also, the retry count of unloads after failed load the extruder tube is now limited to ~3 attempts.
Technically, since this very error is not an MMU's one (MMU is just fine at this stage) but a printer's one I tried to hack the existing error-reporting infrastructure to handle such a case.
The original idea of this approach was suggested by @vintagePC
2022-12-30 14:23:44 +01:00
D.R.racer
b2b7990cfc
Allow tweaking try-unload feedrates
...
It looks like MMU2_VERIFY_LOAD_TO_NOZZLE_FEED_RATE can get much higher that the original 20mm/s.
50mm/s is the default now, can be tweaked further.
2022-12-30 14:23:44 +01:00
Yuri D'Elia
c5d2aedfe4
wizard: Ask about the sheet before doing Z calibration
...
Ask to install the sheet immediately after removing the test print.
This makes further messages less confusing.
2022-12-30 14:14:01 +01:00
Yuri D'Elia
66071c0b5b
wizard: Resume the wizard for missing calibrations during upgrades
...
Instead of checking for explicit versions, resume the wizard if some
(new) wizard is missing.
This handles both the old SELFTEST check, the new thermal model
and any future check in the same fashion.
2022-12-30 14:14:01 +01:00
Yuri D'Elia
2a1511f7b1
Read version data from progmem in eeprom_fw_version_older_than
2022-12-30 14:14:01 +01:00
Yuri D'Elia
dd99b1ab32
wizard: Disable temperature model during hotend testing
...
This avoids confusing error messages if the hotend is defective and
caught by selftest itself.
Rearrange Stopped state checks (saves 2 bytes)
2022-12-30 14:14:01 +01:00
Yuri D'Elia
8fa0a22b8d
wizard: Allow partial resuming after reset
...
Update the eeprom FW version as soon as migration is complete, to avoid
resetting the CALIBRATION_V2 variable at each reset.
Do not implicitly reset the calibration steps for WizState::Run: do this
only for the menu action.
2022-12-30 14:14:01 +01:00
Yuri D'Elia
414972c876
Unbreak build with !PINDA_THERMISTOR
2022-12-30 14:14:01 +01:00
Yuri D'Elia
7828788e5c
Handle CALIBRATION_STATUS_TEMP_MODEL
2022-12-30 14:14:01 +01:00
Yuri D'Elia
2a13ce4c62
Handle CALIBRATION_STATUS_SELFTEST
2022-12-30 14:14:01 +01:00
Yuri D'Elia
b8c1f34e31
Handle CALIBRATION_STATUS_{Z,XYZ}
2022-12-30 14:14:01 +01:00
Yuri D'Elia
b41ece175b
Handle CALIBRATION_STATUS_LIVE_ADJUST
2022-12-30 14:14:01 +01:00
Yuri D'Elia
5ec627c12c
wizard: Rewrite the fw upgrade check logic
...
- Handle the conversion from the V1 calibration status to the V2 bitmap
for all past FW versions.
- Allow to run the wizard in "Restore" mode (for example during upgrade
or service prep) to complete any missing steps.
- Fix service prep to use the above feature by clearing the appropriate
calibration bits.
- Remove exceptions for FW 3.2.0.4 which can now be handled cleanly.
2022-12-30 14:14:01 +01:00
Yuri D'Elia
22c0e15047
wizard: Rewrite the wizard handling loop
...
Simplify status tracking:
- S::Restore to continue to the next logical wizard item
- S::Finish for a successful failure
- S::Failed to exit while showing a failure
2022-12-30 14:14:01 +01:00
Yuri D'Elia
a712546269
wizard: Remove unused wizard stages
...
Remove PreheatPla/IsPla, as we currently always explicitly ask for the
material type.
2022-12-30 14:14:01 +01:00
Yuri D'Elia
da6e56a17e
Simplify altfan override initialization
2022-12-30 14:14:01 +01:00
Yuri D'Elia
9a018230ce
Replace calibration state with a new calibration bitmap
...
- Move calibration status/declarations to util.h
- Allows to query the status of each step independently without assuming
any order
- Allows to extend the calibration with new steps transparently
2022-12-30 14:14:01 +01:00
Yuri D'Elia
2552fee4c7
eeprom: Fix EEPROM_HEAT_BED_ON_LOAD_FILAMENT debug offset in docs
2022-12-30 14:14:01 +01:00
Yuri D'Elia
0e2c2d9eea
Simplify FW eeprom version checks
...
- Generalize force_selftest_if_fw_version() so we can check when upgrading
between arbitrary FW versions.
- Do not call update_current_firmware_version_to_eeprom() prematurely
when forcing self-test (if a reset happens before self-test completes,
the check would be incorrectly skipped on the next run).
2022-12-30 14:14:01 +01:00
Yuri D'Elia
74609009ca
Fix M117 string offset
2022-12-30 14:06:48 +01:00
Yuri D'Elia
9105573ac9
Handle/strip leading whitespace in gcode stream
2022-12-30 14:06:48 +01:00
Yuri D'Elia
a4d427adf2
De-specialize M0/M1/M117
...
Since we no longer scan for the first command these exceptions can be
removed.
2022-12-30 14:06:48 +01:00
Yuri D'Elia
bb1e438f00
Do not scan for GMTD commands
...
Expect these to be always at the start of the line.
2022-12-30 14:06:48 +01:00
Yuri D'Elia
f46be49f7d
Tighten parsing of M0/M1/M117/PRUSA
...
Expect these to be always at the start of the command (which is now
stripped of the extra line number), reducing the number of corner cases
due to these not following the g-code spec.
2022-12-30 14:06:48 +01:00
Yuri D'Elia
7c896a87a4
Remove '*' (checksum) handling in process_commands
...
The checksum is already removed from the command queue so there's no
need to reprocess it in the main loop.
2022-12-30 14:06:48 +01:00
Yuri D'Elia
6651f5ce8b
Strip the line number from the command queue
...
This increases the number of commands that can be queued and at the same
time it avoids a considerable amount of rescanning in a critical path.
2022-12-30 14:06:48 +01:00
Guðni Már Gilbert
797513d3c5
Remove T parameter from M221
...
Fixes #3852
2022-12-30 13:07:56 +01:00
Guðni Már Gilbert
4219beed71
Remove initial cursor setting
...
The cursor position is controlled by
the for-loop
Change in memory:
Flash: -8 bytes
SRAM: 0 bytes
2022-12-30 12:57:07 +01:00
Guðni Már Gilbert
1186b36bfa
Remove whitespace at start of new row
2022-12-30 12:57:07 +01:00
Guðni Már Gilbert
7529eaec44
Remove duplicate code
...
msg_next is NULL, then the end of the message has been reached.
Change in memory:
Flash: -24 bytes
SRAM: 0 bytes
2022-12-30 12:57:07 +01:00
Guðni Már Gilbert
5037d1edbc
delay_keep_alive calls manage_heater and manage_inactivity
...
No need to call them again, the for-loop is very quick
Change in memory:
Flash: -10 bytes
SRAM: 0 bytes
2022-12-30 12:57:07 +01:00
Guðni Már Gilbert
1a9b7d79e6
Don't handle whitespace in a special way
...
Instead of reading and checking if a character is a whitespace
just print it out onto the LCD. This makes the code a bit less
complex. Whether there is a whitespace character, we always end
up reading from program space, so I doubt this has much performance
impact.
Change in memory:
Flash: -38 bytes
SRAM: 0 bytes
2022-12-30 12:57:07 +01:00
Alex Voinea
7925df6aa0
Default check action is continuing
2022-12-30 12:49:57 +01:00
Alex Voinea
96707aadcb
Fix timeout making UI freeze
2022-12-30 12:49:57 +01:00
Guðni Már Gilbert
92cf8da45e
Remove unused defines
2022-12-30 12:49:57 +01:00
Guðni Már Gilbert
df65212449
Add yes-no choice to M862 warning
...
Fixes #3421
Change in memory:
Flash: -98 bytes
SRAM: 0 bytes
2022-12-30 12:49:57 +01:00
Guðni Már Gilbert
cc3d36c78f
Replace labs with fabs
...
Both degHotend and degTargetHotend return a float
In this case it is better to use fabs()
Change in memory:
Flash: -14 bytes
SRAM: 0 bytes
2022-12-29 08:54:50 +01:00
Guðni Már Gilbert
03511a5a7c
Remove redundant ultralcd includes in Marlin_main
...
This also removes two definitions
- ULTRALCD
- LCD_USE_I2C_BUZZER
Neither of them are defined anywhere
2022-12-27 12:03:56 +00:00
Guðni Már Gilbert
9757502abc
Remove pins_arduino.h include
...
This header is already included with Arduino.h which
is included in Marlin.h header.
2022-12-27 12:03:14 +00:00
Guðni Már Gilbert
72857c902c
drop conv2str dependency in Marlin_main
2022-12-27 11:59:22 +00:00
Alex Voinea
fea608c8c4
A few more meassuring typos
2022-12-22 12:54:42 +01:00
Yuri D'Elia
b3790f4094
Typo: meassure -> measure
2022-12-22 12:54:42 +01:00
Yuri D'Elia
52941b1111
Rename xyzcal_meassure_center back to xyzcal_meassure_enter
...
Keep the enter/leave pairs
2022-12-22 12:54:42 +01:00
Yuri D'Elia
515a625180
Typo: hysterezis -> hysteresis
2022-12-22 12:54:42 +01:00
Alex Voinea
8414c272bf
Merge pull request #3787 from gudnimg/PFW-1439
...
PFW-1448 Fix underextrusion + compensate load to nozzle extruder sequence for Extra Loading Distance
2022-12-22 11:07:28 +01:00
3d-gussner
9ca7760c2e
Merge pull request #3830 from 3d-gussner/MK3_XYZ_cal_fix
...
MK3: XYZ cal change message and add LCD ouput
2022-12-20 14:16:49 +01:00
3d-gussner
0bcb4ab59d
Merge pull request #3822 from wavexx/tm_partial_lock
...
MK3: TM: Prevent lockout on invalid model values
2022-12-20 14:13:56 +01:00
3d-gussner
7fef570d1b
Change xyz cal message `up to 24 min.` instead `approx. 12 min.`
2022-12-20 10:30:53 +01:00
Guðni Már Gilbert
355b670cd4
Remove SWSPI which is not used/implemented
2022-12-20 10:10:45 +01:00
Alex Voinea
2b38080c7e
Merge pull request #3833 from leptun/MK3_fix_MK2.5_softReset
2022-12-20 10:02:14 +01:00
3d-gussner
ea6450f072
Add LCD output during xyz calibration
2022-12-20 08:36:19 +01:00
3d-gussner
65f5b9e53d
Merge pull request #3818 from wavexx/tm_default_state
...
TM: Provide full defaults for model data and enable it by default
2022-12-20 07:08:25 +01:00
Alex Voinea
62ea78d46e
Handle configurable distance past gears
2022-12-19 23:49:12 +01:00
Alex Voinea
70356b71df
Handle filament sensor position that is not 0
2022-12-19 23:41:43 +01:00
Guðni Már Gilbert
c72ae8a2f3
PFW-1439 Remove parameters from execute_load_to_nozzle_sequence
2022-12-19 21:12:12 +00:00
Guðni Már Gilbert
6ee5f08505
PFW-1439 Compensate load to nozzle extruder sequence for Extra Loading Distance
...
The Extra Loading Distance is configurable by the user.
We need to compensate the hardcoded sequence
such that it does not extrude too much or
too little. Currently the firmware
extrudes too little.
2022-12-19 21:12:11 +00:00
Alex Voinea
97ddcc66bb
Merge pull request #3839 from leptun/MMU2_split_variant_config
...
MMU2 split variant config
2022-12-19 20:31:01 +01:00
Yuri D'Elia
c0f96e062b
TM: Force initialization after reset
2022-12-19 18:08:01 +01:00
Alex Voinea
ba0f051f72
Revert accidental removal of check
2022-12-18 15:55:48 +01:00
Guðni Már Gilbert
4c32e8b403
PFW-1457 make CHECK_FSENSOR into a function
2022-12-18 12:23:20 +00:00
Alex Voinea
5c1c6d9f3b
Adjust MMU2 specific distances
2022-12-18 10:30:43 +01:00
Alex Voinea
8623d9ff55
Split the mmu2 config into MMU2 and MMU2S
2022-12-18 09:58:20 +01:00
Guðni Már Gilbert
fee68b0f0d
PFW-1457 Do not unload at start of First Layer Cal
...
Fixes issue where First Layer Cal. triggers an unload before any
filament is loaded
The purpose of this if() statement is to handle the case where
a user or developer is sending T-codes to the printer directly
via Serial. Such as when one first sends T0 and then T4.
And unload must be triggered in-between, we can do this automatically
if FINDA detect filament.
Change in memory:
Flash: -10 bytes
SRAM: 0 bytes
2022-12-18 05:51:21 +00:00
Yuri D'Elia
dba3428ef2
Improve MSG_ACK_ERROR message
2022-12-17 20:25:47 +01:00
Yuri D'Elia
80c7790e87
Also prevent longpress when Stopped
2022-12-17 17:30:44 +01:00
Yuri D'Elia
271523ad45
TM: Disallow preheat/filament actions when stopped
...
Require acknowledgement first
2022-12-17 17:00:33 +01:00
Yuri D'Elia
f8290f25cd
TM: Allow to resume without a running print
...
If there is no running print, and the printer is Stopped, add a new
"Acknowledge error" menu entry to unlock the printer.
This simply calls lcd_print_stop(), which is identical in behavior to a
thermal error with a running print.
2022-12-17 16:48:39 +01:00
Yuri D'Elia
0972ef70d0
Use menu_set_block() in ThermalStop()
...
Set a menu block for fatal thermal errors instead of abusing
lcd_return_to_status() to kick the user out of the menus.
This now allows a thermal model error to be recoverable through menu
access.
2022-12-17 16:42:22 +01:00
Yuri D'Elia
8d719efa79
Do not show/call LCD status updates when unchanged
...
This mostly prevents useless serial noise
2022-12-17 16:35:26 +01:00
Yuri D'Elia
365f845c99
TM: correctly mark repeated anomalies
2022-12-17 16:33:42 +01:00
Yuri D'Elia
6e2f016655
TM: Clear the Stopped state when stopping the current print
...
We allow resuming from the LCD via start print and resume print,
it makes sense to clear the error on stop too.
For this reason distinguish whether the action is performed
automatically or manually (ie: interactively).
The error is only cleared when the command is run interactively.
2022-12-17 16:11:31 +01:00
Yuri D'Elia
119dc10b8f
Rename print_stop() to lcd_print_stop_finish() for clarity
2022-12-17 16:03:03 +01:00
Alex Voinea
c5d406d12f
Fix interrupts not enabled during setup()
2022-12-16 16:46:08 +01:00
Guðni Már Gilbert
eb8ec9f8b9
If an old firmware is detected, make sure the protocol is actually stopped
...
The printer shouldn't continue endlessly asking for a version if an old MMU is detected.
Also if the protocol is supposed to be turned off, it
shouldn't be sending S0 queries.
2022-12-16 16:23:19 +01:00
Yuri D'Elia
9f3f0baa47
mmu: Use strncpy when possible
...
Since tmp is always null-terminated we can save some time compared to a
memcpy call.
2022-12-16 16:21:59 +01:00
Yuri D'Elia
b3b9778341
mmu: Silence repeated S0 requests
...
Update "S0" CRC on replies so that the message is properly silenced.
2022-12-16 16:21:59 +01:00
Yuri D'Elia
78cf51274f
mmu: Embed the newline in MMU2_ECHO_MSG/MMU2_ERROR_MSG
...
This allows to redefine both macros to silence debugging messages, since
we can't redefine the base SERIAL_ECHO.
2022-12-16 16:21:59 +01:00
Yuri D'Elia
5f2f6dde13
array<>::size should return constexpr expression
...
This allows to size buffers at compile time (matches c++11 behavior).
2022-12-16 16:21:59 +01:00
Guðni Már Gilbert
2e7c237a17
Cleanup: remove automatic parameter from unload_filament()
...
In M600 and M702, the Z-lift is taken care of outside this function
so it makes no sense to have a Z-lift within unload_filament()
Only exception to this is in the wizard, there I moved the Z-lift to
happen before we start heating the nozzle.
Change in memory:
Flash: -12 bytes
SRAM: 0 bytes
2022-12-16 16:20:09 +01:00
3d-gussner
090c72367d
Minor Fix for PR2235
...
Shorten message to c=12 as some translation of `Yes/No` are 4 chars long
2022-12-16 16:10:15 +01:00
Alex Voinea
d43a7da20d
fix watchdog not getting disabled on user app boot
2022-12-16 16:01:29 +01:00
3d-gussner
74545e2133
Fix `µ` character shown on translations
2022-12-16 15:59:37 +01:00
Yuri D'Elia
c05ac535be
TM: reset fan measuring state when changing speed
...
Ensure that fan checks are reset and use the new speed at each step of
the calibration.
This also gives extra time to the fan to ramp-up from a cold start,
when a fancheck could previously start right *after* the speed change.
Should fix #3791
2022-12-16 15:30:30 +01:00
Alex Voinea
d80e32fa31
retrigger build
2022-12-16 12:55:30 +01:00
Alex Voinea
3f6089f2c1
More documentation for pins file
2022-12-16 12:29:59 +01:00
Alex Voinea
e8c8945650
Disable the watchdog early in the program
2022-12-16 12:25:44 +01:00
Alex Voinea
451f601697
Fix MK2.5 softReset()
2022-12-16 12:10:47 +01:00
Yuri D'Elia
001876a807
Parenthesize IS_SD_PRINTING defensively
2022-12-15 08:13:38 +01:00
Yuri D'Elia
3066fd1db3
Replace two expressions with cmd_head
2022-12-15 08:13:02 +01:00
Yuri D'Elia
a588a5f695
Allow M310 to bypass the Stopped state for recovery
...
Since M310 cannot change the heaters, allowing M310 S0 (and changing
parameters) allows to recover a usb-controlled printer which has been
locked-out due to bad model settings.
2022-12-14 13:47:11 +01:00
Yuri D'Elia
c7865a83f2
Keep a pointer past the line number in cmdqueue
...
This allows to skip line numbers transparently and perform faster
checks on the actual command to process.
2022-12-14 13:47:11 +01:00
Yuri D'Elia
5c4ec5dd4f
TM: Do not lockout the menus on thermal errors
...
This prevents the ability to run gcode from the SD card.
In a thermal error with faulty values, and without serial access, this
is the only way to process an M310 instruction and recover.
2022-12-13 18:38:26 +01:00
Yuri D'Elia
36575a4f83
Restore the previous model state when performing a nozzle change
...
Do not force-enable the model if it was previously disabled.
2022-12-12 20:17:56 +01:00
Yuri D'Elia
c5ec77a1ce
wizard: Allow finishing the calibration through menus
...
If the wizard is interrupted during model calibration, allow the
menu to mark "temperature model" calibration as complete.
2022-12-12 18:25:17 +01:00
Yuri D'Elia
0c042440ee
eeprom: Document new calibration state
2022-12-12 18:25:17 +01:00
Yuri D'Elia
118b39da39
wizard: Rework the thermal model calibration logic
...
- Correctly sequence the enqueued commands in order to check for the
real calibration result.
- Perform autocalibration with self-check enabled.
- Only save/continue the wizard if autocalibration succeeds.
2022-12-12 18:25:07 +01:00
Yuri D'Elia
38d893589f
selftest: Handle thermal errors in lcd_selfcheck_check_heater
...
- Simplify lcd_selfcheck_check_heater loop
- Check for/abort on Stopped (indicating a thermal failure).
2022-12-12 18:24:58 +01:00
Yuri D'Elia
4e7c830661
Remove M999 remnants
...
This was already removed in fc10ca3146
but got reinstated by mistake in the mmu2 merge.
Also remove another incorrect Stopped usage.
2022-12-12 17:52:48 +01:00
Yuri D'Elia
249be543fc
TM: Restore all original values if autotune fails
...
- Ensures repeated autotune attempts with self-check can't succeed due
to different starting conditions.
- Allows for a simpler workflow during selftest and wizard if autotune
fails.
2022-12-12 17:52:48 +01:00
Yuri D'Elia
2051809e2f
TM: Store only the last autotune result state
...
- Remove tm::valid and temp_model_valid as it's a duplicate of the
calibrated() state.
- Add temp_model_autotune_result() for future use.
2022-12-12 17:52:48 +01:00
Yuri D'Elia
324e501b18
TM: Set default resistance levels for MK3/MK3S
...
Provide average calibrated values for all fan levels for MK3/MK3S
variants and enable the model by default.
This ensures the calibration step is not skipped unless explicitly
disabled.
Force-clear fan values during autotune to restore the previous
calibration behavior, as fan resistance levels can be too big and
prevent the autotune-with-selfcheck to fail.
2022-12-12 17:52:48 +01:00
Yuri D'Elia
877c0bd35c
Fix potential buffer overflow in LCD messages
2022-12-12 17:52:48 +01:00
Yuri D'Elia
e2f1bfe506
TM: Remove unnecessary display comments
...
Favor code readability
2022-12-12 17:52:48 +01:00
Yuri D'Elia
4d87f65b68
Merge pull request #3443 from gudnimg/m109-turn-off-fan
...
Turn off print fan while resuming print from RAM
2022-12-12 15:20:20 +01:00
Yuri D'Elia
d84e497007
Merge pull request #3805 from 3d-gussner/MK3_Fix_M862.4_strict
...
MK3: Fix `M862.4` with [strict] mode
2022-12-12 12:38:15 +01:00
Guðni Már Gilbert
613ea290f5
Add a comment
2022-12-10 10:04:17 +00:00
Guðni Már Gilbert
9ed46df97f
Don't show full screen message meant for single color setup
...
load_filament_to_nozzle will show a more precise full screen message when an MMU is used.
2022-12-10 10:00:58 +00:00
Guðni Már Gilbert
70451b6bd3
Turn off print fan while restoring print from RAM
2022-12-10 09:53:43 +00:00
3d-gussner
40cc6dcb6d
Merge pull request #3783 from leptun/enable_PRUSA_SN_all_variants
...
Allow "PRUSA SN" to print the SN in eeprom on all variants
2022-12-09 14:51:57 +01:00
Guðni Már Gilbert
1e39012953
Merge pull request #3793 from gudnimg/PFW-1453
...
PFW-1453 Stop Print: Don't unload if FINDA is not triggered
2022-12-09 12:54:16 +00:00
Yuri D'Elia
68c5cdce1c
Merge pull request #3780 from gudnimg/stop-print-optimisations
...
optimisation: Improve Stop Print menu
2022-12-08 19:41:52 +01:00
3d-gussner
92f2281b1a
Merge pull request #2335 from Panayiotis-git/MK3_NoBedHeating_onLoadUnload
...
@Panayiotis-git Thanks a lot!
Finally after 3 years 21 days your PR gets merged 🦕
2022-12-08 18:45:12 +01:00
Yuri D'Elia
0cedb92ac6
Simplify firmware/gcode version comparisons
2022-12-07 18:59:29 +01:00
3d-gussner
96e4881da5
Merge pull request #3794 from gudnimg/fix-m862-q
...
Fix undefined pointer in `M862.2 Q` and `M862.3 Q`
2022-12-07 13:04:45 +01:00
3d-gussner
6f5a67491c
Fix `M862.4` with [strict] mode
...
Max 8 falvor versions
2022-12-06 13:18:52 +01:00
3d-gussner
1c9a3a6b25
Add Nozzle change menu to FARM mode under Settings
2022-12-05 18:22:18 +01:00
Guðni Már Gilbert
a8fe71df8c
PFW-1453 Stop Print: Don't unload if FINDA is not triggered
2022-12-05 16:45:57 +01:00
Alex Voinea
52965bd05d
Avoid using global variables
...
Flash: -68B
RAM: -4B
2022-12-05 16:43:51 +01:00
Guðni Már Gilbert
4c27d057b8
Don't inline fSetMmuMode
...
Saves 8 bytes of flash
2022-12-05 16:43:51 +01:00
Guðni Már Gilbert
074b62361f
Fix #3788
...
fSetMmuMode needs to be called
in order for the commands to work:
M862.2 Q
M862.3 Q
2022-12-05 16:43:51 +01:00
Panayiotis-git
c75c81ce4f
Do not heat the bed, on load/unload
...
If during a paused print, the preheat is canceled, keep the bed target temperature
Display bed temperatures only if bed is also heated
Remove not needed variables nTargetOld and nTargetBedOld from the mFilamentItem function
Define new Setting "HeatBedOnLoad" [Yes/No]
2022-12-04 19:26:34 +02:00
Guðni Már Gilbert
fb530ce543
PFW-1454 Send button to MMU on MMU SELFTEST FAILED screen
...
Fixes an issue where the button on the MMU error screen doesn't do anything
when MMU SELFTEST FAILED is rendered
2022-12-04 11:04:00 +00:00
Guðni Már Gilbert
6d62fb0d65
Merge pull request #3784 from DRracer/opt01
...
Optimize rendering MMU Error sensor line
2022-12-02 17:12:05 +00:00
Jakub Dolezal
3e976e04ca
Merge pull request #3777 from 3d-gussner/PFW-1431
...
PFW-1431: Add "PA Preheat"
2022-12-02 13:34:18 +01:00
3d-gussner
54ef2a6c28
Merge pull request #3769 from 3d-gussner/MK3_Temp_model_cal_wizard
...
PFW-1434: MK3 Temp model calibration during wizard
2022-11-30 15:33:38 +01:00
3d-gussner
1bbcdb0c0d
Merge pull request #3774 from 3d-gussner/MK3_Nozzle_change
...
PFW-1435 Nozzle change menu
2022-11-30 15:32:18 +01:00
3d-gussner
0a6388cc56
Update internal translations
...
Fix G28 W
2022-11-30 15:01:24 +01:00
Alex Voinea
500131d51d
fullscreen message: use \n to force the next word on the next line
...
Useful for printing short URLs since those contain punctuation characters, which get treated at the end of a word under usual circumstances
2022-11-30 10:17:28 +01:00
3d-gussner
8f44d1102c
Add PA preheat menu
2022-11-30 06:42:32 +01:00
Guðni Már Gilbert
23613c7eb1
optimisation: Stop print menu
...
There is no need to manually track the cursor position.
We can use the menu API:
MENU_BEGIN()
...
// menu items in between here
...
MENU_END()
Change in memory:
Flash: -116 bytes
SRAM: 0 bytes
2022-11-26 10:18:47 +00:00
D.R.racer
a666c0f6f4
Optimize rendering MMU Error sensor line
...
CPUFLASH: -32B
2022-11-25 13:30:53 +01:00
Alex Voinea
83c9e946e4
Fix recursion
2022-11-24 16:15:51 +01:00
3d-gussner
4f3c188017
Update internal translations
...
Fix typo
2022-11-24 10:53:04 +01:00
D.R.racer
fea1520dfb
Fix & optimize FW version parsing and checking
...
PFW-1433
2022-11-23 13:34:13 +01:00
3d-gussner
32673e1681
Nozzle change menu
2022-11-23 11:39:26 +01:00
3d-gussner
2cd42f8433
Fix typo
...
Add Norwegian translations thanks to @OS-kar
2022-11-22 08:26:20 +01:00
Guðni Már Gilbert
c8157919b1
PFW-1440 Fix issue where cooldown timer is not set after a faile retry
2022-11-21 12:54:53 +01:00
Guðni Már Gilbert
37ac33bc32
Fix compiler warning
2022-11-21 12:54:53 +01:00
D.R.racer
fe6e3ca2b1
Unload first before retrying
...
Should free the filament if accidentally held by the fsensor.
2022-11-20 19:23:07 +01:00
D.R.racer
5639620041
Avoid watchdog while doing VerifyFilamentEnteredPTFE
2022-11-20 17:27:36 +01:00
D.R.racer
84d9eee61d
Resume hotend temperature if parked + MMU restarted
...
PFW-1355
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
01c1f4a8dd
Load test: Monitor unload as well
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
5c8ea4c90a
fixup
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
327f0edb17
VerifyFilamentEnteredPTFE must take into account the Extra Loading Distance
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
c9d9ba0b1a
Add a bracket around subtraction, just in case
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
ef51b5778d
Fix VerifyFilamentEnteredPTFE
...
Test should push filament first and then retract.
2022-11-20 17:27:36 +01:00
D.R.racer
aaebaf163f
Cleanup MSG_MMU_POWER_FAILS
2022-11-20 17:27:36 +01:00
D.R.racer
a17153f877
Make TMC mask more readable
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
f1ed2fc5c7
Fix issue where tool_change_extruder is not reset after retry
2022-11-20 17:27:36 +01:00
D.R.racer
541cd3ae94
Remove debug messages of Interrupted state
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
46f4f2658d
PFW-1432 Reduce LOC
...
If verification test fails, increment load fail statistic
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
03235c8aab
PFW-1432 restore toolchange load testing
2022-11-20 17:27:36 +01:00
D.R.racer
adb24cd410
Increment errors in ReportError
2022-11-20 17:27:36 +01:00
D.R.racer
4eaabbf092
Revive MMU stats + LCD screens
2022-11-20 17:27:36 +01:00
D.R.racer
fe11b7a247
Tune Interrupted state based on unit tests
...
Now finally the printer can restart ToolChange if MMU restarted.
2022-11-20 17:27:36 +01:00
D.R.racer
ffbd95b482
Unify naming convention (index->slot)
...
in all top level MMU-related functions
2022-11-20 17:27:36 +01:00
D.R.racer
e414413b2e
Refactor ToolChange+LoadToNozzle
...
Add basic infrastructure for handling of repeated commands until they finish correctly.
2022-11-20 17:27:36 +01:00
D.R.racer
10a9e0f0a0
Recover from MMU restart while performing a command
...
PFW-1427
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
603faddd25
Fix bug where toolchange counter is not rendered
2022-11-20 15:42:29 +00:00
Guðni Már Gilbert
5dc539cda5
fixup
2022-11-20 13:12:01 +01:00
Guðni Már Gilbert
62810c5a7c
optimisation: lcdui_print_extruder
...
Simplify the rendering to cover more scenarios:
"[nr.]>?"
"?>?"
Both of these indicate there is a bug in the firmware.
Currently these are not handled and result in the status screen being corrupted.
This is because we are trying to write a 3 digit number
where there is not space on the LCD for it.
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2022-11-20 13:12:01 +01:00
3d-gussner
281a217549
Update Temp Model messages
...
Deepl translate cs,de,es,fr,it,nl,pl
2022-11-20 10:49:46 +01:00
3d-gussner
f2f54da5b0
Unhack selftest hack during wizard
2022-11-20 10:48:49 +01:00
Guðni Már Gilbert
d592586d94
cleanup: remove dead code lcd_adjust_z()
...
It's only used when MESH_BED_LEVELING is not defined. According to
the configuration files, all printers supported use MESH_BED_LEVELING.
So I think we are safe in removing this dead code.
2022-11-19 22:19:48 +00:00
Guðni Már Gilbert
411d1da3c8
Merge pull request #3763 from gudnimg/optimisation-float-conversions
...
optimisation: TCodes accepts `uint8_t` not `float`
2022-11-18 19:52:22 +00:00
Alex Voinea
58775b8b55
Change unsigned long to uint32_t
2022-11-18 14:50:07 +01:00
Alex Voinea
bda134a01e
Save a bit of RAM from CS
...
Do not store EEPROM_VERSION in ram
flash: -6
RAM: -2
2022-11-18 14:50:07 +01:00
Alex Voinea
ef83fefce1
More optimization
2022-11-18 14:50:07 +01:00
Alex Voinea
8f4ac82273
eeprom_init_default also returns the read/default value
2022-11-18 14:50:07 +01:00
Alex Voinea
b317786110
More configuration store savings
...
flash: -94B
RAM: 0B
2022-11-18 14:50:07 +01:00
Alex Voinea
b551bdae76
Some more CS improvements
...
flash: -2B
RAM: 0B
2022-11-18 14:50:07 +01:00
Alex Voinea
5305dbd299
Sheet name initialization improvements
...
The code looks better, but it takes a bit more flash. I prefer it like this
flash: +20B
ram: 0B
2022-11-18 14:50:07 +01:00
Alex Voinea
bba5385a61
Move string to progmem
...
flash: -84B
RAM: -4B
2022-11-18 14:50:07 +01:00
Alex Voinea
6edc71d0ae
Remove deprecated configs
2022-11-18 14:50:07 +01:00
Alex Voinea
dcc48c0052
Remove eeprom _int8t functions
...
flash: -48B
RAM: -4B
2022-11-18 14:50:07 +01:00
Alex Voinea
af60cd7d79
Optimize EEPROM_writeData and EEPROM_readData
...
flash: -162B
RAM: -4B
2022-11-18 14:50:07 +01:00
Alex Voinea
771f833a44
Implement eeprom dword functions
2022-11-18 14:50:07 +01:00
Alex Voinea
ca943cceec
Split the increment function into increment and add
...
No size difference since the compiler did a good job optimizing the inc argument (always 1 before).
2022-11-18 14:50:07 +01:00
D.R.racer
455c29e78b
Optimize EEPROM usage/functions
2022-11-18 14:50:07 +01:00
D.R.racer
414d3f1c12
Display Welcome message after MMU progress report ends
...
Should make the status line look cleaner when the printer is not printing.
2022-11-18 14:09:48 +01:00
Guðni Már Gilbert
c86c961d4e
M600: Fix bug where fan is not turned off
...
The firmware saves the current fanspeed before parking,
and the fanspeed is restored after unparking. The problem is the fan
was never actually paused.
Fixes #3670
2022-11-18 11:18:29 +01:00
Alex Voinea
b147fcee77
XYZ calibration fixes
2022-11-18 00:18:42 +01:00
Alex Voinea
384a6d1989
Fix wizard serial messages
2022-11-17 23:03:03 +01:00
3d-gussner
30ec4e8b53
Inital Temp Model cal wizard
2022-11-17 15:19:35 +01:00
Guðni Már Gilbert
2096accc5f
Remove unused gcode level check code
...
This code was introduced with v3.8.0 but was always disabled.
I propose the code be removed since it has not been enabled
for 3 years since its introduction.
2022-11-17 08:05:27 +01:00
D.R.racer
6059398004
Introduce MMU Error: INSPECT_FINDA (FINDA_FLICKERS)
2022-11-17 07:58:11 +01:00
Alex Voinea
29882b625b
Remove LcdCommands::FarmModeConfirm
2022-11-17 05:46:33 +01:00
Guðni Már Gilbert
e11ef11a64
PFW-1425 Rename "Load to Extruder" to "Loading Test"
2022-11-16 06:00:15 +01:00
Guðni Már Gilbert
7b43f322de
PFW-1425 Move Reset MMU setting
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert
b4920d7fa8
PFW-1425 use mmu2.Enabled instead of EEPROM read
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert
3f4ac254ab
PFW-1425 Move MMU settings under a common if statement
...
We only need to check if the MMU is enabled once,
no need to do it in every submenu.
This way we save little bit of flash memory.
Change in memory:
Flash: -24 bytes
SRAM: 0 bytes
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert
8f3f071fd4
PFW-1425 Move Load to Extruder menu to Settings menu
...
No change in memory footprint
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert
5239f1c176
cleanup: remove old extern for mmu_print_saved
2022-11-15 09:44:02 +01:00
Guðni Már Gilbert
4f58812478
optimise lcd_sdcard_menu with lcd_print_pad
...
Change in memory:
Flash: -46 bytes
SRAM: 0 bytes
2022-11-13 09:29:37 +01:00
Guðni Már Gilbert
184e19dd60
further optimise lcdui_print_status_line
...
We can use lcd_print_pad to determine
whether the end of the file name was reached
lcd_print_pad now returns the last character pointed to.
If the end of the string was reached, it will be the null delimeter which
evaluates to "false" in an if statment (same as NULL).
Else "true" means the end of the string was not reached.
Change in memory:
Flash: -42 bytes
SRAM: 0 bytes
2022-11-13 09:29:37 +01:00
Guðni Már Gilbert
0af7ef0201
optimisation: reduce code size in showing file name being printed
...
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2022-11-13 09:29:37 +01:00
Alex Voinea
a2bbc4f585
Merge pull request #3745 from leptun/MK2.5_XYZ_Cal_fixes
...
MK2.5 XYZ calibration fixes
2022-11-12 21:48:16 +01:00
Guðni Már Gilbert
006fe110cc
Don't raise MMU error screen until retry is done
...
Change in memory:
Flash: +8 bytes
SRAM: 0 bytes
2022-11-12 18:47:10 +01:00
VintagePC
68bd7f9b19
Fix excessive flash usage.
2022-11-12 18:47:10 +01:00
VintagePC
ecef69012a
Fix PFW-1364 & possible comms timeout during reheat
2022-11-12 18:47:10 +01:00
Guðni Már Gilbert
509813f60b
optimsation: TCodes accepts uint8_t not float
...
Change in memory:
Flash: -20 bytes
SRAM: 0 bytes
2022-11-12 16:50:45 +00:00
Alex Voinea
661b3a83ff
MK2.5: fix swapped yes/no messaged for Z manual alignment
2022-11-10 22:20:46 +01:00
Alex Voinea
1cdc2e712b
MK2.5: unblock planner after plan_abort_hard()
2022-11-10 22:20:01 +01:00
3d-gussner
fd832f9ccf
Merge pull request #3737 from gudnimg/fix-longpress-inactivity-timeout
...
Fix long-press LCD inactivity timeout
2022-11-08 14:10:57 +01:00
Guðni Már Gilbert
76a164e651
fixup
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
08460bd403
PFW-1397 Drop ON_MENU_ENTER
...
Using _menu_data_t turns out to save *just* a little bit more flash. So for now just use it.
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
390f69a82f
PFW-1397 Fix: ON_MENU_ENTER was always run
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
59a452ac27
PFW-1397 minor comment tweaks
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
f160f5594d
PFW-1397 cleanup statistics menu
...
Change in memory:
Flash: -18 bytes
SRAM: -1 byte
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
82bd9db1d6
PFW-1397 Implement ON_MENU_ENTER to simplify code
...
ON_MENU_ENTER runs code within the brackets only once
after a new menu is entered.
For the tool change menu, this allows us to display the data and
read from EEPROM only once.
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
a896dfd4e0
PFW-1397 To reserve EEPROM write cycles, only update toolchange counter when a print finishes or is stopped
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
3120bf0aa2
PFW-1397 Implement new function increment_tool_change_counter()
...
Reduces flash consumption by 44 bytes
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
fcfb868167
PFW-1397 Add a temporary menu item to show the statistic
...
The location of the menu has not been decided. Currently I placed it where convenient.
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
5a60a85467
PFW-1397 Increment toolchange statistic
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
0af7d28074
PFW-1397 Allocate EEPROM memory for toolchange counter
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
7fe22e8f79
Fix long-press LCD inactivity timeout
...
Fixes #3715
When a long-press is triggered, the LCD inactivity timer
needs to be restarted. This is done with lcd_timeoutToStatus.start()
This also fixes situations where a long-press is triggered, and the timer
times out immediately (because it was not reset properly)
Change in memory:
Flash: +8 bytes
SRAM: 0 bytes
2022-11-06 13:43:14 +00:00
3d-gussner
853adbf411
Bump up build number
...
+1 for commit
+1 for merge
2022-11-04 11:16:07 +01:00
3d-gussner
7c009cadb8
Bump up Revision to ALPHA1 6051
...
Temporary fix for MSG_BTN_MORE
pre-release pot and po update
2022-11-04 10:21:39 +01:00
DRracer
7b20f8c6f3
Merge pull request #3717 from 3d-gussner/MK3_Temp_Model_menu
...
Add Menu `Calibration -> Temp. model cal`
2022-11-03 12:12:55 +01:00
3d-gussner
1e0909d50c
Disable `Error:` messages for MMU2 errors
2022-11-03 12:09:03 +01:00
3d-gussner
8543942acb
Fix Z-leveling
2022-11-03 06:22:57 +01:00
3d-gussner
fd6da0e766
Fix typo
...
Add lcd_setatatus_serial to output lcd status message and serial at the same time
2022-11-02 10:09:32 +01:00
Guðni Már Gilbert
7bc7f21fa5
mmu: move RetryIfPossible outside the error screen
...
This fixes issue where 'retryAttempts=3' may be spammed in the logs
Change in memory:
Flash: 0 bytes
SRAM: 0 bytes
2022-11-01 06:22:39 +01:00
3d-gussner
2ac2cd2255
Fix MK25/S builds
2022-10-26 14:27:22 +02:00
3d-gussner
072b3f8300
Temp Model cal. menu
2022-10-26 13:34:27 +02:00
3d-gussner
f4a2c1c794
Update translations
...
Fix button msg
Update Dutch `F. jam detect`
2022-10-25 10:29:35 +02:00
Guðni Már Gilbert
45c72d48ed
optimisation: use failstats_reset_print in factory_reset_stats
...
Change in memory:
Flash: -56 bytes
SRAM: 0 bytes
2022-10-23 09:58:56 +00:00
Alex Voinea
edc5d013dd
Merge pull request #3698 from leptun/farm_presort_cache
...
Farm mode: cache filenames in the presort function
2022-10-21 15:43:49 +02:00
3d-gussner
b792d47350
Merge pull request #3694 from 3d-gussner/MK3_Hotend_fan
...
PFW-1415: Rename `Extruder fan` to `Hotend fan`
2022-10-19 08:47:15 +02:00
Alex Voinea
b485992c9e
If in farm mode, force the sorting direction to be reversed
...
So in an ideal scenario, the newest file is first. This of course breaks as soon as a file is deleted/renamed/moved, but it should at least be fixed now compared to before where the direction could be influenced by a disabled setting
2022-10-18 17:29:31 +02:00
Alex Voinea
798f215f88
Refactor SD menu settings
2022-10-18 17:24:35 +02:00
3d-gussner
eaaf1d6872
Rename Sheets
...
- `Satin 1` to `Satin `
- `Satin 2` to `NylonPA`
2022-10-18 10:20:01 +02:00
Alex Voinea
e18bfce597
Farm mode: cache filenames in the presort function
2022-10-17 20:17:28 +02:00
3d-gussner
e83728f72c
Change fan RPM display to 5 digits
...
All credits to @ WarrenSchultz for initial PR https://github.com/prusa3d/Prusa-Firmware/pull/3656
2022-10-17 15:41:05 +02:00
3d-gussner
f2fe9a51ee
rename `Extruder fan` to `Hotend fan`
2022-10-17 13:49:18 +02:00
Guðni Már Gilbert
2682b64a09
Optimisation: Reduce code size in rendering SD file names and folders
...
Change in memory:
Flash: -88 bytes
SRAM: 0 bytes
2022-10-12 20:19:21 +00:00
D.R.racer
2c695f14be
Increase required MMU version to 2.1.4.x
2022-10-12 07:45:13 +02:00
D.R.racer
6eab0dda59
Add parentheses - be more explicit in error codes' masking and comparison
2022-10-11 15:51:01 +02:00
D.R.racer
0aeb74e5b1
Intercept M708 A0xb: set ExtraLoadDistance on the printer side too
2022-10-11 15:51:01 +02:00
D.R.racer
b0466ae20f
Add infrastructure for MMU parametrization after comm start
...
For now, only the Extra loading distance is being sent, but the infrastructure can be easily extended for other registers as well.
2022-10-11 15:51:01 +02:00
D.R.racer
c7e4c9ce99
Allow backwards compatibility with legacy MMU g-codes
...
This piece just changes the default extra load length on the MK3 side.
The same needs to be done on the MMU side but:
- the MMU exposes its register for this (so we can change the extra load distance by writing into the register via G-code)
- the printer shall probably set this value on its own after line up of MMU communication
2022-10-11 15:51:01 +02:00
D.R.racer
013ce588a5
Support reading/polling multiple registers
...
In Idle and Command mode it is now possible to specify a list of registers which shall be periodically read from the MMU.
To keep the code and RAM size down registers are intentionally separated into 8bit and 16bit sets.
Adding a register into the set is just a matter of parametrization, there is no need to change the state machines anymore.
2022-10-11 15:51:01 +02:00
D.R.racer
ebb79351a7
Add preliminary support for MMU_SELFTEST_FAILED error messages
2022-10-11 15:51:01 +02:00
3d-gussner
d5ca47d1a6
Merge pull request #3646 from gudnimg/fix-mmu-buttons-v2
...
PFW-1403 Fix issue where physical MMU buttons do not dismiss error screen
2022-10-11 13:42:39 +02:00
Guðni Már Gilbert
8882d8f2c8
Only move XY when position is known
...
I had a crash when producing an error screen and printer was unhomed.
Extruder was located at the far right side, and immediately crashed when attempting to park.
2022-10-11 07:16:52 +02:00
Guðni Már Gilbert
9f3361577e
Merge pull request #3643 from gudnimg/PFW-1358
...
PFW-1358 More button utilizes text and an empty character on the right
2022-10-10 18:02:22 +00:00
Guðni Már Gilbert
98cfc37017
Merge pull request #3674 from gudnimg/mmu-first-lay-cal-purge-line
...
MMU: Sync first layer purge line with PrusaSlicer generated output
2022-10-10 17:59:18 +00:00
Guðni Már Gilbert
213f0e8c71
PFW-1358 Update second_col description
...
Value is no longer hardcoded
2022-10-10 17:48:56 +00:00
Alex Voinea
eb43d712df
Enable MISO pullup during SD CMD0
...
Fix typo
2022-10-10 09:43:50 +02:00
Guðni Már Gilbert
ccf0c0a09f
Merge pull request #3675 from gudnimg/pad-mmu-status-messages
...
Fix issue where MMU status messages are not padded
2022-10-09 10:49:55 +00:00
Guðni Már Gilbert
1c6345a85b
Fix issue where MMU status messages were not padded
...
Also combined common cases to reduce code size
2022-10-09 10:37:33 +00:00
Guðni Már Gilbert
76dc51d2f0
Sync first layer purge line with PrusaSlicer generated output
...
If you generate a multicolor gcode file with PrusaSlicer, the purge
line gcode will look like this.
This reduces clicking sounds from the extruder, filament extrusion is reduced by 6mm.
2022-10-09 10:03:54 +00:00
Guðni Már Gilbert
d483531606
PFW-1358 update c values
2022-10-08 09:40:43 +00:00
Guðni Már Gilbert
00ccdcd467
PFW-1358 change MSG_BTN_MORE from I1 to N1
2022-10-08 09:25:06 +00:00
Guðni Már Gilbert
d6e0f47739
PFW-1403 Rename ReportErrorSource to ErrorSource for shorter code
2022-10-08 08:51:32 +00:00
Guðni Már Gilbert
33690b927a
PFW-1403 Fix issue where physical MMU buttons do not dismiss error screen
2022-10-08 08:51:32 +00:00
Guðni Már Gilbert
8f0de44d84
PFW-1358 Move 'More' button to the corner of the screen
...
Make 'More' button position consistent with 3-button screen.
2022-10-08 08:50:40 +00:00
Guðni Már Gilbert
7264391c5f
PFW-1358 Fix and optimise button choice positions
2022-10-08 08:50:40 +00:00
Guðni Már Gilbert
9046fb3d44
PFW-1358 Adjust positions of button choices
2022-10-08 08:50:39 +00:00
Guðni Már Gilbert
06427087c0
PFW-1358 Change "More" button to single character
2022-10-08 08:50:39 +00:00
Tomáš Jozífek
233174cf86
Fill the doc for the EEPROM value at 0x0DA1 - active_sheet
2022-10-07 11:59:57 +02:00
3d-gussner
2067cddc46
Merge pull request #3631 from 3d-gussner/MK3_fix_eeprom_documentation_part1
...
MK3 fix eeprom doxygen documentation
2022-10-06 15:29:15 +02:00
Alex Voinea
629fc9d0f1
Merge pull request #3638 from wavexx/tm_cal_click
...
TM: Consume LCD click after calibration
2022-10-06 14:29:40 +02:00
3d-gussner
bab83704a1
Fix Typo 0X0 to 0x0
2022-10-06 13:23:16 +02:00
Yuri D'Elia
bfaed2768c
Merge pull request #3652 from wavexx/cmake_build_v2
...
cmake build improvements v2
2022-10-05 14:20:28 +02:00
Yuri D'Elia
d867da201f
cmake: Define FW_VARIANT instead of copying Configuration_prusa
2022-10-05 01:26:30 +02:00
Yuri D'Elia
1d3ee1caba
build: Add Configuration_var.h as a configuration wrapper
...
Instead of including Configuration_prusa.h directly, include
Configuration_var which then includes the proper variant file though a
preprocessor macro.
This allows to keep the existing build system intact, but also redefine
at compile time the final header without having to make copies on the
file system.
2022-10-05 01:26:26 +02:00
Yuri D'Elia
2ae376d633
build: Size optimization
...
Explicitly force-noinline xyzcal_scan_pixels_32x32_Zhop to match the
previous LTO build behavior.
2022-10-04 12:13:09 +02:00
Yuri D'Elia
5ed6bd7f8b
cleanup: Fix more spourious missing return warnings
...
Rewrite to use a temporary and get rid of the warning.
The generated asm is *unchanged*.
2022-10-03 21:54:08 +02:00
3d-gussner
992845198d
Merge pull request #3648 from wavexx/more_cleanups
...
cleanup: Expand tabs to fixup suspicious indentation warnings
2022-10-03 11:53:42 +02:00
Yuri D'Elia
4cc6695195
cleanup: Expand tabs to fixup suspicious indentation warnings
2022-10-02 20:42:36 +02:00
Yuri D'Elia
a8e85bd146
cmake: Work-around gcc 7 not supporting SOURCE_DATE_EPOCH
2022-10-02 20:32:32 +02:00
Yuri D'Elia
1d520f9165
cmake: Make builds fully reproducible by default
...
- Work-around SOURCE flags being reset for each project when setting the
random-seed property by calling a support function.
- Likewise, set correct flags for reproducibility when creating archives.
- Strip source prefix paths from debug info
This should set the EPOCH using the last git commit date when available,
but it's not currently implemented. Just set the EPOCH to be 0 for now.
2022-10-02 20:32:32 +02:00
vintagepc
d8c9c4450f
Merge pull request #3641 from vintagepc/build-with-cmake
...
Build the firmware with cmake
2022-10-02 13:05:32 -04:00
Yuri D'Elia
c7b6b9a99b
cleanup: Suppress unused argument warnings
2022-09-30 15:08:11 +02:00
VintagePC
c522330433
Merge remote-tracking branch 'upstream/MK3' into build-with-cmake
2022-09-30 09:04:35 -04:00
Yuri D'Elia
49f96213a4
Also consume longpress in lcd_consume_click()
2022-09-30 14:29:37 +02:00
Yuri D'Elia
b95d508574
cleanup: Remove implicit fallthrough in CRC validation
2022-09-30 12:55:47 +02:00