Commit Graph

6297 Commits

Author SHA1 Message Date
Guðni Már Gilbert b3a682d330 Always re-init the TMC drivers after leaving linearity correction menu
Change in memory:
Flash: -22 bytes
SRAM: 0 bytes
2024-09-01 22:14:25 +00:00
gudnimg 312f79c5f5 optimisation: Simplify saving linearity correction
Keep in mind that the EEPROM addresses are in descending order. This means we
can't use eeprom_read_block() or eeprom_update_block()

Address --> Axis
3831 --> X-axis
3830 --> Y-axis
3829 --> Z-axis
3828 --> E-axis

Change in memory:
Flash: -118 bytes
SRAM: 0 bytes
2024-09-01 12:34:00 +00:00
Guðni Már Gilbert aa8569600c Fix build and make sm4 a C++ file 2024-09-01 12:12:24 +00:00
Guðni Már Gilbert a2d45e5d11 cleanup: remove unused global sm4_cpu_time 2024-09-01 12:11:56 +00:00
Guðni Már Gilbert f115adf894 cleanup: remove unused function sm4_get_dir 2024-09-01 12:11:56 +00:00
Guðni Már Gilbert 5a5c68f563 cleanup: remove unused function sm4_get_dir_bits 2024-09-01 12:11:56 +00:00
Guðni Már Gilbert 7d3c416d04 cleanup: remove unused function sm4_line_xyze_ui
No change in code size. Reason for removing this function
is just to reduce lines of code that is maintained.
2024-09-01 12:11:22 +00:00
3d-gussner 6c99a4463e
Merge pull request #4755 from sarusani/AddLoadIfAutoloadDisabled
Add "load filament" if autoload is disabled
2024-08-30 17:11:37 +02:00
sarusani a259482b6b Add load option if autoload is disabled 2024-08-30 14:48:45 +02:00
3d-gussner 923f926223
Merge pull request #4749 from gudnimg/remove-auto-bed-leveling
Remove legacy Auto Bed Leveling code
2024-08-30 10:44:50 +02:00
3d-gussner b353f1f008 Add missing translations
Used `trans -b :cs+de+es+fr+hr+hu+it+nl+no+pl+ro+sk+sv "<text>"` to translate
Looked at pre-translated text to reuse as much as possible.
2024-08-26 10:02:56 +02:00
3d-gussner c1360d7bfb Fix LCD output
Configuration->HW Setup->Checks showed `a`

MSG_FILAMENT `Filament` can only be 8 chars long and only ES and IT had `Filemanto` as translation.
But as ES the `o` in `Filamento` was overwritten by `[Estricto]` I removed the MSG_FILAMENT to be translated.
Saves few bytes.
2024-08-26 09:20:05 +02:00
gudnimg f7e3195d78 Remove CUSTOM_M_CODES define 2024-08-24 16:33:00 +00:00
Guðni Már Gilbert 2b1c49dae2 Remove legacy Auto Bed Leveling code
The goal is to clean up the project
2024-08-24 07:11:38 +00:00
Guðni Már Gilbert f5fe658728 fixup after rebase 2024-08-24 07:10:24 +00:00
Guðni Már Gilbert 5e66e71a48 Check if MMU is enabled by reading EEPROM 2024-08-24 07:10:24 +00:00
gudnimg 4ed5b36199 Use a fresh EEPROM cell for the new value 2024-08-24 07:10:24 +00:00
gudnimg 40d3830e6d Simplify filament_presence_check usage
Pull all checks needed into the function such that the caller
only needs to check the return value

Also added description for the filament_presence_check function
2024-08-24 07:10:23 +00:00
gudnimg 75c980c4e7 optimisation: deduplicate more code
Change in memory:
Flash: -54 bytes
SRAM: 0 bytes
2024-08-24 07:10:23 +00:00
Guðni Már Gilbert b7caf36207 optimisation: deduplicate printer check toggle menus
This saves ~100B of flash
2024-08-24 07:10:23 +00:00
Guðni Már Gilbert bf72ecc3f9 Add filament presence check at start of print
A new menu setting is added to configure how strict the check should be.

- None: No check is performed
- Warning (default): The user is warned about missing and is prompted to continue with Yes/No. If No is selected, the print is aborted. If no user input is given (e.g. from host printing) then the warning will expire in 30 seconds and assume the Yes option was selected
- Strict: If the filament is not detected when a print is started, it is immediately canceled.

