D.R.racer
528abcb8d8
clang-format
2023-01-31 09:35:22 +01:00
D.R.racer
0555376502
Refactor mmu2.cpp and related interfaces
...
The general idea is to keep platform specific implementation away from the MMU state machines as much as we can.
That would enable unit testing the top level MMU state machine and integration into other project as well (if needed).
2023-01-31 09:35:22 +01:00
D.R.racer
472f84e46a
Avoid FullScreenMsg "Eject/Cut Filament" when called inside a toolchange
...
CutFilament and EjectFilament got a flag: enable/disable FullScreenMsg
2023-01-16 09:25:04 +01:00
D.R.racer
d4f0f363cd
Fixes from tests
...
- introduce Cut Filament
- limit retries try-unload
- fix waiting in "Load to extruder failed" error screen
- add LOAD_TO_EXTRUDER_FAILED error definition
2022-12-30 14:23:44 +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
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
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
Guðni Már Gilbert
ef51b5778d
Fix VerifyFilamentEnteredPTFE
...
Test should push filament first and then retract.
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
4eaabbf092
Revive MMU stats + LCD screens
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
e11ef11a64
PFW-1425 Rename "Load to Extruder" to "Loading Test"
2022-11-16 06:00:15 +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
ecef69012a
Fix PFW-1364 & possible comms timeout during reheat
2022-11-12 18:47:10 +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
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
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
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
Yuri D'Elia
6cfe000ac9
cleanup: Reorder members to match initialization order
2022-09-30 12:55:47 +02:00
3d-gussner
edad625cf7
RIP Bondtech long live the Extruder
2022-09-16 16:31:27 +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
D.R.racer
4d3a5433ad
Implement read/write registers for M707/M708
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
D.R.racer
6c0d3b0b78
Optimize MMU protocol logic
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
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
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
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
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
59d19a8330
PFW-1334 Move E-motor on FSENSOR error retry
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
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
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
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
8fd1653b84
PFW-1343 initial commit
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
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
11290c1123
Add a read function for mmu_print_saved
...
and remove the old extern value which is not used anymore
I had to remove "MMU2::" from mmu2_protocol_logic.cpp, otherwise the build failed.
2022-09-16 10:22:37 +02:00
D.R.racer
9140ebba55
Add MMU FW version variables
...
hardcoded for now, but API ready
2022-09-16 10:21:53 +02:00