Yuri D'Elia
d22643ea8a
AVR: Do not use __builtin_abs() for long types
...
In AVR __builtin_abs() breaks for non-base types.
Provide a generic function and use an overload when it is safe to use
instead.
This fixes the underlying step count calculation in PlanMove, thus
removing the need for the PlanLongMove work-around.
2021-11-05 14:44:25 +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
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
0fbcb9dac2
Tag all source files with @file for doxygen
2021-10-18 17:59:46 +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
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
3d-gussner
0bead533df
clang-format
2021-10-12 18:11:05 +02:00
3d-gussner
afe732d3ff
Use constants
2021-10-12 18:11:05 +02:00
3d-gussner
d3d992da5b
Cheange LED modes to be consistent.
2021-09-23 10:04:50 +02:00
D.R.racer
2f5dff6c5b
Introduce short namespace aliases
...
especially for modules
2021-08-04 11:03:56 +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
4d6d6fe0af
Add more checks (esp. positions of idler and selector)
...
that resulted in finding several weak spots and now Cut and Eject filament
do not pass the test (which is correct, they really have logical issues)
2021-06-21 10:28:56 +02:00
D.R.racer
7bfc1bad97
Cut filament prototype state machine
2021-06-14 07:34:59 +02:00
D.R.racer
5b4eb0cee3
Extract Unload filament into a separate file
...
+ cleanup the object structure
+ add no_command as the starting "operation" to simplify the rest of the command handling at runtime
2021-06-14 07:34:59 +02:00