HAL设计检查清单
命名 (crate要符合Rust命名规则)
- ☐ crate被恰当地命名 (C-CRATE-NAME)
互用性 (crate要很好地与其它的库功能交互)
- ☐ 封装类型提供一种析构方法 (C-FREE)
- ☐ HALs重新导出了它们的寄存器访问crate (C-REEXPORT-PAC)
- ☐ 类型实现了
embedded-haltraits (C-HAL-TRAITS)
可预见性 (crate的代码清晰可读,行为和看起来的一样)
- ☐ 使用构造函数而不是扩展traits (C-CTOR)
GPIO接口 (GPIO接口要遵循一个公共的模式)
- ☐ Pin类型默认是零大小类型 (C-ZST-PIN)
- ☐ Pin类型提供擦除管脚和端口的方法 (C-ERASED-PIN)
- ☐ Pin状态应该被编码为类型参数 (C-PIN-STATE)