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
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
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
751ee46450
Add bit masks for error codes for the TMC drivers
...
+ add common error handling for idler and selector
+ improve error handling in command_base
+ rename ERR1xxxx errors to ERRxxxx (remove the '1')
2021-08-02 07:45:45 +02:00
D.R.racer
df2c1ba7fe
Add prototype of unified handling of HW errors in the logic layer
2021-08-02 07:45:45 +02:00
Yuri D'Elia
787c73ecff
Merge remote-tracking branch 'upstream/main' into motion_wip
2021-07-12 10:25:06 +02:00
Alan Dragomirecký
cf5b1c3955
Do not use hard-to-read relative paths in CMake
2021-07-12 09:09:21 +02:00
Yuri D'Elia
d87db1ff76
Revised WIP for the Motion API
...
- Remove the combined PlanMove(a,b,c,rate) call. If we allow the units
of the various motors to be changed at compile time, the unit of
rate can vary between axes.
- Build PlanMove on top of the absolute PlanMoveTo.
- Add required stubs for TMC2130.
- Allow each axis mode to be set independently, since we have this
feature for free anyway.
- Rework internals to use PulseGen data types and structs.
2021-07-07 16:59:39 +02:00
Alan Dragomirecký
996f0f5dc0
Fix formatting of cmake files
2021-07-07 16:33:16 +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
Yuri D'Elia
7c7aa95445
Mock GPIO when building tests
...
Add some conditional statements in gpio.h so that we can mock the GPIO
registers when building tests.
2021-07-05 15:20:11 +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
9a8038ccb6
Add user_input module and use it instead of raw buttons
...
Encapsulates buttons and commands coming from the communication
2021-06-30 07:39:31 +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