Commit Graph

6230 Commits

Author SHA1 Message Date
sarusani 5efae44eb7 Delay Z-Axis on Autoload
Delay z-axis movement when the operators hand is close to the printhead.
2024-07-05 16:12:07 +02:00
3d-gussner bc48d34a2f Replace hradecoded XYZ Z correction value with Z_MAX_POS_XYZ_CALIBRATION_CORRECTION 2024-07-04 10:12:38 +02:00
3d-gussner 152b290d1d
Merge pull request #4689 from 3d-gussner/MK3_PFW-964
PFW-964: Skip filament unload/load after Shipping factory reset
2024-07-03 13:20:49 +02:00
3d-gussner 45a223a1f9 Remove White spaces 2024-05-20 19:09:03 +02:00
3d-gussner e110153ee2 Cleanup doxgen documentation and white spaces 2024-05-20 18:35:09 +02:00
3d-gussner 9a56f1e4c1 Skip filament unload/load after Shipping factory reset
when MMU is enabled. With MMU enabled no filament should be
loaded while idle.
2024-05-16 12:48:49 +02:00
Guðni Már Gilbert 6f915ee401 MMU: Add workaround for broken Tune button
If the MMU is processing a command, the Tune button can't be executed.

Change in memory:
Flash: +16 bytes
SRAM: 0 bytes
2024-05-04 00:22:17 +00:00
3d-gussner 08d26fdee2 Replace hard coded crash z lift value with Z lift value.
With `M125 Z<value>` you can set the Z lift value via gcode as requested.
Fixes #3419
2024-05-02 11:37:13 +02:00
gudnimg 28502a2b6e optimisation: remove 1 more call to __divsf3
Changing (feedrate * feedmultiply) / 6000.f
to (feedrate * feedmultiply) * (1.f / 6000.f)

Replaces the call to __divsf3 with __mulsf3 which is better

No change in memory
2024-04-23 09:18:45 +02:00
Guðni Már Gilbert 2c46e1b344 optimisation: remove 3 calls to __divsf3
Change in memory:
Flash: -34 bytes
SRAM: 0 bytes
2024-04-23 09:18:45 +02:00
3d-gussner d22245b482
Merge pull request #4658 from 3d-gussner/MK3_PFW-762_Ambient_shutdown_80C
PFW-762 ambient shutdown at 80 C
2024-04-19 15:06:03 +02:00
3d-gussner e8d55486fe
Merge pull request #4661 from gudnimg/PFW-1557
PFW-1557 MMU: Improve unload handling when print is aborted
2024-04-15 15:13:09 +02:00
3d-gussner 6e40fe05fc
Merge pull request #4657 from 3d-gussner/MK3_PP_ACCEL_JERK
Add max acceleration mm per s2, feedrates and jerk save and restor du…
2024-04-15 15:11:57 +02:00
3d-gussner 51b119a3ec Fix Autoreport broken in 3957dc91aa 2024-04-15 12:09:43 +02:00
3d-gussner 1292a82f70 Fix typos 2024-04-15 07:45:36 +02:00
3d-gussner f50e754f26 Use of `eeprom_update_block_notify` and `eeprom_read_block` reduces the flash usage a lot.
Thanks to @gudnimg
2024-04-15 07:45:36 +02:00
3d-gussner 5c0e014215 Add max acceleration mm per s2, feedrates and jerk save and restor during power panic
Thanks to @wavexx in #2456
2024-04-15 07:45:36 +02:00
gudnimg 16dfcfeb9a MMU: Improve unload handling when print is aborted
- Don't allow re-heating the nozzle or the MMU to unload the filament if the print was aborted by a temperature error
- Allow MMU to unload filament if there is no temperature error, and there is no fan error when Fan check is enabled
- When Fan check is disabled, the MMU may unload if there is no temperature error

Change in memory:
Flash: +14 bytes
SRAM: 0 bytes

