D.R.racer
7d522f6837
Fix: make sure VerifyEnvironmentState checks filamentLoaded reliably
...
... and improve unit tests
2022-12-19 15:44:42 +01:00
D.R.racer
c0189d81af
Distinguish among different error states when recovering ToolChange
...
Some errors need specific recovery, it seems it is no longer possible to "just" retry.
2022-11-18 22:42:05 +01:00
D.R.racer
c8c39f7b69
Make sure ToolChange moves Selector to desired slot
...
and verify correct behaviour in unit tests - especially when Selector's start position is at a different slot.
2022-11-18 22:29:01 +01:00
D.R.racer
08f777b5cb
Introduce FINDA_FLICKERS error code
...
Intended for scenarios when FINDA used to be OFF but accidentally became ON without a reason.
The user is obliged to inspect FINDA and tune its switching.
2022-11-17 07:32:38 +01:00
D.R.racer
3f09ba0c16
Unit tests: selector refused to move in ToolChange
...
Revealed all kinds of subtle issues (which is great). All have been fixed in this commit.
2022-11-17 07:32:38 +01:00
D.R.racer
c74d418016
Invalidate Idler+Selector homing flags when Retry from ToolChange Error
...
If FSENSOR_DIDNT_SWITCH_ON was caused by misaligned Idler, rehoming it may fix the issue when auto retrying -> no user intervention.
So first invalidate homing flags as the user may have moved the Idler or Selector accidentally.
Beware: we may run into issues when FINDA or FSensor do not work correctly. Selector may rely on the presumed filament position and actually cut it accidentally when trying to rehome.
It is yet to be seen if something like this can actually happen.
MMU-191
2022-11-15 17:42:12 +01:00
Guðni Már Gilbert
353affb9f3
Optimise Catch2 V3 includes + fix a few cases of missing includes
2022-10-22 15:41:44 +02:00
Guðni Már Gilbert
45f70e004c
Update CMake integration for Catch v3.1.0
2022-10-22 15:41:44 +02:00
D.R.racer
3c3e625f39
Unit test ErrDisengageIdler: make sure it never sets error while disengaging
2022-07-20 16:23:43 +02:00
D.R.racer
4e44447762
Change the unit tests to follow the new spec
2022-07-20 16:23:43 +02:00
D.R.racer
bc298ab114
Add unit test for empty event queue
2022-06-20 17:03:40 +02:00
D.R.racer
d80a58cfdb
Fix unit tests
2022-06-20 17:03:40 +02:00
D.R.racer
2874dd3bc9
Make sure the selector never moves if FINDA is pressed
...
It looks we have some kind of leak when filament sensor state is not completely coherent with FINDA state.
This is yet to be discovered and fixed with some unit tests.
2022-06-20 14:20:31 +02:00
D.R.racer
b4f9924013
Improve robustness of unit tests
2022-06-14 07:31:51 +02:00
D.R.racer
fbb46e5951
Distinguish fast and slow feed stage
...
Originally, only FeedingToBondtech was reported to the printer.
With PR#173 we have this operation separated into a fast and a slow stage (for MK3S with the chimney).
It looks like the printer could benefit from knowing if the MMU is still pushing fast
or when it entered the slow stage (to prevent ramming hard the Bondtech gears)
Along with this new state being reported, we also introduce a new ErrorCode::FSENSOR_TOO_EARLY
which basically means that the fsensor triggered in the fast feeding stage.
2022-05-23 07:41:54 +02:00
D.R.racer
b685ec4aff
Fix waiting for homing of Selector after UnloadFilament
2022-02-17 08:21:15 +01:00
D.R.racer
18891dbeaf
Add ClearButtons into unit tests
2022-02-17 08:21:15 +01:00
D.R.racer
7d423df583
Swap buttons left<->right
2021-11-23 12:55:39 +01:00
D.R.racer
6f982e2505
Cleanup compiler warnings
2021-11-17 08:48:59 +01:00
D.R.racer
151adf810a
Add ToolChange Error resolve Button2 unit tests
2021-11-17 08:48:59 +01:00
D.R.racer
515119edc8
Test ToolChange error recovery by button 0 and 1
2021-11-17 08:48:59 +01:00
D.R.racer
fa4e687fdc
Fix chopping negative move values in PlanLongMove
...
+ use PlanLongMove in UnloadToFinda
+ fix comment in unit test
2021-11-03 10:13:03 +01:00
D.R.racer
5f1e3e018e
Workaround planning moves longer than 32K steps
2021-11-03 10:13:03 +01:00
D.R.racer
9438253106
Avoid trying to unload filament when not loaded
...
however, it looks like the EEPROM is not updated correctly, needs more testing
2021-10-21 15:16:29 +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
5cf4a496e3
Introduce checking for enabled/disabled Pulley axis in 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
315530ec16
Rebase onto main, reflect FINDA change (ADC->digital pin) in unit tests
2021-09-02 12:15:55 +02:00
D.R.racer
5a53acd802
Force Tool Change to load the filament if same slot but not loaded
...
MMU-63
2021-09-02 12:15:55 +02:00
3d-gussner
d5e473f9c9
Fix unit test: tool_change
2021-08-31 06:59:29 +02:00
D.R.racer
e0ea47595f
Add unit tests for logic state machines reusal
...
as it will work in the real FW
2021-08-12 10:30:40 +02:00
D.R.racer
9ba116e06e
Handle slot indices out of range correctly at top level
...
Besides Unload Filament, which only operates on active slot, all other
top level state machines check the validity of the command's parameter.
If the parameter is out of range for available slots, they return
ErrorCode::INVALID_TOOL now.
2021-08-12 10:30:40 +02:00
D.R.racer
2f5dff6c5b
Introduce short namespace aliases
...
especially for modules
2021-08-04 11:03:56 +02:00
D.R.racer
aa5995368d
Update to latest main + fix unit tests
...
... in relation to the newly introduced stepping in physical units rather than in steps
2021-08-02 10:52:18 +02:00
D.R.racer
b484eeacb6
Start using config.h
...
Added some constexpr vars for buttons, finda, fsensor and
applied them in the FW and unit tests accordingly.
2021-07-05 18:07:54 +02:00
D.R.racer
75fe7b20b5
Verify and fix Tool Change state machine + unit tests
2021-07-01 07:03:02 +02:00
D.R.racer
ce20f0b001
Greatly improve unload filament unit test
...
+ relevant changes for other unit tests -> prepare for improving
of the other unit tests as well
2021-06-30 07:39:31 +02:00
D.R.racer
807eda7db3
Add prototypes of remaining logic layer's unit tests
...
- load filament
- feed to bondtech
- tool change
2021-06-30 07:39:31 +02:00