Move idle_mode out from logic subdir

pull/165/head
D.R.racer 2022-05-10 19:46:09 +02:00 committed by DRracer
parent c3739eaaef
commit 047c76870c
16 changed files with 53 additions and 61 deletions

View File

@ -1,4 +1,4 @@
target_sources(firmware PRIVATE main.cpp debug.cpp) target_sources(firmware PRIVATE main.cpp debug.cpp idle_mode.cpp)
target_link_libraries(firmware LUFA) target_link_libraries(firmware LUFA)

View File

@ -1,39 +1,36 @@
/// @file /// @file
#include "idle_mode.h" #include "idle_mode.h"
#include "../modules/timebase.h" #include "modules/leds.h"
#include "../modules/leds.h" #include "modules/globals.h"
#include "../modules/globals.h" #include "modules/user_input.h"
#include "../modules/user_input.h" #include "modules/finda.h"
#include "../modules/finda.h" #include "modules/fsensor.h"
#include "../modules/fsensor.h" #include "modules/serial.h"
#include "../modules/serial.h"
#include "command_base.h" #include "logic/command_base.h"
#include "cut_filament.h" #include "logic/cut_filament.h"
#include "eject_filament.h" #include "logic/eject_filament.h"
#include "home.h" #include "logic/home.h"
#include "load_filament.h" #include "logic/load_filament.h"
#include "move_selector.h" #include "logic/move_selector.h"
#include "no_command.h" #include "logic/no_command.h"
#include "set_mode.h" #include "logic/set_mode.h"
#include "tool_change.h" #include "logic/tool_change.h"
#include "unload_filament.h" #include "logic/unload_filament.h"
#include "../version.h" #include "version.h"
#include "../panic.h" #include "panic.h"
/// Global instance of the protocol codec /// Global instance of the protocol codec
static mp::Protocol protocol; static mp::Protocol protocol;
namespace logic {
IdleMode idleMode; IdleMode idleMode;
IdleMode::IdleMode() IdleMode::IdleMode()
: lastCommandProcessedMs(0) : lastCommandProcessedMs(0)
, currentCommand(&noCommand) , currentCommand(&logic::noCommand)
, currentCommandRq(mp::RequestMsgCodes::Reset, 0) {} , currentCommandRq(mp::RequestMsgCodes::Reset, 0) {}
void IdleMode::CheckManualOperation() { void IdleMode::CheckManualOperation() {
@ -54,22 +51,22 @@ void IdleMode::CheckManualOperation() {
case mui::Event::Left: case mui::Event::Left:
// move selector left if possible // move selector left if possible
if (mg::globals.ActiveSlot() > 0) { if (mg::globals.ActiveSlot() > 0) {
moveSelector.Reset(mg::globals.ActiveSlot() - 1); logic::moveSelector.Reset(mg::globals.ActiveSlot() - 1);
currentCommand = &moveSelector; currentCommand = &logic::moveSelector;
} }
break; break;
case mui::Event::Middle: case mui::Event::Middle:
// plan load // plan load
if (mg::globals.ActiveSlot() < config::toolCount) { // do we have a meaningful selector position? if (mg::globals.ActiveSlot() < config::toolCount) { // do we have a meaningful selector position?
loadFilament.Reset(mg::globals.ActiveSlot()); logic::loadFilament.Reset(mg::globals.ActiveSlot());
currentCommand = &loadFilament; currentCommand = &logic::loadFilament;
} }
break; break;
case mui::Event::Right: case mui::Event::Right:
// move selector right if possible (including the park position) // move selector right if possible (including the park position)
if (mg::globals.ActiveSlot() < config::toolCount) { if (mg::globals.ActiveSlot() < config::toolCount) {
moveSelector.Reset(mg::globals.ActiveSlot() + 1); // we allow also the park position logic::moveSelector.Reset(mg::globals.ActiveSlot() + 1); // we allow also the park position
currentCommand = &moveSelector; currentCommand = &logic::moveSelector;
} }
break; break;
default: default:
@ -106,28 +103,28 @@ void IdleMode::PlanCommand(const modules::protocol::RequestMsg &rq) {
// before issuing another one - if needed. // before issuing another one - if needed.
switch (rq.code) { switch (rq.code) {
case mp::RequestMsgCodes::Cut: case mp::RequestMsgCodes::Cut:
currentCommand = &cutFilament; currentCommand = &logic::cutFilament;
break; break;
case mp::RequestMsgCodes::Eject: case mp::RequestMsgCodes::Eject:
currentCommand = &ejectFilament; currentCommand = &logic::ejectFilament;
break; break;
case mp::RequestMsgCodes::Home: case mp::RequestMsgCodes::Home:
currentCommand = &logic::home; currentCommand = &logic::home;
break; break;
case mp::RequestMsgCodes::Load: case mp::RequestMsgCodes::Load:
currentCommand = &loadFilament; currentCommand = &logic::loadFilament;
break; break;
case mp::RequestMsgCodes::Tool: case mp::RequestMsgCodes::Tool:
currentCommand = &toolChange; currentCommand = &logic::toolChange;
break; break;
case mp::RequestMsgCodes::Unload: case mp::RequestMsgCodes::Unload:
currentCommand = &unloadFilament; currentCommand = &logic::unloadFilament;
break; break;
case mp::RequestMsgCodes::Mode: case mp::RequestMsgCodes::Mode:
currentCommand = &setMode; currentCommand = &logic::setMode;
break; break;
default: default:
currentCommand = &noCommand; currentCommand = &logic::noCommand;
break; break;
} }
currentCommandRq = rq; // save the Current Command Request for indentification of responses currentCommandRq = rq; // save the Current Command Request for indentification of responses
@ -183,7 +180,7 @@ void IdleMode::ReportVersion(const mp::RequestMsg &rq) {
void IdleMode::ReportRunningCommand() { void IdleMode::ReportRunningCommand() {
uint8_t rsp[maxMsgLen]; uint8_t rsp[maxMsgLen];
uint8_t len = protocol.EncodeResponseQueryOperation(currentCommandRq, logic::idleMode.RunningCommandStatus(), rsp); uint8_t len = protocol.EncodeResponseQueryOperation(currentCommandRq, RunningCommandStatus(), rsp);
modules::serial::WriteToUSART(rsp, len); modules::serial::WriteToUSART(rsp, len);
} }
@ -260,5 +257,3 @@ void IdleMode::Step() {
currentCommand->Step(); currentCommand->Step();
} }
} // namespace logic

View File

@ -1,13 +1,13 @@
/// @file /// @file
#pragma once #pragma once
#include <stdint.h> #include <stdint.h>
#include "../modules/timebase.h" #include "modules/timebase.h"
#include "../modules/protocol.h" #include "modules/protocol.h"
#include "error_codes.h" #include "logic/error_codes.h"
namespace logic { namespace logic {
class CommandBase; class CommandBase;
}
class IdleMode { class IdleMode {
public: public:
@ -44,7 +44,7 @@ private:
uint16_t lastCommandProcessedMs; uint16_t lastCommandProcessedMs;
/// A command that resulted in the currently on-going operation /// A command that resulted in the currently on-going operation
CommandBase *currentCommand; logic::CommandBase *currentCommand;
/// Remember the request message that started the currently running command /// Remember the request message that started the currently running command
/// For the start we report "Reset finished" which in fact corresponds with the MMU state pretty closely /// For the start we report "Reset finished" which in fact corresponds with the MMU state pretty closely
@ -56,5 +56,3 @@ private:
}; };
extern IdleMode idleMode; extern IdleMode idleMode;
} // namespace logic

View File

@ -6,7 +6,6 @@ target_sources(
feed_to_bondtech.cpp feed_to_bondtech.cpp
feed_to_finda.cpp feed_to_finda.cpp
home.cpp home.cpp
idle_mode.cpp
load_filament.cpp load_filament.cpp
move_selector.cpp move_selector.cpp
no_command.cpp no_command.cpp

View File

@ -1,6 +1,6 @@
/// @file command_base.cpp /// @file command_base.cpp
#include "command_base.h" #include "command_base.h"
#include "idle_mode.h" #include "../idle_mode.h"
#include "../modules/globals.h" #include "../modules/globals.h"
#include "../modules/finda.h" #include "../modules/finda.h"
#include "../modules/fsensor.h" #include "../modules/fsensor.h"

View File

@ -25,7 +25,7 @@
#include "modules/motion.h" #include "modules/motion.h"
#include "modules/usb_cdc.h" #include "modules/usb_cdc.h"
#include "logic/idle_mode.h" #include "idle_mode.h"
/// One-time setup of HW and SW components /// One-time setup of HW and SW components
/// Called before entering the loop() function /// Called before entering the loop() function
@ -101,7 +101,7 @@ void setup() {
} }
void Panic(ErrorCode ec) { void Panic(ErrorCode ec) {
logic::idleMode.Panic(ec); idleMode.Panic(ec);
} }
/// Main loop of the firmware /// Main loop of the firmware
@ -130,7 +130,7 @@ void loop() {
hal::cpu::Step(); hal::cpu::Step();
mu::cdc.Step(); mu::cdc.Step();
logic::idleMode.Step(); idleMode.Step();
hal::watchdog::Reset(); hal::watchdog::Reset();
} }

View File

@ -1,13 +1,13 @@
# define the test executable # define the test executable
add_executable( add_executable(
cut_filament_tests cut_filament_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp

View File

@ -1,13 +1,13 @@
# define the test executable # define the test executable
add_executable( add_executable(
eject_filament_tests eject_filament_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp

View File

@ -1,13 +1,13 @@
# define the test executable # define the test executable
add_executable( add_executable(
failing_tmc_tests failing_tmc_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp

View File

@ -1,13 +1,13 @@
# define the test executable # define the test executable
add_executable( add_executable(
feed_to_bondtech_tests feed_to_bondtech_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp

View File

@ -1,13 +1,13 @@
# define the test executable # define the test executable
add_executable( add_executable(
feed_to_finda_tests feed_to_finda_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp

View File

@ -1,13 +1,13 @@
# define the test executable # define the test executable
add_executable( add_executable(
homing_tests homing_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp

View File

@ -1,6 +1,7 @@
# define the test executable # define the test executable
add_executable( add_executable(
load_filament_tests load_filament_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
@ -8,7 +9,6 @@ add_executable(
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp

View File

@ -1,6 +1,7 @@
# define the test executable # define the test executable
add_executable( add_executable(
tool_change_tests tool_change_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
@ -8,7 +9,6 @@ add_executable(
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp

View File

@ -1,13 +1,13 @@
# define the test executable # define the test executable
add_executable( add_executable(
unload_filament_tests unload_filament_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp

View File

@ -1,13 +1,13 @@
# define the test executable # define the test executable
add_executable( add_executable(
unload_to_finda_tests unload_to_finda_tests
${CMAKE_SOURCE_DIR}/src/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp ${CMAKE_SOURCE_DIR}/src/logic/command_base.cpp
${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/cut_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/eject_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_finda.cpp
${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp ${CMAKE_SOURCE_DIR}/src/logic/feed_to_bondtech.cpp
${CMAKE_SOURCE_DIR}/src/logic/home.cpp ${CMAKE_SOURCE_DIR}/src/logic/home.cpp
${CMAKE_SOURCE_DIR}/src/logic/idle_mode.cpp
${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp ${CMAKE_SOURCE_DIR}/src/logic/load_filament.cpp
${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp ${CMAKE_SOURCE_DIR}/src/logic/move_selector.cpp
${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp ${CMAKE_SOURCE_DIR}/src/logic/no_command.cpp