xca9545a-async-rs
Rust embedded-hal driver for PCA9545A/TCA9545A I2C switch with optional async support (embedded-hal 1.0). Evidence: Cargo.toml, src/.
- Embedded Rust
- embedded-hal driver
- Async embedded
- I2C
目录
技术栈
运行与交付
- CI 工作流
- build.yml
- release.yml
- 能力标记
- cargo_toml
- github_actions
- package_json
依赖与工具
- package.json
- 开发依赖
- @commitlint/cli
- @commitlint/config-conventional
- commitlint-plugin-function-rules
配置与质量
- 配置文件
- .gitignore
- Cargo.toml
- lefthook.yml
- package.json
其他信息
- Cargo
- 开发依赖
- embedded-hal-mock
- tokio
- Deps main
- defmt
- embedded-hal
- embedded-hal-async
- maybe-async-cfg
{
"cargo": {
"deps_dev": [
"embedded-hal-mock",
"tokio"
],
"deps_main": [
"defmt",
"embedded-hal",
"embedded-hal-async",
"maybe-async-cfg"
]
},
"ci_workflows": [
"build.yml",
"release.yml"
],
"configs_root": [
".gitignore",
"Cargo.toml",
"lefthook.yml",
"package.json"
],
"markers_present": [
"cargo_toml",
"github_actions",
"package_json"
],
"package_json": {
"deps_dev": [
"@commitlint/cli",
"@commitlint/config-conventional",
"commitlint-plugin-function-rules"
]
}
}Basics
Rust embedded-hal driver for PCA9545A/TCA9545A I2C switch with optional async support (embedded-hal 1.0). Evidence: Cargo.toml, src/.
Taxonomy
- Tags: Embedded Rust, embedded-hal driver, Async embedded, I2C
- Why / evidence:
Cargo.toml(description/keywords/categories),src/lib.rs.
Architecture
- Library crate wrapping I2C channel switching and status operations behind embedded-hal traits. Evidence:
src/lib.rs,Cargo.toml. - Async support is optional and feature-gated. Evidence:
Cargo.toml.
Conventions
- Embedded
no_std-friendly packaging and category metadata. Evidence:Cargo.toml. - Repo tooling (hooks/commitlint) often mirrors other embedded driver repos. Evidence:
lefthook.yml,commitlint.config.cjs.
Taste notes
Bus switch drivers are foundational; keeping them feature-gated and minimal avoids pulling an async runtime into projects that don’t need it.
相关内容
Async embedded
主题Async embedded 表示嵌入式 Rust 代码把 async 当成正式 API surface 或正式 runtime contract 来维护,而不是只在某个样例里顺手用了异步。
embedded-hal driver
主题embedded-hal driver 表示一个 crate 的主 API 明确建立在 embedded-hal trait 生态之上,目标是被其他 firmware 或 board-support 代码组合进系统,而不是自己成为整机应用。这里的核心不是器件名,而是“驱动 crate 的复用边界”。 这个 Topic 关注的是 crate API 形状、trait 依赖、feature flags、测试方式和下游组合方式。
Embedded Rust
主题Embedded Rust 表示 Rust 代码运行在 MCU、driver、firmware 或硬件 bring-up 环境中,通常涉及 no_std、Embassy、esp-hal、STM32/ESP32、probe-rs、espflash 或 embedded-hal。它不是所有 Rust 项目的泛化标签。
I2C
主题I2C 表示总线本身就是项目的主要维护边界之一,仓库需要持续处理地址、寄存器读写模式、mux/switch/expander、shared bus ownership 或 async/sync 访问策略。这里的重点是 I2C 作为协议/总线契约,而不是“芯片刚好挂在 I2C 上”。