15namespace OneMotor::Motor::DM
30 explicit J4310(
Can::CanDriver& driver, uint16_t canId, uint16_t masterId);
35 tl::expected<void, Error>
enable();
40 tl::expected<void, Error>
disable();
60 tl::expected<void, Error>
MITControl(
float position,
float velocity,
float torque,
float kp,
float kd);
67 tl::expected<void, Error>
posVelControl(
float position,
float velocity);
73 tl::expected<void, Error>
velControl(
float velocity);
95 tl::expected<J4310Status, Error>
getNewStatus(uint16_t usec = 500);
定义 DoubleBuffer 类,用于在多线程模型下保证电机状态信息的安全更新
CAN总线驱动类,封装了底层CAN接口的打开、关闭、发送和接收回调注册等操作。
定义 CanDriver.hpp:35
tl::expected< J4310Status, Error > getNewStatus(uint16_t usec=500)
获取电机最新状态
定义 N_J4310.cpp:151
tl::expected< void, Error > MITControl(float position, float velocity, float torque, float kp, float kd)
MIT 控制模式
定义 N_J4310.cpp:74
J4310Status getStatus()
获取电机上一次接收到到的反馈帧状态 对电机进行各种控制操作均会获得反馈帧
定义 N_J4310.cpp:146
tl::expected< void, Error > disable()
禁用电机
定义 N_J4310.cpp:44
tl::expected< void, Error > setZeroPosition()
将当前位置设置为零
定义 N_J4310.cpp:54
tl::expected< void, Error > posVelControl(float position, float velocity)
位置和速度控制模式
定义 N_J4310.cpp:98
tl::expected< void, Error > enable()
启用电机
定义 N_J4310.cpp:34
tl::expected< void, Error > cleanError()
清除电机错误
定义 N_J4310.cpp:64
tl::expected< void, Error > refreshStatus() noexcept
刷新电机状态,仅支持V13以上固件
定义 N_J4310.cpp:132
tl::expected< void, Error > velControl(float velocity)
速度控制模式
定义 N_J4310.cpp:118
J4310 电机状态结构体
定义 J4310Frame.hpp:80