The check is currently performed on G-codes: M24 and M75. Starting a SD print and Host print respectively.
2024-08-24 07:10:23 +00:00
3d-gussner 055f601ad3
Merge pull request #4751 from sarusani/FilamentRunoutActions
Send host actions on filament runout
2024-08-23 15:13:08 +02:00
3d-gussner 8fe73a0dc2 Update to MMU FW 3.0.3 2024-08-23 14:31:49 +02:00
3d-gussner c27fb616e0
Merge pull request #4737 from sarusani/ReplaceSetReadyMenuEntry
Allow to replace Set Ready menu entry
2024-08-23 14:30:44 +02:00
sarusani a2022471ce Send host actions on filament runout 2024-08-23 10:44:38 +02:00
sarusani a9e7f387e8 Replace Set Ready menu entry
Replace "Set Ready"/"Set nor Ready" menu entry with "Print from host" entry.
Use "action:start" instead of "action:ready"
2024-08-23 10:24:01 +02:00
sarusani 64d9f201da Exit Nozzle Change if filament is loaded
Abort Nozzle change if fsensor is enabled and filament is present.
2024-08-23 10:12:01 +02:00
Panayiotis-git 815b68678d M600 - Show filament name at the Insert filament prompt 2024-08-21 20:56:13 +03:00
3d-gussner f64f2bbe68
Merge pull request #4747 from gudnimg/minor-fixes-for-future-tests
Fix compiler warning and add missing includes in unit test environment
2024-08-20 11:14:06 +02:00
3d-gussner e2e6999887
Merge pull request #4753 from gudnimg/remove-HEATER_BED_DUTY_CYCLE_DIVIDER
Remove dead configuration `HEATER_BED_DUTY_CYCLE_DIVIDER`
2024-08-19 08:47:22 +02:00
Guðni Már Gilbert 3da141b3a7 Remove dead configuration HEATER_BED_DUTY_CYCLE_DIVIDER
Setting HEATER_BED_DUTY_CYCLE_DIVIDER has no effect on the firmware
2024-08-15 17:58:07 +00:00
sarusani d3f2dce430 Lower MIN_Z_FOR_UNLOAD
Sync value with Buddy firmware
2024-08-14 12:09:41 +02:00
Guðni Már Gilbert 80f27618c9 Marlin: drop lcd.h include
Only include it where needed
2024-08-13 23:40:18 +00:00
Guðni Már Gilbert 41245b2a59 Marlin: drop mmu2.h include
We should only be including it where needed
2024-08-13 23:26:09 +00:00
Guðni Már Gilbert 835caa0230 mesh_bed_calibration: drop Marlin.h include 2024-08-13 23:23:21 +00:00
Guðni Már Gilbert 0153eb05a1 util: add stdio.h include for sprintf_P 2024-08-09 14:57:07 +00:00
Guðni Már Gilbert a1fcb8564e util: reorder includes alphabetically
Place system includes on top
2024-08-09 14:57:07 +00:00
gudnimg f628c5f912 util: should include avr/eeprom.h
The file is calling eeprom_read_byte and should include avr/eeprom.h
2024-08-09 14:57:07 +00:00
gudnimg 9ae8beacc6 eeprom: add missing include stddef.h
Fixes compiler warning in test environment:

Prusa-Firmware/Firmware/eeprom.h:712:51: error: ‘size_t’ has not been declared
712 | bool eeprom_is_initialized_block(const void *__p, size_t __n);
      |
2024-08-09 14:57:07 +00:00
gudnimg ad1e3cb12a Configuration: missing stdint.h include
The following error is raised in unit testing environment:

Prusa-Firmware/Firmware/Configuration.h:16:14: error: ‘uint16_t’ does not name a type
   16 | extern const uint16_t _nPrinterType;
2024-08-09 14:57:07 +00:00
gudnimg 10d156b28c tests: Fix a compiler warning in tests -fpermissive
Prusa-Firmware/tests/../Firmware/util.h:114:25: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
  114 |         pStrEnd = strchr(this->ptr, '"');
      |                   ~~~~~~^~~~~~~~~~~~~~~~
      |                         |
      |                         const char*
2024-08-09 14:57:07 +00:00
3d-gussner 428091b7c7
Merge pull request #4736 from gudnimg/cleanup_recursion_hack
Remove recursion workaround in Nozzle Change
2024-08-08 11:17:28 +02:00
gudnimg efc4cc4996 Remove unused enum MeshLevelingState 2024-08-03 16:48:08 +00:00
gudnimg 15670f21bd lcd_pick_babystep() doesn't exist anywhere 2024-08-03 16:32:41 +00:00
gudnimg 371c040e8a EEPROM_BABYSTEP_Z0 is no longer used anywhere in the code base 2024-08-03 16:32:20 +00:00
Guðni Már Gilbert 25a11bb7d7 Forbid LcdUpdateDisabler to call lcd_update()
The fixes a scenario where:

