Alex Voinea
6071257973
Fix unloading state machine
2021-10-12 18:11:05 +02:00
3d-gussner
221f40c7a1
Fix issue that all tool changes after first one fail to change to planned slot
...
Update Filament Load state
2021-10-12 18:11:05 +02:00
3d-gussner
33b467f1bc
Add debug to retract from finda
2021-10-12 18:11:05 +02:00
3d-gussner
62116b1283
Update debug
2021-10-12 18:11:05 +02:00
3d-gussner
d9134b16fc
Update Filament Load state order
2021-10-12 18:11:05 +02:00
3d-gussner
82f2e8ec54
fix some debug output
2021-10-12 18:11:05 +02:00
3d-gussner
f9561e6cf7
Remove double operations
...
- feed to finda engages the idler so no need to do that before
- retract from finda disengages the idler, again avoid double operation
LEDs set mostly by feed to finda and retract from finda
2021-10-12 18:11:05 +02:00
3d-gussner
5cfb0887d0
Disengage Idler after retracted from FINDA
...
Add some dbg_logic output
2021-10-12 18:11:05 +02:00
3d-gussner
b752c5c4e7
Set FilamentLoaded state to InSelector if FINDA triggers
2021-10-12 18:11:05 +02:00
3d-gussner
fa50462929
Add InFSensor state
2021-10-12 18:11:05 +02:00
3d-gussner
67657329d1
Correct debug messages for state
2021-10-12 18:11:05 +02:00
3d-gussner
f99adae31e
Use config.h
2021-10-12 18:11:05 +02:00
3d-gussner
abf875bda0
After Load Filament is compeleted the slot LED should be off
2021-10-12 18:11:05 +02:00
3d-gussner
28c8e09bcf
Use config.h to define DEBUGS
2021-10-12 18:11:05 +02:00
3d-gussner
dbf26d13ac
Make search for error codes easier
2021-10-12 18:11:05 +02:00
D.R.racer
c26cc30185
Add finer filament loaded states and improve unit tests
...
We need to know better where the filament is, a simple "filament loaded true/false"
does not correspond to the reality.
2021-10-12 18:11:05 +02:00
D.R.racer
5af0125672
LoadFilament should not set filament loaded (surprisingly)
...
because of the change of semantics of LoadFilament operation.
LoadFilament pushes the filament into FINDA and then retracts it back just to keep the
filament ready to be grabbed by the idler and pulley and loaded into the printer's nozzle.
So the selector is not blocked by the filament -> filament NOT loaded
2021-10-12 18:11:05 +02:00
D.R.racer
b13214b7f5
Fix debug sprintf variant
2021-10-12 18:11:05 +02:00
D.R.racer
5cf4a496e3
Introduce checking for enabled/disabled Pulley axis in unit tests
2021-10-12 18:11:05 +02:00
D.R.racer
f18ff63cf7
Fix PROGMEM addressing in debug.h
...
I hate when the compiler doesn't check something what it normally does:
`pgm_read_byte` is more than happy with a parameter (*str), which reads
an address at a location where *str points to - which is obviously not the intent.
2021-10-12 18:11:05 +02:00
D.R.racer
236a40c6ef
Use dbg_logic logging
...
and improve the variadic version used to print formatted
text at some spots in previous commits
2021-10-12 18:11:05 +02:00
D.R.racer
a13f3b8a2d
Fix CutFilament unit tests
2021-10-12 18:11:05 +02:00
D.R.racer
bbd14ed217
Fix ToolChange operation + unit tests
2021-10-12 18:11:05 +02:00
D.R.racer
505930c576
Explain better final Idler state in FeedToFinda and FeedToBondtech
2021-10-12 18:11:05 +02:00
D.R.racer
e0d1fe3b73
Extract common ErrDisengagingIdler state's implementation
2021-10-12 18:11:05 +02:00
D.R.racer
6426295e32
Change the semantics of load filament
...
Load filament performs feed to FINDA and retract:
- engage idler
- feed normal to FINDA with config::feedToFinda distance until FINDA triggers
- retract normal and as soon FINDA un-triggers move back to PTFE config::cuttingEdgeToFindaMidpoint
- disengage the idler
That implied introducing another substate machine - RetractFromFinda, which does the opposite
of FeedToFinda while also checking for the FINDA switching off while retracting filament.
Still, ToolChange and CutFilament need fixing with this change
2021-10-12 18:11:05 +02:00
D.R.racer
01b2280ea6
Fix Feed To Bondtech unit tests (disengage idler after success)
2021-10-12 18:11:05 +02:00
D.R.racer
06e4cd900f
Fix Feed To Bondtech tests tags
2021-10-12 18:11:05 +02:00
D.R.racer
1563559685
Fix startup conditions for Unload to FINDA state machine tests
2021-10-12 18:11:05 +02:00
D.R.racer
2ca951ceea
Fix test_unload_filament
...
only green LED status was not correct after the latest changes
2021-10-12 18:11:05 +02:00
D.R.racer
1a6f49410c
Fix test_failing_tmc
2021-10-12 18:11:05 +02:00
D.R.racer
bb574603ba
Reformat helpers.ipp - makes placing breakpoint easier
2021-10-12 18:11:05 +02:00
D.R.racer
5eedeb0968
Remove redundant ::Color and ::Mode for LED colors and modes
...
makes the code shorter and more readable, no identifier clashes revealed
2021-10-12 18:11:05 +02:00
D.R.racer
53b329941f
Keep constants start with lowercase letter
...
and remove a few warnings from the build
2021-10-12 18:11:05 +02:00
D.R.racer
ac1f13672a
Fix format config.h
2021-10-12 18:11:05 +02:00
3d-gussner
0bead533df
clang-format
2021-10-12 18:11:05 +02:00
3d-gussner
5f28dbf056
Fix unit test feed to finda
2021-10-12 18:11:05 +02:00
3d-gussner
15adeaa180
Add DEBUG_LOGIC
2021-10-12 18:11:05 +02:00
3d-gussner
b8259ac555
Fix some LED status
2021-10-12 18:11:05 +02:00
3d-gussner
b1f50d8789
Use constants
2021-10-12 18:11:05 +02:00
3d-gussner
645d0b55ed
Use constants
2021-10-12 18:11:05 +02:00
3d-gussner
c0938e41d5
Use constants
2021-10-12 18:11:05 +02:00
3d-gussner
ddcf24af43
Use constants
2021-10-12 18:11:05 +02:00
3d-gussner
5c44cf9ee0
Add UnloadingToFinda
2021-10-12 18:11:05 +02:00
3d-gussner
afe732d3ff
Use constants
2021-10-12 18:11:05 +02:00
3d-gussner
64bd2bb894
Use constants
2021-10-12 18:11:05 +02:00
3d-gussner
2f2f4d7be3
Add some distances and put axis settings together
2021-10-12 18:11:05 +02:00
D.R.racer
1a5cd52d58
Fix some doxygen comments
2021-09-29 13:28:34 +02:00
D.R.racer
1402fb3dd6
Add 'F' and 'f' decoding + unit tests where necessary
2021-09-29 13:28:34 +02:00
D.R.racer
4900dd0222
Change FilamentSensor msg code from 'F' to 'f'
...
to avoid clash with Filament Type msg (which is not handled yet)
2021-09-29 13:28:34 +02:00