sw2303-rs
Rust embedded-hal driver for SW2303 USB PD controller, providing async/sync support for embedded firmware usage. Evidence: Cargo.toml, src/.
- embedded-hal driver
- I2C
目录
技术栈
运行与交付
- CI 工作流
- build.yml
- release.yml
- 能力标记
- cargo_toml
- github_actions
配置与质量
- 配置文件
- .gitignore
- Cargo.toml
- lefthook.yml
其他信息
- Cargo
- 开发依赖
- embedded-hal-mock
- Deps main
- bitflags
- defmt
- embedded-hal
- embedded-hal-async
- maybe-async-cfg
{
"cargo": {
"deps_dev": [
"embedded-hal-mock"
],
"deps_main": [
"bitflags",
"defmt",
"embedded-hal",
"embedded-hal-async",
"maybe-async-cfg"
]
},
"ci_workflows": [
"build.yml",
"release.yml"
],
"configs_root": [
".gitignore",
"Cargo.toml",
"lefthook.yml"
],
"markers_present": [
"cargo_toml",
"github_actions"
]
}Basics
Rust embedded-hal driver for SW2303 USB PD controller, providing async/sync support for embedded firmware usage. Evidence: Cargo.toml, src/.
Taxonomy
- Tags: embedded-hal driver, I2C
Architecture
- Library crate wrapping PD controller register/protocol interactions. Evidence:
src/lib.rs,Cargo.toml. - Feature flags allow firmware to choose async vs sync integration. Evidence:
Cargo.toml.
Conventions
no_std-friendly crate configuration and embedded categories. Evidence:Cargo.toml.- Standard Rust layout and (optionally) CI workflow files. Evidence:
.github/workflows/ci.yml,src/.
Taste notes
USB PD stacks are easiest to evolve when the driver stays “thin” and leaves policy/state machines to the application layer.
相关内容
embedded-hal driver
主题embedded-hal driver 表示一个 crate 的主 API 明确建立在 embedded-hal trait 生态之上,目标是被其他 firmware 或 board-support 代码组合进系统,而不是自己成为整机应用。这里的核心不是器件名,而是“驱动 crate 的复用边界”。 这个 Topic 关注的是 crate API 形状、trait 依赖、feature flags、测试方式和下游组合方式。
I2C
主题I2C 表示总线本身就是项目的主要维护边界之一,仓库需要持续处理地址、寄存器读写模式、mux/switch/expander、shared bus ownership 或 async/sync 访问策略。这里的重点是 I2C 作为协议/总线契约,而不是“芯片刚好挂在 I2C 上”。