|
GKD.RoboCtrl
|
CAN 设备对象,支持根据 ID 分发回调。 更多...
#include <can.h>
类 | |
| struct | info_type |
| CAN 初始化参数。 更多... | |
Public 类型 | |
| using | key_type = std::uint32_t |
Public 成员函数 | |
| can (const info_type &info) | |
| 打开 CAN 设备。 | |
| awaitable< void > | send (byte_span data) |
| 发送裸帧。 | |
| awaitable< void > | send (can_id_type id, byte_span data) |
| 发送带 CAN ID 的帧。 | |
| awaitable< void > | task () |
| 接收循环任务。 | |
| std::string | desc () const |
Public 成员函数 继承自 roboctrl::io::keyed_io_base< std::uint32_t > | |
| void | on_data (const std::uint32_t &key, callback_fn< byte_span > auto fn, size_t size=0) |
| 注册指定 key 的回调。 | |
| void | on_data (const std::uint32_t &key, Fn &&fn) |
| 注册平凡类型包的回调。 | |
Public 成员函数 继承自 roboctrl::utils::immovable_base | |
| immovable_base (immovable_base &&)=delete | |
| immovable_base & | operator= (immovable_base &&)=delete |
Public 成员函数 继承自 roboctrl::utils::not_copyable_base | |
| not_copyable_base (const not_copyable_base &)=delete | |
| not_copyable_base & | operator= (const not_copyable_base &)=delete |
额外继承的成员函数 | |
Protected 成员函数 继承自 roboctrl::io::keyed_io_base< std::uint32_t > | |
| void | dispatch (const std::uint32_t &key, byte_span data) |
| 将数据派发给对应 key 的回调。 | |
| size_t | package_size (const std::uint32_t &key) |
Protected 成员函数 继承自 roboctrl::log::logable< can > | |
| void | log (log_level level, std::format_string< Args... > fmt, Args &&...args) const |
| 输出日志 | |
| void | log_debug (std::format_string< Args... > fmt, Args &&...args) const |
| 输出debug日志 | |
| void | log_info (std::format_string< Args... > fmt, Args &&...args) const |
| 输出info日志 | |
| void | log_warn (std::format_string< Args... > fmt, Args &&...args) const |
| 输出warn日志 | |
| void | log_error (std::format_string< Args... > fmt, Args &&...args) const |
| 输出error日志 | |
打开 CAN 设备。
引用了 roboctrl::async::io_context(), roboctrl::log::logable< can >::log_info(), roboctrl::async::spawn() , 以及 task().
| roboctrl::awaitable< void > can::send | ( | byte_span | data | ) |
| roboctrl::awaitable< void > can::send | ( | can_id_type | id, |
| byte_span | data | ||
| ) |
| roboctrl::awaitable< void > can::task | ( | ) |