feat(low_controller): Integrate LowController for low-level command handling

- Added LowController class to manage low-level commands and communication.
- Updated CustomRobot to initialize and manage LowController, including methods for processing low-level commands.
- Enhanced logger functionality with variadic template methods for formatted logging.
- Updated CMakeLists.txt to include the new low_controller.cpp source file and low_controller.hpp header.
This commit is contained in:
2025-09-22 19:11:20 +08:00
parent 1a0618f50f
commit c5cff9fbdb
7 changed files with 305 additions and 4 deletions

View File

@@ -30,6 +30,17 @@ public:
void warn(const std::string& message);
void error(const std::string& message);
template<typename... Args>
void log(LogLevel level, const char* format, Args... args);
template<typename... Args>
void debug(const char* format, Args... args);
template<typename... Args>
void info(const char* format, Args... args);
template<typename... Args>
void warn(const char* format, Args... args);
template<typename... Args>
void error(const char* format, Args... args);
private:
Logger() = default;
~Logger() = default;
@@ -45,9 +56,9 @@ private:
};
// Convenience macros
#define LOG_DEBUG(msg) Logger::getInstance().debug(msg)
#define LOG_INFO(msg) Logger::getInstance().info(msg)
#define LOG_WARN(msg) Logger::getInstance().warn(msg)
#define LOG_ERROR(msg) Logger::getInstance().error(msg)
#define LOG_DEBUG(msg, ...) custom::Logger::getInstance().debug(msg, ##__VA_ARGS__)
#define LOG_INFO(msg, ...) custom::Logger::getInstance().info(msg, ##__VA_ARGS__)
#define LOG_WARN(msg, ...) custom::Logger::getInstance().warn(msg, ##__VA_ARGS__)
#define LOG_ERROR(msg, ...) custom::Logger::getInstance().error(msg, ##__VA_ARGS__)
} // namespace custom