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