GKD.RoboCtrl
载入中...
搜索中...
未找到
m9025.h
1#pragma once
2#include "core/async.hpp"
4#include "utils/pid.h"
5
6namespace roboctrl::device{
7
8class M9025 : public motor_base,public logable<M9025> {
9public:
10 struct info_type{
11 std::string name;
12 std::string can_name;
13 uint16_t id;
14
16 fp32 radius;
17 };
18
19 inline std::string desc() const{
20 return std::format("M9025 motor {} on {}",info_.name,info_.can_name);
21 }
22
23 M9025(const info_type& info);
24 awaitable<void> set(float speed);
25 awaitable<void> enable();
26
27private:
28 info_type info_;
30};
31
32static_assert(motor<M9025>);
33
34}
异步任务上下文组件。
用于提供日志功能的辅助基类 通过CRTP模式实现,要求派生类实现desc()方法以提供描述信息,在继承时传入派生类自身类型作为模板参数。 继承这个类后,派生类可以方便地使用log_debug、log_i...
Definition logger.h:178
电机基础组件。
asio::awaitable< T > awaitable
协程任务类型。
Definition async.hpp:42
设备模块
Definition base.hpp:25
通用 PID 控制器实现。
统一的参数封装,方便序列化。
Definition pid.h:35
PID 控制器基础模板。
Definition pid.h:21
float fp32
单精度浮点别名。
Definition utils.hpp:22