Commit Graph

3 Commits (a4d9b0be02fef759ce2aa801931936e9c4de0bdd)

Author SHA1 Message Date
D.R.racer a4d9b0be02 Detect successful end of logic::command + start idle countdown
This commit looks horribly complex, but the main idea is to have each of the logic::commands
report their terminal OK state in the same way. That allow for leveraging this very moment
to initiate the idle timeout.

Additionally, I wanted to hide the logic of idle mode detection, which resulted in moving the
top level logic from main.cpp into logic/idle_mode.cpp and a set of additional files to compile
in unit tests.
2022-05-10 19:26:00 +02:00
D.R.racer f6276d0dd1 Fix MoveSelector operation build 2022-05-10 19:26:00 +02:00
D.R.racer 2a46219b6d Introduce manual operation of MMU
This PR brings the option to move the selector directly using
buttons of the MMU - obviously while the MMU is idle and no
filament is stuck in the selector.

Left/Right buttons move the selector Left/Right.

Middle button performs a LoadFilament (into the MMU) on the active slot.

With this PR a change of LoadFilament behavior is also introduced.
Now, LoadFilament spins the Pulley for infinite time while waiting
for either FINDA trigger and/or a button pressed.
2022-05-10 19:26:00 +02:00