lcd_status_screen() calls lcd_commands() upon exiting
lcd_show_fullscreen_message_and_wait_P(_T(MSG_NOZZLE_CNG_READ_HELP));
and so not allowing the user to leave the screen since it will keep being rendered endlessly.

This change only affects lcd_show_fullscreen_message_and_wait_P
2024-08-03 15:43:08 +00:00
Guðni Már Gilbert f96cc2f400 cleanup recursion workaround in nozzle change
This fix is no longer needed today.

LCD knob clicks / and rotation, take care of updating lcd_draw_update.

The real bug was likely lcd_show_multiscreen_message_yes_no_and_wait_P calling lcd_update(), this is fixed now since.
2024-08-03 15:43:08 +00:00
Guðni Már Gilbert ff16bfd8fa
Merge pull request #4739 from gudnimg/prune-disabled-code
Remove a bit of unused code which is disabled at compile time
2024-08-03 10:34:40 +00:00
Guðni Már Gilbert 23f92b24b8
Merge pull request #4735 from gudnimg/cleanup-dead-variable
Remove commented variable `load_filament_time`
2024-08-02 16:10:17 +00:00
Guðni Már Gilbert 04a7175cc7 Remove LARGE_FLASH preprocessor symbol
It's not very useful as is ... probably remnant from Marlin 1
2024-07-31 12:06:35 +00:00
Guðni Már Gilbert 81f1ec4975 Remove unused messages 2024-07-31 11:57:49 +00:00
Guðni Már Gilbert 0d45228dbd Remove commented lcd_update_enable(true) 2024-07-31 11:15:39 +00:00
gudnimg 396a8ca4f9 Remove VT100 code 2024-07-31 10:35:18 +00:00
gudnimg eb7969441a Remove Servo..h/cpp 2024-07-31 10:31:05 +00:00
gudnimg 2cbbdbacd5 Remove a bit of unused code which is disabled at compile time
Some of these have been used > 6 years and don't compile anymore.

Reason to want this removed is just to reduce the code we maintain
2024-07-31 09:53:45 +00:00
sarusani d485e4fb0b Add type to save 50B
Saves 50bytes
2024-07-30 15:15:05 +02:00
Guðni Már Gilbert bb1bb4d717 Remove commented variable load_filament_time 2024-07-28 17:41:23 +00:00
gudnimg 8382815110 Fix inconsistent indendation in mFilamentPrompt() 2024-07-26 11:55:32 +00:00
gudnimg faa01b5a5f Fix an issue where mFilamentPrompt menu times out
Fixes a regression introduced in 3.13.0 here: a7e9ccfb57 (diff-5fbfdca43c192573e31d8e78d255c510fb6e213b118cf38173277ec2a2163880R7462)

Before 3.13.0, the menu never timed out until the safety timer turned off the heaters
After 3.13.0, the menu times out after 30 seconds.

The commit restores pre-3.13.0 behavior
2024-07-26 11:52:20 +00:00
3d-gussner 3722a17e5a
Merge pull request #4647 from gudnimg/mmu-sync-april
MMU maintenance: Sync with 32-bit FW a little bit
2024-07-24 10:02:24 +02:00
gudnimg 4dc9fd4972 MMU: revert fallthrough in LogicStep 2024-07-23 15:55:47 +00:00
gudnimg a7004cd067 Fix an issue in manual fan check where prior knob clicks are not consumed 2024-07-15 13:52:30 +00:00
gudnimg 99e306f4a3 MMU: minor formatting sync 2024-07-06 17:24:40 +00:00
gudnimg d548bb68fd MMU: revert WaitForHotendTargetTempBeep(); position in code
The 8-bit FW uses a different Fullscreen UI which doesn't show the current temperature. So, for now, keep calling WaitForHotendTargetTempBeep  before showing the full-screen message.
2024-07-06 16:55:32 +00:00
Guðni Már Gilbert 09f1d85e9c MMU: Revert changes to execute_extruder_sequence loop
The previous for-loop is more memory efficient and saves 20 bytes of Flash
2024-07-06 16:55:32 +00:00
Guðni Már Gilbert 61b4270129 MMU: allow inlining UInt16ToHex
Saves 22 bytes of Flash
2024-07-06 16:55:32 +00:00
Guðni Már Gilbert 592fc56bfc MMU: Sync code with 32-bit
The changes in this commit are mainly formatting

But there are some changes like adding a new function planner_draining()
2024-07-06 16:55:32 +00:00
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