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
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
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
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
Alex Voinea
2b38080c7e
Merge pull request #3833 from leptun/MK3_fix_MK2.5_softReset
2022-12-20 10:02:14 +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
Guðni Már Gilbert
4c32e8b403
PFW-1457 make CHECK_FSENSOR into a function
2022-12-18 12:23:20 +00: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
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
Alex Voinea
c5d406d12f
Fix interrupts not enabled during setup()
2022-12-16 16:46:08 +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
Alex Voinea
d43a7da20d
fix watchdog not getting disabled on user app boot
2022-12-16 16:01:29 +01:00
Alex Voinea
d80e32fa31
retrigger build
2022-12-16 12:55:30 +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
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
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
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
Alex Voinea
52965bd05d
Avoid using global variables
...
Flash: -68B
RAM: -4B
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
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
D.R.racer
4eaabbf092
Revive MMU stats + LCD screens
2022-11-20 17:27:36 +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
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
8f4ac82273
eeprom_init_default also returns the read/default value
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
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
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
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
Guðni Már Gilbert
509813f60b
optimsation: TCodes accepts uint8_t not float
...
Change in memory:
Flash: -20 bytes
SRAM: 0 bytes
2022-11-12 16:50:45 +00:00
Guðni Már Gilbert
a896dfd4e0
PFW-1397 To reserve EEPROM write cycles, only update toolchange counter when a print finishes or is stopped
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
0af7d28074
PFW-1397 Allocate EEPROM memory for toolchange counter
2022-11-08 13:49:40 +01:00
3d-gussner
8543942acb
Fix Z-leveling
2022-11-03 06:22:57 +01:00
Guðni Már Gilbert
45c72d48ed
optimisation: use failstats_reset_print in factory_reset_stats
...
Change in memory:
Flash: -56 bytes
SRAM: 0 bytes
2022-10-23 09:58:56 +00:00
3d-gussner
f2fe9a51ee
rename `Extruder fan` to `Hotend fan`
2022-10-17 13:49:18 +02:00
3d-gussner
992845198d
Merge pull request #3648 from wavexx/more_cleanups
...
cleanup: Expand tabs to fixup suspicious indentation warnings
2022-10-03 11:53:42 +02:00
Yuri D'Elia
4cc6695195
cleanup: Expand tabs to fixup suspicious indentation warnings
2022-10-02 20:42:36 +02:00
Yuri D'Elia
1d520f9165
cmake: Make builds fully reproducible by default
...
- Work-around SOURCE flags being reset for each project when setting the
random-seed property by calling a support function.
- Likewise, set correct flags for reproducibility when creating archives.
- Strip source prefix paths from debug info
This should set the EPOCH using the last git commit date when available,
but it's not currently implemented. Just set the EPOCH to be 0 for now.
2022-10-02 20:32:32 +02:00
3d-gussner
74e15ac233
Rename EN_ONLY to EN_FARM
...
remove DEBUG/DEVEL/ALPHA/BETA lcd warning
2022-09-29 16:39:02 +02:00
3d-gussner
c7b500af1e
BETA firmware message only in English
...
Rephrase BETA firmware message to fit on two screens
ALPHA message same as DEVEL
Fix ALPHA DEVEL message
2022-09-29 10:48:16 +02:00
DRracer
f7d4095479
Merge branch 'MK3' into MK3_MMU2_fix1
2022-09-21 15:18:44 +02:00
Alex Voinea
2cdd3ba364
Move strings to progmem
2022-09-21 14:53:54 +02:00
Yuri D'Elia
16d1ef8510
Merge pull request #3560 from leptun/splash_version
...
Show firmware version on splash screen
2022-09-21 14:47:41 +02:00
3d-gussner
183e21aa0b
Merge pull request #3599 from 3d-gussner/MK3_MMU2_messages
...
PFW-1339 - Update MMU2 translations
2022-09-21 10:27:01 +02:00
Alex Voinea
6a470791d3
Allow sending uint16_t values to registers
2022-09-19 15:13:37 +02:00
3d-gussner
539cdbfeea
Lower MSG_ rows
2022-09-17 08:48:56 +02:00
D.R.racer
2d98cae8bd
Fixup MK3_MMU2 branch after rebase onto MK3
2022-09-16 11:08:03 +02:00
Guðni Már Gilbert
715af8fcc2
Rename files to SpoolJoin
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
afc67332c7
PFW-1362 Initial commit
2022-09-16 10:23:47 +02:00
3d-gussner
b3ec36228d
Update doxygen documentation for M704-M709
2022-09-16 10:23:47 +02:00
D.R.racer
4d3a5433ad
Implement read/write registers for M707/M708
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
04a1a67b05
PFW-1386 Address TODO
...
We want to move the Z-axis after the XY move is done.
raise_z cannot be used here because it relies
on current_position[] for all axis.
It is actually 10 bytes cheaper to use the previous method
because syncing current_position with lastpos is surprisingly expensive
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
db1b0ea9ac
Optimisation: Set lastpos using memcpy directly
...
Verified the change by running the M600 gcode. All axis move as expected.
Change in memory:
Flash: -64 bytes
SRAM: 0 bytes
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
f984072eab
Remove unused #define
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
0c1052b0da
Optimisation: mmu_M600_load_filament
...
Don't render full screen for Loading Filament X
this is already done in load_filament_to_nozzle
so no need to do it twice
Change in memory:
Flash: -54 bytes
SRAM: 0 bytes
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
bf9ba3c003
Optimisation: setTargetedHotend serial message
...
Change in memory:
Flash: -130 bytes
SRAM: 0 bytes
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
635ae2bf20
M600: Small optimisation in if statements
...
Change in memory:
Flash: -4 bytes
SRAM: 0 bytes
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
f297131792
M600: lcd_change_fil_state does not need to be global
...
Refactor lcd_alright() to save flash
Change in memory:
Flash: -98 bytes
SRAM: -1 bytes
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
2216ba9fbf
M600: Ask for which slot to use when loading
...
This fixes an issue where the assumed slot to use is unknown and
the printer will hang on loading filament 100.
Another good thing is this is an old user feature request which
we have in our 3.12 milestone.
Change in memory:
Flash: +14 bytes
SRAM: -1 bytes
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
3e86bbb93f
M600: Don't unload if filament is unknown
...
Change in memory:
Flash: +8 bytes
SRAM: 0 bytes
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
05bf5de518
Fix calibrate_z_auto crashing Z-axis
...
Steps to reproduce:
1. Run M45 Z after booting the printer up
Change in memory:
Flash: -4 bytes
SRAM: 0 bytes
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
03b8a6e464
Use raise_z in more places
...
Change in memory:
Flash: -474 bytes
SRAM: 0 bytes
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
55d2eaf8c0
M706: Only cut filament if the setting is enabled
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
66994d010d
Fix a few cases where rebase overwrote stuff
2022-09-16 10:23:47 +02:00
D.R.racer
37b50477cd
Fixup after rebase onto MK3
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
2616df66af
PFW-1386 st_get_position_mm() is more accurate when using endstops (not homed printer)
...
If the endstops kick in, then st_get_position_mm shows the actual travel distance. current_position[Z-AXIS] does not get updated correctly thus we cannot use it when unhomed.
current_position[Z-AXIS] is later set to Z_MAX_POS,
we cannot use that either to calculate the travel distance
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
f409426bdc
PFW-1386 Refactor raise_z
...
Removed the "plan" parameter.
We were incorrectly returning from the function if the printer was homed,
but plan = false. This would leave current_position with an incorrect value
If the printer is homed => finish the move and return the travel distance
If the printer is not homed => rely on end stop to prevent damage,
return travel distance even if the endstop stopped the move.
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
4a1479b5bc
PFW-1386 Clamp Z-axis when homed
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
fa6e30389a
PFW-1386 Add a TODO
...
When recovering the Z-axis in M600, we'd like the Z move to
happen after the XY move.
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
ff91b4670d
PFW-1386 Use same code for Z-lift in M600 as in M701/M702
...
This reduces flash usage by 128 bytes!
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
38952f1f33
PFW-1386 Optimisation: st_synchronize is not needed after raise_z_above
...
Saves 16 bytes of flash
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
214b6a9220
PFW-1386 M701, M702: Move Z-axis using relative position
...
* Created a new function raise_z() which will move the Z axis by some
X millimeters. If plan = false, the function will return the
actual travel distance since the move is blocking.
* raise_z_above() is refactored to call raise_z()
Now the M701 and M702 will move the Z-axis relatively, and also
when done, revert the Z axis position when done.
This is a similar behavior as in Marlin 2.
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
217b537961
PFW-1386 Remove old debug message to save space
...
Saves 34 bytes of flash
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
bb0bbfb45f
PFW-1386 Minor correction to M707 and M708 useage example
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
d78c575399
PFW-1386 Address should accept hexidecimal values
...
Now these are equal:
M707 A255 C1
M707 A0xFF C1
Both address inputs are interpreted as FF
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
ba7dae5c79
PFW-1386 I don't see a reason for these lines
...
So I'm removing them
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
3192a95e78
PFW-1386 Optimise default value assign z_target
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
20c865c2d4
PFW-1386 Implement 'U' parameter for M702
...
Similar to 'L' in M701, this does not apply to the MMU
The U parameter controls how much mm the extruder will unload
Default value is 80mm
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
7e9166976f
PFW-1386 Implement 'L' parameter for M701
...
It is only used when the MMU is disabled. With the MMU we use a defined ramming sequence.
When the MMU is disabled I borrowed the usages from Marlin 2.
The L parameter only defines the length for the "fast" load length.
Default value is 70mm, same as M600
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
94dd4aec73
PFW-1386 M701 now loads to nozzle with MMU
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
8462b38446
PFW-1386 Create a common function for M704 to M706
...
Saves 36 bytes of flash
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
32ec1587b9
PFW-1386 Implement changes to M702
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
9b0d89213b
PFW-1386 Raising Z-axis during M701 is now done via Gcode
...
If the Z-parameter is not issued, then default behavior will raise
the Z-axis by MIN_Z_FOR_LOAD
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
5bb36546b4
PFW-1386 Implement changes to M701
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
fb087fc535
PFW-1386 Add M707 and M708
...
WriteRegister and ReadRegister function will create new compiler
warnings due to unused parameters, we can ignore it for now.
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
3664d29b21
PFW-1386 Add M709
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
de0539b630
PFW-1386 Implement M704, M705, and M706
2022-09-16 10:22:38 +02:00
D.R.racer
022aa53b2d
Remove active_extruder completely
...
we only use 1 extruder + saves ~800B
2022-09-16 10:22:38 +02:00
Alex Voinea
bc85a41059
Fix xflash flashing
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
5b184d885c
Add LCD_BUTTON_TIMEOUT to enum
2022-09-16 10:22:38 +02:00
D.R.racer
09cb9c6ecd
Fixup after rebase + discussion
2022-09-16 10:22:38 +02:00