Commit Graph

5125 Commits

Author SHA1 Message Date
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