GKD.RoboCtrl
RoboMaster Linux 电控:异步 IO、设备驱动与机器人控制
载入中...
搜索中...
未找到
roboctrl::io::serial类 参考

串口设备对象。 更多...

详细描述

串口设备对象。

在文件 serial.h 第 31 行定义.

#include <serial.h>

类 roboctrl::io::serial 继承关系图:
roboctrl::io::serial 的协作图:

类

struct  info_type
 串口初始化参数。 更多...
 

Public 类型

using key_type = std::uint8_t
 

Public 成员函数

 serial (info_type info)
 打开并配置串口。
 
void start ()
 启动串口接收协程;重复调用不会重复启动。
 
awaitable< void > send (key_type key, byte_span data)
 发送字节数据。
 
void on_raw_data (callback_fn< byte_span > auto fn)
 
awaitable< void > send_raw (byte_span data)
 
awaitable< void > task ()
 接收循环任务。
 
std::string desc () const
 返回包含逻辑名称、设备路径和波特率的可读描述。
 
- Public 成员函数 继承自 roboctrl::io::keyed_io_base< uint8_t >
void on_data (const uint8_t &key, callback_fn< byte_span > auto fn, size_t size=0)
 注册指定 key 的回调。
 
void on_data (const uint8_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< uint8_t >
void dispatch (const uint8_t &key, byte_span data)
 将数据派发给对应 key 的回调。
 
std::optional< size_t > package_size (const uint8_t &key) const
 
- Protected 成员函数 继承自 roboctrl::log::logable< serial >
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日志
 

成员类型定义说明

◆ key_type

using roboctrl::io::serial::key_type = std::uint8_t

在文件 serial.h 第 50 行定义.

构造及析构函数说明

◆ serial()

serial::serial ( info_type  info)
explicit

打开并配置串口。

在文件 serial.cpp 第 15 行定义.

成员函数说明

◆ desc()

std::string roboctrl::io::serial::desc ( ) const
inline

返回包含逻辑名称、设备路径和波特率的可读描述。

在文件 serial.h 第 78 行定义.

◆ on_raw_data()

void roboctrl::io::serial::on_raw_data ( callback_fn< byte_span > auto  fn)
inline

Dedicated raw stream for protocols that supply their own framing/CRC.

在文件 serial.h 第 66 行定义.

引用了 roboctrl::callback< Args >::add().

◆ send()

roboctrl::awaitable< void > serial::send ( key_type  key,
byte_span  data 
)

发送字节数据。

在文件 serial.cpp 第 39 行定义.

◆ send_raw()

roboctrl::awaitable< void > serial::send_raw ( byte_span  data)

在文件 serial.cpp 第 54 行定义.

◆ start()

void serial::start ( )

启动串口接收协程;重复调用不会重复启动。

在文件 serial.cpp 第 31 行定义.

引用了 roboctrl::async::spawn() , 以及 task().

◆ task()

roboctrl::awaitable< void > serial::task ( )

接收循环任务。

在文件 serial.cpp 第 93 行定义.

引用了 roboctrl::log::logable< serial >::log_warn() , 以及 roboctrl::io::make_shared_from().

被这些函数引用 start().


该类的文档由以下文件生成: