diff --git a/include/controller.hpp b/include/controller.hpp index 9562e2c..c80bf4b 100644 --- a/include/controller.hpp +++ b/include/controller.hpp @@ -57,6 +57,9 @@ public: // Obstacle bool SwitchSet(bool enable); bool SwitchGet(bool& enable); + bool UseRemoteCommandFromApi(bool isRemoteCommandsFromApi); + bool MoveToAbsolutePosition(float x, float y, float yaw); + bool MoveToIncrementPosition(float x, float y, float yaw); // MotionSwitcher bool CheckMode(std::string& form, std::string& name); diff --git a/src/controller.cpp b/src/controller.cpp index 90c8982..d7cbb43 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -314,6 +314,24 @@ bool Controller::SwitchGet(bool& enable) { }); } +bool Controller::UseRemoteCommandFromApi(bool isRemoteCommandsFromApi) { + return ExecuteObstacleCmd([isRemoteCommandsFromApi](auto* oac) { + return oac->UseRemoteCommandFromApi(isRemoteCommandsFromApi); + }); +} + +bool Controller::MoveToAbsolutePosition(float x, float y, float yaw) { + return ExecuteObstacleCmd([x, y, yaw](auto* oac) { + return oac->MoveToAbsolutePosition(x, y, yaw); + }); +} + +bool Controller::MoveToIncrementPosition(float x, float y, float yaw) { + return ExecuteObstacleCmd([x, y, yaw](auto* oac) { + return oac->MoveToIncrementPosition(x, y, yaw); + }); +} + bool Controller::CheckMode(std::string& form, std::string& name) { return ExecuteMotionSwitchCmd([&](auto* msc) { return msc->CheckMode(form, name);