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