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
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
Panayiotis-git
c75c81ce4f
Do not heat the bed, on load/unload
...
If during a paused print, the preheat is canceled, keep the bed target temperature
Display bed temperatures only if bed is also heated
Remove not needed variables nTargetOld and nTargetBedOld from the mFilamentItem function
Define new Setting "HeatBedOnLoad" [Yes/No]
2022-12-04 19:26:34 +02:00
Guðni Már Gilbert
fb530ce543
PFW-1454 Send button to MMU on MMU SELFTEST FAILED screen
...
Fixes an issue where the button on the MMU error screen doesn't do anything
when MMU SELFTEST FAILED is rendered
2022-12-04 11:04:00 +00:00
Guðni Már Gilbert
6d62fb0d65
Merge pull request #3784 from DRracer/opt01
...
Optimize rendering MMU Error sensor line
2022-12-02 17:12:05 +00:00
Jakub Dolezal
3e976e04ca
Merge pull request #3777 from 3d-gussner/PFW-1431
...
PFW-1431: Add "PA Preheat"
2022-12-02 13:34:18 +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
3d-gussner
1bbcdb0c0d
Merge pull request #3774 from 3d-gussner/MK3_Nozzle_change
...
PFW-1435 Nozzle change menu
2022-11-30 15:32:18 +01:00
3d-gussner
0a6388cc56
Update internal translations
...
Fix G28 W
2022-11-30 15:01:24 +01:00
Alex Voinea
500131d51d
fullscreen message: use \n to force the next word on the next line
...
Useful for printing short URLs since those contain punctuation characters, which get treated at the end of a word under usual circumstances
2022-11-30 10:17:28 +01:00
3d-gussner
8f44d1102c
Add PA preheat menu
2022-11-30 06:42:32 +01:00
Guðni Már Gilbert
23613c7eb1
optimisation: Stop print menu
...
There is no need to manually track the cursor position.
We can use the menu API:
MENU_BEGIN()
...
// menu items in between here
...
MENU_END()
Change in memory:
Flash: -116 bytes
SRAM: 0 bytes
2022-11-26 10:18:47 +00:00
D.R.racer
a666c0f6f4
Optimize rendering MMU Error sensor line
...
CPUFLASH: -32B
2022-11-25 13:30:53 +01:00
Alex Voinea
83c9e946e4
Fix recursion
2022-11-24 16:15:51 +01:00
3d-gussner
4f3c188017
Update internal translations
...
Fix typo
2022-11-24 10:53:04 +01:00
D.R.racer
fea1520dfb
Fix & optimize FW version parsing and checking
...
PFW-1433
2022-11-23 13:34:13 +01:00
3d-gussner
32673e1681
Nozzle change menu
2022-11-23 11:39:26 +01:00
3d-gussner
2cd42f8433
Fix typo
...
Add Norwegian translations thanks to @OS-kar
2022-11-22 08:26:20 +01:00
Guðni Már Gilbert
c8157919b1
PFW-1440 Fix issue where cooldown timer is not set after a faile retry
2022-11-21 12:54:53 +01:00
Guðni Már Gilbert
37ac33bc32
Fix compiler warning
2022-11-21 12:54:53 +01:00
D.R.racer
fe6e3ca2b1
Unload first before retrying
...
Should free the filament if accidentally held by the fsensor.
2022-11-20 19:23:07 +01:00
D.R.racer
5639620041
Avoid watchdog while doing VerifyFilamentEnteredPTFE
2022-11-20 17:27:36 +01:00
D.R.racer
84d9eee61d
Resume hotend temperature if parked + MMU restarted
...
PFW-1355
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
01c1f4a8dd
Load test: Monitor unload as well
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
5c8ea4c90a
fixup
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
327f0edb17
VerifyFilamentEnteredPTFE must take into account the Extra Loading Distance
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
c9d9ba0b1a
Add a bracket around subtraction, just in case
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
ef51b5778d
Fix VerifyFilamentEnteredPTFE
...
Test should push filament first and then retract.
2022-11-20 17:27:36 +01:00
D.R.racer
aaebaf163f
Cleanup MSG_MMU_POWER_FAILS
2022-11-20 17:27:36 +01:00
D.R.racer
a17153f877
Make TMC mask more readable
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
f1ed2fc5c7
Fix issue where tool_change_extruder is not reset after retry
2022-11-20 17:27:36 +01:00
D.R.racer
541cd3ae94
Remove debug messages of Interrupted state
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
46f4f2658d
PFW-1432 Reduce LOC
...
If verification test fails, increment load fail statistic
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
03235c8aab
PFW-1432 restore toolchange load testing
2022-11-20 17:27:36 +01:00
D.R.racer
adb24cd410
Increment errors in ReportError
2022-11-20 17:27:36 +01:00
D.R.racer
4eaabbf092
Revive MMU stats + LCD screens
2022-11-20 17:27:36 +01:00
D.R.racer
fe11b7a247
Tune Interrupted state based on unit tests
...
Now finally the printer can restart ToolChange if MMU restarted.
2022-11-20 17:27:36 +01:00
D.R.racer
ffbd95b482
Unify naming convention (index->slot)
...
in all top level MMU-related functions
2022-11-20 17:27:36 +01:00
D.R.racer
e414413b2e
Refactor ToolChange+LoadToNozzle
...
Add basic infrastructure for handling of repeated commands until they finish correctly.
2022-11-20 17:27:36 +01:00
D.R.racer
10a9e0f0a0
Recover from MMU restart while performing a command
...
PFW-1427
2022-11-20 17:27:36 +01:00
Guðni Már Gilbert
603faddd25
Fix bug where toolchange counter is not rendered
2022-11-20 15:42:29 +00:00
Guðni Már Gilbert
5dc539cda5
fixup
2022-11-20 13:12:01 +01:00
Guðni Már Gilbert
62810c5a7c
optimisation: lcdui_print_extruder
...
Simplify the rendering to cover more scenarios:
"[nr.]>?"
"?>?"
Both of these indicate there is a bug in the firmware.
Currently these are not handled and result in the status screen being corrupted.
This is because we are trying to write a 3 digit number
where there is not space on the LCD for it.
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2022-11-20 13:12:01 +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
3d-gussner
f2f54da5b0
Unhack selftest hack during wizard
2022-11-20 10:48:49 +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
bda134a01e
Save a bit of RAM from CS
...
Do not store EEPROM_VERSION in ram
flash: -6
RAM: -2
2022-11-18 14:50:07 +01:00
Alex Voinea
ef83fefce1
More optimization
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
b317786110
More configuration store savings
...
flash: -94B
RAM: 0B
2022-11-18 14:50:07 +01:00
Alex Voinea
b551bdae76
Some more CS improvements
...
flash: -2B
RAM: 0B
2022-11-18 14:50:07 +01:00
Alex Voinea
5305dbd299
Sheet name initialization improvements
...
The code looks better, but it takes a bit more flash. I prefer it like this
flash: +20B
ram: 0B
2022-11-18 14:50:07 +01:00
Alex Voinea
bba5385a61
Move string to progmem
...
flash: -84B
RAM: -4B
2022-11-18 14:50:07 +01:00
Alex Voinea
6edc71d0ae
Remove deprecated configs
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
af60cd7d79
Optimize EEPROM_writeData and EEPROM_readData
...
flash: -162B
RAM: -4B
2022-11-18 14:50:07 +01:00
Alex Voinea
771f833a44
Implement eeprom dword functions
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
D.R.racer
414d3f1c12
Display Welcome message after MMU progress report ends
...
Should make the status line look cleaner when the printer is not printing.
2022-11-18 14:09:48 +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
Alex Voinea
b147fcee77
XYZ calibration fixes
2022-11-18 00:18:42 +01:00
Alex Voinea
384a6d1989
Fix wizard serial messages
2022-11-17 23:03:03 +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
D.R.racer
6059398004
Introduce MMU Error: INSPECT_FINDA (FINDA_FLICKERS)
2022-11-17 07:58:11 +01:00
Alex Voinea
29882b625b
Remove LcdCommands::FarmModeConfirm
2022-11-17 05:46:33 +01:00
Guðni Már Gilbert
e11ef11a64
PFW-1425 Rename "Load to Extruder" to "Loading Test"
2022-11-16 06:00:15 +01:00
Guðni Már Gilbert
7b43f322de
PFW-1425 Move Reset MMU setting
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert
b4920d7fa8
PFW-1425 use mmu2.Enabled instead of EEPROM read
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert
3f4ac254ab
PFW-1425 Move MMU settings under a common if statement
...
We only need to check if the MMU is enabled once,
no need to do it in every submenu.
This way we save little bit of flash memory.
Change in memory:
Flash: -24 bytes
SRAM: 0 bytes
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert
8f3f071fd4
PFW-1425 Move Load to Extruder menu to Settings menu
...
No change in memory footprint
2022-11-15 17:32:27 +01:00
Guðni Már Gilbert
5239f1c176
cleanup: remove old extern for mmu_print_saved
2022-11-15 09:44:02 +01:00
Guðni Már Gilbert
4f58812478
optimise lcd_sdcard_menu with lcd_print_pad
...
Change in memory:
Flash: -46 bytes
SRAM: 0 bytes
2022-11-13 09:29:37 +01:00
Guðni Már Gilbert
184e19dd60
further optimise lcdui_print_status_line
...
We can use lcd_print_pad to determine
whether the end of the file name was reached
lcd_print_pad now returns the last character pointed to.
If the end of the string was reached, it will be the null delimeter which
evaluates to "false" in an if statment (same as NULL).
Else "true" means the end of the string was not reached.
Change in memory:
Flash: -42 bytes
SRAM: 0 bytes
2022-11-13 09:29:37 +01:00
Guðni Már Gilbert
0af7ef0201
optimisation: reduce code size in showing file name being printed
...
Change in memory:
Flash: -52 bytes
SRAM: 0 bytes
2022-11-13 09:29:37 +01:00
Alex Voinea
a2bbc4f585
Merge pull request #3745 from leptun/MK2.5_XYZ_Cal_fixes
...
MK2.5 XYZ calibration fixes
2022-11-12 21:48:16 +01:00
Guðni Már Gilbert
006fe110cc
Don't raise MMU error screen until retry is done
...
Change in memory:
Flash: +8 bytes
SRAM: 0 bytes
2022-11-12 18:47:10 +01:00
VintagePC
68bd7f9b19
Fix excessive flash usage.
2022-11-12 18:47:10 +01:00
VintagePC
ecef69012a
Fix PFW-1364 & possible comms timeout during reheat
2022-11-12 18:47:10 +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
Alex Voinea
661b3a83ff
MK2.5: fix swapped yes/no messaged for Z manual alignment
2022-11-10 22:20:46 +01:00
Alex Voinea
1cdc2e712b
MK2.5: unblock planner after plan_abort_hard()
2022-11-10 22:20:01 +01:00
3d-gussner
fd832f9ccf
Merge pull request #3737 from gudnimg/fix-longpress-inactivity-timeout
...
Fix long-press LCD inactivity timeout
2022-11-08 14:10:57 +01:00
Guðni Már Gilbert
76a164e651
fixup
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
08460bd403
PFW-1397 Drop ON_MENU_ENTER
...
Using _menu_data_t turns out to save *just* a little bit more flash. So for now just use it.
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
390f69a82f
PFW-1397 Fix: ON_MENU_ENTER was always run
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
59a452ac27
PFW-1397 minor comment tweaks
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
f160f5594d
PFW-1397 cleanup statistics menu
...
Change in memory:
Flash: -18 bytes
SRAM: -1 byte
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
82bd9db1d6
PFW-1397 Implement ON_MENU_ENTER to simplify code
...
ON_MENU_ENTER runs code within the brackets only once
after a new menu is entered.
For the tool change menu, this allows us to display the data and
read from EEPROM only once.
2022-11-08 13:49:40 +01: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
3120bf0aa2
PFW-1397 Implement new function increment_tool_change_counter()
...
Reduces flash consumption by 44 bytes
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
fcfb868167
PFW-1397 Add a temporary menu item to show the statistic
...
The location of the menu has not been decided. Currently I placed it where convenient.
2022-11-08 13:49:40 +01:00
Guðni Már Gilbert
5a60a85467
PFW-1397 Increment toolchange statistic
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
Guðni Már Gilbert
7fe22e8f79
Fix long-press LCD inactivity timeout
...
Fixes #3715
When a long-press is triggered, the LCD inactivity timer
needs to be restarted. This is done with lcd_timeoutToStatus.start()
This also fixes situations where a long-press is triggered, and the timer
times out immediately (because it was not reset properly)
Change in memory:
Flash: +8 bytes
SRAM: 0 bytes
2022-11-06 13:43:14 +00:00
3d-gussner
853adbf411
Bump up build number
...
+1 for commit
+1 for merge
2022-11-04 11:16:07 +01:00
3d-gussner
7c009cadb8
Bump up Revision to ALPHA1 6051
...
Temporary fix for MSG_BTN_MORE
pre-release pot and po update
2022-11-04 10:21:39 +01:00
DRracer
7b20f8c6f3
Merge pull request #3717 from 3d-gussner/MK3_Temp_Model_menu
...
Add Menu `Calibration -> Temp. model cal`
2022-11-03 12:12:55 +01:00
3d-gussner
1e0909d50c
Disable `Error:` messages for MMU2 errors
2022-11-03 12:09:03 +01:00
3d-gussner
8543942acb
Fix Z-leveling
2022-11-03 06:22:57 +01:00
3d-gussner
fd6da0e766
Fix typo
...
Add lcd_setatatus_serial to output lcd status message and serial at the same time
2022-11-02 10:09:32 +01:00
Guðni Már Gilbert
7bc7f21fa5
mmu: move RetryIfPossible outside the error screen
...
This fixes issue where 'retryAttempts=3' may be spammed in the logs
Change in memory:
Flash: 0 bytes
SRAM: 0 bytes
2022-11-01 06:22:39 +01:00
3d-gussner
2ac2cd2255
Fix MK25/S builds
2022-10-26 14:27:22 +02:00
3d-gussner
072b3f8300
Temp Model cal. menu
2022-10-26 13:34:27 +02:00
3d-gussner
f4a2c1c794
Update translations
...
Fix button msg
Update Dutch `F. jam detect`
2022-10-25 10:29:35 +02: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
Alex Voinea
edc5d013dd
Merge pull request #3698 from leptun/farm_presort_cache
...
Farm mode: cache filenames in the presort function
2022-10-21 15:43:49 +02:00
3d-gussner
b792d47350
Merge pull request #3694 from 3d-gussner/MK3_Hotend_fan
...
PFW-1415: Rename `Extruder fan` to `Hotend fan`
2022-10-19 08:47:15 +02:00
Alex Voinea
b485992c9e
If in farm mode, force the sorting direction to be reversed
...
So in an ideal scenario, the newest file is first. This of course breaks as soon as a file is deleted/renamed/moved, but it should at least be fixed now compared to before where the direction could be influenced by a disabled setting
2022-10-18 17:29:31 +02:00
Alex Voinea
798f215f88
Refactor SD menu settings
2022-10-18 17:24:35 +02:00
3d-gussner
eaaf1d6872
Rename Sheets
...
- `Satin 1` to `Satin `
- `Satin 2` to `NylonPA`
2022-10-18 10:20:01 +02:00
Alex Voinea
e18bfce597
Farm mode: cache filenames in the presort function
2022-10-17 20:17:28 +02:00
3d-gussner
e83728f72c
Change fan RPM display to 5 digits
...
All credits to @ WarrenSchultz for initial PR https://github.com/prusa3d/Prusa-Firmware/pull/3656
2022-10-17 15:41:05 +02:00
3d-gussner
f2fe9a51ee
rename `Extruder fan` to `Hotend fan`
2022-10-17 13:49:18 +02:00
Guðni Már Gilbert
2682b64a09
Optimisation: Reduce code size in rendering SD file names and folders
...
Change in memory:
Flash: -88 bytes
SRAM: 0 bytes
2022-10-12 20:19:21 +00:00
D.R.racer
2c695f14be
Increase required MMU version to 2.1.4.x
2022-10-12 07:45:13 +02:00
D.R.racer
6eab0dda59
Add parentheses - be more explicit in error codes' masking and comparison
2022-10-11 15:51:01 +02:00
D.R.racer
0aeb74e5b1
Intercept M708 A0xb: set ExtraLoadDistance on the printer side too
2022-10-11 15:51:01 +02:00
D.R.racer
b0466ae20f
Add infrastructure for MMU parametrization after comm start
...
For now, only the Extra loading distance is being sent, but the infrastructure can be easily extended for other registers as well.
2022-10-11 15:51:01 +02:00
D.R.racer
c7e4c9ce99
Allow backwards compatibility with legacy MMU g-codes
...
This piece just changes the default extra load length on the MK3 side.
The same needs to be done on the MMU side but:
- the MMU exposes its register for this (so we can change the extra load distance by writing into the register via G-code)
- the printer shall probably set this value on its own after line up of MMU communication
2022-10-11 15:51:01 +02:00
D.R.racer
013ce588a5
Support reading/polling multiple registers
...
In Idle and Command mode it is now possible to specify a list of registers which shall be periodically read from the MMU.
To keep the code and RAM size down registers are intentionally separated into 8bit and 16bit sets.
Adding a register into the set is just a matter of parametrization, there is no need to change the state machines anymore.
2022-10-11 15:51:01 +02:00
D.R.racer
ebb79351a7
Add preliminary support for MMU_SELFTEST_FAILED error messages
2022-10-11 15:51:01 +02:00
3d-gussner
d5ca47d1a6
Merge pull request #3646 from gudnimg/fix-mmu-buttons-v2
...
PFW-1403 Fix issue where physical MMU buttons do not dismiss error screen
2022-10-11 13:42:39 +02:00
Guðni Már Gilbert
8882d8f2c8
Only move XY when position is known
...
I had a crash when producing an error screen and printer was unhomed.
Extruder was located at the far right side, and immediately crashed when attempting to park.
2022-10-11 07:16:52 +02:00
Guðni Már Gilbert
9f3361577e
Merge pull request #3643 from gudnimg/PFW-1358
...
PFW-1358 More button utilizes text and an empty character on the right
2022-10-10 18:02:22 +00:00
Guðni Már Gilbert
98cfc37017
Merge pull request #3674 from gudnimg/mmu-first-lay-cal-purge-line
...
MMU: Sync first layer purge line with PrusaSlicer generated output
2022-10-10 17:59:18 +00:00
Guðni Már Gilbert
213f0e8c71
PFW-1358 Update second_col description
...
Value is no longer hardcoded
2022-10-10 17:48:56 +00:00
Alex Voinea
eb43d712df
Enable MISO pullup during SD CMD0
...
Fix typo
2022-10-10 09:43:50 +02:00
Guðni Már Gilbert
ccf0c0a09f
Merge pull request #3675 from gudnimg/pad-mmu-status-messages
...
Fix issue where MMU status messages are not padded
2022-10-09 10:49:55 +00:00
Guðni Már Gilbert
1c6345a85b
Fix issue where MMU status messages were not padded
...
Also combined common cases to reduce code size
2022-10-09 10:37:33 +00:00
Guðni Már Gilbert
76dc51d2f0
Sync first layer purge line with PrusaSlicer generated output
...
If you generate a multicolor gcode file with PrusaSlicer, the purge
line gcode will look like this.
This reduces clicking sounds from the extruder, filament extrusion is reduced by 6mm.
2022-10-09 10:03:54 +00:00
Guðni Már Gilbert
d483531606
PFW-1358 update c values
2022-10-08 09:40:43 +00:00
Guðni Már Gilbert
00ccdcd467
PFW-1358 change MSG_BTN_MORE from I1 to N1
2022-10-08 09:25:06 +00:00
Guðni Már Gilbert
d6e0f47739
PFW-1403 Rename ReportErrorSource to ErrorSource for shorter code
2022-10-08 08:51:32 +00:00
Guðni Már Gilbert
33690b927a
PFW-1403 Fix issue where physical MMU buttons do not dismiss error screen
2022-10-08 08:51:32 +00:00
Guðni Már Gilbert
8f0de44d84
PFW-1358 Move 'More' button to the corner of the screen
...
Make 'More' button position consistent with 3-button screen.
2022-10-08 08:50:40 +00:00
Guðni Már Gilbert
7264391c5f
PFW-1358 Fix and optimise button choice positions
2022-10-08 08:50:40 +00:00
Guðni Már Gilbert
9046fb3d44
PFW-1358 Adjust positions of button choices
2022-10-08 08:50:39 +00:00
Guðni Már Gilbert
06427087c0
PFW-1358 Change "More" button to single character
2022-10-08 08:50:39 +00:00
Tomáš Jozífek
233174cf86
Fill the doc for the EEPROM value at 0x0DA1 - active_sheet
2022-10-07 11:59:57 +02:00
3d-gussner
2067cddc46
Merge pull request #3631 from 3d-gussner/MK3_fix_eeprom_documentation_part1
...
MK3 fix eeprom doxygen documentation
2022-10-06 15:29:15 +02:00
Alex Voinea
629fc9d0f1
Merge pull request #3638 from wavexx/tm_cal_click
...
TM: Consume LCD click after calibration
2022-10-06 14:29:40 +02:00
3d-gussner
bab83704a1
Fix Typo 0X0 to 0x0
2022-10-06 13:23:16 +02:00
Yuri D'Elia
bfaed2768c
Merge pull request #3652 from wavexx/cmake_build_v2
...
cmake build improvements v2
2022-10-05 14:20:28 +02:00
Yuri D'Elia
d867da201f
cmake: Define FW_VARIANT instead of copying Configuration_prusa
2022-10-05 01:26:30 +02:00
Yuri D'Elia
1d3ee1caba
build: Add Configuration_var.h as a configuration wrapper
...
Instead of including Configuration_prusa.h directly, include
Configuration_var which then includes the proper variant file though a
preprocessor macro.
This allows to keep the existing build system intact, but also redefine
at compile time the final header without having to make copies on the
file system.
2022-10-05 01:26:26 +02:00
Yuri D'Elia
2ae376d633
build: Size optimization
...
Explicitly force-noinline xyzcal_scan_pixels_32x32_Zhop to match the
previous LTO build behavior.
2022-10-04 12:13:09 +02:00
Yuri D'Elia
5ed6bd7f8b
cleanup: Fix more spourious missing return warnings
...
Rewrite to use a temporary and get rid of the warning.
The generated asm is *unchanged*.
2022-10-03 21:54:08 +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
a8e85bd146
cmake: Work-around gcc 7 not supporting SOURCE_DATE_EPOCH
2022-10-02 20:32:32 +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
vintagepc
d8c9c4450f
Merge pull request #3641 from vintagepc/build-with-cmake
...
Build the firmware with cmake
2022-10-02 13:05:32 -04:00
Yuri D'Elia
c7b6b9a99b
cleanup: Suppress unused argument warnings
2022-09-30 15:08:11 +02:00
VintagePC
c522330433
Merge remote-tracking branch 'upstream/MK3' into build-with-cmake
2022-09-30 09:04:35 -04:00
Yuri D'Elia
49f96213a4
Also consume longpress in lcd_consume_click()
2022-09-30 14:29:37 +02:00
Yuri D'Elia
b95d508574
cleanup: Remove implicit fallthrough in CRC validation
2022-09-30 12:55:47 +02:00
Yuri D'Elia
71be6b19d4
cleanup: Remove return value from MMU2Serial::write()
...
Removes a missing return warning.
Looks like we don't handle overflow at the moment and in all surrounding
code, so let's remove the return value for now.
2022-09-30 12:55:47 +02:00
Yuri D'Elia
6cfe000ac9
cleanup: Reorder members to match initialization order
2022-09-30 12:55:47 +02:00
Yuri D'Elia
398a4bf403
cleanup: Do not return const values from functions
...
This generates a warning under -Wextra, since in most cases a const
value doesn't prevent buggy code (as copies are allowed) while
preventing some optimizations (such as move operations) to take place.
2022-09-30 12:55:47 +02:00
Yuri D'Elia
d6af13dfc1
cleanup: Supress missing return warnings
...
Rewrite the function with a temporary to avoid the spourious no-return
warning.
The generated code is *unchanged*.
2022-09-30 12:31:07 +02:00
Yuri D'Elia
31ea48246a
TM: Consume LCD click after calibration
...
Consume any pending LCD click after the temperature model calibration.
Since we're already in the status menu, the usual consume action is not
done automatically here.
2022-09-30 12:24:54 +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
346dfbdbb3
Fix MSG_SPOOL_JOIN
2022-09-29 10:54:46 +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
3d-gussner
1a8f18318c
Add Temp Model eeprom documentation
2022-09-28 18:15:23 +02:00
3d-gussner
302e4b679c
replace tab with spaces
2022-09-28 17:37:46 +02:00
Yuri D'Elia
709d07310a
lcd_print_pad: do not overflow len when truncating the string
2022-09-26 11:26:10 +02:00
Alex Voinea
7fb53899dc
Merge branch 'MK3' into MK3_MMU2_fix1
2022-09-23 14:55:23 +02:00
Yuri D'Elia
26b091d50e
Remove unneeded lcd_finishstatus()
2022-09-23 11:54:16 +02:00
Yuri D'Elia
80c06bda55
Improve warning behavior during thermal anomaly
...
The current code forces any warning to return the user to the status
screen in order to show the message.
Thermal anomaly warnings can repeat at very short intervals, making menu
navigation (to pause/tune the print) impossible.
We now check if the message to be displayed is the same and only force a
kickback for new messages.
This partially reverts https://github.com/prusa3d/Prusa-Firmware/pull/3600
since we need the string to be null terminated for ease of comparison.
We pad the status line at display time instead using the new
lcd_print_pad() function which achieves the same effect.
2022-09-22 16:12:35 +02:00
Tom Mittendorf
24b638b5d4
fixed undefined behaviour when left shifting a negative number
2022-09-21 16:21:19 +02:00
Yuri D'Elia
9a9aadca87
Do not hang during startup
...
In ultralcd_init() do not use lcd_setstatuspgm() to initialize the
welcome message.
The internal call to lcd_finishstatus() requires the serial to be
already available. Split the function into lcd_padstatus() to pre-pad
the string and save some space.
2022-09-21 16:12: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
Yuri D'Elia
a1213d6a6e
Merge pull request #3600 from gudnimg/init-lcd-status
...
Fix initialization of LCD status line message
2022-09-21 14:46:10 +02:00
Yuri D'Elia
ca9a28eff2
Merge pull request #3612 from wavexx/tm_update_r0
...
Temperature model: update R0 estimate
2022-09-21 14:46:03 +02:00
Yuri D'Elia
bccdab4c22
Merge pull request #3615 from wavexx/line_cnt_reset_fix
...
Do not reset line on serial commands without N
2022-09-21 14:45:46 +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
Yuri D'Elia
129df6dd4a
Do not reset line on serial commands without N
...
Fix regression introduced in fc10ca3146 .
Accept incoming serial commands without line numbers (assumed to be
injected by the host), but do not reset the last line count when doing
so.
2022-09-21 10:19:16 +02:00
Yuri D'Elia
1c4e9463ec
Temperature model: update R0 estimate
...
Update the default R0 estimate thanks to a larger dataset.
This improves the error margin during self-check.
2022-09-20 16:57:54 +02:00
Guðni Már Gilbert
eb7de5149b
Don't inline the function
...
Change in memory:
Flash: -44 bytes
SRAM: 0 bytes
2022-09-20 06:34:24 +02:00
Guðni Már Gilbert
c8a8484ca7
Remove atomic_update parameter
...
Change in memory:
Flash: +24 bytes
SRAM: -0 byte
2022-09-20 06:34:24 +02:00
Guðni Már Gilbert
76fb4610ea
Optimisation: Remove duplicated code in cmdqueue_could_enqueue_back()
...
Code is 28 lines shorter :)
Change in memory:
Flash: -42 bytes
SRAM: 0 bytes
2022-09-20 06:34:24 +02:00
Yuri D'Elia
156b5e5b99
Update current FW version
2022-09-19 18:15:39 +02:00
Alex Voinea
6a470791d3
Allow sending uint16_t values to registers
2022-09-19 15:13:37 +02:00
3d-gussner
770fdcd83b
Fix typo, thanks to @gudnimg
2022-09-19 08:02:40 +02:00
Guðni Már Gilbert
28b0ef1acb
PFW-1369 Use same ramming sequence as default settings in Slicer
2022-09-19 07:23:03 +02:00
3d-gussner
075a80e264
Add missing text
...
Finish Dutch translation
2022-09-17 17:38:45 +02:00
3d-gussner
068f4763e2
Update translatable strings to match our extraction macros
...
Update pot and po files
2022-09-17 16:53:30 +02:00
3d-gussner
47d7ea5dfd
Add MSG_LOAD_ALL and replace it a two loactions -10bytes flash
2022-09-17 16:36:09 +02:00
Guðni Már Gilbert
25a7dc8397
Fix: Filament Already Loaded only has two buttons
2022-09-17 16:36:09 +02:00
Guðni Már Gilbert
15a8c8fe37
Fix: Unload Manually did not send any button to the MMU
2022-09-17 16:36:09 +02:00
Guðni Már Gilbert
9b4a621275
Fix: Fsensor errors only have one reset button
2022-09-17 16:36:09 +02:00
Guðni Már Gilbert
037d51b049
Fix: Filament Already Loaded only has two buttons
2022-09-17 12:21:42 +02:00
Guðni Már Gilbert
3b60b894da
Fix: Unload Manually did not send any button to the MMU
2022-09-17 12:21:42 +02:00
Guðni Már Gilbert
e7b7d97f11
Fix: Fsensor errors only have one reset button
2022-09-17 12:21:42 +02:00
Guðni Már Gilbert
be7c1d55c8
Remove redundant for-loop
...
Now that lcd_status_message is now initialised correctly at boot-up,
this for-loop is no longer required. Now lcd_status_message is
only set in lcd_updatestatus() which always calls lcd_finishstatus()
lcd_finishstatus() makes sure the message does not exceed 20 characters
Saves 34 bytes of flash
2022-09-17 09:13:07 +00:00
Guðni Már Gilbert
4d6d267aef
Don't initialise lcd status message in definition
...
static variables are automatically zero initialised. Now that the
status line message is initialised in ultralcd_init(), we don't
need to set the variable in global scope.
Saves 22 bytes of flash and 1 byte of SRAM
2022-09-17 08:57:30 +00:00
Guðni Már Gilbert
f1e127ace4
Initialise status line message in setup()
...
Fixes #3581
2022-09-17 08:53:36 +00:00
3d-gussner
404c622301
Finish German translation
...
increase 2nd langusge size to 0x3500 13567bytes to fit mmu2 translations 🤞
2022-09-17 10:35:30 +02:00
3d-gussner
ec22e5faeb
Shorten message to 20 chars
...
add 01234567890123456789 ruler
2022-09-17 10:34:24 +02:00
3d-gussner
539cdbfeea
Lower MSG_ rows
2022-09-17 08:48:56 +02:00
3d-gussner
78fdf33f67
Update Firmware.pot and Firmware_de.po
...
Started German translation Part 1
Updated c= r= for German translations being longer than 8 rows
2022-09-16 20:42:50 +02:00
3d-gussner
8480c1cb7a
Added //#define FARM_CONNECT_MESSAGE
2022-09-16 19:33:22 +02:00
3d-gussner
88b58cdcd5
Update messages missing c= r=
...
Change MMU2 KEEPALIVE_STATE to IN_PROCESS
2022-09-16 19:24:11 +02:00
3d-gussner
f4f09e4062
update mmu2 messages c= r= values
2022-09-16 19:18:23 +02:00
3d-gussner
0f8d84082a
Update button menu documentation as there are 1/2/3 options
2022-09-16 19:11:11 +02:00
3d-gussner
9d959f5d12
Prepare progress messages for translation
...
Remove duplicate messages
2022-09-16 19:08:06 +02:00
3d-gussner
89a03c1f0d
MMU2/lang: Update translatable strings to match our extraction macros
2022-09-16 19:02:04 +02:00
3d-gussner
50b6044703
Use origin message on serial
2022-09-16 18:17:50 +02:00
3d-gussner
3f6b05cc35
Remove PAT9125 stats as these aren't different to IR stats
2022-09-16 18:04:21 +02:00
3d-gussner
2ba863d8a5
Reuse MSG_IR_0x_OR_..
...
fix lowercase
remove todos
2022-09-16 17:23:38 +02:00
3d-gussner
edad625cf7
RIP Bondtech long live the Extruder
2022-09-16 16:31:27 +02:00
3d-gussner
37cde856e9
Rename Auto_deplete to Spool_join
...
Fix some missing MSG_ c= r=
2022-09-16 16:25:47 +02:00
D.R.racer
f18493f361
Save some space due to shorter MMU error texts
...
applies https://github.com/prusa3d/Prusa-Error-Codes/pull/62
2022-09-16 12:12:08 +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
16713aa25a
Optimisation: scopeState is already set by SendReadRegister
...
Saves 2 bytes of flash
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
e9f5a95d4b
PFW-1362 Make sure FINDA runout is impossible with MMU disabled
...
Since mmu_loop() is called in the main loop() function
when the MMU is disabled, we need to utilise the
MMU protocol layer to prevent FINDA runout from happening
if MMU is disabled.
We also need to keep in mind we probably can't trigger
a FINDA runout in the middle of a Q0 query.
So my solution now is to wait for the "Finished" state
and check if the FINDA is off during printing.
When "Finished" state appears, the FINDA value should be up
to date.
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
94119744ad
PFW-1362 Change isSpoolJoinEnabled to return bool
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
65a0036dbe
PFW-1362 Optimise debug message
...
Saves 20 bytes of flash :)
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
998ed87f25
PFW-1362 Use PROGMEM messages
...
The main purpose of these two messages is just to see if SpoolJoin is enabled or not.
"On" and "Off" are descriptive enough.
Saves 16 bytes of flash
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
63b4abb66d
PFW-1362 SpoolJoin needs to known what the previous slot was
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
1010f23959
Fix an issue where findaPressed is never set
...
This caused instant FINDA runout when the print starts. Now fixed :)
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
b292a5bf4e
PFW-1362 temporarily don't use SpoolJoin in Tcodes
...
I think in the current implementation, this will cause more harm than good.
But we can improve SpoolJoin later
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
7dcfc1484e
PFW-1362 temporary debug messages
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
8610636906
PFW-1362 Add a log when FINDA filament runout is triggered
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
c5bb34f226
PFW-1362 Show if SpoolJoin is enabled or disabled at bootup
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
fb27a7d72b
PFW-1362 Remove "NA" EEPROM status
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
166ecbc7d8
PFW-1362 Fsensor is not required for Spooljoin
...
Since the Fsensor is not required to use SpoolJoin,
it makes little sense to me that we need the fsensor
to "enable" SpoolJoin
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
d51026d8f7
PFW-1362 Rename settings for consistency
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
7c95f87867
PFW-1362 Fsensor status is not required for SpoolJoin
2022-09-16 10:23:47 +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
Guðni Már Gilbert
2276217cbb
Optimisation: Remove forceMenuExpire variable
...
During first layer calibration we have the live Z baby step menu
on the LCD and the user can tune their Z offset live.
Once the first layer calibration is done, we want to exit the menu
immediately. For this purpose it is much more efficient to
call lcd_return_to_status(). There is no visual difference
on the LCD for the user.
Change in memory footprint:
Flash: -34 bytes
SRAM: -1 byte
2022-09-16 10:23:47 +02:00
Guðni Már Gilbert
e39d1458a1
Fix lost changes during rebase
2022-09-16 10:23:47 +02:00
3d-gussner
fae420f1e2
Fix MMU_ALWAYS_CUT enabled in variants
2022-09-16 10:23:47 +02:00
3d-gussner
8e9a49082b
Set Cutter OFF if 0xff
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
2e7258d7a8
Include fix protocol from MMU PR#199
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
27ff01cf91
Shorter code
...
Change in memory:
Flash: 0 bytes
SRAM: 0 bytes
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
f49b88c1a1
Optimisation: lcd_commands "M702 C" should be "M702"
...
Change in memory:
Flash: -2 bytes
SRAM: 0 bytes
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
4758ac3f1b
PFW-1399 Don't show cut filament menu if setting is not enabled
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
0537908d8c
Fixup 2
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
D.R.racer
18423685b6
Cleanup ExpectsResponse usage
2022-09-16 10:22:39 +02:00
D.R.racer
d5377c1781
Remove extra "scopeState = ScopeState::FINDAReqSent"
...
saves ~20B in total
2022-09-16 10:22:39 +02:00
D.R.racer
e205d0ee2f
Autoretry Idle scope: transf. into Finished, should stay in Processing
2022-09-16 10:22:39 +02:00
D.R.racer
78cbea08e6
Fix pgm_read* usage
2022-09-16 10:22:39 +02:00
D.R.racer
6c0d3b0b78
Optimize MMU protocol logic
2022-09-16 10:22:39 +02:00
D.R.racer
05ad1dc2f6
Refactoring of protocol logic to lower RAM consumption
...
Should also place the statistics request to the right spot in the state machine.
2022-09-16 10:22:39 +02:00
Guðni Már Gilbert
dfddf3eaa5
Initial commit for MMU statistics
2022-09-16 10:22:39 +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
0a90c7ffda
PFW-1386 Use Marlin 2 unload sequence for single material
...
The current unload sequence does not give good results.
The Marlin 2 sequence looks good on my end. This can be later
used to improve M600
Added all the constants from Marlin 2
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
099c3a1f1f
PFW-1386 fixup
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
d6564d3617
PFW-1386 if automatic = false, raising Z-axis is done via gcode
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
70532333dc
Optimize filament sensor implementation
...
- remove virtual methods (we only have one fsensor implementation at a time)
- comment out some of the debugging texts
- remove volatile and replace them with proper synchronized access to relevant variables
2022-09-16 10:22:38 +02:00
D.R.racer
2662e09f1e
Another message remove from RAM
2022-09-16 10:22:38 +02:00
D.R.racer
0e036b9d8a
Save some more RAM in protocol_logic
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
Guðni Már Gilbert
0889109760
Fix corrupted chars in "Engaging Idler" message
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
bac3168ca4
Optimise power_on and power_off
...
eeprom_update_byte only updates the EEPROM if the value is different
Saves 40 bytes of flash memory
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
0d64cfa2e5
extruder variable should be one byte
...
Saves 1 byte of SRAM and 132 bytes of flash
2022-09-16 10:22:38 +02:00
D.R.racer
87a4f58e66
PFW-1363 Change MMU Error parking position
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
703c463a49
Optimize unload
...
Toolchange during print is now much quieter.
Excessive E-motor movement during print is now gone
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
47e57646ea
Optimize load
...
Don't start moving the E-motor immediately
Instead of starting the E-motor move when the load to extruder starts,
we can start when we are loading to the fsensor. At that stage
the MMU has changed from a fast load to a slow load.
2022-09-16 10:22:38 +02:00
D.R.racer
2f0ceabce5
Upgrade protocol to v2.1 - read/write registers + CRC
2022-09-16 10:22:38 +02:00
D.R.racer
f18721bee3
Fix unintentional typo
2022-09-16 10:22:38 +02:00
D.R.racer
6d6f9583ea
Initialize retryAttempts in constructor
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
485ed4a213
Fix issue where logs show two corrupted chars
...
Issue only appears when LANG_MODE = 1
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
938fac4058
Remove old comment, button is acknowledged now
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
f717aa161c
Remove TODO in ActivatePlannedRequest
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
b9d9308f9f
Support 3x Retry in Idle state machine
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
ab32769487
Send button from current state machine
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
4f30cf0ba3
Add missing ProtocolError
2022-09-16 10:22:38 +02:00
Alex Voinea
bc85a41059
Fix xflash flashing
2022-09-16 10:22:38 +02:00
D.R.racer
53e2d68183
Retry up to 6x in case of incorrect MMU FW version
...
Because it looks like the communication drop outs are caused by some electrical issues and we can loose even a byte from the version response, which is deadly for future operation.
2022-09-16 10:22:38 +02:00
D.R.racer
6e5fcb5838
Tune a few MMU progress codes' texts to fit on the LCD
2022-09-16 10:22:38 +02:00
D.R.racer
14b2befb7d
Switch from Start Seq into Idle immediately + disable FS autoload on MMU
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
400fec5d9f
Reset CustomMsg when Command in progress is None
...
When a Progress report is started, we set the CustomMsg to MMUProgress.
But there was an issue where, once the reported "Progress" action was done.
We did not reset the CustomMsg to Status. So if we are printing from the
SD card, the file name is not displayed on the LCD.
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
Guðni Már Gilbert
e59651a279
Remove description in header file
...
The description are more detailed in the ultralcd.cpp file
No need to document the function in two places :)
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
2fc8b50f11
Fix lcd_show_multiscreen_message_yes_no_and_wait_P after rebase
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
be3f9376ba
Add missing break
2022-09-16 10:22:38 +02:00
D.R.racer
09cb9c6ecd
Fixup after rebase + discussion
2022-09-16 10:22:38 +02:00
D.R.racer
1d2acb5bd6
Bump MMU FW version to 2.0.19 to match/enforce the necessary compatibility level
2022-09-16 10:22:38 +02:00
D.R.racer
fa176c69db
Fix protocol error recovery
...
Communication timeout and Protocol Errors are now distinguished.
In case of a Protocol Error, the printer waits for heartBeatTimeout to allow filling up the input UART buffer (we expect the MMU still produces some bytes).
Once the timeout elapsed, the input UART buffer is cleared and a new Start Sequence is initiated.
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
6bf2aebf04
Fix typo
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
80c640deb9
PFW-1373
...
Fix the unload procedure when the user has paused a print
then stopped the print after the temperature has reached below 175°C
Now the E-motor will move as expected
2022-09-16 10:22:38 +02:00
VintagePC
ba52430e1d
Magic numbers are bad...
2022-09-16 10:22:38 +02:00
VintagePC
69c39e2281
An attempt at fixing the retry. Discussion needed.
2022-09-16 10:22:38 +02:00
D.R.racer
c412f062c8
Perform 3xRetry automatically
...
This is a draft PR showing the potential 3x retry implementation on the printer's side.
It is much less code and looks more reliable than the same functionality in the MMU FW.
Still, more work needs to be done:
- [ ] Button is sent to the MMU even before returning from the parking position
- [ ] Then the button is sent again
- [ ] Then the printer runs out of retryAttempts
We need to find a better spot to check for "automatic" retry and issuing of the buttons
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
999320f671
Limit build number to uint8_t ( #49 )
...
Currently the MMU only sends one byte so there is no need
in storing the version with two bytes
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
6b7a018f9b
PFW-1354 Fix slow button processing ( #37 )
...
* Fix MK3S buttons being processed too slowly
After a button is selected on the MK3S MMU error screen, we need to process it before asking for another MMU Query.
Because the MMU Query will make the Error screen return and overwrite the status screen
* Add back CheckUserInput for ButtonPushed event
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
d420b20bd9
Add a missing break
...
I don't see any difference in behaviour but this should be more correct
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
3520020b24
* Correct the unload length on the MK3S side
...
* Pull all numbers into global constants
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
6eb2767dd2
PFW-1334 Distinguish between a retry unload and U0 unload
...
U0 unload uses the ramming sequence, while the retry unload does not because the MMU starts unloading much sooner
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
9a52bb5d04
Add MMU2_UNLOAD_TO_FINDA_FEED_RATE
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
59d19a8330
PFW-1334 Move E-motor on FSENSOR error retry
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
b8432e6bf2
Partial fix for PFW-1334
...
When a FSENSOR error happens, the first step for the MK3S should be to stop any loading by stopping the E-motor.
From this point, the buttons should determine what the MK3S does next.
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
2aa6cfc1ab
Optimise mmu_cut_filament_menu ( #40 )
...
preheat_or_continue should be used here to reduce copying code
2022-09-16 10:22:38 +02:00
VintagePC
8eb054e789
Fix trying to use serial before it's intiialized
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
ace5130d9f
PFW-1375 MMU error reported by MK3S does not appear on LCD
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
7d3a50450d
PFW-1340 Hide Done button for two errors
...
* FSENSOR_DIDNT_TRIGGER
* FSENSOR_DIDNT_GO_OFF
The Done button does not Move the E-motor because it
expects the user to have manually resolved the problem
Also if the filament is in the gears, we cannot pull the filament out.
In this case the Retry button is more suited as it will unload the filament.
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
4dd689ba9a
Fix PFW-1357 ( #35 )
...
lcd_encoder_diff would be set to 0 if lcd_update_enable(true)
is called outside ReportErrorHookMonitor
This would put enc_dif out of sync with lcd_encoder_diff and could cause false rotation triggering
2022-09-16 10:22:38 +02:00
vintagepc
d7d6885765
PFW-1351 Cooldown timeout ( #33 )
...
* PFW-1351 WIP
* Fix bug with cooldown timing due to bad bitfield.
* Use default safety timer value for timeout
2022-09-16 10:22:38 +02:00
D.R.racer
d1b216da0d
Disable fsensor newVolt debug reporting
2022-09-16 10:22:38 +02:00
D.R.racer
f94c2cba46
Fix rendering temp. + toolchange on MMU error screen
2022-09-16 10:22:38 +02:00
D.R.racer
a004273e8f
Avoid drawing MMU Error screen while MMU moves manually
2022-09-16 10:22:38 +02:00
D.R.racer
98adcbaff2
Bump required MMU FW version to 2.0.18
2022-09-16 10:22:38 +02:00
D.R.racer
dab26fe50b
Report detected MMU version in the Support menu
...
It was just subtly broken, all the functionality had already been implemented.
2022-09-16 10:22:38 +02:00
D.R.racer
121d43f896
Add a Try-Load-to-Bondtech operation
...
PFW-1347
2022-09-16 10:22:38 +02:00
VintagePC
0e96169bb3
remove logspam
2022-09-16 10:22:38 +02:00
VintagePC
4ea53ad4bf
fix bug I introduced
2022-09-16 10:22:38 +02:00
VintagePC
c07a5f396d
Fix button enum
2022-09-16 10:22:38 +02:00
VintagePC
d9676eff25
Fixed buged temperature resume.
2022-09-16 10:22:38 +02:00
VintagePC
f9bedc3c94
Button handling WIP
2022-09-16 10:22:38 +02:00
VintagePC
9a20c85a5d
First pass, improving the error recovery.
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
1e391f303c
PFW-1344 Fullscreen message Loading Filament
...
When loading a filament through the LCD,
show a full screen message:
Loading Filament N
Where N can range from 0 to 5.
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
8aa16a6429
Write documentation for lcdui_print_extruder
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
8fd1653b84
PFW-1343 initial commit
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
ed04c24ba0
Implement 'Filament not loaded' option for M600 with MMU
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
caf98936e3
Minor cleanup
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
b9c23cd6b8
Add Unloading message to LCD
...
Also made mmu_M600_load_filament static to limit its scope
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
d5cdb412ba
Introduce a way to read the previous tool used
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
2d02877686
Disable automatic in M600
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
e39bc3f12d
During Tx, temporarily allow cold extrusion
...
This prevents a FSENSOR DIDNT TRIGGER error
and allows the bondtech gears to grab the filament.
2022-09-16 10:22:38 +02:00
D.R.racer
45a5e719a2
Disable filRunout when MMU.Enabled()
...
It turned out the runout is caused by the ramming sequence in the G-code, which is interpreted before the actual MMU command gets into processing.
The frequency of these errors/runouts differed one machine from another and was really hard to track down.
Therefore - once the MMU is enabled (active and running) we'll disable filament runout handling caused by the printer's filament sensor.
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
a1881b4a07
Disable filament runout when MMU is unloading
2022-09-16 10:22:38 +02:00
VintagePC
762080ab1a
Fix some partking and recovery bugs
2022-09-16 10:22:38 +02:00