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
D.R.racer
8b6941d493
Temporarily disable runout
...
There are still printers which suffer from spurious runouts for no reason.
For testing purposes, runout will be disabled until the real cause is found.
2022-09-16 10:22:38 +02:00
D.R.racer
01f926f074
Fix build MK25S
2022-09-16 10:22:38 +02:00
VintagePC
f155c7664d
Add missing CheckUserInput calls, fix bad array entry for FW_update
2022-09-16 10:22:38 +02:00
VintagePC
e8088b0161
Allow reset if the EEPROM is set to "on"
2022-09-16 10:22:38 +02:00
VintagePC
888a37450b
Fix wrong return
2022-09-16 10:22:38 +02:00
VintagePC
73c486cc2f
- Fix DisableMMU button on FW incompat
...
5823c14
- Implement eeprom var, fix reset
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
204b43dce4
PFW-1336
...
The following situation is now fixed, steps:
1. Load filament through LCD
2. Load to nozzle through LCD
3. Before filament reaches Fsensor => turn off the printer
4. Wait a few seconds and then turn the printer on again
5. Start a print through the SD card
6. Printer will unload and then re-load the filament
Previously in step 6, the printer would start a print without any
filament loaded.
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
46184a9447
Update printer name if M862.3 is called but not M862.2
2022-09-16 10:22:38 +02:00
D.R.racer
236098dbca
Make init MMU error screens send buttons (Idle mode)
2022-09-16 10:22:38 +02:00
D.R.racer
b880559ba7
Reset MMU upon start + fix reporting its start errors
2022-09-16 10:22:38 +02:00
D.R.racer
1ff7459743
Re-enable filament runout + add debug msgs
...
Needs a fix on the MMU side (report FeedToBondtech::DisengageIdler)
2022-09-16 10:22:38 +02:00
D.R.racer
b6b265e371
Hack around old MMU FW's msgs
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
c1134e7e68
Cleanup: Remove an old comment
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
bd932b3b10
Cleanup: Fix two compiler warnings
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
cfc56af95c
Cleanup: fix parameter comments
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
268c96334b
Cleanup: Pull out PrusaErrorCodeIndex
...
Saves 8 bytes of flash
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
d49e858cf7
PFW-1323 Fix MMU error screen doesn't disappear when error resolved on the MMU
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
7b91e73c8b
Fix issue where error screen updates too slowly in manage_response
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
98d07e6a09
Call lcd_set_custom_characters_nextpage
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
5ced30d8ca
Cleanup: Add comments and reduce code size slightly
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
352a22c22e
Cleanup: Remove unused callback
...
Remove unused callback in lcd_show_multiscreen_message_with_choices_and_wait_P
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
ecb4d08049
PFW-1318 Rewrite the implementation to be non-blocking
2022-09-16 10:22:38 +02:00
Guðni Már Gilbert
dc87bbae11
Fix compile error
2022-09-16 10:22:38 +02:00
D.R.racer
0e75a03c8c
Reuse FSensor runout blocking impl. throughout the whole FW
2022-09-16 10:22:38 +02:00
D.R.racer
eed816d9de
Fix build
2022-09-16 10:22:38 +02:00
D.R.racer
d7270e0b80
Fix lang build
2022-09-16 10:22:38 +02:00
D.R.racer
f04d83fc4c
Update printer's type (MMU/non-MMU) at runtime
...
+ reformat utils.cpp
2022-09-16 10:22:38 +02:00
D.R.racer
5082da78d2
Convert button on LCD into button for MMU
...
- Dependent on current MMU error being processed
- Includes rename of LEFT_BUTTON_CHOICE -> LCD_LEFT_BUTTON_CHOICE (and right, middle as well) to avoid confusion with MMU buttons' ordering
2022-09-16 10:22:38 +02:00
D.R.racer
a0e9a302b8
Suppress communication drop-out < 8s (MMU in bootloader)
...
PFW-1327
2022-09-16 10:22:38 +02:00
D.R.racer
ba8332cd3e
Fix MK25 build
2022-09-16 10:22:38 +02:00
D.R.racer
d628525a94
Fix build MK25S
2022-09-16 10:22:38 +02:00
D.R.racer
f3f2086f29
Fix compilation MK3
2022-09-16 10:22:38 +02:00
D.R.racer
0bd3dfdcf7
This starts to print ;)
...
Temporarily disabled filament runout as this breaks ToolChange operation
yet for unknown reason.
2022-09-16 10:22:38 +02:00
D.R.racer
456ddbb538
Handle the new MMU states (slow load to fsensor)
2022-09-16 10:22:38 +02:00
D.R.racer
5f9ca6a6f3
Reorder errors list according to Prusa-Error-Codes #61
2022-09-16 10:22:37 +02:00
D.R.racer
8a92865969
Update MK3S to match MMU PR#168
...
- new progress and error codes
- remove #error from mmu2_power.cpp as it makes no sense
- remove temporary error translation code
2022-09-16 10:22:37 +02:00
Guðni Már Gilbert
33650c6e56
Remove redundant call to lcd_update_enable
2022-09-16 10:22:37 +02:00
Guðni Már Gilbert
f1803357b0
Fix default selection after changes in PFW-1312
...
The Yes and No are reverted. Before PFW-132 Yes is 1 and No is 0
Now they are Yes is 0, and No is 1
2022-09-16 10:22:37 +02:00
Guðni Már Gilbert
45edc69cc4
Add back menu it confirm if extrusion has correct color after loading to nozzle via LCD
...
I've added the call to this message via the menu function to ensure it
only appears when interacting with the LCD
2022-09-16 10:22:37 +02:00