PFW-1557
2024-04-14 12:07:56 +00:00
3d-gussner 52ac95f082
Merge pull request #4600 from sarusani/ChangeRevoNozzleChangeMenu
Adjust Nozzle Change Menu For Quick Change Nozzles
2024-04-11 19:19:01 +02:00
3d-gussner 361ce65e5c
Merge pull request #4644 from sarusani/AddEjectToFilamentLoadMSG
Add Eject Option To Filament Load Message
2024-04-11 19:18:42 +02:00
3d-gussner 36282aae1b Change Ambient board thermistor safety shutdown to 80 C 2024-04-10 17:56:26 +02:00
sarusani bc04f16906 Adjust Nozzle Change Menu For Quick Change Nozzles
- Show warning if extruder temp is > 40 degrees
- Use fan to speed up cooldown
- Show confirmation msg
- Show nozzle diameter setting after nozzle change
2024-04-09 16:12:46 +02:00
sarusani bd935db31e Add Eject Option To Filament Load Message 2024-04-09 15:50:17 +02:00
3d-gussner e5d504b855 Add Extrude mintemp save and restore during power panic
Thanks to @wavexx in #3008
2024-04-09 09:34:24 +02:00
3d-gussner 02822c59ad
Merge pull request #4591 from gudnimg/cleanup_cancel_heatup
Remove redundant ` cancel_heatup` assignment
2024-04-09 08:17:09 +02:00
3d-gussner fbbcdd0808
Merge pull request #4613 from gudnimg/optimise-axis_ustep_resolution
optimisation: initialise `axis_ustep_resolution` in EEPROM
2024-04-08 16:13:52 +02:00
3d-gussner ed9d7f3ac1 ultralcd: merge two functions into one
lcd_show_fullscreen_message_yes_no_and_wait_P and lcd_show_multiscreen_message_yes_no_and_wait_P
are the same function. Let's drop one of them so we only have one symbol for the function.

No change in memory

Fix rebase
2024-04-05 19:33:15 +02:00
3d-gussner a4a7b09fe7
Merge pull request #4651 from 3d-gussner/MK3_Fix_Insert_filament_fr_hu
Fix issue Insert filament ... message in French and Hungarian
2024-04-04 09:20:48 +02:00
3d-gussner feebac54fc Fix issue #4424
Fix rebase
2024-04-04 09:08:44 +02:00
3d-gussner b3a410abdc Fix #3361 2024-04-04 09:04:48 +02:00
3d-gussner a93cd93756 Move `MK3 firmware detected on MK3S printer` and `MK3S firmware detected on MK3 printer` to `messages.cpp/.h`
Update pot and po files
2024-04-04 08:58:46 +02:00
3d-gussner 97584d571e Update all `_i("` to `messages.cpp/.h`
Update `lang/po/*.po*` files
2024-04-04 08:23:40 +02:00
3d-gussner af03662c8f
Merge pull request #4602 from 3d-gussner/MK3_M913
Enable M913
2024-04-04 07:30:06 +02:00
3d-gussner 8d1be264e5 Thanks to @gudnimg pointing out duplicate if statements that are covered by the top-level if statement. 2024-03-27 17:44:50 +01:00
3d-gussner 9e8aadd8af Revert split if statements
Kept few as these get too long
2024-03-27 10:15:07 +01:00
3d-gussner 5f26d5f7da Fix MK2.5 builds
- removed `reset_uvlo` as `#ifdef UVLO_SUPPORT` everywhere for MK2.5 is a huge change.
2024-03-27 09:42:59 +01:00
3d-gussner 1ac69247d7 Fix and improve PowerPanic
- No wait for heatup during host print recovery
- No extra Z lift when power panic happens during paused print
  - added an extra EEPROM value
  - fixed `EEPROM_LAST_ITEM`
  - changed EEPROM version to 3.14.0
