feat: initial xserial-core with transport, protocol, frame, and pipeline layers
- transport: async Serial/TCP/UDP via Connection enum + Transport trait - protocol: TextDecoder (UTF-8/Latin-1/ASCII), HexDecoder, PlotDecoder (binary samples) - frame: LineFramer, FixedLengthFramer, LengthPrefixedFramer, CobsFramer - pipeline: MultiPipeline for parallel multi-protocol parsing - 212 tests (182 unit + 18 integration + 1 doctest), clippy clean
This commit is contained in:
54
Cargo.toml
Normal file
54
Cargo.toml
Normal file
@@ -0,0 +1,54 @@
|
||||
[workspace]
|
||||
resolver = "2"
|
||||
members = [
|
||||
"crates/xserial-core",
|
||||
"crates/xserial-client",
|
||||
"crates/xserial-tui",
|
||||
"crates/xserial-gui",
|
||||
]
|
||||
|
||||
[workspace.dependencies]
|
||||
# ── 异步运行时 ──
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
async-trait = "0.1"
|
||||
|
||||
# ── 串口 ──
|
||||
serialport = "4.9"
|
||||
tokio-serial = "5.4"
|
||||
|
||||
# ── 协议解析 ──
|
||||
bytes = "1"
|
||||
nom = "8"
|
||||
|
||||
# ── 序列化 ──
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
|
||||
# ── 错误处理 ──
|
||||
thiserror = "2"
|
||||
|
||||
# ── 日志 ──
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
tracing-appender = "0.2"
|
||||
|
||||
# ── 工具 ──
|
||||
hex = "0.4"
|
||||
|
||||
# ── 图像 ──
|
||||
image = { version = "0.25", default-features = false, features = ["png"] }
|
||||
|
||||
# ── CLI ──
|
||||
clap = { version = "4", features = ["derive"] }
|
||||
|
||||
# ── TUI ──
|
||||
ratatui = "0.30"
|
||||
crossterm = "0.28"
|
||||
|
||||
# ── GUI ──
|
||||
egui = "0.34"
|
||||
eframe = "0.34"
|
||||
egui_plot = "0.35"
|
||||
|
||||
# ── Lua (Step 6 启用) ──
|
||||
# mlua = { version = "0.11", features = ["luajit", "async", "serde", "send", "macros", "vendored"] }
|
||||
Reference in New Issue
Block a user