#tty #process #serial #expose #uart #command-line #x86-64

app ttytee

一个暴露相同 TTY 的两个副本的过程

3 个稳定版本

1.0.2 2023年6月24日

#57 in 机器人

Apache-2.0

140KB
303 代码行

TTYTEE - 一个暴露相同 TTY 的两个副本的过程。

Crates.io License

这个 crate 的初始用例是共享一个通过 USB UART 与两个进程通信的单个 GPS 设备,但您可能也可以将其用于在一般情况下共享 UART。

已在 x86-64、aarch32 和 64 位 Linux 上进行了测试。在 GitHub 页面上解释了如何完全使用 musl 静态编译它的说明:skywaysinc/ttytee

Concept

命令行帮助

Usage: ttytee [OPTIONS]

Options:
  -m, --master <MASTER>                              [default: /dev/ttyUSB0]
      --baudrate <BAUDRATE>                          [default: 9600]
      --slave0 <SLAVE0>                              [default: slave0.pty]
      --slave1 <SLAVE1>                              [default: slave1.pty]
      --master-read-timeout <MASTER SERIAL TIMEOUT>  [default: 1000]
      --slave-read-timeout <SLAVE READ TIMEOUT>      [default: 1000]
      --log-path <LOG_PATH>
  -h, --help                                         Print help
  -V, --version                                      Print version

master 指向真实设备路径。

slave0slave1 将是暴露与 master 相同数据的 PTY 设备。

非常重要提示:此程序的使用案例是实时性的,因此如果其中一个从设备无法跟上其从 PTY 获取数据,则将删除该数据以保持实时性,另一个从设备则不受影响。这由 slave-read-timeout 设置。

不支持从从设备写入。//!

依赖项

~6–16MB
~212K SLoC