- Added `reset_uvlo` function
2024-03-27 09:09:55 +01:00
3d-gussner 52275322a2 Remove redundant check 2024-03-20 08:41:29 +01:00
Alex Voinea b6e2a8875b M913 report rescaled currents 2024-03-15 12:47:18 +01:00
3d-gussner 2df8a18fde Fix MK2.5/S builds 2024-03-15 12:47:18 +01:00
3d-gussner 82d102d740 Enable M913 2024-03-15 12:47:18 +01:00
3d-gussner 9f8115639a LCD menu
- Hide menus during recovering
- Un-/Load filament with FSensor active only show Load OR Unload depending on FS sate
- Host
  - Reprint only shown when M79 timer is active
  - Resume only shown when M79 timer active
- Stop print always shown when printing, paused and recovering
2024-03-13 17:43:00 +01:00
3d-gussner a04063f966 Fix DEBUG_UVLO_AUTOMATIC_RECOVER 2024-03-13 17:43:00 +01:00
3d-gussner e2823c3c35 Reset EEPROM_UVLO after recovering
Undo PP Z lift
2024-03-13 17:43:00 +01:00
3d-gussner 9e52b78285 Add ubs_timer.start to PRUSA uvlo
Cleanup format
2024-03-13 17:43:00 +01:00
3d-gussner 15ea2784c3 Fix another saved_printing_type issue 2024-03-13 17:43:00 +01:00
3d-gussner 4e032f6f11 Change to saved_printing_type fixes few issues during power panic recovery 2024-03-13 17:43:00 +01:00
3d-gussner fc157d1f6c Fix missing eeprom_update_byte for debuging 2024-03-13 17:43:00 +01:00
3d-gussner 5b7c583dba Fix `print_saved_in_ram` to be true for both SD and host prints 2024-03-13 17:43:00 +01:00
3d-gussner 9ec5639d29 Rename `sd_print_saved_in_ram` to `print_saved_in_ram` as it saves sd and host prints 2024-03-13 17:43:00 +01:00
3d-gussner 112d3c672c Update debug_printer_states 2024-03-13 17:43:00 +01:00
3d-gussner 16aa2e7834 Hide LCD menu "Reprint" during power panic recovery 2024-03-13 17:43:00 +01:00
3d-gussner 886d610524 Cancle power recovery correctly using cancel_saved_printing(); 2024-03-13 17:43:00 +01:00
3d-gussner 95c6ea5889 Fix to correct EEPROM address 2024-03-13 17:42:59 +01:00
3d-gussner 47235bbf62 Power panic recover lift by 20 Z_PAUSE_LIFT only once
by setting PENDING_RECOVERY_RETRY
Also the default saved_printing_type after a reboot is now PRINT_TYPE_NONE
2024-03-13 17:42:59 +01:00
3d-gussner 88b77ecce2 Add bool printer_recovering 2024-03-13 17:42:59 +01:00
3d-gussner 517900c3fe Add DEBUG_PRINTER_STATES 2024-03-13 17:42:59 +01:00
D.R.racer 4bca4021c6 Bump up MMU FW version to 3.0.2
.
2024-03-04 11:55:54 +01:00
3d-gussner f9bdb8b8aa Add DEBUG_EEPROM_CHANGES 2024-02-27 08:56:18 +01:00
Alex Voinea af64d446bf Fix MK2.5 build 2024-02-26 10:14:01 +01:00
Alex Voinea aededa34bb Properly check for Z crashes while lowering/raising Z for Z calibration 2024-02-26 10:13:56 +01:00
Alex Voinea 326019a8bf Use stallguard during Z calibration after XYZ calibration 2024-02-26 10:13:51 +01:00
Alex Voinea 692f062fee Add tmc currents debug 2024-02-26 10:13:45 +01:00
Guðni Már Gilbert 0a727d8573 optimisation: initialise axis_ustep_resolution in EEPROM
When the cs variable is loaded into RAM, cs.axis_ustep_resolution will always have some value and none of the 0xff values.

