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
D.R.racer
e277ca75ee
Support F0 in response decoder
2021-09-29 13:28:34 +02:00
D.R.racer
dc3f5764a6
Add filament sensor status reporting from printer into MMU
2021-09-29 13:28:34 +02:00
D.R.racer
e59e7e3884
Make protocol decoder tolerant to leading whitespace
2021-09-29 13:28:34 +02:00
D.R.racer
ee353cd98c
Report "Reset finished" after MMU FW start
...
kudos to @leptun for this original and actually a very clean idea.
For the start we report "Reset finished" which in fact corresponds with the MMU state pretty closely
and plays nicely even with the protocol implementation.
And, since the default startup command is the noCommand, which always returns "Finished"
the implementation is clean and straightforward - the response to the first Q0 messages
will look like "X0 F" until a command (T, L, U ...) has been issued.
2021-09-29 13:28:34 +02:00
D.R.racer
89dcafbcef
Add internal protocol decoding reset
2021-09-29 13:28:34 +02:00
D.R.racer
8a5614844c
Add more error codes for the printer's perspective
2021-09-29 13:28:34 +02:00
D.R.racer
43c953b7f1
Fix appending newline character in puts* methods
2021-09-27 11:15:20 +02:00
D.R.racer
304988fc6c
Simple debug logging via USART1
...
Encapsulates the #define macros and AVR implementation of dumping strings
(RAM and PROGMEM) onto USART1.
2021-09-27 11:15:20 +02:00