initial commit
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
/**
|
||||
* @file user_command_interface.h
|
||||
* @brief this file is used for robot's user command input
|
||||
* @author DeepRobotics
|
||||
* @version 1.0
|
||||
* @date 2025-11-07
|
||||
*
|
||||
* @copyright Copyright (c) 2025 DeepRobotics
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "common_types.h"
|
||||
#include "custom_types.h"
|
||||
#include "motion_state_feedback.hpp"
|
||||
|
||||
using namespace types;
|
||||
|
||||
namespace interface{
|
||||
|
||||
class UserCommandInterface{
|
||||
private:
|
||||
/* data */
|
||||
public:
|
||||
UserCommandInterface(RobotName robot_name){
|
||||
robot_name_ = robot_name;
|
||||
usr_cmd_ = new UserCommand();
|
||||
std::memset(usr_cmd_, 0, sizeof(UserCommand));
|
||||
}
|
||||
virtual ~UserCommandInterface(){
|
||||
delete usr_cmd_;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief start the thread to process user command
|
||||
*/
|
||||
virtual void Start() = 0;
|
||||
|
||||
/**
|
||||
* @brief stop the thread
|
||||
*/
|
||||
virtual void Stop() = 0;
|
||||
|
||||
/**
|
||||
* @brief return your user command
|
||||
* @return UserCommand ptr
|
||||
*/
|
||||
virtual UserCommand* GetUserCommand() = 0;
|
||||
|
||||
/**
|
||||
* @brief set the motion state feedback
|
||||
* @param msfb motion state feedback
|
||||
*/
|
||||
virtual void SetMotionStateFeedback(MotionStateFeedback* msfb){
|
||||
msfb_ = msfb;
|
||||
}
|
||||
|
||||
MotionStateFeedback *msfb_;
|
||||
RobotName robot_name_;
|
||||
UserCommand *usr_cmd_;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user