Change in memory:
Flash: -40 bytes
SRAM: 0 bytes
2024-02-24 15:46:32 +00:00
Alex Voinea ccb956eae4
Restore custom currents after homing end 2024-02-19 15:33:06 +01:00
Alex Voinea e6a4856196
Restore default XY currents after homing 2024-02-19 15:32:22 +01:00
3d-gussner dc3b3387ed
Merge pull request #4593 from 3d-gussner/MK3_Fix_Stop_print_for_host_prints
Fix Stop print to send host action when host print is active
2024-02-05 10:39:49 +01:00
3d-gussner 727a82bb3d Fix Stop print to send host action when host print is active 2024-02-05 08:14:10 +01:00
gudnimg 020239687a Remove redundant cancel_heatup assignment
cancel_heatup is set to false inside wait_for_heater()
there is no need to do it before the function call

Change in memory:
Flash: -4 bytes
SRAM: 0 bytes
2024-02-04 12:15:58 +00:00
gudnimg 794251884a PFW-1552 Fix a regression introduced in f022567
Aborting the print while the nozzle and bed are still heating up
to their target temperatures should disable the heaters immediately.
2024-02-04 12:06:14 +00:00
Alex Voinea bacb0b1b07
Fix 3x3 mbl condition 2024-02-02 14:45:30 +01:00
3d-gussner 6682237c7a
Merge pull request #4582 from gudnimg/PFW-1552
PFW-1552 and PFW-1544: Fix issue with MMU unload when a print is stopped with a cold nozzle
2024-02-01 06:22:49 +01:00
3d-gussner e7ef3d6db5 Fix nitpicking 2024-01-29 13:07:48 +01:00
3d-gussner 52ba1b534d Add HOST power panic auto recovery option
Change `PRINT_TYPE_USB` to `PRINT_TYPE_HOST`

Fix more rebase issues

Fix rebase issue again
2024-01-29 13:07:48 +01:00
3d-gussner ffeda98894 Add power panic recovery to active state
Fix M79 send only recovery action when power panic recovery is pending

Fix rebase issues
2024-01-29 13:07:48 +01:00
3d-gussner d1b88e1684 Don't show `Print from SD` when host print is paused 2024-01-29 13:07:48 +01:00
3d-gussner c9aba688e3 Saving few bytes by removing spaces in `//action:` host commands. Thanks to @sarusani pointing out inconsistent documentation.
Renaming `MSG_OCTOPRINT_*` to `MSG_HOST_ACTION_*` as it is used also with PrusaLink and other host printing solutions

Fix rebase issues
2024-01-29 13:07:48 +01:00
3d-gussner fda30f82c8 Don't show `Set Ready`when not idle 2024-01-29 13:07:48 +01:00
gudnimg abcb1017f3 PFW-1553 fix regression where SD card file is not closed when stopping paused print
When a print is paused, card.sdprinting is set to false. Instead we can check
if the SD card has been mounted and try to close the file.

The closefile() method will check internally whether or not the file is open.
2024-01-27 15:21:08 +00:00
gudnimg f022567239 PFW-1522 Fix an issue where MMU unloads while nozzle is cold if print is stopped
In the case of a Fan Error, the print is paused. If the nozzle is allowed to cool for a while before the print is stopped via the LCD, then the MMU will try to unload with a cold nozzle.

This can happen with ANY recoverable thermal errors.

In this commit I attempt to fix all scenarios. Including PFW-1544 where the nozzle is cooling down when the print has finished normally.

PFW-1544
PFW-1552

Change in memory:
Flash: +74 bytes
SRAM: 0 bytes
2024-01-27 11:54:54 +00:00
gudnimg c0b76dd5cf cleanup: move st_synchronize under the if statement
If the if statement is not true, then the st_synchronize call is not useful

The raise_z call above the if statement does not need it since it always calls st_synchronize (blocking move)

