Commit Graph

5131 Commits

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