No change in memory
2024-01-27 10:47:23 +00:00
3d-gussner 3957dc91aa Add commit number and hash to `M115`
Don't show UUID only if defined
2024-01-22 16:31:23 +01:00
3d-gussner b80965731f
Merge pull request #4421 from gudnimg/sd-card-mount-opt
cleanup: Don't set root directory if SD card fails to mount + 3 renames
2024-01-22 09:11:19 +01:00
3d-gussner 02b91dc2cb
Merge pull request #4563 from 3d-gussner/MK3_Quick_nozzle_change_menu
Add nozzle diameter change to main menu for REVO builds
2024-01-19 14:26:18 +01:00
3d-gussner 6da1ec924b
Merge pull request #4567 from 3d-gussner/MK3_M850_show_active_sheet
M850 shows active sheet
2024-01-15 08:56:04 +01:00
3d-gussner 339a10eb81
Merge pull request #4556 from gudnimg/usb-timer-fix
Restart USB timer during long moves
2024-01-12 14:41:51 +01:00
3d-gussner f3e5444d47 M850 shows active sheet
Prevent sheet being active if not initialized
2024-01-12 13:41:55 +01:00
3d-gussner 13fb11889e Minor cosmetic changes voted by community 2024-01-12 07:20:33 +01:00
gudnimg adf2ecabc1 Fix pause indicator when print job timer is not used
Fixes #4554

Change in memory:
Flash: +50 bytes
SRAM: +1 byte
2024-01-11 19:30:30 +00:00
3d-gussner d5a5835059 Add nozzle change to main menu when QUICK_NOZZLE_CHANGE is defined
Add Nozzle diameter to Info screen when printer inactive and QUICK_NOZZLE_CHANGE defined
Solves #4488
2024-01-11 07:36:51 +01:00
3d-gussner 8d50d29776
Merge pull request #4553 from sarusani/shutdownHostLCDEntry
Add Shutdown host to LCD Menu
2024-01-11 07:33:16 +01:00
3d-gussner f18fc2bbce Fix Pause->Tune->Auto Home layer shift 2024-01-09 11:07:29 +01:00
Guðni Már Gilbert ae31c0ec31 optimisation: used expired() instead of elapsed()
If the timer is expired, then the timer is stopped. This is OK since
we are starting the timer again anyway

Change in memory:
Flash: -14 bytes
SRAM: 0 bytes
2024-01-06 00:23:19 +00:00
gudnimg 09952db139 Restart USB timer during long moves
When long moves are planned and executed the USB timer can expire.

In PrusaSlicer 2.7.1 the Toolchange command (T0, T1, etc.) is sent while the USB timer is expired. This will trigger
a manual MMU unload in the firmware. Not only does this trigger a loud beep from the buzzer, but this will also significantly increase print time.

The issue only affects host prints. SD card printing does not have this issue.

Fixes #4551

The fix in this commit is the following:
If there are blocks queued while printing via host AND the USB timer is halfway expired WHILE executing a move. Then simply restart the timer to keep it alive.

Change in memory:
Flash: +62 bytes
SRAM: 0 bytes
2024-01-06 00:23:19 +00:00
sarusani 59093107fd Add #ifdef HOST_SHUTDOWN 2024-01-06 00:45:06 +01:00
sarusani 49f9d7abdc Add Shutdown host to LCD Menu
Add "Shutdown host" entry to LCD menu if printer is not active and host is connected.
2024-01-06 00:45:06 +01:00
3d-gussner db044163f9 Unify Selftest messages 2024-01-04 11:18:07 +01:00
gudnimg 9bd043c83b Move restore_file_from_sd out of power panic file
This function is not specific to power panic. Some printer models
do not have power panic enabled.

This change fixes a build failure

No change in memory
2023-12-30 12:19:51 +00:00
gudnimg ceec54f026 reprint: reduce duplicate code
restore_file_from_sd function now supports any
filename extension. If a print was finished (to allow reprinting) then the
EEPROM filename and extension should always be valid.

Change in memory:
Flash: -312 bytes
SRAM: 0 bytes
2023-12-30 12:06:46 +00:00
3d-gussner 45d70b195d
Merge pull request #4405 from gudnimg/mmu-response-fix
MMU: always wait for a request's expected response
2023-12-22 16:34:27 +01:00